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>
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 @@
/* 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 @@
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) {