dtucker
c1809222fb
Implement simple duplicate suppression of peer errors; ok henning@
20 years ago
henning
8f4f234d9b
KNF
20 years ago
henning
5ab4c063ff
buffer structs and API ssize_t -> size_t; from bgpd
20 years ago
henning
9f4b13fc3a
usage() is __dead
pt out by Alexander v Gernler
20 years ago
dtucker
21a049e79f
Simplify interval scaling and randomize query intervals; ok henning@
20 years ago
henning
81a717e58a
fatal() if daemon() fails, Alexander von Gernler <grunk@pestilenz.org>
20 years ago
dtucker
e0c54820e7
Make network unreachable errors non-fatal; ok henning@
20 years ago
dtucker
270c434643
Scale query interval by the overall offset not per-peer offset, so we
don't query outliers more often than any other server. ok henning@
20 years ago
dtucker
5d09ee1c02
Delay before retrying a query on timeout; ok henning@
20 years ago
henning
2c91c74b88
KNF
20 years ago
henning
d1e706f6f9
d can be negative, take that into account when comparing to the logging
threshold. spotted by Constantine Murenin <mureninc@gmail.com>, mickey ok
20 years ago
dtucker
621223eef3
Save original value returned by getifaddrs to free later; ok henning@
20 years ago
henning
cd15a535c6
if our first getpwnam(), testing for NTPD_USER, succeeded, but the second
returns NULL, we don't need loooong explanations, but at least some indicator
what went wrong, From: Michael Knudsen <e@molioner.dk>
20 years ago
moritz
d2089d6098
some typos in log messages.
ok henning@
20 years ago
dtucker
a5982aae18
Limit the number of addresses used by the 'servers' directive to 8; ok henning@
20 years ago
dtucker
890af70b55
Poll unsynchronized servers at the maximum interval and log a message about
them when in debug mode; ok henning@
20 years ago
dtucker
f8fddf9886
Factor out interval scaling code; ok henning@
20 years ago
dtucker
ec912cc477
If polling a server results in an error, drop that server to the maximum
poll interval; ok henning@
20 years ago
dtucker
1cc3aedb19
sendto() takes socklen_t as an argument; ok henning@
20 years ago
dtucker
262fb1973f
Sanity check owner and permissions of privsep directory, like sshd does;
ok henning@
20 years ago
dtucker
9cb603051f
Check for error status from poll() too; ok henning@
20 years ago
dtucker
1bfbeb3ca8
Discard replies with alarm flag set or invalid stratum; ok henning@
20 years ago
jaredy
878f6487d6
typos, then -> than, from Michael Knudsen
20 years ago
mickey
a077b10ff0
define TRUSTLEVEL_MAX for the trustedlevel value of 10; henning@ ok
20 years ago
mickey
668e680350
use two tiny macros for copying fields out to simplify reading; henning@ ok
20 years ago
mickey
b521cde7ce
uniquely name members of s_fixedpt and l_fixedpt; henning@ ok
20 years ago
jmc
640288c410
tweaks;
20 years ago
mickey
7d3cbb5271
do not log tiny local clock drifts; w/ help from Joerg Sonnenberger <joerg@britannica.bec.de>; henning@ ok
20 years ago
mickey
f2f9840c04
ensure the most excellent alignment in the structs; henning@ ok
20 years ago
henning
6da6b1a6a2
fix "listen on hostname"
fallout from the deferred dns lookups
noticed by dhartmei@
20 years ago
henning
b89628e731
some missing includes, from Joerg Sonnenberger <joerg@britannica.bec.de>
20 years ago
henning
b84ae4cbbe
ntp_adjtime() -> priv_adjtime()
ntp_settime() -> priv_settime()
ntp_host_dns() -> priv_host_dns()
20 years ago
henning
389962a6b2
const'ify conffile
From: Joerg Sonnenberger <joerg@britannica.bec.de>
20 years ago
otto
3b81ab1b24
Advice user to use multiple servers. Prodded by Daniel Polak, help and ok jmc@
ok henning@
20 years ago
jmc
5bfffdca2a
document that keywords can be specified multiple times;
from otto and myself; prodded by henning;
20 years ago
dtucker
ceecbd1877
Use SA_LEN() instead of ss.ss_len. Evaluates to the same result but it's
easier on portable. ok henning@
20 years ago
henning
c31555e853
memleaks in error pathes, patrick latifi, Thanks!
20 years ago
henning
e409afcfa7
use SIG_DFL instead of SIG_IGN when we are not interested in SIG_CHILD
anymore, same thing for us and it makes darren's life easier for the
portable
20 years ago
henning
df2265ded1
superfluous comma, From: James Herbert <lists@artyzan.net>
20 years ago
dtucker
348fc30c4d
Calculate Hz and round up; ok henning@
20 years ago
henning
cda611d670
use clock_getres(3) and calculate precision from that, and fill the
precision field when we reply in server mode accordingly. from phessler
20 years ago
henning
5b5fccf2aa
oups
20 years ago
henning
d94b864a67
in server mode reply with stratum from the peer that we currently prefer
plus one
20 years ago
dtucker
3b0155d86c
Only set IPTOS_LOWDELAY on IPv4 interfaces; pointed out by phessler, ok henning
20 years ago
dtucker
dcc316e5a2
Have ntpd use IPTOS_LOWDELAY; ok henning@
20 years ago
henning
a4e395e47f
set rootdelay in replies.
inherit rootdelay from the delay from the last client update from the peer
that we picked last time to adjust the local clock.
in some cases we use the average offset between two peers' client updates,
then use the average delay between the two as well.
20 years ago
henning
0fe5ca5a17
in struct ntp_msg, rename "distance" to "rootdelay" to closer match RFCs
and such
20 years ago
henning
0d2f286428
thinko, htonl() -> ntohl(). as we don't use the value in question effect zero
20 years ago
henning
d71785f980
fall cleaning
20 years ago
henning
7096d1be44
correctly set refid in replies with NTP protocol versions < 4.
code path for NTP4 remains unchanged, we already set refid correctly there.
NTP3 and older uses an IPv4 address as refid.
use the IP of the server we last synced to if it was a IPv4 one.
sometimes we use the average offset between two, in that case just pick
one for the IP.
this scheme naturally fails when we query IPv6 servers and have to reply
to IPv4 NTP3 (or even older NTP versions) clients - refid stays at 0 then.
this is a protocol limitation, nothing we can do about it.
20 years ago