From c4b926c3b4acba572471e23b6727fa9537a21d7c Mon Sep 17 00:00:00 2001 From: Jonathan Kang Date: Thu, 6 Jul 2017 16:20:25 +0800 Subject: [PATCH] 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 commit d405cfd9089f9552969e6a3e1a1c4550fc3c1695. --- src/dhcp/nm-dhcp-dhclient-utils.c | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/src/dhcp/nm-dhcp-dhclient-utils.c b/src/dhcp/nm-dhcp-dhclient-utils.c index 11f868e..b2f1d99 100644 --- a/src/dhcp/nm-dhcp-dhclient-utils.c +++ b/src/dhcp/nm-dhcp-dhclient-utils.c @@ -292,7 +292,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; } -- 2.9.4