ntpd: retry initial DNS resolution (forever, no timeout for now).
authorDenys Vlasenko <vda.linux@googlemail.com>
Mon, 6 Jun 2016 00:26:49 +0000 (02:26 +0200)
committerDenys Vlasenko <vda.linux@googlemail.com>
Mon, 6 Jun 2016 00:26:49 +0000 (02:26 +0200)
commite4caf1dd9ce8569371a0eeb77ccf02a572dc0f11
tree9bb0c538b7bac20b94272c39576b740436a08c6c
parentb684d1b1864ba9d7968de5565823f8e42f1dc448
ntpd: retry initial DNS resolution (forever, no timeout for now).

Some users start ntpd on boot, and don't babysit it. If it dies because
DNS is not yet up and therefore NTP servers can't be found, users are
not happy.

Example behavior with a peer name which can't be resolved:

ntpd: bad address 'qwe.rty.ghj.kl'
...5 sec...
ntpd: bad address 'qwe.rty.ghj.kl'
ntpd: bad address 'qwe.rty.ghj.kl'
ntpd: bad address 'qwe.rty.ghj.kl'
ntpd: bad address 'qwe.rty.ghj.kl'
ntpd: bad address 'qwe.rty.ghj.kl'
ntpd: bad address 'qwe.rty.ghj.kl'
ntpd: bad address 'qwe.rty.ghj.kl'
ntpd: bad address 'qwe.rty.ghj.kl'
ntpd: bad address 'qwe.rty.ghj.kl'
...

Based on the patch by Kaarle Ritvanen <kaarle.ritvanen@datakunkku.fi>

function                                             old     new   delta
resolve_peer_hostname                                  -      81     +81
ntpd_main                                           1130    1061     -69
------------------------------------------------------------------------------
(add/remove: 1/0 grow/shrink: 0/1 up/down: 81/-69)             Total: 12 bytes

Signed-off-by: Denys Vlasenko <vda.linux@googlemail.com>
networking/ntpd.c