diff options
author | Marcel Holtmann <marcel@holtmann.org> | 2010-07-29 19:05:51 -0700 |
---|---|---|
committer | Marcel Holtmann <marcel@holtmann.org> | 2010-07-29 19:05:51 -0700 |
commit | fdd5851b672523bbc976d1ae787926a80e6e0ecf (patch) | |
tree | 1a90f2d5e98301ff6be6721b6a549b0b4cc0819e | |
parent | 742468fb58a593e15f7bf0029f31fb3104008819 (diff) | |
download | connman-fdd5851b672523bbc976d1ae787926a80e6e0ecf.tar.gz connman-fdd5851b672523bbc976d1ae787926a80e6e0ecf.tar.bz2 connman-fdd5851b672523bbc976d1ae787926a80e6e0ecf.zip |
Store host and domain names retrieved from DHCP
-rw-r--r-- | include/element.h | 3 | ||||
-rw-r--r-- | src/dhcp.c | 4 | ||||
-rw-r--r-- | src/element.c | 2 |
3 files changed, 9 insertions, 0 deletions
diff --git a/include/element.h b/include/element.h index 4161d7e8..05aa06d0 100644 --- a/include/element.h +++ b/include/element.h @@ -98,6 +98,9 @@ struct connman_element { GHashTable *properties; + gchar *hostname; + gchar *domainname; + struct { enum connman_ipconfig_method method; gchar *address; @@ -124,8 +124,12 @@ void connman_dhcp_set_value(struct connman_dhcp *dhcp, dhcp->element->ipv4.nameserver = g_strdup(nameservers[0]); g_strfreev(nameservers); } else if (g_strcmp0(key, "Domainname") == 0) { + g_free(dhcp->element->domainname); + dhcp->element->domainname = g_strdup(value); __connman_utsname_set_domainname(value); } else if (g_strcmp0(key, "Hostname") == 0) { + g_free(dhcp->element->hostname); + dhcp->element->hostname = g_strdup(value); __connman_utsname_set_hostname(value); } else if (g_strcmp0(key, "Timeserver") == 0) { g_free(dhcp->element->ipv4.timeserver); diff --git a/src/element.c b/src/element.c index 5e28a0b7..209ee9c1 100644 --- a/src/element.c +++ b/src/element.c @@ -642,6 +642,8 @@ void connman_element_unref(struct connman_element *element) element->destruct(element); free_children(element); free_properties(element); + g_free(element->hostname); + g_free(element->domainname); g_free(element->ipv4.address); g_free(element->ipv4.netmask); g_free(element->ipv4.gateway); |