OpenNTPD 3.6 has just been released. It will be available from the
mirrors listed at http://www.openntpd.org/ shortly.
This is our first formal release.
OpenNTPD is a FREE, easy to use implementation of the Network Time Protocol.
It provides the ability to sync the local clock to remote NTP servers
and can act as NTP server itself, redistributing the local clock.
OpenNTPD is developed as part of the OpenBSD project, which sells
CDs, T-Shirts, and Posters.
Sales of these items help to fund development.
For international orders use http://https.openbsd.org/cgi-bin/order
and for European orders, use http://https.openbsd.org/cgi-bin/order.eu
Checksums:
==========
MD5 (openntpd-3.6.tgz) = cd7212ebb28012ec8c627acf176dc025
MD5 (openntpd-3.6p1.tar.gz) = ba69427e83a9a8080410261af116cdbe
Reporting Bugs:
===============
- please read http://www.openbsd.org/report.html
OpenNTPD is brought to you by Henning Brauer, Darren Tucker and Theo de Raadt.
Changelog
=========
20041022
- (dtucker) Release 3.6p1.
20041015
- (dtucker) [configure.ac openbsd-compat/inet_pton.c] Fix a couple of silly
errors that prevented it from working on OS X; from mouring@
20041014
- (dtucker) configure.ac defines.h includes.h openbsd-compat/Makefile.in
openbsd-compat/fake-rfc2553.c openbsd-compat/fake-rfc2553.h
openbsd-compat/inet_pton.c openbsd-compat/openbsd-compat.h] Add support
for platforms that do not have a native getaddrinfo interface, based on
OpenSSH's compatibility interface and OpenBSD's inet_pton.
- (dtucker) [openbsd-compat/openbsd-compat.h openbsd-compat/bsd-misc.c]
Compat functions for seteuid and setegid from OpenSSH. ntpd will now work
on HP-UX.
- (dtucker) [Makefile.in openbsd-compat/Makefile.in
openbsd-compat/openbsd-compat.h] Set CPPFLAGS so older make's work.
- (dtucker) [config.c configure.ac] Check for sin6_scope_id.
- (dtucker) [openbsd-compat/fake-rfc2553.h] remove sin6_scope_id to re-sync
with OpenSSH.
- (dtucker) [README] Update.
20041003
- (dtucker) [openbsd-compat/asprintf.c] Ensure than string is freed if
vsnprintf fails.
20041002
- (dtucker) [configure.ac] Look for res_9_init in libresolv too, needed on
Mac OS X. From samh at granada-learning com.
- (dtucker) [configure.ac includes.h] Check for and include netdb.h, prevents
"redefinition of EAI_NODATA" errors.
20040912
- (dtucker) OpenBSD CVS Sync
- henning@xxxxxxxxxxxxxxx 2004/09/07 22:43:07
[server.c]
ignore ntp_sendmsg()s return value in server_dispatch. could result in
ntpd exiting on sendmsg() failures, which is not desired.
- henning@xxxxxxxxxxxxxxx 2004/09/09 21:50:33
[ntp.c]
correctly track peer count. fixes a memory corruption.
with & ok otto millert claudio, ok deraadt canacar
20040904
- (dtucker) [defines.h] FreeBSD 5.x does not have EAI_NODATA, so define to
EAI_NONAME. From naddy at mips.inka.de.
- (dtucker) [configure.ac openbsd-compat/bsd-arc4random.c] Add support for
building without OpenSSL (./configure --with-builtin-arc4random), based
on arcfour routines from nanocrypt by Damien Miller. Requires /dev/urandom
device.
- (dtucker) [configure.ac ntpd.c] Set SIGCHLD to SIG_DFL on Linux.
20040901
- (dtucker) OpenBSD CVS Sync
- henning@xxxxxxxxxxxxxxx 2004/08/24 15:23:19
[config.c ]
don't fatal() if getaddrinfo() returns EAI_NONAME
- deraadt@xxxxxxxxxxxxxxx 2004/08/30 11:50:56
[ntp_msg.c]
ENOBUFS, EHOSTUNREACH, ENETDOWN and EHOSTDOWN are bad reasons to log;
ok otto henning
- deraadt@xxxxxxxxxxxxxxx 2004/08/30 11:52:04
[config.c]
skip early DNS lookups -- they are deferred to later; ok otto ho henning
- henning@xxxxxxxxxxxxxxx 2004/08/30 12:02:59
[config.c]
don't forget to set *hn... theo ok
- (dtucker) [README] Update platforms.
- (dtucker) [configure.ac] Add product name to AC_INIT
20040825
- (dtucker) [ntpd.conf] Sync with OpenBSD, requested by henning@.
20040820
- (dtucker) [defined.h] Newer FSF bisons will create a y.tab.c that has
conflicting definitions of YYSTYPE. Defining YYSTYPE_IS_DECLARED keeps it
happy. Noted by Q at ping.be.
- (dtucker) [removed ntpd.cat8 ntpd.conf.cat5] Remove catman pages. Noted by
by Q at ping.be.
- (dtucker) [configure.ac ntpd.c] Prevent Linux kernel from whining about
signal(SIGCHLD, SIG_IGN) + wait().
- (dtucker) OpenBSD CVS Sync
- henning@xxxxxxxxxxxxxxx 2004/08/10 12:41:15
[config.c ntpd.h parse.y ]
move memory allocation for new peers into a new function, makes ID
allocation easier
- henning@xxxxxxxxxxxxxxx 2004/08/10 12:45:27
[parse.y ]
in the pool case ("servers somepool.somewhere"), we add new peers while
looping over the addresses returned by the dns lookup, as each address
is one new peer.
however, if the lookup fails with a temporary error, we will try to lookup
later again. for that, we obviously need to insert one peer with the
hostname in addr_head... change one for() loop into a do { } while() one
- henning@xxxxxxxxxxxxxxx 2004/08/10 19:17:10
[ntp_msg.c ]
wrong sizeof; Brian Poole <raj@xxxxxxxxxxxxxxxxx>
- henning@xxxxxxxxxxxxxxx 2004/08/10 19:18:23
[buffer.c ]
order #includes, Brian Poole <raj@xxxxxxxxxxxxxxxxx>
- henning@xxxxxxxxxxxxxxx 2004/08/12 16:33:59
[client.c config.c ntp.c ntpd.c ntpd.h ]
do not try to getaddrinfo() in the unprivileged process, send an imsg
asking the privileged one to do it. sends back an imsg with the
resulting addresses in a bunch of struct sockaddr_storage in the data
part.
this should fix all remaining issues with dns (non-)availability at
ntpd startup, be it due to named on localhost or something else.
tested by marco@ and Chris Paul <chris.paul@xxxxxxxxxxxxx>
- otto@xxxxxxxxxxxxxxx 2004/08/13 12:26:13
[client.c ]
Reset deadline on failed transmit. Avoids a spinning process if
all sends fail. ok henning@
- otto@xxxxxxxxxxxxxxx 2004/08/16 11:14:15
[client.c ]
Be more careful setting next and deadline, they should not both be != 0
at the same time.
ok henning@
- (dtucker) [configure.ac] libresolv now needed on some platforms (eg
Solaris).
20040730
- (dtucker) OpenBSD CVS Sync
- henning@xxxxxxxxxxxxxxx 2004/07/25 18:27:58
[config.c ntpd.h ]
remove unused function
- henning@xxxxxxxxxxxxxxx 2004/07/28 16:38:43
[client.c config.c ntpd.h parse.y ]
when a dns lookup fails at parse time, do not abort but try again
to resolve the hostname every 60 seconds
fixes ntpd invocations before e. g. a dialup link is established and such.
as we want ntpd to be a "fire and forget" background daemon it should
cope with such situations.
tested by many
- henning@xxxxxxxxxxxxxxx 2004/07/28 16:56:21
[parse.y ]
prevent unresolvable hostnames in "listen on" statements
- henning@xxxxxxxxxxxxxxx 2004/07/29 11:01:48
[ntpd.h parse.y ]
keep an ID per server we talk to
20040721
- (dtucker) OpenBSD CVS Sync
- henning@xxxxxxxxxxxxxxx 2004/07/20 16:47:55
[client.c ntpd.h parse.y ]
wrap the heads for the linked list of addresses into a new ntp_addr_wrap
which, besides the head pointer for the list of course, stores the original
address as specified (i. e. as hostname instead of resolved IPs) and flags
and such.
- henning@xxxxxxxxxxxxxxx 2004/07/21 09:40:55
[parse.y ]
no multiple free(); "John L. Scarfone" <j0@xxxxxxx>
- (dtucker) [Makefile.in] rebuild y.tab.c during distprep too.
20040720
- (dtucker) [Makefile.in] Set @CC@ too.
20040719
- (dtucker) OpenBSD CVS Sync
- henning@xxxxxxxxxxxxxxx 2004/07/18 12:59:41
[client.c ntp.c ntpd.h ]
query interval scaling, episode II
1) base the interval calculation on the offset from the last reply, not
from the last peer update.
Allows us to send more queries again faster when the local clock
diverges too much
2) every time we form a peer update (for which we need 8 replies)
check wether we have a ready peer update for all peers that are
currently trusted, and if so, calculate the total offset and call
adjtime().
that means that adjtime is no longer called in fixed intervals
but whenever we have enough data to reliably calculate the local
clock offset.
In practice, that means we call adjtime() less often, but with
probably better data.
3) invalidate peer updates after beeing used. no point in re-using them
- this resulted in calling adjtime() multiple times with the same
offset, which doesn't make sense
tested by many
- henning@xxxxxxxxxxxxxxx 2004/07/18 13:26:53
[client.c server.c ]
there are a few recvfrom(2) errors we do not want to panic on
- (dtucker) [openbsd-compat/bsd-arc4random.c] Discard early keystream from
RC4, based on OpenSSH Portable's rev 1.9 by djm@.
20040718
- (dtucker) [Makefile.in] Create privsep directory and warn if _ntp group/
user do not exist.
- (dtucker) [defines.h] Mac OS X needs IOV_MAX defined too. From kinetik at
orcon.net.nz
- (dtucker) [configure.ac] Die screaming if we can't find getaddrinfo.
- (dtucker) [defines.h] Use "#if defined(..) not "#if (..)".
- (dtucker) [configure.ac] OS X has some broken uidswapping functions, from
OpenSSH's configure.ac.
- (dtucker) [configure.ac, added config.sub config.guess] Add
AC_CANONICAL_HOST and associated files, from kinetik at orcon.net.nz.
20040717
- (dtucker) [configure.ac] Import --with-ssl-dir checks from OpenSSH
Portable, configure will now automatically find libcrypto in its default
location.
- (dtucker) [ntpd.conf] Make more like OpenBSD's, but select 3 servers from
pool.ntp.org by default rather than use the "servers" directive.
20040716
- (dtucker) [Makefile.in configure.ac defines.h includes.h ntp.h ntpd.h
server.c openbsd-compat/Makefile.in, added openbsd-compat/asprintf.c
openbsd-compat/bsd-misc.c openbsd-compat/daemon.c] Support Solaris. Needs
CFLAGS/LDFLAGS set to find libcrypto, eg
CFLAGS=-I/usr/local/ssl/include LDFLAGS=-L/usr/local/ssl/lib ./configure
- (dtucker) [configure.ac] Fix socketpair libnsl/libsocket test.
- (dtucker) [configure.ac defines.h includes.h
openbsd-compat/openbsd-compat.h] Fix lots of warnings.
20040715
- (dtucker) [Makefile.in] Improve "make clean" targets.
- (dtucker) [configure.ac server.c] Check for getifaddrs and if not found,
compile without "listen on *" support.
- (dtucker) OpenBSD CVS Sync
- alexander@xxxxxxxxxxxxxxx 2004/07/13 17:27:57
[server.c]
ignore obviously malformed queries; ok henning@
- alexander@xxxxxxxxxxxxxxx 2004/07/13 19:41:26
[ntp.c ntpd.h server.c ]
Respond to client queries with better server statistics. We now output
a close-to-reality stratum, a real reference time, and a leap indicator
that will indicate if the local clock isn't synchronized.
- jmc@xxxxxxxxxxxxxxx 2004/07/13 19:51:38
[ntpd.8 ntpd.conf.5 ]
tweaks; ok henning@
- henning@xxxxxxxxxxxxxxx 2004/07/14 20:16:31
[client.c ntp.c ntpd.h server.c ]
do not do the stratum guessing dance.
stratum is pretty much pointless anyway these days, and we certainly
do not want to send out illegal packets (stratum=0) until synced...
20040714
- (dtucker) [Makefile.in buffer.c configure.ac defines.h includes.h ntpd.c
parse.y y.tab.c] Fix build warnings on Linux, based in part on a patch
from kinetik at orcon.net.nz.
- (dtucker) [Makefile.in] Make a distclean target too.
20040713
- (dtucker) [Makefile.in buffer.c configure.ac defines.h includes.h
openbsd-compat/strlcpy.c] Define IOV_MAX for FreeBSD 4, from naddy at
mips.inka.de. The C source files should include "includes.h" only. Fix
out-of-tree builds too.
- (dtucker) [configure.ac defines.h includes.h openbsd-compat/openbsd-compat.h
openbsd-compat/uidswap.c] Add CVS Id's and copyright notices.
- (dtucker) OpenBSD CVS Sync
- henning@xxxxxxxxxxxxxxx 2004/07/13 11:16:22
[ntpd.c]
like bgpd, use a socketpair(2) instead of a pipe(2)
- (dtucker) [configure.ac defines.h] Use memset if bzero is not available.
- (dtucker) [configure.ac] Check for setgid too.
20040712
- (dtucker) OpenBSD CVS Sync
- dtucker@xxxxxxxxxxxxxxx 2004/07/12 09:22:38
Replace errx with equivalent fprintf+exit to make porting easier;
ok henning@
- dtucker@xxxxxxxxxxxxxxx 2004/07/12 09:38:57
Add missing newlines
- (dtucker) [configure.ac includes.h log.c ntp.c openbsd-compat/Makefile.in
openbsd-compat/openbsd-compat.h, added openbsd-compat/uidswap.c] Import
stripped-down uidswap.c from OpenSSH Portable for permanently_set_uid.
- (dtucker) [Makefile.in] Quieter install.
- (dtucker) [defines.h] Remove setreuid -> setresuid hack.
- (dtucker) [Makefile.in configure.ac] Move setting of CFLAGS into configure.
- (dtucker) [ntp.c openbsd-compat/uidswap.c] Set and check return code.
- (dtucker) [Makefile.in configure.ac includes.h openbsd-compat/Makefile.in
openbsd-compat/bsd-arc4random.c] Clean up makefiles, fix warnings.
20040711
- (dtucker) FreeBSD (5.2) build fixes from naddy@: use sysconfdir
for ntpd.conf location, have configure check for strlcpy.
- (dtucker) OpenBSD CVS Sync
- henning@xxxxxxxxxxxxxxx 2004/07/10 18:42:51
[client.c ntp.c ntpd.h]
scale query interval based on local clock offset. tested by many
not as efficient as I want it to be yet, but more is coming
- henning@xxxxxxxxxxxxxxx 2004/07/10 18:47:49
[client.c]
oups
- henning@xxxxxxxxxxxxxxx 2004/07/10 19:09:13
[client.c]
check wether we have enough data to form a peer update on receiption
of each packet, not only after each 8th (where we have enough for sure)
- henning@xxxxxxxxxxxxxxx 2004/07/10 19:16:06
[client.c]
missing {}
- alexander@xxxxxxxxxxxxxxx 2004/07/10 22:04:22
[ntp.h]
correct leap indicator mask; ok henning@
- alexander@xxxxxxxxxxxxxxx 2004/07/10 22:24:20
[ntpd.h util.c]
short fixed point <-> double conversion routines; ok henning@
- alexander@ 2004/07/10 23:12:57
[ntpd.h]
KNF; ok henning@
- alexander@xxxxxxxxxxxxxxx 2004/07/11 00:15:10
[client.c ntpd.h]
Start collecting the remote server state along with the calculated
offsets, in preparation for having correct server statistics in
responses to client queries. ok henning@
- dtucker@ 2004/07/11 03:05:50
[log.c ntp_msg.c server.c]
Use SA_LEN(sa) instead of sa->sa_len; ok henning@ (CVSID sync only)
- (dtucker) [Makefile.in configure.ac, added install-sh]
Add "make install target", install-sh from OpenSSH portable.
- (dtucker) [openbsd-compat/bsd-arc4random.c] fatal() doesn't do varargs.
- (dtucker) [Makefile.in configure.ac] Only link with libcrypto if needed for
arc4random replacement.
- (dtucker) [Makefile.in] Install ntpd.conf man page, fix creation of install
dirs. Pointed out by han at mijncomputer.nl.
20040711
- (dtucker) Initial portablization of OpenBSD's native ntpd by henning@ and
alexander@.
|