ipconfig: BOOTP: Request CONF_NAMESERVERS_MAX name servers
authorChris Novakovic <chris@chrisn.me.uk>
Tue, 24 Apr 2018 02:56:35 +0000 (03:56 +0100)
committerDavid S. Miller <davem@davemloft.net>
Tue, 24 Apr 2018 17:40:41 +0000 (13:40 -0400)
commitde1fa15b6642f0b66f1844b9b464a8c28e84347c
treedffa5c3adf8ca466eb5e9fdea8a7016cabf50c47
parent4e1a8af28d56a4194cf3f17c69d9d21183246f3a
ipconfig: BOOTP: Request CONF_NAMESERVERS_MAX name servers

When ipconfig is autoconfigured via BOOTP, the request packet
initialised by ic_bootp_init_ext() always allocates 8 bytes for the name
server option, limiting the BOOTP server to responding with at most 2
name servers even though ipconfig in fact supports an arbitrary number
of name servers (as defined by CONF_NAMESERVERS_MAX, which is currently
3).

Only request name servers in the request packet if CONF_NAMESERVERS_MAX
is positive (to comply with [1, ยง3.8]), and allocate enough space in the
packet for CONF_NAMESERVERS_MAX name servers to indicate the maximum
number we can accept in response.

[1] RFC 2132, "DHCP Options and BOOTP Vendor Extensions":
    https://tools.ietf.org/rfc/rfc2132.txt

Signed-off-by: Chris Novakovic <chris@chrisn.me.uk>
Signed-off-by: David S. Miller <davem@davemloft.net>
net/ipv4/ipconfig.c