libnm-core: change all mac-address properties to G_TYPE_STRING

Make all mac-address properties (including NMSettingBluetooth:bdaddr,
NMSettingOlpcMesh:dhcp-anycast-addr, and NMSettingWireless:bssid) be
strings, using _nm_setting_class_transform_property() to handle
translating to/from binary form when dealing with D-Bus.

Update everything accordingly for the change, and also add a test for
transformed setting properties to test-general.
This commit is contained in:
Dan Winship
2014-07-30 10:57:45 -04:00
parent f4957eb0b7
commit 3a54d05098
71 changed files with 867 additions and 1278 deletions

View File

@@ -129,7 +129,7 @@ char *
nm_dhcp_dhclient_create_config (const char *interface,
gboolean is_ip6,
const char *dhcp_client_id,
GByteArray *anycast_addr,
const char *anycast_addr,
const char *hostname,
const char *orig_path,
const char *orig_contents)
@@ -138,6 +138,8 @@ nm_dhcp_dhclient_create_config (const char *interface,
GPtrArray *alsoreq;
int i;
g_return_val_if_fail (!anycast_addr || nm_utils_hwaddr_valid (anycast_addr, ETH_ALEN), NULL);
new_contents = g_string_new (_("# Created by NetworkManager\n"));
alsoreq = g_ptr_array_sized_new (5);
@@ -246,22 +248,14 @@ nm_dhcp_dhclient_create_config (const char *interface,
g_string_append_c (new_contents, '\n');
if (anycast_addr && anycast_addr->len == 6) {
const guint8 *p_anycast_addr = anycast_addr->data;
if (anycast_addr) {
g_string_append_printf (new_contents, "interface \"%s\" {\n"
" initial-interval 1; \n"
" anycast-mac ethernet %02x:%02x:%02x:%02x:%02x:%02x;\n"
" anycast-mac ethernet %s;\n"
"}\n",
interface,
p_anycast_addr[0], p_anycast_addr[1],
p_anycast_addr[2], p_anycast_addr[3],
p_anycast_addr[4], p_anycast_addr[5]);
interface, anycast_addr);
}
/* Finally, assert that anycast_addr was unset or a 48 bit mac address. */
g_return_val_if_fail (!anycast_addr || anycast_addr->len == 6, g_string_free (new_contents, FALSE));
return g_string_free (new_contents, FALSE);
}