OpenNTPD daemon with OpenSSL implementation & flexible configurability
See also my blog post on fjordtek.com.
-
Implemented OpenSSL support. Either LibreSSL or OpenSSL can be used.
-
Many previously hardcoded values are now configurable via conf file.
-
Implement UDP & TCP port selection for multiple options.
-
Implement custom user agent string support for constraints.
-
Improved log entries interpretation.
-
Updated manual.
File | Description |
---|---|
1-patch_better-logs.patch | Provide human-readable error messages for easier process interpretation |
2-patch_ntpctl-sensors-tolowercase.patch | Set 'Sensors' to lowercase in ntpctl settings |
3-patch_unhardcode-ports.patch | Unhardcode NTP server, client and constraint UDP & TCP port numbers |
4-patch_peercount-init.patch | Fix C compiler warning about uninitialized variable peercount |
5-patch_debugmode-fix.patch | Fix debug mode not showing output in command line |
6-patch_unhardcode-conf.patch | Unhardcode majority of configuration settings, update manual |
7-patch_implement-openssl.patch | Implement OpenSSL support, update manual, update ChangeLog |
8-patch_update-conf.patch | Update default configuration file |
9-patch_add-constraint-useragent.patch | Add user agent string support for HTTPS constraints, update ChangeLog |
10-patch_peer-constraint-logs.patch | Improve constraint & NTP peer log entries; update conf & man |
11-patch_fix-constraint-time-overflow-32bit.patch | Cast constraint median time value to unsigned long. Fixes overflow on 32-bit systems. |
12-patch_fix-adjtime.patch | Assume system clock is synced when time offset is in specific range limits (quick hotfix). |
13-patch_re-enable-inittime.patch | Re-enable initial time synchronization setting (-s and -S parameters). |
This method has been tested with the following commits:
Repository | Commit hash |
---|---|
openntpd-portable | cc3292981b83f7d691e96dc5e5a5d30af6f98454 |
openntpd-openbsd | 29f2ea917cc83d89d70f86e97013c35565c93ffd |
Date: 2nd August 2020
git clone https://github.com/openntpd-portable/openntpd-portable openntpd
cd openntpd
./update.sh
git clone https://github.com/Fincer/openntpd-openssl openssl
for p in openssl/patches/*patch; do
patch -Np1 -i ${p}
done
And then, use your preferred method to compile OpenNTPD. See build()
and package()
sections of provided openntpd-git PKGBUILD file for further instructions.
See OpenNTPD license file and LICENSE.