summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorJonathan Kang <jonathan121537@gmail.com>2017-07-06 16:20:25 +0800
committerThomas Haller <thaller@redhat.com>2017-07-10 11:35:12 +0200
commit3646ed083dda590de1e991915048905b8c784cdd (patch)
tree10f402cc4da93e3408bdee0e9efe04a3884d6360
parentf395a0c29b7d1e000b903abbd0c20bf17a1c506c (diff)
downloadNetworkManager-3646ed083dda590de1e991915048905b8c784cdd.tar.gz
dhcp/dhclient: improve "interface" statement parsing
In commit d405cfd9089f9552969e6a3e1a1c4550fc3c1695, parsing "interface" statement is introduced. But it leads to uncommplete parsing of the "request" entry, if one of the lines in "request" entry is prefixed with word "interface". For example, the default configuration of openSUSE distribution: request subnet-mask, broadcast-address, routers, rfc3442-classless-static-routes, interface-mtu, host-name, domain-name, domain-search, domain-name-servers, nis-domain, nis-servers, nds-context, nds-servers, nds-tree-name, netbios-name-servers, netbios-dd-server, netbios-node-type, netbios-scope, ntp-servers; Fixes: d405cfd9089f9552969e6a3e1a1c4550fc3c1695 https://bugzilla.opensuse.org/show_bug.cgi?id=1047004 https://mail.gnome.org/archives/networkmanager-list/2017-July/msg00015.html
-rw-r--r--src/dhcp/nm-dhcp-dhclient-utils.c3
1 files changed, 2 insertions, 1 deletions
diff --git a/src/dhcp/nm-dhcp-dhclient-utils.c b/src/dhcp/nm-dhcp-dhclient-utils.c
index 6b4ac1f436..168c13192e 100644
--- a/src/dhcp/nm-dhcp-dhclient-utils.c
+++ b/src/dhcp/nm-dhcp-dhclient-utils.c
@@ -294,7 +294,8 @@ nm_dhcp_dhclient_create_config (const char *interface,
continue;
if ( !intf[0]
- && g_str_has_prefix (p, "interface")) {
+ && g_str_has_prefix (p, "interface")
+ && !in_req) {
if (read_interface (p, intf, sizeof (intf)))
continue;
}