Skip to content
chrony with experimental support for NTS (work in progress - rebases expected)
Branch: master
Clone or download
Fetching latest commit…
Cannot retrieve the latest commit at this time.
Permalink
Type Name Latest commit message Commit time
Failed to load latest commit information.
contrib
doc
examples
test
.gitignore
COPYING
Makefile.in test: add system tests Apr 18, 2019
NEWS
README
addressing.h
addrfilt.c
addrfilt.h
array.c
array.h
candm.h
client.c
clientlog.c
clientlog.h
cmdmon.c
cmdmon.h
cmdparse.c
cmdparse.h
conf.c
conf.h nts: make server NTS-KE port configurable Jun 19, 2019
configure nts: add support for SIV-CMAC in nettle Jul 4, 2019
getdate.h
getdate.y
hash.h Free allocated memory on exit Sep 25, 2014
hash_intmd5.c
hash_nettle.c
hash_nss.c hash: allow truncated output Aug 27, 2018
hash_tomcrypt.c
hwclock.c
hwclock.h
keys.c ntp: refactor NTP_Packet structure for extension fields Jun 19, 2019
keys.h ntp: avoid truncation of NTPv4 MACs by default Dec 2, 2016
local.c
local.h
localp.h local: add support for setting TAI-UTC offset Jun 30, 2017
logging.c
logging.h
main.c
main.h
make_release
manual.c cmdmon: report offset after manual timestamp as float Jul 25, 2017
manual.h
md5.c
md5.h Cleanup including of system headers Jun 14, 2013
memory.c
memory.h memory: add missing include Aug 3, 2018
nameserv.c
nameserv.h
nameserv_async.c
nameserv_async.h
ntp.h
ntp_core.c
ntp_core.h
ntp_ext.c
ntp_ext.h
ntp_io.c
ntp_io.h
ntp_io_linux.c
ntp_io_linux.h
ntp_signd.c
ntp_signd.h
ntp_sources.c
ntp_sources.h
nts_ke.c
nts_ke.h
nts_ntp.c
nts_ntp.h
pktlength.c
pktlength.h cmdmon: make length of manual list constant Mar 6, 2018
privops.c
privops.h
refclock.c update copyright years May 10, 2019
refclock.h
refclock_phc.c
refclock_pps.c
refclock_shm.c
refclock_sock.c
reference.c
reference.h
regress.c update copyright years Aug 28, 2017
regress.h
reports.h
rtc.c logging: remove facility parameter Mar 10, 2017
rtc.h rtc: move preinit call to RTC_Initialise() Aug 19, 2014
rtc_linux.c
rtc_linux.h
samplefilt.c
samplefilt.h samplefilt: check for non-increasing sample times Aug 24, 2018
sched.c
sched.h
siv_cmac.c siv-cmac: update API to mirror nettle Jul 4, 2019
siv_cmac.h
smooth.c util: introduce SQUARE macro Aug 21, 2018
smooth.h
sources.c update copyright years Sep 12, 2018
sources.h
sourcestats.c update copyright years Sep 12, 2018
sourcestats.h
srcparams.h
stubs.c
sys.c
sys.h
sys_generic.c
sys_generic.h
sys_linux.c sys_linux: update seccomp filter for NTS Jul 4, 2019
sys_linux.h
sys_macosx.c
sys_macosx.h
sys_netbsd.c
sys_netbsd.h
sys_null.c sys: add null driver Mar 10, 2017
sys_null.h
sys_posix.c
sys_posix.h
sys_solaris.c
sys_solaris.h
sys_timex.c
sys_timex.h
sysincl.h
tempcomp.c logging: remove facility parameter Mar 10, 2017
tempcomp.h
util.c update copyright years Sep 12, 2018
util.h util: introduce SQUARE macro Aug 21, 2018

README

This is the README for chrony.

What is chrony?
===============

chrony is a versatile implementation of the Network Time Protocol (NTP).
It can synchronise the system clock with NTP servers, reference clocks
(e.g. GPS receiver), and manual input using wristwatch and keyboard.
It can also operate as an NTPv4 (RFC 5905) server and peer to provide
a time service to other computers in the network.

It is designed to perform well in a wide range of conditions, including
intermittent network connections, heavily congested networks, changing
temperatures (ordinary computer clocks are sensitive to temperature),
and systems that do not run continuosly, or run on a virtual machine.

Typical accuracy between two machines synchronised over the Internet is
within a few milliseconds; on a LAN, accuracy is typically in tens of
microseconds.  With hardware timestamping, or a hardware reference clock,
sub-microsecond accuracy may be possible.

Two programs are included in chrony, chronyd is a daemon that can be
started at boot time and chronyc is a command-line interface program
which can be used to monitor chronyd's performance and to change various
operating parameters whilst it is running.

What will chrony run on?
========================

The software is known to work on Linux, FreeBSD, NetBSD, macOS and
Solaris.  Closely related systems may work too.  Any other system will
likely require a porting exercise.  You would need to start from one
of the existing system-specific drivers and look into the quirks of
certain system calls and the kernel on your target system.

How do I set it up?
===================

The file INSTALL gives instructions.  On supported systems the
compilation process should be automatic.  You will need a C compiler,
e.g. gcc or clang.

What documentation is there?
============================

The distribution includes manual pages and a document containing
Frequently Asked Questions (FAQ).

The documentation is also available on the chrony web pages, accessible
through the URL 

    https://chrony.tuxfamily.org/

Where are new versions announced?
=================================

There is a low volume mailing list where new versions and other
important news relating to chrony is announced.  You can join this list
by sending mail with the subject "subscribe" to

chrony-announce-request@chrony.tuxfamily.org

These messages will be copied to chrony-users (see below).

How can I get support for chrony?
and where can I discuss new features, possible bugs etc?
========================================================

There are 3 mailing lists relating to chrony.  chrony-announce was
mentioned above.  chrony-users is a users' discussion list, e.g. for
general questions and answers about using chrony.  chrony-dev is a more
technical list, e.g. for discussing how new features should be
implemented, exchange of information between developers etc.  To
subscribe to either of these lists, send a message with the subject
"subscribe" to

chrony-users-request@chrony.tuxfamily.org
or
chrony-dev-request@chrony.tuxfamily.org

as applicable.

When you are reporting a bug, please send us all the information you can.
Unfortunately, chrony has proven to be one of those programs where it is very
difficult to reproduce bugs in a different environment. So we may have to
interact with you quite a lot to obtain enough extra logging and tracing to
pin-point the problem in some cases. Please be patient and plan for this!

License
=======

chrony is distributed under the GNU General Public License version 2.

Authors
=======

Richard P. Curnow <rc@rc0.org.uk>
Miroslav Lichvar <mlichvar@redhat.com>

Acknowledgements
================

In writing the chronyd program, extensive use has been made of RFC 1305
and RFC 5905, written by David Mills. The source code of the NTP reference
implementation has been used to check the details of the protocol.

The following people have provided patches and other major contributions
to the program :

Lonnie Abelbeck <lonnie@abelbeck.com>
Benny Lyne Amorsen <benny@amorsen.dk>
Andrew Bishop <amb@gedanken.demon.co.uk>
Vincent Blut <vincent.debian@free.fr>
Stephan I. Boettcher <stephan@nevis1.columbia.edu>
Goswin Brederlow <brederlo@informatik.uni-tuebingen.de>
Leigh Brown <leigh@solinno.co.uk>
Erik Bryer <ebryer@spots.ab.ca>
Jonathan Cameron <jic23@cam.ac.uk>
Bryan Christianson <bryan@whatroute.net>
Juliusz Chroboczek <jch@pps.jussieu.fr>
Christian Ehrhardt <christian.ehrhardt@canonical.com>
Paul Elliott <pelliott@io.com>
Stefan R. Filipek <srfilipek@gmail.com>
Mike Fleetwood <mike@rockover.demon.co.uk>
Alexander Gretencord <arutha@gmx.de>
Andrew Griffiths <agriffit@redhat.com>
Walter Haidinger <walter.haidinger@gmx.at>
Juergen Hannken-Illjes <hannken@eis.cs.tu-bs.de>
John Hasler <john@dhh.gt.org>
Tjalling Hattink <t.hattink@fugro.nl>
Liam Hatton <me@liamhatton.com>
Jachym Holecek <jakym@volny.cz>
Håkan Johansson <f96hajo@chalmers.se>
Jim Knoble <jmknoble@pobox.com>
Antti Jrvinen <costello@iki.fi>
Eric Lammerts <eric@lammerts.org>
Stefan Lucke <stefan@lucke.in-berlin.de>
Victor Lum <viclum@vanu.com>
Kevin Lyda <kevin@ie.suberic.net>
Paul Menzel <paulepanter@users.sourceforge.net>
Vladimir Michl <vladimir.michl@seznam.cz>
Victor Moroz <vim@prv.adlum.ru>
Kalle Olavi Niemitalo  <tosi@stekt.oulu.fi>
Frank Otto <sandwichmacher@web.de>
Denny Page <dennypage@me.com>
Chris Perl <cperl@janestreet.com>
Gautier PHILIPPON <gautier.philippon@ensimag.grenoble-inp.fr>
Andreas Piesk <apiesk@virbus.de>
Andreas Steinmetz <ast@domdv.de>
NAKAMURA Takumi <takumi@ps.sakura.ne.jp>
Timo Teras <timo.teras@iki.fi>
Bill Unruh <unruh@physics.ubc.ca>
Stephen Wadeley <swadeley@redhat.com>
Bernhard Weiss <lisnablagh@web.de>
Wolfgang Weisselberg <weissel@netcologne.de>
Bernhard M. Wiedemann <bwiedemann@suse.de>
Joachim Wiedorn <ad_debian@joonet.de>
Ralf Wildenhues <Ralf.Wildenhues@gmx.de>
Ulrich Windl <ulrich.windl@rz.uni-regensburg.de>
Doug Woodward <dougw@whistler.com>
Thomas Zajic <zlatko@zlatko.fdns.net>

Many other people have contributed bug reports and suggestions.  We are sorry
we cannot identify all of you individually.
You can’t perform that action at this time.