Advanced NTP client and server
Find a file
Miroslav Lichvar 41580fe589 Add flags field to chronyc add source request
This will allow adding new flags without breaking compatibility.
2009-12-02 15:22:16 +01:00
contrib Update COPYING and FSF address 2009-10-28 17:53:33 +01:00
examples Update COPYING and FSF address 2009-10-28 17:53:33 +01:00
.gitignore Add a .gitignore file 2006-01-29 23:29:01 +00:00
acquire.c Read local time immediately after select() 2009-11-30 13:27:34 +01:00
acquire.h Update COPYING and FSF address 2009-10-28 17:53:33 +01:00
addressing.h Update COPYING and FSF address 2009-10-28 17:53:33 +01:00
addrfilt.c Update COPYING and FSF address 2009-10-28 17:53:33 +01:00
addrfilt.h Update COPYING and FSF address 2009-10-28 17:53:33 +01:00
broadcast.c Update COPYING and FSF address 2009-10-28 17:53:33 +01:00
broadcast.h Update COPYING and FSF address 2009-10-28 17:53:33 +01:00
candm.h Add flags field to chronyc add source request 2009-12-02 15:22:16 +01:00
chrony.1 Replaced references to sunsite with references to tuxfamily. 2009-10-29 16:14:39 -05:00
chrony.conf.5 Replaced references to sunsite with references to tuxfamily. 2009-10-29 16:14:39 -05:00
chrony.lsm Replaced references to sunsite with references to tuxfamily. 2009-10-29 16:14:39 -05:00
chrony.spec.sample Fix for chrony.spec on SuSE (Paul Elliot) 2006-01-19 21:37:13 +00:00
chrony.texi Swap leap signs in measurements log description 2009-11-30 16:54:04 +01:00
chrony_timex.h Add support for ADJ_OFFSET_SS_READ mode 2009-05-20 17:43:09 +02:00
chronyc.1 Document -4 and -6 options 2009-11-09 14:35:39 +01:00
chronyd.8 Document -4 and -6 options 2009-11-09 14:35:39 +01:00
client.c Add flags field to chronyc add source request 2009-12-02 15:22:16 +01:00
clientlog.c Add option to limit clientlog memory 2009-11-25 14:37:36 +01:00
clientlog.h Update COPYING and FSF address 2009-10-28 17:53:33 +01:00
cmdmon.c Add flags field to chronyc add source request 2009-12-02 15:22:16 +01:00
cmdmon.h Update COPYING and FSF address 2009-10-28 17:53:33 +01:00
cmdparse.c Update COPYING and FSF address 2009-10-28 17:53:33 +01:00
cmdparse.h Update COPYING and FSF address 2009-10-28 17:53:33 +01:00
conf.c Add refclocks log 2009-11-30 16:54:00 +01:00
conf.h Add refclocks log 2009-11-30 16:54:00 +01:00
configure Clean up configure a bit 2009-11-27 16:47:20 +01:00
COPYING Update COPYING and FSF address 2009-10-28 17:53:33 +01:00
faq.txt Replaced references to sunsite with references to tuxfamily. 2009-10-29 16:14:39 -05:00
faqgen.pl Equivalent to V1.19.99.1 2006-01-19 21:34:28 +00:00
getdate.c Regenerate getdate.c 2009-11-27 12:27:11 +01:00
getdate.h Update COPYING and FSF address 2009-10-28 17:53:33 +01:00
getdate.y Include getdate.y to allow regenerating getdate.c 2009-11-27 12:25:36 +01:00
INSTALL Equivalent to V1.19.99.1 2006-01-19 21:34:28 +00:00
io_linux.h Add s390 and powerpc definitions to io_linux.h 2009-11-26 14:59:11 +01:00
keys.c Update COPYING and FSF address 2009-10-28 17:53:33 +01:00
keys.h Update COPYING and FSF address 2009-10-28 17:53:33 +01:00
local.c Update COPYING and FSF address 2009-10-28 17:53:33 +01:00
local.h Update COPYING and FSF address 2009-10-28 17:53:33 +01:00
localp.h Update COPYING and FSF address 2009-10-28 17:53:33 +01:00
logging.c Update COPYING and FSF address 2009-10-28 17:53:33 +01:00
logging.h Clean up system options code 2009-11-25 14:37:41 +01:00
main.c Clean up system options code 2009-11-25 14:37:41 +01:00
main.h Update COPYING and FSF address 2009-10-28 17:53:33 +01:00
make_release Remove hyphen from git commands in make_release 2009-12-01 17:17:18 +01:00
Makefile.in Use 644/755 permissions instead of 444/555 2009-11-27 13:21:57 +01:00
manual.c Update COPYING and FSF address 2009-10-28 17:53:33 +01:00
manual.h Update COPYING and FSF address 2009-10-28 17:53:33 +01:00
md5.c Equivalent to V1.19.99.1 2006-01-19 21:34:28 +00:00
md5.h Equivalent to V1.19.99.1 2006-01-19 21:34:28 +00:00
memory.h Update COPYING and FSF address 2009-10-28 17:53:33 +01:00
mkdirpp.c Update COPYING and FSF address 2009-10-28 17:53:33 +01:00
mkdirpp.h Update COPYING and FSF address 2009-10-28 17:53:33 +01:00
mkversion First stab at moving build_kit to release versioning based on tla 2006-01-19 21:37:14 +00:00
nameserv.c Update COPYING and FSF address 2009-10-28 17:53:33 +01:00
nameserv.h Update COPYING and FSF address 2009-10-28 17:53:33 +01:00
NEWS Update NEWS for 1.23 2007-12-02 14:53:09 +00:00
ntp.h Update COPYING and FSF address 2009-10-28 17:53:33 +01:00
ntp_core.c Don't set NTP source as reachable when reply doesn't have valid data 2009-11-12 15:07:36 +01:00
ntp_core.h Update COPYING and FSF address 2009-10-28 17:53:33 +01:00
ntp_io.c Read local time immediately after select() 2009-11-30 13:27:34 +01:00
ntp_io.h Update COPYING and FSF address 2009-10-28 17:53:33 +01:00
ntp_sources.c Update COPYING and FSF address 2009-10-28 17:53:33 +01:00
ntp_sources.h Update COPYING and FSF address 2009-10-28 17:53:33 +01:00
pktlength.c Update COPYING and FSF address 2009-10-28 17:53:33 +01:00
pktlength.h Update COPYING and FSF address 2009-10-28 17:53:33 +01:00
README Replaced references to sunsite with references to tuxfamily. 2009-10-29 16:14:39 -05:00
refclock.c Flush filter when PPS refclock lost sync 2009-11-30 17:03:04 +01:00
refclock.h Add refclocks log 2009-11-30 16:54:00 +01:00
refclock_pps.c Don't forget to save last PPS sequence number 2009-11-03 16:36:02 +01:00
refclock_shm.c Update COPYING and FSF address 2009-10-28 17:53:33 +01:00
refclock_sock.c Close socket in SOCK finalise 2009-12-01 16:01:31 +01:00
reference.c Update COPYING and FSF address 2009-10-28 17:53:33 +01:00
reference.h Update COPYING and FSF address 2009-10-28 17:53:33 +01:00
regress.c Don't read past buffer in find_ordered_entry_with_flags 2009-11-18 15:46:55 +01:00
regress.h Update COPYING and FSF address 2009-10-28 17:53:33 +01:00
reports.h Update COPYING and FSF address 2009-10-28 17:53:33 +01:00
rtc.c Update COPYING and FSF address 2009-10-28 17:53:33 +01:00
rtc.h Update COPYING and FSF address 2009-10-28 17:53:33 +01:00
rtc_linux.c Open rtc log after dropping root privileges 2009-11-30 16:54:04 +01:00
rtc_linux.h Update COPYING and FSF address 2009-10-28 17:53:33 +01:00
sched.c Read local time immediately after select() 2009-11-30 13:27:34 +01:00
sched.h Read local time immediately after select() 2009-11-30 13:27:34 +01:00
sources.c Fix printing refclocks and IPv6 sources in statistics log 2009-11-30 17:18:28 +01:00
sources.h Update COPYING and FSF address 2009-10-28 17:53:33 +01:00
sourcestats.c Fix printing refclocks and IPv6 sources in statistics log 2009-11-30 17:18:28 +01:00
sourcestats.h Fix printing refclocks and IPv6 sources in statistics log 2009-11-30 17:18:28 +01:00
srcparams.h Update COPYING and FSF address 2009-10-28 17:53:33 +01:00
strerror.c Update COPYING and FSF address 2009-10-28 17:53:33 +01:00
sys.c Clean up system options code 2009-11-25 14:37:41 +01:00
sys.h Clean up system options code 2009-11-25 14:37:41 +01:00
sys_linux.c Clean up system options code 2009-11-25 14:37:41 +01:00
sys_linux.h Update COPYING and FSF address 2009-10-28 17:53:33 +01:00
sys_netbsd.c Update COPYING and FSF address 2009-10-28 17:53:33 +01:00
sys_netbsd.h Update COPYING and FSF address 2009-10-28 17:53:33 +01:00
sys_solaris.c Update COPYING and FSF address 2009-10-28 17:53:33 +01:00
sys_solaris.h Update COPYING and FSF address 2009-10-28 17:53:33 +01:00
sys_sunos.c Update COPYING and FSF address 2009-10-28 17:53:33 +01:00
sys_sunos.h Update COPYING and FSF address 2009-10-28 17:53:33 +01:00
sysincl.h Update COPYING and FSF address 2009-10-28 17:53:33 +01:00
util.c Fix printing refclocks and IPv6 sources in statistics log 2009-11-30 17:18:28 +01:00
util.h Fix printing refclocks and IPv6 sources in statistics log 2009-11-30 17:18:28 +01:00
version.txt Fix version.txt to remove compile warning 2006-04-15 00:27:07 +01:00
wrap_adjtimex.c Update COPYING and FSF address 2009-10-28 17:53:33 +01:00
wrap_adjtimex.h Update COPYING and FSF address 2009-10-28 17:53:33 +01:00

This is the README for chrony.

What is chrony?
===============
Chrony is a pair of programs for maintaining the accuracy of computer
clocks.

chronyd is a (background) daemon program that can be started at boot
time.  This does most of the work.

chronyc is a command-line interface program which can be used to
monitor chronyd's performance and to change various operating
parateters whilst it is running.

chronyd's main function is to obtain measurements of the true (UTC)
time from one of several sources, and correct the system clock
accordingly.  It also works out the rate at which the system clock
gains or loses time and uses this information to keep it accurate
between measurements from the reference.

The reference time can be derived from either Network Time Protocol
(NTP) servers (preferred), or wristwatch-and-keyboard (via chronyc).
The main source of information about the Network Time Protocol is
http://www.eecis.udel.edu/~ntp.

It is designed so that it can work on computers which only have
intermittent access to reference sources, for example computers which
use a dial-up account to access the Internet.  Of course, it will work
on computers with permanent connections too.

In addition, the Linux 2.0.x (for x >= 32), 2.2.x and 2.3.x versions
can monitor the system's real time clock performance, so the system
can maintain accurate time even across reboots.

Typical accuracies available between 2 machines are

On an ethernet LAN : 100-200 microseconds, often much better
On a V32bis dial-up modem connection : 10's of milliseconds (from one
session to the next)

chronyd can also operate as an RFC1305-compatible NTP server and peer.


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

Chrony can be successfully built and run on

1. Linux v1.2.13, v2.0.x, 2.1.x (partially), 2.2.x, 2.3.x, 2.4.x (i386).
Real time clock support is limited to 2.0.32 onwards and to 2.2, 2.3 and
2.4 series only.  PowerPC is also known to be supported.

2. Solaris 2.5/2.5.1/2.6/2.7/2.8 (various platforms) 

3. SunOS 4.1.4 (Sparc 2 and Sparc 20)

4. BSD/386 v1.1 has been reported to work using the SunOS 4.1 driver.

5. NetBSD.

Any other system will 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.  (This is described in the manual).

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

The file INSTALL gives instructions.  On supported systems the
compilation process should be automatic.

You will need an ANSI C compiler -- gcc is recommended.  Versions
2.7.2/2.7.2.2 are known to work.

The manual (in texinfo and text formats) describes how to set the
software up for the less straightforward cases.

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

A manual is supplied in Texinfo format (chrony.texi) and
ready-formatted plain text (chrony.txt) in the distribution.

There is also information available on the chrony web pages, accessible
through the URL 

    http://chrony.tuxfamily.org/

What can chrony not do?
=======================

Compared to the `reference' RFC1305 implementation xntpd, chronyd does
not support hardware reference clocks or broadcast modes.

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).  I also try
to announce new versions on Freshmeat (http://freshmeat.net/).

I don't reliably announce via news any more - I don't tend to keep up
with news as I haven't enough time.

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 amessage with the subject
"subscribe" to

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

as applicable.

Note that due to family commitments (a 3 year-old and a 1 year-old), I
no longer have the time to give to supporting chrony that I once had.
Therefore, the chrony-users list should be your main route for support,
rather than mailing me directly.  Even if it's me that responds to your
question on the list, at least *ALL* subscribers then benefit from
seeing the discussion, rather than me taking up lots of time on
supporting people on a one-to-one basis.  If you do mail me directly,
don't be surprised if I cc: the response to the mailing list.

But how can I contact the author if I need to?
==============================================

You can email me at <rc@rc0.org.uk>.  If that fails, you could try to
find me through one of the mailing lists.  It would be nice if:

- you include the word 'chrony' in the subject line (so my mail reader
can sort my mail by topic)

- you don't send complete log files, encoded binaries etc, without
editing such material down to just the relevant bits - a few tens of
lines at most.  (My dial-up connection handles large messages rather
slowly ...).

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

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

Andrew Bishop <amb@gedanken.demon.co.uk>
    Fixes for bugs in logging when in daemon mode
    Fixes for compiler warnings
    Robustness improvements for drift file
    Improve installation (directory checking etc)
    Entries in contrib directory
    Improvements to 'sources' and 'sourcestats' output from chronyc
    Improvements to documentation
    Investigation of required dosynctodr behaviour for various Solaris
      versions.

Stephan I. Boettcher <stephan@nevis1.columbia.edu>
    Entries in contrib directory

Erik Bryer <ebryer@spots.ab.ca>
    Entries in contrib directory

Juliusz Chroboczek <jch@pps.jussieu.fr>
    Fix install rule in Makefile if chronyd file is in use.

Paul Elliott <pelliott@io.com>
    DNSchrony (in contrib directory), a tool for handling NTP servers
    with variable IP addresses.

Mike Fleetwood <mike@rockover.demon.co.uk>
    Fixes for compiler warnings

Alexander Gretencord <arutha@gmx.de>
    Changes to installation directory system to make it easier for
    package builders.

Walter Haidinger <walter.haidinger@gmx.at>
    Providing me with login access to a Linux installation where v1.12
    wouldn't compile, so I could develop the fixes for v1.13.  Also, for
    providing the disc space so I can keep an independent backup of the
    sources.

Juergen Hannken-Illjes <hannken@eis.cs.tu-bs.de>
    Port to NetBSD

John Hasler <john@dhh.gt.org>
    Changes to support 64 bit machines (i.e. those where
      sizeof(unsigned long) > 4)
    Bug fix to initstepslew directive
    Fix to remove potential buffer overrun errors.

Liam Hatton <me@liamhatton.com>
    Advice on configuring for Linux on PPC

Jachym Holecek <jakym@volny.cz>
    Patch to make Linux real time clock work with devfs

Jim Knoble <jmknoble@pobox.com>
    Fixes for compiler warnings

Antti Jrvinen <costello@iki.fi>
    Advice on configuring for BSD/386

Victor Moroz <vim@prv.adlum.ru>
    Patch to support Linux with HZ!=100

Kalle Olavi Niemitalo  <tosi@stekt.oulu.fi>
    acquisitionport support

Frank Otto <sandwichmacher@web.de>
    Handling arbitrary HZ values

Andreas Piesk <apiesk@virbus.de>
    Patch to make chronyc use the readline library if available

Wolfgang Weisselberg <weissel@netcologne.de>
    Entries in contrib directory

Ralf Wildenhues <Ralf.Wildenhues@gmx.de>
    Many robustness and security improvements
    
Ulrich Windl <ulrich.windl@rz.uni-regensburg.de> for the
    Providing me with information about the Linux 2.2 kernel
    functionality compared to 2.0.

Doug Woodward <dougw@whistler.com>
    Advice on configuring for Solaris 2.8 on x86

Many other people have contributed bug reports and suggestions.  I'm
sorry I can't identify all of you individually.

Version control information
===========================

$Header: /cvs/src/chrony/README,v 1.30 2003/09/21 23:11:06 richard Exp $

vim:tw=72