summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorThomas Haller <thaller@redhat.com>2016-10-12 19:50:32 +0200
committerThomas Haller <thaller@redhat.com>2016-10-23 14:29:04 +0200
commit8f9a1dcd4630bb1d538cd23d285456f8aea0272c (patch)
tree4ae9eff58cca82defd0c412cc12d1f021831e421
parent91cba90d345cf39591f4a466db12d91efe500791 (diff)
downloadNetworkManager-th/libnm-no-empty-string-properties-rh1380424.tar.gz
libnm: coerce empty strings to NULL for D-Bus propertiesth/libnm-no-empty-string-properties-rh1380424
On D-Bus level, string (s) or object paths (o) cannot be NULL. Thus, whenver server exposes such an object, it gets automatically coerced to "" or "/", respectively. On client side, libnm should coerce certain properties back, for which "" is just not a sensible value. For example, an empty NM_DEVICE_ETHERNET_HW_ADDRESS should be instead exposed as NULL. Technically, this is an API change. However, all users were well advised to expect both NULL and "" as possible return values and handle them accordingly.
-rw-r--r--libnm/nm-access-point.c2
-rw-r--r--libnm/nm-active-connection.c11
-rw-r--r--libnm/nm-device-bond.c2
-rw-r--r--libnm/nm-device-bridge.c2
-rw-r--r--libnm/nm-device-bt.c2
-rw-r--r--libnm/nm-device-ethernet.c4
-rw-r--r--libnm/nm-device-generic.c9
-rw-r--r--libnm/nm-device-infiniband.c2
-rw-r--r--libnm/nm-device-ip-tunnel.c8
-rw-r--r--libnm/nm-device-macvlan.c4
-rw-r--r--libnm/nm-device-olpc-mesh.c2
-rw-r--r--libnm/nm-device-team.c4
-rw-r--r--libnm/nm-device-tun.c4
-rw-r--r--libnm/nm-device-vlan.c2
-rw-r--r--libnm/nm-device-vxlan.c6
-rw-r--r--libnm/nm-device-wifi.c4
-rw-r--r--libnm/nm-device-wimax.c4
-rw-r--r--libnm/nm-device.c16
-rw-r--r--libnm/nm-ip-config.c2
-rw-r--r--libnm/nm-manager.c2
-rw-r--r--libnm/nm-vpn-connection.c2
21 files changed, 49 insertions, 45 deletions
diff --git a/libnm/nm-access-point.c b/libnm/nm-access-point.c
index 67b8550603..d9b1c502ef 100644
--- a/libnm/nm-access-point.c
+++ b/libnm/nm-access-point.c
@@ -170,7 +170,7 @@ nm_access_point_get_bssid (NMAccessPoint *ap)
{
g_return_val_if_fail (NM_IS_ACCESS_POINT (ap), NULL);
- return NM_ACCESS_POINT_GET_PRIVATE (ap)->bssid;
+ return nm_str_not_empty (NM_ACCESS_POINT_GET_PRIVATE (ap)->bssid);
}
/**
diff --git a/libnm/nm-active-connection.c b/libnm/nm-active-connection.c
index a1636598ac..2f04eff095 100644
--- a/libnm/nm-active-connection.c
+++ b/libnm/nm-active-connection.c
@@ -129,7 +129,7 @@ nm_active_connection_get_id (NMActiveConnection *connection)
{
g_return_val_if_fail (NM_IS_ACTIVE_CONNECTION (connection), NULL);
- return NM_ACTIVE_CONNECTION_GET_PRIVATE (connection)->id;
+ return nm_str_not_empty (NM_ACTIVE_CONNECTION_GET_PRIVATE (connection)->id);
}
/**
@@ -146,7 +146,7 @@ nm_active_connection_get_uuid (NMActiveConnection *connection)
{
g_return_val_if_fail (NM_IS_ACTIVE_CONNECTION (connection), NULL);
- return NM_ACTIVE_CONNECTION_GET_PRIVATE (connection)->uuid;
+ return nm_str_not_empty (NM_ACTIVE_CONNECTION_GET_PRIVATE (connection)->uuid);
}
/**
@@ -163,7 +163,7 @@ nm_active_connection_get_connection_type (NMActiveConnection *connection)
{
g_return_val_if_fail (NM_IS_ACTIVE_CONNECTION (connection), NULL);
- return NM_ACTIVE_CONNECTION_GET_PRIVATE (connection)->type;
+ return nm_str_not_empty (NM_ACTIVE_CONNECTION_GET_PRIVATE (connection)->type);
}
/**
@@ -461,6 +461,7 @@ get_property (GObject *object,
static gboolean
demarshal_specific_object_path (NMObject *object, GParamSpec *pspec, GVariant *value, gpointer field)
{
+ const char *v;
char **param = (char **) field;
/* We have to demarshal this manually, because the D-Bus property name
@@ -471,8 +472,10 @@ demarshal_specific_object_path (NMObject *object, GParamSpec *pspec, GVariant *v
if (!g_variant_is_of_type (value, G_VARIANT_TYPE_OBJECT_PATH))
return FALSE;
+ v = g_variant_get_string (value, NULL);
+
g_free (*param);
- *param = g_variant_dup_string (value, NULL);
+ *param = nm_streq0 (v, "/") ? NULL : g_strdup (v);
return TRUE;
}
diff --git a/libnm/nm-device-bond.c b/libnm/nm-device-bond.c
index e5977c6664..0a9fae86a2 100644
--- a/libnm/nm-device-bond.c
+++ b/libnm/nm-device-bond.c
@@ -64,7 +64,7 @@ nm_device_bond_get_hw_address (NMDeviceBond *device)
{
g_return_val_if_fail (NM_IS_DEVICE_BOND (device), NULL);
- return NM_DEVICE_BOND_GET_PRIVATE (device)->hw_address;
+ return nm_str_not_empty (NM_DEVICE_BOND_GET_PRIVATE (device)->hw_address);
}
/**
diff --git a/libnm/nm-device-bridge.c b/libnm/nm-device-bridge.c
index 83ad963410..cd885b4afb 100644
--- a/libnm/nm-device-bridge.c
+++ b/libnm/nm-device-bridge.c
@@ -64,7 +64,7 @@ nm_device_bridge_get_hw_address (NMDeviceBridge *device)
{
g_return_val_if_fail (NM_IS_DEVICE_BRIDGE (device), NULL);
- return NM_DEVICE_BRIDGE_GET_PRIVATE (device)->hw_address;
+ return nm_str_not_empty (NM_DEVICE_BRIDGE_GET_PRIVATE (device)->hw_address);
}
/**
diff --git a/libnm/nm-device-bt.c b/libnm/nm-device-bt.c
index 2c039d941e..f41b7abd8c 100644
--- a/libnm/nm-device-bt.c
+++ b/libnm/nm-device-bt.c
@@ -65,7 +65,7 @@ nm_device_bt_get_hw_address (NMDeviceBt *device)
{
g_return_val_if_fail (NM_IS_DEVICE_BT (device), NULL);
- return NM_DEVICE_BT_GET_PRIVATE (device)->hw_address;
+ return nm_str_not_empty (NM_DEVICE_BT_GET_PRIVATE (device)->hw_address);
}
/**
diff --git a/libnm/nm-device-ethernet.c b/libnm/nm-device-ethernet.c
index 15ca0257e6..966ad2d73e 100644
--- a/libnm/nm-device-ethernet.c
+++ b/libnm/nm-device-ethernet.c
@@ -69,7 +69,7 @@ nm_device_ethernet_get_hw_address (NMDeviceEthernet *device)
{
g_return_val_if_fail (NM_IS_DEVICE_ETHERNET (device), NULL);
- return NM_DEVICE_ETHERNET_GET_PRIVATE (device)->hw_address;
+ return nm_str_not_empty (NM_DEVICE_ETHERNET_GET_PRIVATE (device)->hw_address);
}
/**
@@ -86,7 +86,7 @@ nm_device_ethernet_get_permanent_hw_address (NMDeviceEthernet *device)
{
g_return_val_if_fail (NM_IS_DEVICE_ETHERNET (device), NULL);
- return NM_DEVICE_ETHERNET_GET_PRIVATE (device)->perm_hw_address;
+ return nm_str_not_empty (NM_DEVICE_ETHERNET_GET_PRIVATE (device)->perm_hw_address);
}
/**
diff --git a/libnm/nm-device-generic.c b/libnm/nm-device-generic.c
index 9dd1c945ec..6bc1336219 100644
--- a/libnm/nm-device-generic.c
+++ b/libnm/nm-device-generic.c
@@ -59,7 +59,7 @@ nm_device_generic_get_hw_address (NMDeviceGeneric *device)
{
g_return_val_if_fail (NM_IS_DEVICE_GENERIC (device), NULL);
- return NM_DEVICE_GENERIC_GET_PRIVATE (device)->hw_address;
+ return nm_str_not_empty (NM_DEVICE_GENERIC_GET_PRIVATE (device)->hw_address);
}
/*****************************************************************************/
@@ -69,7 +69,7 @@ get_type_description (NMDevice *device)
{
NMDeviceGenericPrivate *priv = NM_DEVICE_GENERIC_GET_PRIVATE (device);
- return priv->type_description;
+ return nm_str_not_empty (priv->type_description);
}
static const char *
@@ -150,14 +150,15 @@ get_property (GObject *object,
GValue *value,
GParamSpec *pspec)
{
- NMDeviceGenericPrivate *priv = NM_DEVICE_GENERIC_GET_PRIVATE (object);
+ NMDeviceGeneric *self = NM_DEVICE_GENERIC (object);
+ NMDeviceGenericPrivate *priv = NM_DEVICE_GENERIC_GET_PRIVATE (self);
switch (prop_id) {
case PROP_HW_ADDRESS:
g_value_set_string (value, priv->hw_address);
break;
case PROP_TYPE_DESCRIPTION:
- g_value_set_string (value, priv->type_description);
+ g_value_set_string (value, get_type_description ((NMDevice *) self));
break;
default:
G_OBJECT_WARN_INVALID_PROPERTY_ID (object, prop_id, pspec);
diff --git a/libnm/nm-device-infiniband.c b/libnm/nm-device-infiniband.c
index 0f92f8304b..665542881e 100644
--- a/libnm/nm-device-infiniband.c
+++ b/libnm/nm-device-infiniband.c
@@ -61,7 +61,7 @@ nm_device_infiniband_get_hw_address (NMDeviceInfiniband *device)
{
g_return_val_if_fail (NM_IS_DEVICE_INFINIBAND (device), NULL);
- return NM_DEVICE_INFINIBAND_GET_PRIVATE (device)->hw_address;
+ return nm_str_not_empty (NM_DEVICE_INFINIBAND_GET_PRIVATE (device)->hw_address);
}
/**
diff --git a/libnm/nm-device-ip-tunnel.c b/libnm/nm-device-ip-tunnel.c
index 6410c48c4d..41748aba10 100644
--- a/libnm/nm-device-ip-tunnel.c
+++ b/libnm/nm-device-ip-tunnel.c
@@ -111,7 +111,7 @@ nm_device_ip_tunnel_get_local (NMDeviceIPTunnel *device)
{
g_return_val_if_fail (NM_IS_DEVICE_IP_TUNNEL (device), NULL);
- return NM_DEVICE_IP_TUNNEL_GET_PRIVATE (device)->local;
+ return nm_str_not_empty (NM_DEVICE_IP_TUNNEL_GET_PRIVATE (device)->local);
}
/**
@@ -127,7 +127,7 @@ nm_device_ip_tunnel_get_remote (NMDeviceIPTunnel *device)
{
g_return_val_if_fail (NM_IS_DEVICE_IP_TUNNEL (device), NULL);
- return NM_DEVICE_IP_TUNNEL_GET_PRIVATE (device)->remote;
+ return nm_str_not_empty (NM_DEVICE_IP_TUNNEL_GET_PRIVATE (device)->remote);
}
/**
@@ -192,7 +192,7 @@ nm_device_ip_tunnel_get_input_key (NMDeviceIPTunnel *device)
{
g_return_val_if_fail (NM_IS_DEVICE_IP_TUNNEL (device), NULL);
- return NM_DEVICE_IP_TUNNEL_GET_PRIVATE (device)->input_key;
+ return nm_str_not_empty (NM_DEVICE_IP_TUNNEL_GET_PRIVATE (device)->input_key);
}
/**
@@ -208,7 +208,7 @@ nm_device_ip_tunnel_get_output_key (NMDeviceIPTunnel *device)
{
g_return_val_if_fail (NM_IS_DEVICE_IP_TUNNEL (device), NULL);
- return NM_DEVICE_IP_TUNNEL_GET_PRIVATE (device)->output_key;
+ return nm_str_not_empty (NM_DEVICE_IP_TUNNEL_GET_PRIVATE (device)->output_key);
}
/**
diff --git a/libnm/nm-device-macvlan.c b/libnm/nm-device-macvlan.c
index 610bdc35f2..a370ed1e67 100644
--- a/libnm/nm-device-macvlan.c
+++ b/libnm/nm-device-macvlan.c
@@ -86,7 +86,7 @@ nm_device_macvlan_get_mode (NMDeviceMacvlan *device)
{
g_return_val_if_fail (NM_IS_DEVICE_MACVLAN (device), NULL);
- return NM_DEVICE_MACVLAN_GET_PRIVATE (device)->mode;
+ return nm_str_not_empty (NM_DEVICE_MACVLAN_GET_PRIVATE (device)->mode);
}
/**
@@ -141,7 +141,7 @@ nm_device_macvlan_get_hw_address (NMDeviceMacvlan *device)
{
g_return_val_if_fail (NM_IS_DEVICE_MACVLAN (device), NULL);
- return NM_DEVICE_MACVLAN_GET_PRIVATE (device)->hw_address;
+ return nm_str_not_empty (NM_DEVICE_MACVLAN_GET_PRIVATE (device)->hw_address);
}
diff --git a/libnm/nm-device-olpc-mesh.c b/libnm/nm-device-olpc-mesh.c
index a11050f5b4..c69d0b3748 100644
--- a/libnm/nm-device-olpc-mesh.c
+++ b/libnm/nm-device-olpc-mesh.c
@@ -63,7 +63,7 @@ nm_device_olpc_mesh_get_hw_address (NMDeviceOlpcMesh *device)
{
g_return_val_if_fail (NM_IS_DEVICE_OLPC_MESH (device), NULL);
- return NM_DEVICE_OLPC_MESH_GET_PRIVATE (device)->hw_address;
+ return nm_str_not_empty (NM_DEVICE_OLPC_MESH_GET_PRIVATE (device)->hw_address);
}
/**
diff --git a/libnm/nm-device-team.c b/libnm/nm-device-team.c
index 8179bd52f4..0c5383deea 100644
--- a/libnm/nm-device-team.c
+++ b/libnm/nm-device-team.c
@@ -66,7 +66,7 @@ nm_device_team_get_hw_address (NMDeviceTeam *device)
{
g_return_val_if_fail (NM_IS_DEVICE_TEAM (device), NULL);
- return NM_DEVICE_TEAM_GET_PRIVATE (device)->hw_address;
+ return nm_str_not_empty (NM_DEVICE_TEAM_GET_PRIVATE (device)->hw_address);
}
/**
@@ -119,7 +119,7 @@ nm_device_team_get_config (NMDeviceTeam *device)
{
g_return_val_if_fail (NM_IS_DEVICE_TEAM (device), NULL);
- return NM_DEVICE_TEAM_GET_PRIVATE (device)->config;
+ return nm_str_not_empty (NM_DEVICE_TEAM_GET_PRIVATE (device)->config);
}
static const char *
diff --git a/libnm/nm-device-tun.c b/libnm/nm-device-tun.c
index e4e412f8fe..52ba8fd7da 100644
--- a/libnm/nm-device-tun.c
+++ b/libnm/nm-device-tun.c
@@ -74,7 +74,7 @@ nm_device_tun_get_hw_address (NMDeviceTun *device)
{
g_return_val_if_fail (NM_IS_DEVICE_TUN (device), NULL);
- return NM_DEVICE_TUN_GET_PRIVATE (device)->hw_address;
+ return nm_str_not_empty (NM_DEVICE_TUN_GET_PRIVATE (device)->hw_address);
}
/**
@@ -92,7 +92,7 @@ nm_device_tun_get_mode (NMDeviceTun *device)
{
g_return_val_if_fail (NM_IS_DEVICE_TUN (device), NULL);
- return NM_DEVICE_TUN_GET_PRIVATE (device)->mode;
+ return nm_str_not_empty (NM_DEVICE_TUN_GET_PRIVATE (device)->mode);
}
/**
diff --git a/libnm/nm-device-vlan.c b/libnm/nm-device-vlan.c
index 24fcd07919..b67ad373ca 100644
--- a/libnm/nm-device-vlan.c
+++ b/libnm/nm-device-vlan.c
@@ -66,7 +66,7 @@ nm_device_vlan_get_hw_address (NMDeviceVlan *device)
{
g_return_val_if_fail (NM_IS_DEVICE_VLAN (device), NULL);
- return NM_DEVICE_VLAN_GET_PRIVATE (device)->hw_address;
+ return nm_str_not_empty (NM_DEVICE_VLAN_GET_PRIVATE (device)->hw_address);
}
/**
diff --git a/libnm/nm-device-vxlan.c b/libnm/nm-device-vxlan.c
index eaf37cc075..ee356749da 100644
--- a/libnm/nm-device-vxlan.c
+++ b/libnm/nm-device-vxlan.c
@@ -95,7 +95,7 @@ nm_device_vxlan_get_hw_address (NMDeviceVxlan *device)
{
g_return_val_if_fail (NM_IS_DEVICE_VXLAN (device), NULL);
- return NM_DEVICE_VXLAN_GET_PRIVATE (device)->hw_address;
+ return nm_str_not_empty (NM_DEVICE_VXLAN_GET_PRIVATE (device)->hw_address);
}
/**
@@ -162,7 +162,7 @@ nm_device_vxlan_get_group (NMDeviceVxlan *device)
{
g_return_val_if_fail (NM_IS_DEVICE_VXLAN (device), NULL);
- return NM_DEVICE_VXLAN_GET_PRIVATE (device)->group;
+ return nm_str_not_empty (NM_DEVICE_VXLAN_GET_PRIVATE (device)->group);
}
/**
@@ -178,7 +178,7 @@ nm_device_vxlan_get_local (NMDeviceVxlan *device)
{
g_return_val_if_fail (NM_IS_DEVICE_VXLAN (device), NULL);
- return NM_DEVICE_VXLAN_GET_PRIVATE (device)->local;
+ return nm_str_not_empty (NM_DEVICE_VXLAN_GET_PRIVATE (device)->local);
}
/**
diff --git a/libnm/nm-device-wifi.c b/libnm/nm-device-wifi.c
index f0b53f54f1..f705dbd2ea 100644
--- a/libnm/nm-device-wifi.c
+++ b/libnm/nm-device-wifi.c
@@ -100,7 +100,7 @@ nm_device_wifi_get_hw_address (NMDeviceWifi *device)
{
g_return_val_if_fail (NM_IS_DEVICE_WIFI (device), NULL);
- return NM_DEVICE_WIFI_GET_PRIVATE (device)->hw_address;
+ return nm_str_not_empty (NM_DEVICE_WIFI_GET_PRIVATE (device)->hw_address);
}
/**
@@ -117,7 +117,7 @@ nm_device_wifi_get_permanent_hw_address (NMDeviceWifi *device)
{
g_return_val_if_fail (NM_IS_DEVICE_WIFI (device), NULL);
- return NM_DEVICE_WIFI_GET_PRIVATE (device)->perm_hw_address;
+ return nm_str_not_empty (NM_DEVICE_WIFI_GET_PRIVATE (device)->perm_hw_address);
}
/**
diff --git a/libnm/nm-device-wimax.c b/libnm/nm-device-wimax.c
index e14925f778..98c651d3d6 100644
--- a/libnm/nm-device-wimax.c
+++ b/libnm/nm-device-wimax.c
@@ -91,7 +91,7 @@ nm_device_wimax_get_hw_address (NMDeviceWimax *wimax)
{
g_return_val_if_fail (NM_IS_DEVICE_WIMAX (wimax), NULL);
- return NM_DEVICE_WIMAX_GET_PRIVATE (wimax)->hw_address;
+ return nm_str_not_empty (NM_DEVICE_WIMAX_GET_PRIVATE (wimax)->hw_address);
}
/**
@@ -300,7 +300,7 @@ nm_device_wimax_get_bsid (NMDeviceWimax *self)
{
g_return_val_if_fail (NM_IS_DEVICE_WIMAX (self), NULL);
- return NM_DEVICE_WIMAX_GET_PRIVATE (self)->bsid;
+ return nm_str_not_empty (NM_DEVICE_WIMAX_GET_PRIVATE (self)->bsid);
}
static gboolean
diff --git a/libnm/nm-device.c b/libnm/nm-device.c
index 58d0f5fbc7..228e60b70b 100644
--- a/libnm/nm-device.c
+++ b/libnm/nm-device.c
@@ -996,7 +996,7 @@ nm_device_get_iface (NMDevice *device)
{
g_return_val_if_fail (NM_IS_DEVICE (device), NULL);
- return NM_DEVICE_GET_PRIVATE (device)->iface;
+ return nm_str_not_empty (NM_DEVICE_GET_PRIVATE (device)->iface);
}
/**
@@ -1014,7 +1014,7 @@ nm_device_get_ip_iface (NMDevice *device)
{
g_return_val_if_fail (NM_IS_DEVICE (device), NULL);
- return NM_DEVICE_GET_PRIVATE (device)->ip_iface;
+ return nm_str_not_empty (NM_DEVICE_GET_PRIVATE (device)->ip_iface);
}
/**
@@ -1048,7 +1048,7 @@ nm_device_get_udi (NMDevice *device)
{
g_return_val_if_fail (NM_IS_DEVICE (device), NULL);
- return NM_DEVICE_GET_PRIVATE (device)->udi;
+ return nm_str_not_empty (NM_DEVICE_GET_PRIVATE (device)->udi);
}
/**
@@ -1065,7 +1065,7 @@ nm_device_get_driver (NMDevice *device)
{
g_return_val_if_fail (NM_IS_DEVICE (device), NULL);
- return NM_DEVICE_GET_PRIVATE (device)->driver;
+ return nm_str_not_empty (NM_DEVICE_GET_PRIVATE (device)->driver);
}
/**
@@ -1082,7 +1082,7 @@ nm_device_get_driver_version (NMDevice *device)
{
g_return_val_if_fail (NM_IS_DEVICE (device), NULL);
- return NM_DEVICE_GET_PRIVATE (device)->driver_version;
+ return nm_str_not_empty (NM_DEVICE_GET_PRIVATE (device)->driver_version);
}
/**
@@ -1099,7 +1099,7 @@ nm_device_get_firmware_version (NMDevice *device)
{
g_return_val_if_fail (NM_IS_DEVICE (device), NULL);
- return NM_DEVICE_GET_PRIVATE (device)->firmware_version;
+ return nm_str_not_empty (NM_DEVICE_GET_PRIVATE (device)->firmware_version);
}
/**
@@ -1124,7 +1124,7 @@ nm_device_get_type_description (NMDevice *device)
g_return_val_if_fail (NM_IS_DEVICE (device), NULL);
if (priv->type_description)
- return priv->type_description;
+ return nm_str_not_empty (priv->type_description);
if (NM_DEVICE_GET_CLASS (device)->get_type_description) {
desc = NM_DEVICE_GET_CLASS (device)->get_type_description (device);
@@ -1137,7 +1137,7 @@ nm_device_get_type_description (NMDevice *device)
typename += 8;
priv->type_description = g_ascii_strdown (typename, -1);
- return priv->type_description;
+ return nm_str_not_empty (priv->type_description);
}
/**
diff --git a/libnm/nm-ip-config.c b/libnm/nm-ip-config.c
index 97fb0aa926..74db9994f3 100644
--- a/libnm/nm-ip-config.c
+++ b/libnm/nm-ip-config.c
@@ -395,7 +395,7 @@ nm_ip_config_get_gateway (NMIPConfig *config)
{
g_return_val_if_fail (NM_IS_IP_CONFIG (config), NULL);
- return NM_IP_CONFIG_GET_PRIVATE (config)->gateway;
+ return nm_str_not_empty (NM_IP_CONFIG_GET_PRIVATE (config)->gateway);
}
/**
diff --git a/libnm/nm-manager.c b/libnm/nm-manager.c
index 01ed4fa50a..e490104803 100644
--- a/libnm/nm-manager.c
+++ b/libnm/nm-manager.c
@@ -382,7 +382,7 @@ nm_manager_get_version (NMManager *manager)
{
g_return_val_if_fail (NM_IS_MANAGER (manager), NULL);
- return NM_MANAGER_GET_PRIVATE (manager)->version;
+ return nm_str_not_empty (NM_MANAGER_GET_PRIVATE (manager)->version);
}
NMState
diff --git a/libnm/nm-vpn-connection.c b/libnm/nm-vpn-connection.c
index 4b96210b46..5780fb3a78 100644
--- a/libnm/nm-vpn-connection.c
+++ b/libnm/nm-vpn-connection.c
@@ -79,7 +79,7 @@ nm_vpn_connection_get_banner (NMVpnConnection *vpn)
if (priv->vpn_state != NM_VPN_CONNECTION_STATE_ACTIVATED)
return NULL;
- return priv->banner;
+ return nm_str_not_empty (priv->banner);
}
/**