diff options
| author | Michael Biebl <biebl@debian.org> | 2016-05-11 17:08:25 +0200 |
|---|---|---|
| committer | Michael Biebl <biebl@debian.org> | 2016-05-11 17:08:25 +0200 |
| commit | 73e152af6e3fb4f5848bfb8394484026ff119003 (patch) | |
| tree | d5a8b37778d3a95c51511451b38b6a329b94cb41 /src/dhcp-manager/nm-dhcp-systemd.c | |
| parent | 78c3b8801ecf4975e5da1af3b10ae20dd2d876de (diff) | |
Imported Upstream version 1.2.2 upstream/1.2.2
Diffstat (limited to 'src/dhcp-manager/nm-dhcp-systemd.c')
| -rw-r--r-- | src/dhcp-manager/nm-dhcp-systemd.c | 9 |
1 files changed, 7 insertions, 2 deletions
diff --git a/src/dhcp-manager/nm-dhcp-systemd.c b/src/dhcp-manager/nm-dhcp-systemd.c index 5d49c27e..82cb3350 100644 --- a/src/dhcp-manager/nm-dhcp-systemd.c +++ b/src/dhcp-manager/nm-dhcp-systemd.c @@ -279,8 +279,9 @@ lease_to_ip4_config (const char *iface, /* Domain Name */ r = sd_dhcp_lease_get_domainname (lease, &str); if (r == 0) { - /* Multiple domains sometimes stuffed into the option */ - char **domains = g_strsplit (str, " ", 0); + /* Multiple domains sometimes stuffed into option 15 "Domain Name". + * As systemd escapes such characters, split them at \\032. */ + char **domains = g_strsplit (str, "\\032", 0); char **s; for (s = domains; *s; s++) { @@ -857,6 +858,7 @@ dhcp6_event_cb (sd_dhcp6_client *client, int event, gpointer user_data) nm_dhcp_client_set_state (NM_DHCP_CLIENT (user_data), NM_DHCP_STATE_FAIL, NULL, NULL); break; case SD_DHCP6_CLIENT_EVENT_IP_ACQUIRE: + case SD_DHCP6_CLIENT_EVENT_INFORMATION_REQUEST: bound6_handle (self); break; default: @@ -893,6 +895,9 @@ ip6_start (NMDhcpClient *client, return FALSE; } + if (info_only) + sd_dhcp6_client_set_information_request (priv->client6, 1); + /* NM stores the entire DUID which includes the uint16 "type", while systemd * wants the type passed separately from the following data. */ |