Miroslav Lichvar
009f1a5ae8
doc: update NEWS
2020-08-25 11:49:44 +02:00
Miroslav Lichvar
4f1418abf9
doc: update README
2020-08-25 11:49:44 +02:00
Miroslav Lichvar
79b348f075
util: don't open symlink when appending to file
...
When opening a file for appending (i.e. a log file), use the O_NOFOLLOW
flag to get an error if the path is a symlink. Opening log files through
symlinks is no longer supported.
This is a protection against symlink attacks if chronyd is misconfigured
to write a log in a world-writable directory (e.g. /tmp). That is not
meant to become a recommended practice. Log messages will be lost, or
chronyd won't start, if a symlink exists at the location of the log
file.
2020-08-25 11:49:44 +02:00
Miroslav Lichvar
9d88c028e2
test: fix cookie length in nts_ke_client unit test
2020-08-25 11:49:44 +02:00
Miroslav Lichvar
51172b3510
nts: avoid key corruption on failed loading
...
Don't save a loaded key to the server key slot until it is fully
decoded.
2020-08-20 16:19:13 +02:00
Miroslav Lichvar
892636036a
nts: explicitly disable session tickets
...
Session tickets should never be enabled with the currect code on both
clients and servers. Set the GNUTLS_NO_TICKETS flag when opening a TLS
session in case this understanding is wrong, or it changes in future, to
reduce the TLS attack surface.
2020-08-20 16:19:13 +02:00
Miroslav Lichvar
4cf6b29397
test: fix 102-hwtimestamp test for new ethtool
...
New ethtool using netlink messages has a different output.
2020-08-20 16:19:13 +02:00
Miroslav Lichvar
571359b366
test: extend 110-chronyc test
2020-08-20 13:27:53 +02:00
Miroslav Lichvar
0f009e7718
test: extend 007-cmdmon system test
2020-08-20 13:27:53 +02:00
Miroslav Lichvar
24effd7340
test: add 105-nts system test
2020-08-20 13:27:53 +02:00
Miroslav Lichvar
5289fc5f80
test: add 009-binddevice system test
2020-08-20 13:27:53 +02:00
Miroslav Lichvar
ca49304bd6
test: add 008-confload system test
2020-08-20 13:27:53 +02:00
Miroslav Lichvar
b7fbac617d
conf: rename confdirs and sourcedirs directives
...
Rename the directives to confdir and sourcedir to better match an
expected use case with only one specified directory.
2020-08-20 13:27:46 +02:00
Miroslav Lichvar
839e9aa4af
reference: fix assignment of frequency_sd
...
Fixes: 8afd62d954
("reference: update synchronization status more frequently")
2020-08-19 09:39:26 +02:00
Miroslav Lichvar
c5ac15ad33
client: improve parsing of keygen arguments
...
Detect invalid syntax for the keygen command.
2020-08-19 09:39:26 +02:00
Miroslav Lichvar
598cd10c34
client: ignore case in add command
...
For consistency with chronyd configuration, make the source type in the
add command case insensitive.
2020-08-19 09:39:18 +02:00
Miroslav Lichvar
1885729024
client: drop unnecessary parsing of IPv4 address
2020-08-18 14:22:55 +02:00
Miroslav Lichvar
2127f63961
cmdmon: change name fields to unsigned type
2020-08-17 16:28:36 +02:00
Miroslav Lichvar
97a8b1e43b
test: fix random failures in nts_ntp_client unit test
...
Fixes: 18d9243eb9
("test: improve NTS unit tests")
2020-08-17 16:28:36 +02:00
Miroslav Lichvar
aeee1feda6
test: improve siv unit test
2020-08-13 16:37:38 +02:00
Miroslav Lichvar
18d9243eb9
test: improve NTS unit tests
2020-08-13 16:37:38 +02:00
Miroslav Lichvar
1aa4827b3b
test: extend 139-nts test
2020-08-13 16:37:38 +02:00
Miroslav Lichvar
ed1077a788
nts: check all encrypted fields before saving cookies
...
Don't save any cookies if an encrypted extension field fails parsing.
2020-08-13 16:37:20 +02:00
Miroslav Lichvar
356c475a6a
cmdmon: fix data field name in handle_ntp_source_name()
...
Fixes: 93f6358916
("cmdmon: add request to get source name")
2020-08-13 10:40:18 +02:00
Miroslav Lichvar
9ac582fa35
socket: improve code
...
Add more assertions and other checks, and improve coding style a bit.
2020-08-13 10:40:18 +02:00
Miroslav Lichvar
8c75f44603
ntp: fix comments
...
Fix typos and remove an obsolete comment.
2020-08-13 10:40:18 +02:00
Miroslav Lichvar
0a63ad95ce
ntp: reuse pool IDs for new pools
...
When adding a new pool, reuse unused pool IDs to avoid increasing the
pools array.
2020-08-13 10:39:37 +02:00
Miroslav Lichvar
d274fe44da
ntp: rename pool fields to pool_id
...
Rename the pool fields holding the ID of the pool to avoid confusion
with the pool record and pool flag.
2020-08-10 12:27:33 +02:00
Miroslav Lichvar
6d1cb58d8f
examples: add leapsecmode to chrony.conf examples
2020-08-06 11:34:32 +02:00
Miroslav Lichvar
784122d44f
client: add missing option to help message
2020-08-04 13:04:04 +02:00
Miroslav Lichvar
32fb8d41ca
test: fix compiler warning in ntp unit test
2020-08-04 12:24:51 +02:00
Miroslav Lichvar
4993c35e11
util: fix compiler warning
...
Replace the snprintf() call with memcpy() in UTI_PathToDir() to make it
clear a truncated string is expected.
2020-08-04 12:24:51 +02:00
Miroslav Lichvar
6a5665ca58
conf: add dscp directive
...
The directive sets the DSCP value in transmitted NTP packets, which can
be useful in local networks where switches/routers are configured to
prioritise packets with specific DSCP values.
2020-08-04 12:24:49 +02:00
Miroslav Lichvar
e5cf006378
sources: reset leap voting flag earlier in selection
...
Remove the leap vote from sources that get the noselect option, or
have too large distance or jitter.
2020-08-04 12:19:52 +02:00
Miroslav Lichvar
0e51552d2d
ntp: improve auth code
...
Before generating a MAC, make sure there is enough space in the packet.
This is always true with the current code, but it may change when a
non-NTS extension field is supported.
Update the packet auth info after generating a MAC in case it's needed
before the transmission.
Add more assertions and make other changes for better readability.
2020-08-04 12:19:41 +02:00
Miroslav Lichvar
cc007ad93b
test: improve nts_ntp_client unit test
2020-07-28 12:48:23 +02:00
Miroslav Lichvar
3096926547
nts: disable TLS 1.2 on server
...
It seems gnutls (at least in version 3.6.14) allows clients to connect
using TLS1.2 when it has a DTLS version enabled in the priority cache.
Disable all DTLS versions in order to disable TLS1.2.
2020-07-28 12:48:23 +02:00
Miroslav Lichvar
d48f012809
nts: improve NTS-NTP server/client code
...
Add more comments, assertions, debug messages, and other minor
changes to make the code more robust.
2020-07-28 12:48:23 +02:00
Miroslav Lichvar
def137bc80
nts: scale server listening backlog with number of helpers
2020-07-28 12:48:23 +02:00
Miroslav Lichvar
3e0272e55f
nts: fix destroying of NTS-KE client
...
Destroy the NTS-KE session of the client immediately even when the
resolver of the NTP address is running. This removes the session
local change handler and avoids an assertion failure in the local
finalization.
2020-07-28 12:48:23 +02:00
Miroslav Lichvar
be503bbcf6
nts: move loading of syscall filter in NTS-KE server
...
Load the filter after NKS_Initialise() to avoid hitting
a fcntl syscall.
Fixes: 66e097e3e6
("nts: improve NTS-KE server/client code")
2020-07-28 12:48:20 +02:00
Miroslav Lichvar
72bf3d26eb
nts: fix error response to NTS-KE request
...
When the request has an unrecognized critical record before the
NEXT_PROTOCOL and AEAD_ALGORITHM records, respond with error 0
(unrecognized critical record) instead of 1 (bad request).
When the request has multiple NEXT_PROTOCOL or AEAD_ALGORITHM records,
respond with error 1 (bad request).
2020-07-23 15:53:24 +02:00
Miroslav Lichvar
cc20ead3dc
nts: reset NAK indicator with new request
...
Don't restart NTS-KE if a spoofed NAK response was received and no valid
response is received for a subsequent request.
2020-07-20 16:52:46 +02:00
Miroslav Lichvar
fd8fbcd090
nts: don't allow malformed encrypted extension fields
...
Require data decrypted from the NTS authenticator field to contain
correctly formatted extension fields (known or unknown).
2020-07-20 16:52:42 +02:00
Miroslav Lichvar
77bd0f83fe
main: remove unneeded code in signal handler
...
The handler is set up when the main code is already initialized.
2020-07-16 16:02:16 +02:00
Miroslav Lichvar
32a82a38fd
siv: add more assertions
...
Make sure the returned tag and key lengths are sane.
2020-07-16 16:02:16 +02:00
Miroslav Lichvar
66e097e3e6
nts: improve NTS-KE server/client code
...
Add more assertions and comments, refactor initialization of the helper,
and make other changes to make the code more robust.
2020-07-16 16:02:08 +02:00
Miroslav Lichvar
51d77d6cfc
logging: extend functionality
...
Add a function to get the current minimum severity and a function to set
a global prefix for debug messages in order to identify messages from
helpers.
2020-07-16 13:24:59 +02:00
Miroslav Lichvar
2bb0769516
conf: improve error message
...
Replace "command" with "directive" for consistency with the
documentation.
2020-07-16 12:07:43 +02:00
Miroslav Lichvar
58da0c0ad2
conf: adopt default bind*address values
...
Move the default values of the bind*address settings from the
ntp/nts/cmdmon code to conf.
2020-07-16 12:07:43 +02:00