udhcpc: remove code which requires server ID to be on local network
This reverts "udhcpc: paranoia when using kernel UDP mode for sending renew: server ID may be bogus". Users complain that they do have servers behind routers (with DHCP relays). function old new delta send_packet 168 166 -2 bcast_or_ucast 25 23 -2 udhcp_send_kernel_packet 301 295 -6 ------------------------------------------------------------------------------ (add/remove: 0/0 grow/shrink: 0/3 up/down: 0/-10) Total: -10 bytes Signed-off-by: Denys Vlasenko <vda.linux@googlemail.com>
This commit is contained in:
@ -693,16 +693,10 @@ static int raw_bcast_from_client_config_ifindex(struct dhcp_packet *packet, uint
|
||||
|
||||
static int bcast_or_ucast(struct dhcp_packet *packet, uint32_t ciaddr, uint32_t server)
|
||||
{
|
||||
if (server) {
|
||||
/* Without MSG_DONTROUTE, the packet was seen routed over
|
||||
* _other interface_ if server ID is bogus (example: 1.1.1.1).
|
||||
*/
|
||||
if (server)
|
||||
return udhcp_send_kernel_packet(packet,
|
||||
ciaddr, CLIENT_PORT,
|
||||
server, SERVER_PORT,
|
||||
/*send_flags: "to hosts only on directly connected networks" */ MSG_DONTROUTE
|
||||
);
|
||||
}
|
||||
server, SERVER_PORT);
|
||||
return raw_bcast_from_client_config_ifindex(packet, ciaddr);
|
||||
}
|
||||
|
||||
|
Reference in New Issue
Block a user