diff options
-rw-r--r-- | introspection/org.freedesktop.NetworkManager.Device.xml | 12 | ||||
-rw-r--r-- | src/devices/nm-device.c | 24 |
2 files changed, 29 insertions, 7 deletions
diff --git a/introspection/org.freedesktop.NetworkManager.Device.xml b/introspection/org.freedesktop.NetworkManager.Device.xml index ee424101e6..9a13d8f9f6 100644 --- a/introspection/org.freedesktop.NetworkManager.Device.xml +++ b/introspection/org.freedesktop.NetworkManager.Device.xml @@ -28,6 +28,9 @@ Interface: The name of the device's control (and often data) interface. + Note that non UTF-8 characters are backslash escaped, so the + resulting name may be longer then 15 characters. Use g_strcompress() + to revert the escaping. --> <property name="Interface" type="s" access="read"/> @@ -38,6 +41,9 @@ not refer to the actual data interface until the device has successfully established a data connection, indicated by the device's State becoming ACTIVATED. + Note that non UTF-8 characters are backslash escaped, so the + resulting name may be longer then 15 characters. Use g_strcompress() + to revert the escaping. --> <property name="IpInterface" type="s" access="read"/> @@ -45,6 +51,8 @@ Driver: The driver handling the device. + Non-UTF-8 sequences are backslash escaped. Use g_strcompress() + to revert. --> <property name="Driver" type="s" access="read"/> @@ -52,6 +60,8 @@ DriverVersion: The version of the driver handling the device. + Non-UTF-8 sequences are backslash escaped. Use g_strcompress() + to revert. --> <property name="DriverVersion" type="s" access="read"/> @@ -59,6 +69,8 @@ FirmwareVersion: The firmware version for the device. + Non-UTF-8 sequences are backslash escaped. Use g_strcompress() + to revert. --> <property name="FirmwareVersion" type="s" access="read"/> diff --git a/src/devices/nm-device.c b/src/devices/nm-device.c index 39106de9a0..10de535548 100644 --- a/src/devices/nm-device.c +++ b/src/devices/nm-device.c @@ -13944,25 +13944,35 @@ get_property (GObject *object, guint prop_id, g_value_set_string (value, priv->udi); break; case PROP_IFACE: - g_value_set_string (value, priv->iface); + g_value_take_string (value, + nm_utils_str_utf8safe_escape (priv->iface, + NM_UTILS_STR_UTF8_SAFE_FLAG_ESCAPE_CTRL)); break; case PROP_IP_IFACE: - if (ip_config_valid (priv->state)) - g_value_set_string (value, nm_device_get_ip_iface (self)); - else + if (ip_config_valid (priv->state)) { + g_value_take_string (value, + nm_utils_str_utf8safe_escape (nm_device_get_ip_iface (self), + NM_UTILS_STR_UTF8_SAFE_FLAG_ESCAPE_CTRL)); + } else g_value_set_string (value, NULL); break; case PROP_IFINDEX: g_value_set_int (value, priv->ifindex); break; case PROP_DRIVER: - g_value_set_string (value, priv->driver); + g_value_take_string (value, + nm_utils_str_utf8safe_escape (priv->driver, + NM_UTILS_STR_UTF8_SAFE_FLAG_ESCAPE_CTRL)); break; case PROP_DRIVER_VERSION: - g_value_set_string (value, priv->driver_version); + g_value_take_string (value, + nm_utils_str_utf8safe_escape (priv->driver_version, + NM_UTILS_STR_UTF8_SAFE_FLAG_ESCAPE_CTRL)); break; case PROP_FIRMWARE_VERSION: - g_value_set_string (value, priv->firmware_version); + g_value_take_string (value, + nm_utils_str_utf8safe_escape (priv->firmware_version, + NM_UTILS_STR_UTF8_SAFE_FLAG_ESCAPE_CTRL)); break; case PROP_CAPABILITIES: g_value_set_uint (value, (priv->capabilities & ~NM_DEVICE_CAP_INTERNAL_MASK)); |