Miroslav Lichvar
ad9c360845
doc: update for separate client sockets
2014-04-30 18:48:43 +02:00
Miroslav Lichvar
a65686e83f
doc: update chronyd -r and chronyc -h descriptions
2014-04-30 18:48:43 +02:00
Miroslav Lichvar
fe35de6931
main: switch errors in initialization to fatal errors
2014-04-30 18:47:53 +02:00
Miroslav Lichvar
3f1aea2f53
test: require latest clknetsim
...
This is needed for async name resolving and dropping root privileges.
2014-04-29 15:23:11 +02:00
Miroslav Lichvar
0c542dcd3d
client: shorten default timeout with localhost and async resolving
...
When chronyd is compiled with asynchronous name resolving, it should
always respond quickly. Shorten the default chronyc timeout for
localhost.
2014-04-29 15:23:11 +02:00
Miroslav Lichvar
5483567190
nameserv: add asynchronous resolving with POSIX threads
...
Run getaddrinfo()/gethostbyname() in separate thread to avoid blocking.
Only one resolving thread is running at one time, so this should work
also on systems where the functions are not thread-safe.
2014-04-29 15:19:06 +02:00
Miroslav Lichvar
d243f1f8fe
configure: check if getaddrinfo() is available
...
This allows disabling IPv6 support and keeping getaddrinfo().
2014-04-29 12:43:03 +02:00
Miroslav Lichvar
9b137b2e37
ntp: start resolving only from NSR_ResolveSources
...
Also, use macros to define the minimum and maximum resolving interval.
2014-04-29 12:43:03 +02:00
Miroslav Lichvar
6ee357d230
ntp: use async name resolving for NTP sources
...
Use the new asynchronous call to resolve addresses of NTP servers
configured by the server/peer directives. Introduce a callback to be
notified when the first resolving attempt ends to correctly finish
chronyd initialization (dumpfile reload and reference mode end).
2014-04-29 12:43:03 +02:00
Miroslav Lichvar
779e40ed66
ntp: delay initial transmission until first resolving ends
...
This will be needed to prevent loading of dump files after sources have
already accumulated samples and possibly reference was already updated
when async resolving of sources is implemented.
2014-04-29 12:42:45 +02:00
Miroslav Lichvar
be3439fef1
sourcestats: assert dump file is loaded with no accumulated samples
2014-04-29 12:07:38 +02:00
Miroslav Lichvar
ed96b4d49d
nameserv: prepare for asynchronous resolving
...
Introduce a new function with callback to resolve names to IP addresses
asynchronously. For now, use a blocking wrapper around DNS_Name2IPAddress.
2014-04-29 12:07:38 +02:00
Miroslav Lichvar
5ca8aa7840
configure: sed Makefile with MYCPPFLAGS
2014-04-29 12:07:38 +02:00
Miroslav Lichvar
1eede1bc08
configure: replace unnecessary variables in Makefile
2014-04-29 12:07:38 +02:00
Miroslav Lichvar
cc86461d9b
refclock: remove duplicated declaration
2014-04-29 12:07:38 +02:00
Miroslav Lichvar
29c5ca9091
cmdmon: fix doffset command with negative values on 64-bit systems
2014-04-28 14:12:05 +02:00
Miroslav Lichvar
86fbcdc62b
reference: negate offset printed in maxchange log message
...
This makes it consistent with other log messages.
2014-04-11 16:09:43 +02:00
Miroslav Lichvar
e82220974e
makefile: add dependency to check target
2014-04-10 18:22:34 +02:00
Miroslav Lichvar
46951b8598
main: setup access restrictions before initstepslew
2014-04-10 18:22:09 +02:00
Miroslav Lichvar
08faca03b7
ntp: close client socket when offline
2014-04-10 18:02:29 +02:00
Miroslav Lichvar
3217421797
ntp: close only client socket when destroying NCR instance
2014-04-10 17:50:24 +02:00
Miroslav Lichvar
7fa22d4c25
sources: ignore inactive sources in special mode ending
2014-04-10 17:50:24 +02:00
Miroslav Lichvar
8671002bd7
sources: add flag that source is active
...
When source is set as active, it's receiving reachability updates (e.g.
offline NTP sources are not active).
Also add function to count active sources.
2014-04-10 17:48:58 +02:00
Miroslav Lichvar
bc6b40568d
ntp: reduce burst timeout to 2.0
...
With the new special mode ending it can be now equal to the burst
polling interval.
2014-04-10 17:16:30 +02:00
Miroslav Lichvar
3888b9dcec
sources: rework special mode ending with unreachable sources
...
Instead of giving up when a source has 7 reach updates, continue as long
as at least one source has fewer than 7 updates and can still have 3
samples to be selectable in that number of updates.
When no sources are responding, it will give up sooner.
2014-04-10 17:16:13 +02:00
Miroslav Lichvar
ae104b5c28
regress: make minimum number of samples for regression public
2014-04-10 17:15:13 +02:00
Miroslav Lichvar
5cb7e6c9c3
sched: fix main loop to allow timeout handlers modify fd set or quit
...
With special reference update modes, the timeout handlers may add or
remove file descriptors from the read fd set, so it needs to be copied
for select() call after they are dispatched. Also, they can now request
quit, so the exit flag needs to be checked before select() to avoid
hanging.
2014-04-10 11:47:43 +02:00
Miroslav Lichvar
ff31702f74
configure: add option to set default user
...
The default user is root by default, which disables root dropping by
default. The user directive or the -u option can still be used to set
the user.
2014-04-09 16:30:06 +02:00
Miroslav Lichvar
3edd3fe5a4
main: support configuration commands on command line
...
If there are extra arguments on the chronyd command line, they will be
parsed as lines in a configuration file and the normal configuration file
will be ignored.
2014-04-09 15:16:35 +02:00
Miroslav Lichvar
4f3fb95981
conf: allow NULL as filename
2014-04-09 12:56:11 +02:00
Miroslav Lichvar
7c7ab95e2e
conf: split line parsing from CNF_ReadFile
2014-04-09 12:36:13 +02:00
Miroslav Lichvar
70feea48f8
main: add -q/-Q options to set clock/print offset once and exit
2014-04-09 12:15:07 +02:00
Miroslav Lichvar
c546c48d0d
reference: add UpdateOnce and PrintOnce modes
2014-04-09 12:14:47 +02:00
Miroslav Lichvar
0baf00e1c0
logging: print warning message when not compiled with debug support
2014-04-09 12:09:25 +02:00
Miroslav Lichvar
788e7fcd89
logging: set debug level instead of on/off
...
Prefix messages written to terminal with filename, line and function
name only with debug level 2 and higher.
2014-04-09 12:09:23 +02:00
Miroslav Lichvar
7c45b1d2a3
logging: update format of messages written to terminal
...
Move the time stamp to start of the line and print full date in ISO 8601
format.
2014-04-09 12:08:59 +02:00
Miroslav Lichvar
93b66ac141
reference: exit with non-zero code when maxchange limit is reached
...
Use ending of normal mode to signal a failure.
2014-04-09 09:59:58 +02:00
Miroslav Lichvar
610284dcc3
sources: log selection messages only in normal reference update mode
...
We don't want to see source selection messages when initstepslew is
running.
2014-04-09 09:59:58 +02:00
Miroslav Lichvar
60d8586b6d
ntp: reduce burst timeout to 2.5 seconds
...
This reduces the maximum time initstepslew can take.
2014-04-09 09:59:58 +02:00
Miroslav Lichvar
70928dba52
ntp: set maximum number of iburst samples to size of reach register
...
Explicitly set the number of iburst samples to the size of the register
to make sure there are at least 7 reachability updates and the
initstepslew mode can be ended.
2014-04-09 09:59:57 +02:00
Miroslav Lichvar
7fda9c6723
ntp: drop initstepslew NTP implementation
...
The initstepslew code has its own minimal NTP implementation. Drop the
code, add a new initstepslew mode to the reference updating code and
use regular NTP sources with iburst flag for initstepslew addresses
instead. When an update is made or a source is found unreachable, log a
message, remove the initstepslew sources and switch to normal mode.
This reduces code duplication and makes initstepslew use features
implemented only in the main code like source combining or SO_TIMESTAMP
support.
2014-04-09 09:54:40 +02:00
Miroslav Lichvar
4932f9d077
sources: replace beginning flag with size of reachability register
...
This will allow to detect sources that are not reachable on start.
2014-04-08 17:00:47 +02:00
Miroslav Lichvar
0094128ca6
sources: split source selection from sample accumulation
...
This will allow postponing source selection and reference update, which
could be useful in burst modes.
2014-04-08 17:00:47 +02:00
Miroslav Lichvar
de5178575f
git: update .gitignore
2014-04-08 17:00:47 +02:00
Miroslav Lichvar
9eac078c18
test: add missing run script
2014-04-08 17:00:47 +02:00
Miroslav Lichvar
05c5445fe2
conf: add bindacqaddress directive for client sockets
2014-04-03 15:47:32 +02:00
Miroslav Lichvar
f9d8b6f99e
ntp: set only necessary socket options on client sockets
2014-04-03 13:36:25 +02:00
Miroslav Lichvar
597a37d66e
test: add 112-port
2014-03-26 12:24:36 +01:00
Miroslav Lichvar
73e4986866
ntp: fix comment on NCR_ProcessUnknown
2014-03-26 11:24:25 +01:00
Miroslav Lichvar
91e74c704b
ntp: accept packets from unknown sources only from server sockets
2014-03-26 11:18:18 +01:00