Miroslav Lichvar
61773a2c07
test: add cmac unit test
2019-09-24 16:39:49 +02:00
Miroslav Lichvar
4a219ecbf1
hash: drop support for RIPEMD hash functions
...
An analysis by Tim Ruffing [1] shows that a length extension attack
adding valid extension fields to NTPv4 packets is possible with some
specific key lengths and hash functions using little-endian length like
MD5 and RIPEMD160.
chronyd currently doesn't process or generate any extension fields, but
it could be a problem in future when a non-authentication extension
field is supported.
Drop support for all RIPEMD functions as they don't seem to be secure in
the context of the NTPv4 MAC. MD5 is kept only for compatibility.
[1] https://mailarchive.ietf.org/arch/msg/ntp/gvibuB6bTbDRBumfHNdJ84Kq4kA
2019-09-24 11:32:31 +02:00
Miroslav Lichvar
7d3e9180c6
test: disable server on client-only nodes by default
2019-09-12 14:51:12 +02:00
Miroslav Lichvar
03b8ca186a
test: add 138-syncloop test
2019-09-12 14:51:12 +02:00
Miroslav Lichvar
435cbef31a
test: allow nodes to poll themselves
2019-09-12 14:51:12 +02:00
Miroslav Lichvar
4adcf58368
test: remove subdirectories in tmp directory
2019-09-12 14:50:58 +02:00
Miroslav Lichvar
004986310d
ntp: skip loop test if no server socket is open
...
If there is no socket that could receive a request from a client or
peer, we know that nothing can be synchronized to us and no loop is
possible.
2019-09-12 13:01:18 +02:00
Miroslav Lichvar
64e21d6281
reference: make local reference timestamp consistent
...
In the local reference mode, instead of returning the adjusted current
time as the reference time, return the same timestamp updated only once
per about 62.5 seconds.
This will enable chronyd to detect polling of itself even when the local
reference mode is active.
2019-09-12 13:01:06 +02:00
Miroslav Lichvar
6d1796d6be
test: extend 110-chronyc test
2019-09-03 13:17:44 +02:00
Miroslav Lichvar
fcaba98101
test: add 137-pool test
2019-09-03 12:41:01 +02:00
Miroslav Lichvar
9bbda5c964
test: add 013-nameserv test
2019-09-02 16:32:58 +02:00
Miroslav Lichvar
2c81d38861
test: add option to enable name/address resolving
2019-09-02 16:27:05 +02:00
Miroslav Lichvar
78fec3f05a
test: add copyright header to util unit test
2019-08-27 17:11:49 +02:00
Miroslav Lichvar
392a1a5ff6
test: extend 105-ntpauth test
2019-08-27 17:11:49 +02:00
Miroslav Lichvar
219a414cb7
test: add debug message to ntp unit test
2019-08-27 17:11:49 +02:00
Miroslav Lichvar
5982d96b75
test: extend 130-quit test
2019-08-06 16:11:07 +02:00
Miroslav Lichvar
91da65a782
util: remove UTI_SockaddrToString()
...
It is no longer used after the conversions.
2019-07-18 17:29:44 +02:00
Miroslav Lichvar
2de24cfd82
ntp: convert to new socket API
...
Rework the NTP I/O code to use the new socket support. There are
differences in debug messages and handling of some errors.
2019-07-18 17:29:35 +02:00
Miroslav Lichvar
a073f383e6
test: fix building of unit tests
...
This fixes commit 1227873b88
.
2019-07-16 13:46:37 +02:00
Miroslav Lichvar
62d6aed6a6
test: update processing of packet log
...
Two new fields have been added to the packet log, which broke some
of the simulation tests.
2019-06-18 15:42:11 +02:00
Miroslav Lichvar
5c9e1e0b69
test: extend 133-hwtimestamp test
2019-05-10 11:01:27 +02:00
Miroslav Lichvar
86a99bb257
test: use env in shebang of system tests
...
This should allow the tests to run on systems where bash is not in /bin.
2019-04-26 10:54:02 +02:00
Miroslav Lichvar
3093a11cd0
test: add 104-systemdirs system test
2019-04-25 18:58:01 +02:00
Miroslav Lichvar
058b788d38
test: fix owner of driftfile and keys in system tests
2019-04-25 18:57:39 +02:00
Miroslav Lichvar
66a42fa493
test: allow separate lib/log/run directories in system tests
2019-04-25 18:55:56 +02:00
Miroslav Lichvar
a85f63cc15
test: check if non-root user can access test directory
2019-04-25 18:24:50 +02:00
Miroslav Lichvar
bbe1e69dcc
test: redirect error messages in system tests
2019-04-25 18:24:41 +02:00
Miroslav Lichvar
1b52bba7b9
test: allow TEST_DIR and CHRONYC_WRAPPER to be set for system tests
2019-04-25 17:29:34 +02:00
Miroslav Lichvar
6e52a9be7a
test: add system tests
...
Add a new set of tests for testing basic functionality, starting chronyd
with root privileges on the actual system instead of the simulator.
Tests numbered in the 100-199 range are considered destructive and
intended to be used only on machines dedicated for development or
testing. They are started by the run script only with the -d option.
They may adjust/step the system clock and other clocks, block the RTC,
enable HW timestamping, create SHM segments, etc.
Other tests should not interfere with the system and should work even
when another NTP server/client is running.
2019-04-18 16:11:45 +02:00
Miroslav Lichvar
d7c93ec950
test: fix distribution of settings in ntp_core unit test
2019-02-20 10:11:58 +01:00
Miroslav Lichvar
e8bc41e862
test: fix tests to skip when missing required feature
2018-09-27 11:42:38 +02:00
Miroslav Lichvar
91dbe3c6c2
test: allow unit tests to be skipped
2018-09-27 11:42:38 +02:00
Miroslav Lichvar
3e876d4218
test: add function for checking config.h in tests
2018-09-27 11:42:38 +02:00
Miroslav Lichvar
31b1f2e8a1
test: include util.h for MIN macro
2018-09-27 11:42:38 +02:00
Miroslav Lichvar
91f3f97ea7
test: fix Makefile to not create .deps in project root
2018-09-19 16:38:15 +02:00
Miroslav Lichvar
add932501f
test: add 136-broadcast test
2018-09-17 18:36:22 +02:00
Miroslav Lichvar
89390a738f
test: add 012-daemonts test
2018-09-17 18:36:22 +02:00
Miroslav Lichvar
ac4f6ab93b
test: improve Makefile
...
The -s option of make apparently doesn't work when called from make -C.
Add another filter to ignore the Entering/Leaving messages.
Also, fix a typo.
2018-09-13 16:29:49 +02:00
Miroslav Lichvar
dbcb1b9b0b
test: include all objects in prerequisites of unit tests
2018-09-13 11:23:16 +02:00
Miroslav Lichvar
6375307798
test: get list of objects from main Makefile
...
Instead of linking unit tests with *.o in the root directory, which may
include conflicting objects from a different configuration (e.g. hash),
add a print target to the main Makefile and use it in the unit test
Makefile to link only with objects that are relevant in the current
configuration.
2018-09-13 11:23:16 +02:00
Miroslav Lichvar
fb78e60d26
test: add 135-ratelimit test
2018-09-12 19:27:48 +02:00
Miroslav Lichvar
b822c7164f
test: add 134-log test
2018-09-12 19:04:11 +02:00
Miroslav Lichvar
aa295730a0
test: extend 110-chronyc test
2018-09-12 18:17:35 +02:00
Miroslav Lichvar
b2b6ef00dc
makefile: remove gcov files and core dumps
2018-09-12 17:15:30 +02:00
Miroslav Lichvar
5dc86c236b
update copyright years
2018-09-12 11:38:10 +02:00
Miroslav Lichvar
bcedacaa3d
test: fix samplefilt unit test to work with low-precision clock
2018-09-10 14:56:03 +02:00
Miroslav Lichvar
49d52b547f
test: make 129-reload more reliable
2018-08-31 12:48:36 +02:00
Miroslav Lichvar
cf7b5363cd
test: extend 110-chronyc test
2018-08-31 09:55:43 +02:00
Miroslav Lichvar
7f3183cc72
test: extend 106-refclock test
2018-08-31 09:55:43 +02:00
Miroslav Lichvar
018977044a
test: add 133-hwtimestamp test
2018-08-30 08:08:19 +02:00
Miroslav Lichvar
cc49d8e6e6
test: add 132-logchange test
2018-08-28 18:27:43 +02:00
Miroslav Lichvar
933bd017b4
test: add 131-maxchange test
2018-08-28 18:27:43 +02:00
Miroslav Lichvar
d558b33d85
test: extend 108-peer test
2018-08-28 18:27:43 +02:00
Miroslav Lichvar
9268bf2cff
test: don't override user settings with default values
...
This fixes commit 671daf06b8
.
2018-08-28 18:27:43 +02:00
Miroslav Lichvar
dbf2c22467
test: extend ntp_core unit test
2018-08-28 18:27:03 +02:00
Miroslav Lichvar
af4fe92095
test: update hash unit test
2018-08-28 18:18:07 +02:00
Miroslav Lichvar
e034a07be8
test: enable unit tests to suspend logging
2018-08-28 18:18:07 +02:00
Miroslav Lichvar
6e10e6740c
test: add 130-quit test
2018-08-24 18:09:29 +02:00
Miroslav Lichvar
bfaa10f2b0
test: add 129-reload test
2018-08-24 18:09:29 +02:00
Miroslav Lichvar
9f167a7997
test: add 128-nocontrol test
2018-08-24 18:09:29 +02:00
Miroslav Lichvar
6908163464
test: separate client/server chronyd options
2018-08-24 18:09:29 +02:00
Miroslav Lichvar
671daf06b8
test: avoid using eval in shell scripts
2018-08-24 18:09:29 +02:00
Miroslav Lichvar
b189a5386b
test: extend util unit test
2018-08-24 18:09:29 +02:00
Miroslav Lichvar
7889d108c2
test: add samplefilt unit test
2018-08-24 18:09:29 +02:00
Miroslav Lichvar
3cfa8ce9d3
test: add sanitizers test
2018-08-24 18:09:29 +02:00
Miroslav Lichvar
570573fe28
test: detect configure errors in compilation test
2018-08-24 18:09:29 +02:00
Miroslav Lichvar
62b1a11736
test: add -Werror to CFLAGS in compilation test
2018-08-24 18:09:29 +02:00
Miroslav Lichvar
cffc856b50
test: update hwclock unit test
2018-08-21 16:54:54 +02:00
Miroslav Lichvar
8d5b86efe7
test: make 121-orphan more reliable
2018-08-21 15:52:35 +02:00
Miroslav Lichvar
c5bdc52a59
test: don't require exit message to be on last line
...
This is useful with enabled debug output.
2018-08-17 17:39:50 +02:00
Miroslav Lichvar
05492d1d23
test: improve 101-poll test
2018-08-10 16:46:38 +02:00
Miroslav Lichvar
c0717a27f6
hwclock: add parameters for minimum/maximum number of samples
...
Allocate the arrays which hold the samples dynamically and limit the
number of dropped samples to not fall below the minimum.
2018-08-09 14:52:08 +02:00
Miroslav Lichvar
159bd73f76
test: add 127-filter test
2018-08-09 14:52:08 +02:00
Miroslav Lichvar
6bef8aa0e9
use common structure for NTP samples
...
Define a structure for NTP samples and use it to pass samples from
the ntp_core and refclock code to sources and sourcestats.
2018-08-03 17:21:02 +02:00
Miroslav Lichvar
9bc774d6af
fix printf()/scanf() format signedness
...
Fix mismatches between the format and sign of variables passed to
printf() or scanf(), which were found in a Frama-C analysis and gcc
using the -Wformat-signedness option.
2018-06-20 16:57:04 +02:00
Miroslav Lichvar
5aae563277
update copyright years
2018-03-28 16:57:48 +02:00
Miroslav Lichvar
a94f5fe007
test: extend 126-burst
2018-03-28 16:57:48 +02:00
Miroslav Lichvar
63f0234748
test: fix hash unit test for NSS
...
Some hash functions in the freebl3 library ignore the length of the
output buffer and always return the length of the digest.
2018-03-28 16:57:48 +02:00
Miroslav Lichvar
78a6698ae1
test: update compilation test to disable nettle
2018-03-13 10:46:57 +01:00
Miroslav Lichvar
35a68d5b59
test: add hash unit test
2018-03-13 10:44:24 +01:00
Miroslav Lichvar
af145e871e
test: use random version in ntp_core unit test
2018-03-07 13:17:55 +01:00
Miroslav Lichvar
8e4c776900
test: add 126-burst test
2018-02-28 10:09:47 +01:00
Miroslav Lichvar
a4bd7f1800
test: make 119-smoothtime more reliable
2018-02-26 17:24:08 +01:00
Miroslav Lichvar
e41042e258
test: update util unit test
2018-02-26 13:42:04 +01:00
Miroslav Lichvar
5581466c63
test: improve and extend ntp_core unit test
2018-02-26 13:42:04 +01:00
Miroslav Lichvar
f0f18a02a7
ntp: separate timestamps for restarting symmetric protocol
...
Save the local receive and remote transmit timestamp needed for
(re)starting the symmetric protocol when no valid reply was received
separately from the timestamps that are used for synchronization of the
local clock.
This extends the interval in which the local NTP state is (partially)
protected against replay attacks in order to complete a measurement
in the interleaved symmetric mode from [last valid RX, next TX] to
[last TX, next TX], i.e. it should be the same as in the basic mode.
2018-02-26 13:42:04 +01:00
Miroslav Lichvar
bfc2fa645c
test: add 125-packetloss test
2018-02-16 11:09:54 +01:00
Miroslav Lichvar
11111804fd
test: extend 106-refclock
2018-02-16 11:09:54 +01:00
Miroslav Lichvar
87ec67247e
test: extend 110-chronyc
2018-02-16 11:09:54 +01:00
Miroslav Lichvar
5384a93645
test: extend util unit test
2017-12-05 10:14:19 +01:00
Miroslav Lichvar
77a1f27a1d
test: add 124-tai test
2017-10-11 17:49:30 +02:00
Miroslav Lichvar
b45d864f73
test: check for maxchange message in check_chronyd_exit()
2017-10-11 17:49:21 +02:00
Miroslav Lichvar
750afc30f2
test: fix keys unit test
2017-09-01 11:28:55 +02:00
Miroslav Lichvar
b711873f45
test: add 123-mindelay test
2017-08-28 14:27:14 +02:00
Miroslav Lichvar
c68ca40ce4
ntp: improve maxdelayratio test
...
Similarly to the maxdelaydevratio test, include in the maximum delay
dispersion which accumulated in the interval since the last sample.
Also, enable the test for symmetric associations.
2017-08-28 14:27:14 +02:00
Miroslav Lichvar
6dad2c24bf
hwclock: drop all samples on reset
...
On some HW it seems it's possible to get an occasional bad reading of
the PHC (with normal delay), or in a worse case the clock can step due
to a HW/driver bug, which triggers reset of the HW clock instance. To
avoid having a bad estimate of the frequency when the next (good) sample
is accumulated, drop also the last sample which triggered the reset.
2017-08-23 15:01:30 +02:00
Miroslav Lichvar
b06d74ab73
sourcestats: add fixed asymmetry
...
Rework the code to allow the jitter asymmetry to be specified.
2017-08-23 14:33:23 +02:00
Miroslav Lichvar
d0964ffa83
sourcestats: add fixed minimum delay
...
If the minimum delay is known (in a static network configuration), it
can replace the measured minimum from the register. This should improve
the stability of corrections for asymmetric jitter, sample weighting and
maxdelay* tests.
2017-08-23 14:14:06 +02:00
Miroslav Lichvar
3a1dbb1354
test: fix ntp_core unit test
...
This fixes commit b896bb5a78
.
2017-08-09 10:41:30 +02:00
Miroslav Lichvar
c2773dbc2f
test: improve hwclock unit test
2017-08-09 09:57:14 +02:00