From: Marcel Holtmann Date: Fri, 30 Jul 2010 02:05:51 +0000 (-0700) Subject: Store host and domain names retrieved from DHCP X-Git-Tag: 0.56~52 X-Git-Url: http://review.tizen.org/git/?p=platform%2Fupstream%2Fconnman.git;a=commitdiff_plain;h=fdd5851b672523bbc976d1ae787926a80e6e0ecf Store host and domain names retrieved from DHCP --- diff --git a/include/element.h b/include/element.h index 4161d7e..05aa06d 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; diff --git a/src/dhcp.c b/src/dhcp.c index e8bab4f..6fccc3c 100644 --- a/src/dhcp.c +++ b/src/dhcp.c @@ -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 5e28a0b..209ee9c 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);