busybox/networking
Denys Vlasenko a6a3ad3273 udhcpc: paranoia when using kernel UDP mode for sending renew: server ID may be bogus
With new code, we request that target IP (server ID) must be directly reachable.
If it's not, this happens:

udhcpc: waiting 2000 seconds
udhcpc: entering listen mode: kernel
udhcpc: opening listen socket on *:68 wlan0
udhcpc: entering renew state
udhcpc: sending renew to 1.1.1.1
udhcpc: send: Network is unreachable
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ 1.1.1.1 needs routing, this is fishy!
udhcpc: entering rebinding state
udhcpc: entering listen mode: raw
udhcpc: created raw socket
udhcpc: sending renew to 0.0.0.0
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ going to use broadcast

which is the desired behavior. Before the patch, packet to 1.1.1.1 was routed
over eth0 (!) and maybe even into Internet (!!!).

function                                             old     new   delta
udhcpc_main                                         2752    2763     +11
udhcp_send_kernel_packet                             295     301      +6
send_renew                                            82      84      +2
send_packet                                          166     168      +2
bcast_or_ucast                                        23      25      +2
------------------------------------------------------------------------------
(add/remove: 0/0 grow/shrink: 5/0 up/down: 23/0)               Total: 23 bytes

Signed-off-by: Denys Vlasenko <vda.linux@googlemail.com>
2017-09-29 16:02:11 +02:00
..
libiproute iproute: support for filtering by and printing of scope 2017-06-13 19:59:59 +02:00
ssl_helper networking/ssl_helper: experimental matrixssl-based ssl helper 2014-02-23 23:31:13 +01:00
ssl_helper-wolfssl Update information on building httpd and wget helpers 2016-12-22 15:13:37 +01:00
udhcp udhcpc: paranoia when using kernel UDP mode for sending renew: server ID may be bogus 2017-09-29 16:02:11 +02:00
arp.c config: deindent all help texts 2017-07-21 09:50:55 +02:00
arping.c getopt32: remove opt_complementary 2017-08-08 21:55:02 +02:00
brctl.c brctl: make it NOEXEC 2017-08-06 20:14:02 +02:00
Config.src config: deindent all help texts 2017-07-21 09:50:55 +02:00
dnsd.c config: deindent all help texts 2017-07-21 09:50:55 +02:00
ether-wake.c getopt32: remove opt_complementary 2017-08-08 21:55:02 +02:00
ftpd.c getopt32: remove opt_complementary 2017-08-08 21:55:02 +02:00
ftpgetput.c ftpgetput: show only short options in --help text 2017-08-08 22:33:02 +02:00
hostname.c regularize format of source file headers, no code changes 2017-09-18 16:28:43 +02:00
httpd_helpers.sh Update information on building httpd and wget helpers 2016-12-22 15:13:37 +01:00
httpd_indexcgi.c httpd_indexcgi.c: fix compile failure 2012-09-03 12:20:10 +02:00
httpd_post_upload.cgi Make POST upload example script easier to use 2016-12-22 15:33:11 +01:00
httpd_ssi.c whitespace fixes. no code changes 2013-01-14 01:34:48 +01:00
httpd.c httpd: fix handling of range requests 2017-09-18 13:09:11 +02:00
ifconfig.c config: deindent all help texts 2017-07-21 09:50:55 +02:00
ifenslave.c getopt32: remove applet_long_options 2017-08-08 17:09:40 +02:00
ifplugd.c zcip: fix slow environment leak 2017-07-22 03:04:20 +02:00
ifupdown.c regularize format of source file headers, no code changes 2017-09-18 16:28:43 +02:00
inetd.c build system: remove unused CONFIG_FEATURE_HAVE_RPC 2017-08-14 12:25:55 +02:00
interface.c networking/interface.c: remove superfluous "& 0377" 2017-09-12 17:54:28 +02:00
ip.c ip,ip*: make them NOEXEC 2017-09-18 15:45:13 +02:00
ipcalc.c getopt32: remove opt_complementary 2017-08-08 21:55:02 +02:00
isrv_identd.c config: deindent all help texts 2017-07-21 09:50:55 +02:00
isrv.c Spelling fixes in comments, documentation, tests and examples 2017-04-17 16:13:32 +02:00
isrv.h fixlet for the previous commit #2 2014-01-09 20:09:43 +01:00
Kbuild.src Convert all networking/* applets to "new style" applet definitions 2016-11-23 09:05:14 +01:00
nameif.c regularize format of source file headers, no code changes 2017-09-18 16:28:43 +02:00
nbd-client.c regularize format of source file headers, no code changes 2017-09-18 16:28:43 +02:00
nc_bloaty.c getopt32: remove opt_complementary 2017-08-08 21:55:02 +02:00
nc.c netcat: net applet (alias to nc) 2017-09-15 18:55:53 +02:00
netstat.c config: deindent all help texts 2017-07-21 09:50:55 +02:00
nslookup.c config: deindent all help texts 2017-07-21 09:50:55 +02:00
ntpd.c *: fix fallout from opt_complementary conversion 2017-08-23 15:08:25 +02:00
ntpd.diff ntpd: add experimental patch 2016-03-04 07:36:04 +01:00
ping.c regularize format of source file headers, no code changes 2017-09-18 16:28:43 +02:00
pscan.c getopt32: remove opt_complementary 2017-08-08 21:55:02 +02:00
route.c config: deindent all help texts 2017-07-21 09:50:55 +02:00
slattach.c getopt32: remove opt_complementary 2017-08-08 21:55:02 +02:00
ssl_client.c config: deindent all help texts 2017-07-21 09:50:55 +02:00
tc.c ip: better --help 2017-01-21 14:27:07 +01:00
tcpudp_perhost.c *: make GNU licensing statement forms more regular 2010-08-16 20:14:46 +02:00
tcpudp_perhost.h *: make GNU licensing statement forms more regular 2010-08-16 20:14:46 +02:00
tcpudp.c getopt32: remove opt_complementary 2017-08-08 21:55:02 +02:00
telnet.c telnet: "-a" + "-l USER" should respect USER 2017-08-17 13:37:51 +02:00
telnetd.c getopt32: remove opt_complementary 2017-08-08 21:55:02 +02:00
telnetd.ctrlSQ.patch *: slap on a few ALIGN1/2s where appropriate 2016-04-22 18:09:21 +02:00
telnetd.IAC_test.sh telnetd: fix corner case of input processing of 0xff bytes 2016-10-12 19:13:46 +02:00
tftp.c getopt32: remove opt_complementary 2017-08-08 21:55:02 +02:00
tls_aes.c Move get_unaligned_le32() macros to platform.h 2017-07-15 20:22:25 +02:00
tls_aes.h tls: fold AES CBC en/decryption into single functions 2017-02-04 16:23:49 +01:00
tls_pstm_montgomery_reduce.c tls: remove last int16 local variables in pstm code 2017-07-15 17:19:38 +02:00
tls_pstm_mul_comba.c tls: remove last int16 local variables in pstm code 2017-07-15 17:19:38 +02:00
tls_pstm_sqr_comba.c tls: remove last int16 local variables in pstm code 2017-07-15 17:19:38 +02:00
tls_pstm.c tls: remove last int16 local variables in pstm code 2017-07-15 17:19:38 +02:00
tls_pstm.h tls: avoid using int16 in pstm code 2017-04-03 21:53:29 +02:00
tls_rsa.c tls: commented out psPool_t use 2017-01-19 15:51:00 +01:00
tls_rsa.h tls: commented out psPool_t use 2017-01-19 15:51:00 +01:00
tls_symmetric.h tls: set TLS_DEBUG to 0; placate a gcc indentation warning 2017-01-23 01:15:13 +01:00
tls.c tls: use capped SNI len everywhere 2017-07-04 16:52:45 +02:00
tls.h tls: fix pstm asm constraint problem 2017-07-15 17:13:08 +02:00
traceroute.c getopt32: remove opt_complementary 2017-08-08 21:55:02 +02:00
tunctl.c getopt32: remove opt_complementary 2017-08-08 21:55:02 +02:00
vconfig.c regularize format of source file headers, no code changes 2017-09-18 16:28:43 +02:00
wget.c regularize format of source file headers, no code changes 2017-09-18 16:28:43 +02:00
whois.c regularize format of source file headers, no code changes 2017-09-18 16:28:43 +02:00
zcip.c getopt32: remove opt_complementary 2017-08-08 21:55:02 +02:00