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.