diff options
author | Denys Vlasenko | 2018-06-21 17:36:22 +0200 |
---|---|---|
committer | Denys Vlasenko | 2018-06-21 17:38:14 +0200 |
commit | 148788eb0ee96026105755cf3fd1ad3d94f49cd2 (patch) | |
tree | aa300fa3e844410b823b87ca759060b668ff5b80 /networking/udhcp/packet.c | |
parent | 6fb8bd795c3f40735ced3f51b8082f91956fd786 (diff) | |
download | busybox-148788eb0ee96026105755cf3fd1ad3d94f49cd2.zip busybox-148788eb0ee96026105755cf3fd1ad3d94f49cd2.tar.gz |
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>
Diffstat (limited to 'networking/udhcp/packet.c')
-rw-r--r-- | networking/udhcp/packet.c | 7 |
1 files changed, 3 insertions, 4 deletions
diff --git a/networking/udhcp/packet.c b/networking/udhcp/packet.c index fc2bb54..ff16904 100644 --- a/networking/udhcp/packet.c +++ b/networking/udhcp/packet.c @@ -189,8 +189,7 @@ int FAST_FUNC udhcp_send_raw_packet(struct dhcp_packet *dhcp_pkt, /* Let the kernel do all the work for packet generation */ int FAST_FUNC udhcp_send_kernel_packet(struct dhcp_packet *dhcp_pkt, uint32_t source_nip, int source_port, - uint32_t dest_nip, int dest_port, - int send_flags) + uint32_t dest_nip, int dest_port) { struct sockaddr_in sa; unsigned padding; @@ -227,8 +226,8 @@ int FAST_FUNC udhcp_send_kernel_packet(struct dhcp_packet *dhcp_pkt, padding = DHCP_OPTIONS_BUFSIZE - 1 - udhcp_end_option(dhcp_pkt->options); if (padding > DHCP_SIZE - 300) padding = DHCP_SIZE - 300; - result = send(fd, dhcp_pkt, DHCP_SIZE - padding, send_flags); - msg = "send"; + result = safe_write(fd, dhcp_pkt, DHCP_SIZE - padding); + msg = "write"; ret_close: close(fd); if (result < 0) { |