hush/networking
Natanael Copa b62ea34afe ntpd: improve postponed hostname resolution
Run the namelookup from the main loop so a misspelled first ntp server
name does not block everything forever.

This fixes the following situation which would block forever:
  $ sudo ./busybox ntpd -dn -p foobar  -p pool.ntp.org
  ntpd: bad address 'foobar'
  ntpd: bad address 'foobar'
  ntpd: bad address 'foobar'
  ...

New behavior:
  ntpd: bad address 'foobar'
  ntpd: sending query to 137.190.2.4
  ntpd: reply from 137.190.2.4: offset:-1.009775 delay:0.175550 status:0x24 strat:1 refid:0x00535047 rootdelay:0.000000 reach:0x01
  ntpd: sending query to 137.190.2.4
  ntpd: reply from 137.190.2.4: offset:-1.009605 delay:0.175461 status:0x24 strat:1 refid:0x00535047 rootdelay:0.000000 reach:0x03
  ntpd: sending query to 137.190.2.4
  ntpd: reply from 137.190.2.4: offset:-1.005327 delay:0.167027 status:0x24 strat:1 refid:0x00535047 rootdelay:0.000000 reach:0x07
  ntpd: sending query to 137.190.2.4
  ntpd: bad address 'foobar'
  ntpd: reply from 137.190.2.4: offset:-1.046349 delay:0.248705 status:0x24 strat:1 refid:0x00535047 rootdelay:0.000000 reach:0x0f

This patch is based on Kaarle Ritvanens work.
http://lists.busybox.net/pipermail/busybox/2016-May/084197.html

function                                             old     new   delta
ntpd_main                                           1061    1079     +18
ntp_init                                             556     560      +4
resolve_peer_hostname                                 81      75      -6
------------------------------------------------------------------------------
(add/remove: 0/0 grow/shrink: 2/1 up/down: 22/-6)              Total: 16 bytes

Signed-off-by: Kaarle Ritvanen <kaarle.ritvanen@datakunkku.fi>
Signed-off-by: Natanael Copa <ncopa@alpinelinux.org>
Signed-off-by: Denys Vlasenko <vda.linux@googlemail.com>
2017-01-06 16:21:09 +01:00
..
libiproute fix breakage found by mass one-applet builds 2016-12-23 02:42:26 +01: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 udhcp: tweak config order and menu item names 2017-01-04 12:13:38 +01:00
arp.c Convert all networking/* applets to "new style" applet definitions 2016-11-23 09:05:14 +01:00
arping.c Convert all networking/* applets to "new style" applet definitions 2016-11-23 09:05:14 +01:00
brctl.c Convert all networking/* applets to "new style" applet definitions 2016-11-23 09:05:14 +01:00
Config.src Fix dependency for IFUPDOWN_UDHCPC_CMD_OPTIONS 2017-01-03 12:29:52 +01:00
dnsd.c Convert all networking/* applets to "new style" applet definitions 2016-11-23 09:05:14 +01:00
ether-wake.c Convert all networking/* applets to "new style" applet definitions 2016-11-23 09:05:14 +01:00
ftpd.c Rename FEATURE_FTP_WRITE and FEATURE_FTP_AUTHENTICATION to *_FTPD_* 2016-11-23 09:07:44 +01:00
ftpgetput.c Convert all networking/* applets to "new style" applet definitions 2016-11-23 09:05:14 +01:00
hostname.c dnsdomainname: split it from "hostname", make it independently selectable 2016-11-13 22:35:10 +01: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 Convert all networking/* applets to "new style" applet definitions 2016-11-23 09:05:14 +01:00
ifconfig.c Convert all networking/* applets to "new style" applet definitions 2016-11-23 09:05:14 +01:00
ifenslave.c Convert all networking/* applets to "new style" applet definitions 2016-11-23 09:05:14 +01:00
ifplugd.c Convert all networking/* applets to "new style" applet definitions 2016-11-23 09:05:14 +01:00
ifupdown.c Remove FEATURE_IFUPDOWN_IP_BUILTIN and FEATURE_IFUPDOWN_IFCONFIG_BUILTIN 2016-12-23 15:20:16 +01:00
inetd.c Convert all networking/* applets to "new style" applet definitions 2016-11-23 09:05:14 +01:00
interface.c Code style fixes, no code changes 2016-11-28 01:22:57 +01:00
ip.c ip: make ip aliases individually selectable 2016-12-22 22:30:13 +01:00
ipcalc.c Convert all networking/* applets to "new style" applet definitions 2016-11-23 09:05:14 +01:00
isrv_identd.c Convert all networking/* applets to "new style" applet definitions 2016-11-23 09:05:14 +01:00
isrv.c libbb: introduce kernel-style BUILD_BUG_ON() 2015-10-13 14:50:20 +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 Convert all networking/* applets to "new style" applet definitions 2016-11-23 09:05:14 +01:00
nbd-client.c *: more BUILD_BUG_ON conversions 2015-10-13 17:17:34 +02:00
nc_bloaty.c getopt32: add new syntax of 'o:+' and 'o:*' for -o NUM and -o LIST 2016-07-06 21:58:02 +02:00
nc.c Convert all networking/* applets to "new style" applet definitions 2016-11-23 09:05:14 +01:00
netstat.c Convert all networking/* applets to "new style" applet definitions 2016-11-23 09:05:14 +01:00
nslookup.c Convert all networking/* applets to "new style" applet definitions 2016-11-23 09:05:14 +01:00
ntpd.c ntpd: improve postponed hostname resolution 2017-01-06 16:21:09 +01:00
ntpd.diff ntpd: add experimental patch 2016-03-04 07:36:04 +01:00
ping.c Make ping6 and traceroute6 selectable independently from ping/traceroute 2016-11-23 09:25:57 +01:00
pscan.c Convert all networking/* applets to "new style" applet definitions 2016-11-23 09:05:14 +01:00
route.c Convert all networking/* applets to "new style" applet definitions 2016-11-23 09:05:14 +01:00
slattach.c Convert all networking/* applets to "new style" applet definitions 2016-11-23 09:05:14 +01:00
tc.c Code style fixes, no code changes 2016-11-28 01:22:57 +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 tcpudp: define SO_ORIGINAL_DST directly, not via include 2017-01-02 10:46:08 +01:00
telnet.c Convert all networking/* applets to "new style" applet definitions 2016-11-23 09:05:14 +01:00
telnetd.c Convert all networking/* applets to "new style" applet definitions 2016-11-23 09:05:14 +01: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 Convert all networking/* applets to "new style" applet definitions 2016-11-23 09:05:14 +01:00
traceroute.c Make ping6 and traceroute6 selectable independently from ping/traceroute 2016-11-23 09:25:57 +01:00
tunctl.c Convert all networking/* applets to "new style" applet definitions 2016-11-23 09:05:14 +01:00
vconfig.c Convert all networking/* applets to "new style" applet definitions 2016-11-23 09:05:14 +01:00
wget.c wget: there is no -s option in GNU Wget 1.18, we should be compatible 2016-10-04 04:23:09 +02:00
whois.c getopt32: add new syntax of 'o:+' and 'o:*' for -o NUM and -o LIST 2016-07-06 21:58:02 +02:00
zcip.c Convert all networking/* applets to "new style" applet definitions 2016-11-23 09:05:14 +01:00