dhcp/dhclient: improve "interface" statement parsing

In commit d405cfd908, 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: d405cfd908

https://bugzilla.opensuse.org/show_bug.cgi?id=1047004
https://mail.gnome.org/archives/networkmanager-list/2017-July/msg00015.html
This commit is contained in:
Jonathan Kang 2017-07-06 16:20:25 +08:00 committed by Thomas Haller
parent f395a0c29b
commit 3646ed083d

View file

@ -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;
}