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
(cherry picked from commit 3646ed083d)
This commit is contained in:
Jonathan Kang 2017-07-06 16:20:25 +08:00 committed by Thomas Haller
parent d8164d57e2
commit 7200906a62

View file

@ -296,7 +296,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;
}