dispatcher: pass DHCP options as string:string hash

This is what was originally intended, but the NM-side code wasn't
doing this due to an oversight...
This commit is contained in:
Dan Williams
2011-05-11 16:01:12 -05:00
parent 6109388df2
commit 74d798b6dd
5 changed files with 72 additions and 2 deletions

View File

@@ -390,6 +390,38 @@ dump_object_to_props (GObject *object, GHashTable *hash)
g_free (pspecs);
}
static void
dump_dhcp4_to_props (NMDHCP4Config *config, GHashTable *hash)
{
GSList *options, *iter;
options = nm_dhcp4_config_list_options (config);
for (iter = options; iter; iter = g_slist_next (iter)) {
const char *option = (const char *) iter->data;
const char *val;
val = nm_dhcp4_config_get_option (config, option);
value_hash_add_str (hash, option, val);
}
g_slist_free (options);
}
static void
dump_dhcp6_to_props (NMDHCP6Config *config, GHashTable *hash)
{
GSList *options, *iter;
options = nm_dhcp6_config_list_options (config);
for (iter = options; iter; iter = g_slist_next (iter)) {
const char *option = (const char *) iter->data;
const char *val;
val = nm_dhcp6_config_get_option (config, option);
value_hash_add_str (hash, option, val);
}
g_slist_free (options);
}
static void
fill_device_props (NMDevice *device,
GHashTable *dev_hash,
@@ -420,11 +452,11 @@ fill_device_props (NMDevice *device,
dhcp4_config = nm_device_get_dhcp4_config (device);
if (dhcp4_config)
dump_object_to_props (G_OBJECT (dhcp4_config), dhcp4_hash);
dump_dhcp4_to_props (dhcp4_config, dhcp4_hash);
dhcp6_config = nm_device_get_dhcp6_config (device);
if (dhcp6_config)
dump_object_to_props (G_OBJECT (dhcp6_config), dhcp6_hash);
dump_dhcp6_to_props (dhcp6_config, dhcp6_hash);
}
static void