You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
The NTP update test in subset/network/ntp_tests.py checks the client's time and the server's time in the NTP messages and verifies if they are within 0.128 seconds of each other. If so the test passes and otherwise the test fails. This gives me false-negative test results. Chrony implements NTP Client Data Minimization (https://datatracker.ietf.org/doc/html/draft-ietf-ntp-data-minimization-04). Chrony correctly adjusts the device's system time, but the Transmit Timestamp field in the NTP client messages is randomly offset by decades. However, the precision field is set to 0x20 in the NTP client messages. The Transmit Timestamps are within the precision indicated but are not very useful in indicating how close the client's time was set to the server's time.
I'm proposing re-working ntp_tests.py to account for the additional packet information.
Read the precision field in the NTP client messages.
Verify that the client's Transmit Timestamp is within the noted precision of the server's time.
If the time difference is outside the specified precision then the test fails.
If the time difference is within the specified precision and the precision is below a threshold (1 second? A configurable parameter?) then the test passes.
If the time difference is within the specified precision and the precision is above a threshold, then the test is skipped. An additional note is added to the test stating that NTP messages were detected but could not validate the time was set. In these cases, the user may need to manually verify the time was set.
The text was updated successfully, but these errors were encountered:
The NTP update test in subset/network/ntp_tests.py checks the client's time and the server's time in the NTP messages and verifies if they are within 0.128 seconds of each other. If so the test passes and otherwise the test fails. This gives me false-negative test results. Chrony implements NTP Client Data Minimization (https://datatracker.ietf.org/doc/html/draft-ietf-ntp-data-minimization-04). Chrony correctly adjusts the device's system time, but the Transmit Timestamp field in the NTP client messages is randomly offset by decades. However, the precision field is set to 0x20 in the NTP client messages. The Transmit Timestamps are within the precision indicated but are not very useful in indicating how close the client's time was set to the server's time.
I'm proposing re-working ntp_tests.py to account for the additional packet information.
The text was updated successfully, but these errors were encountered: