OpenNTPD daemon with OpenSSL implementation & flexible configurability
You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.

64 lines
3.7 KiB

4 years ago
4 years ago
4 years ago
4 years ago
4 years ago
  1. # OpenNTPD with OpenSSL support
  2. OpenNTPD daemon with OpenSSL implementation & flexible configurability
  3. See also [my blog post on fjordtek.com](https://fjordtek.com/categories/news/2020/openntpd-now-with-openssl-support/).
  4. ## Added features
  5. - Implemented OpenSSL support. Either LibreSSL or OpenSSL can be used.
  6. - Many previously hardcoded values are now configurable via conf file.
  7. - Implement UDP & TCP port selection for multiple options.
  8. - Implement custom user agent string support for constraints.
  9. - Improved log entries interpretation.
  10. - Updated manual.
  11. ## Files
  12. | File | Description |
  13. |-----------------------------------------------------------------------------------------------|-------------------------------------------------------------------------|
  14. | [1-patch_better-logs.patch](patches/1-patch_better-logs.patch) | Provide human-readable error messages for easier process interpretation |
  15. | [2-patch_ntpctl-sensors-tolowercase.patch](patches/2-patch_ntpctl-sensors-tolowercase.patch) | Set 'Sensors' to lowercase in `ntpctl` settings |
  16. | [3-patch_unhardcode-ports.patch](patches/3-patch_unhardcode-ports.patch) | Unhardcode NTP server, client and constraint UDP & TCP port numbers |
  17. | [4-patch_peercount-init.patch](patches/4-patch_peercount-init.patch) | Fix C compiler warning about uninitialized variable peercount |
  18. | [5-patch_debugmode-fix.patch](patches/5-patch_debugmode-fix.patch) | Fix debug mode not showing output in command line |
  19. | [6-patch_unhardcode-conf.patch](patches/6-patch_unhardcode-conf.patch) | Unhardcode majority of configuration settings, update manual |
  20. | [7-patch_implement-openssl.patch](patches/7-patch_implement-openssl.patch) | Implement OpenSSL support, update manual, update ChangeLog |
  21. | [8-patch_update-conf.patch](patches/8-patch_update-conf.patch) | Update default configuration file |
  22. | [9-patch_add-constraint-useragent.patch](patches/9-patch_add-constraint-useragent.patch) | Add user agent string support for HTTPS constraints, update ChangeLog |
  23. ## Usage
  24. ### Applying patches
  25. This method has been tested with the following commits:
  26. | Repository | Commit hash |
  27. |-------------------|----------------------------------------------------------------------------------------------------------------------------------------------------|
  28. | openntpd-portable | [cc3292981b83f7d691e96dc5e5a5d30af6f98454](https://github.com/openntpd-portable/openntpd-portable/commit/cc3292981b83f7d691e96dc5e5a5d30af6f98454) |
  29. | openntpd-openbsd | [29f2ea917cc83d89d70f86e97013c35565c93ffd](https://github.com/openntpd-portable/openntpd-openbsd/commit/29f2ea917cc83d89d70f86e97013c35565c93ffd) |
  30. Date: `2nd August 2020`
  31. ```
  32. git clone https://github.com/openntpd-portable/openntpd-portable openntpd
  33. cd openntpd
  34. ./update.sh
  35. git clone https://github.com/Fincer/openntpd-openssl openssl
  36. for p in openssl/patches/*patch; do
  37. patch -Np1 -i ${p}
  38. done
  39. ```
  40. And then, use your preferred method to compile OpenNTPD. See `build()` and `package()` sections of provided [openntpd-git PKGBUILD](arch/openntpd-git/PKGBUILD) file for further instructions.
  41. ## License
  42. See [OpenNTPD license file](https://github.com/openntpd-portable/openntpd-portable/blob/master/COPYING) and [LICENSE](LICENSE).