diff options
Diffstat (limited to 'package/utils/busybox/patches/400-udhcpc-remove-code-which-requires-server-ID-to-be-on.patch')
-rw-r--r-- | package/utils/busybox/patches/400-udhcpc-remove-code-which-requires-server-ID-to-be-on.patch | 117 |
1 files changed, 0 insertions, 117 deletions
diff --git a/package/utils/busybox/patches/400-udhcpc-remove-code-which-requires-server-ID-to-be-on.patch b/package/utils/busybox/patches/400-udhcpc-remove-code-which-requires-server-ID-to-be-on.patch deleted file mode 100644 index 6770391cf2..0000000000 --- a/package/utils/busybox/patches/400-udhcpc-remove-code-which-requires-server-ID-to-be-on.patch +++ /dev/null @@ -1,117 +0,0 @@ -From 148788eb0ee96026105755cf3fd1ad3d94f49cd2 Mon Sep 17 00:00:00 2001 -From: Denys Vlasenko <vda.linux@googlemail.com> -Date: Thu, 21 Jun 2018 17:36:22 +0200 -Subject: [PATCH] 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> ---- - networking/udhcp/common.h | 4 +--- - networking/udhcp/d6_dhcpc.c | 4 +--- - networking/udhcp/dhcpc.c | 10 ++-------- - networking/udhcp/dhcpd.c | 4 +--- - networking/udhcp/packet.c | 7 +++---- - 5 files changed, 8 insertions(+), 21 deletions(-) - ---- a/networking/udhcp/common.h -+++ b/networking/udhcp/common.h -@@ -308,9 +308,7 @@ int udhcp_send_raw_packet(struct dhcp_pa - - int 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 --) FAST_FUNC; -+ uint32_t dest_nip, int dest_port) FAST_FUNC; - - void udhcp_sp_setup(void) FAST_FUNC; - void udhcp_sp_fd_set(struct pollfd *pfds, int extra_fd) FAST_FUNC; ---- a/networking/udhcp/d6_dhcpc.c -+++ b/networking/udhcp/d6_dhcpc.c -@@ -702,15 +702,13 @@ static NOINLINE int send_d6_renew(uint32 - opt_ptr = add_d6_client_options(opt_ptr); - - bb_error_msg("sending %s", "renew"); -- if (server_ipv6) { -+ if (server_ipv6) - return d6_send_kernel_packet( - &packet, (opt_ptr - (uint8_t*) &packet), - our_cur_ipv6, CLIENT_PORT6, - server_ipv6, SERVER_PORT6, - client_config.ifindex -- /* TODO? send_flags: MSG_DONTROUTE (see IPv4 code for reason why) */ - ); -- } - return d6_mcast_from_client_config_ifindex(&packet, opt_ptr); - } - ---- a/networking/udhcp/dhcpc.c -+++ b/networking/udhcp/dhcpc.c -@@ -693,16 +693,10 @@ static int raw_bcast_from_client_config_ - - 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); - } - ---- a/networking/udhcp/dhcpd.c -+++ b/networking/udhcp/dhcpd.c -@@ -588,9 +588,7 @@ static void send_packet_to_relay(struct - - udhcp_send_kernel_packet(dhcp_pkt, - server_config.server_nip, SERVER_PORT, -- dhcp_pkt->gateway_nip, SERVER_PORT, -- /*send_flags:*/ 0 -- ); -+ dhcp_pkt->gateway_nip, SERVER_PORT); - } - - static void send_packet(struct dhcp_packet *dhcp_pkt, int force_broadcast) ---- a/networking/udhcp/packet.c -+++ b/networking/udhcp/packet.c -@@ -189,8 +189,7 @@ int FAST_FUNC udhcp_send_raw_packet(stru - /* 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(s - 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) { |