Portable build framework for OpenNTPD
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.

206 lines
6.4 KiB

6 years ago
6 years ago
6 years ago
6 years ago
6 years ago
6 years ago
6 years ago
  1. The OpenNTPD Portable project copies portions of the OpenBSD tree, along
  2. with relevant portions of the C library, to a Git repository. This makes it
  3. easier to follow all of the relevant changes to the upstream project in a
  4. single place:
  5. https://github.com/openntpd-portable/openntpd-openbsd
  6. The portable bits of the project are largely maintained out-of-tree, and their
  7. history is also available from Git.
  8. https://github.com/openntpd-portable/openntpd-portable
  9. OpenNTPD Portable Release Notes:
  10. 6.7p1 - New release based on OpenBSD 6.7
  11. * ntpd now does constraint validation against 9.9.9.9 and 2620:fe::fe by default.
  12. * The ntpd daemon now gets and sets the clock in a secure way when booting
  13. even when a battery-backed clock is absent.
  14. * Improvements in DNS resolving and constraints checking, especially during
  15. startup. Unreliable NTP peers are removed from the pool and DNS resolving
  16. is repeated to add replacements.
  17. * Improved reliability and security of TLS constraint checking.
  18. * Improved logging of failure cases.
  19. * Prevent the case of multiple ntpds running at once by checking presence
  20. of the local control socket.
  21. * TLS certificates are now searched in TLS_CA_CERT_FILE.
  22. The libtls library, as shipped with LibreSSL 3.1.0 or later, is
  23. required to use the HTTPS constraint feature, though it is not
  24. required to use OpenNTPD.
  25. 6.2p3 - Bug fixes
  26. * Fixed build on OS X
  27. 6.2p2 - Bug fixes
  28. * Fixed support for 'query from' and clarified usage.
  29. 6.2p1 - New release based on OpenBSD 6.2
  30. * Added option "query from <ip>" to ntpd.conf, to specify a local IP
  31. address for outgoing NTP queries.
  32. 6.1p1 - New release based on OpenBSD 6.1
  33. * Quieted warnings about constraint connection retries.
  34. * Implemented fork+exec for ntpd child processes.
  35. * Added imsg inter-process reliability fixes.
  36. * Fixed memory leaks and reduced heap memory usage.
  37. * Numerous logging improvements and additions.
  38. * Added macOS 10.12 getentropy support.
  39. * Fixed arc4random blacklist use native implementations where
  40. possible.
  41. 6.0p1 - New release based on OpenBSD 6.0
  42. * Fixed a link failure on older Linux distributions and a build
  43. failure on FreeBSD.
  44. * Set MOD_MAXERROR to avoid unsynced time status when using
  45. ntp_adjtime.
  46. * Fixed HTTP Timestamp header parsing to use strptime in a more
  47. portable fashion.
  48. * Hardened TLS for ntpd constraints, enabling server name
  49. verification. Thanks to Luis M. Merino.
  50. 5.9p1 - New release based on OpenBSD 5.9
  51. * When a single "constraint" is specified, try all returned addresses
  52. until one succeeds, rather than the first returned address.
  53. * Relaxed the constraint error margin to be proportional to the number
  54. of NTP peers, avoid constant reconnections when there is a bad NTP
  55. peer.
  56. * Removed disabled hotplug sensor support.
  57. * Added support for detecting crashes in constraint subprocesses.
  58. * Moved the execution of constraints from the ntp process to the
  59. parent process, allowing for better privilege separation since the
  60. ntp process can be further restricted.
  61. * Added pledge(2) support.
  62. * Updated to require LibreSSL 2.3.2 or greater.
  63. * Fixed high CPU usage when the network is down.
  64. * Fixed various memory leaks.
  65. * Switched to RMS for jitter calculations.
  66. * Unified logging functions with other OpenBSD base programs.
  67. OpenNTPD portable-specific changes:
  68. * Added support for syncing time with the Realtime Clock (RTC) on OSes
  69. that require it.
  70. * CFLAGS is no longer overridden by the build system.
  71. * FreeBSD RTABLE support is disabled
  72. * FreeBSD is no longer linked with -lmd to avoid hash function
  73. collisions, causing failures in constraint certificate loading.
  74. * Fixed crashes due to __progname being used before initialized.
  75. * Added Solaris 10 compatibility.
  76. * Added --disable-https-constraint build option for explicitly
  77. disabling constraint support.
  78. * Synced build system files with LibreSSL
  79. The libtls library, as shipped with LibreSSL 2.3.2 or later, is
  80. required to use the HTTPS constraint feature, though it is not
  81. required to use OpenNTPD.
  82. 5.7p4 - Bug fixes, HTTPS constraint support with LibreSSL
  83. * Added support for HTTPS constraints to validate NTP responses.
  84. See the man page and example config file for how to configure it.
  85. The initial announcement:
  86. http://marc.info/?l=openbsd-tech&m=142356166731390&w=2 is an
  87. explanation of the rationale and how the feature works.
  88. * Workaround an apparent bug in Solaris adjtime that cause the clock
  89. to report sync/unsync continuously.
  90. * Workaround an issue on systems with 32-bit time_t that causes an
  91. overflow if the system time is later than early 2036.
  92. The libtls library, as shipped with LibreSSL 2.1.4 or later, is
  93. required to use the HTTPS constraint feature, though it is not
  94. required to use OpenNTPD.
  95. 5.7p3 - Bug fixes
  96. * Fixed issue resolving hostnames when the network is initially
  97. unavailable.
  98. * Fixed process name logging on Linux and OS X.
  99. * Fixed adjfreq failures on Solaris due to uninitialized struct timex.
  100. * Support building on Linux musl libc.
  101. * Default privilege separation directory changed from /var/empty/ntp
  102. to /var/empty. Please ensure that if you are using the default from
  103. previous releases that the privsep directory is empty, owned by
  104. root, and has no write privileges for other users.
  105. 5.7p2 - Bug fixes, and new OS support
  106. * Switched the drift file from an unscaled frequency offset to ppm.
  107. The latter format is compatible with that of ntp.org. This allows
  108. easy switching between ntpd daemons
  109. * Fixed a memory leak in DNS lookups.
  110. * Added support for setting the process title on Linux and OS X.
  111. The different processes are now possible to tell apart by role in
  112. the process list.
  113. * Import NetBSD support.
  114. * Various bugfixes and refinements from the community.
  115. 5.7p1 - New release based on OpenBSD 5.7
  116. * Support for a new build infrastructure based on the LibreSSL
  117. framework. Source code is integrated directly from the OpenBSD tree
  118. with few manual changes, easing maintenance.
  119. * Removed support for several OSes pending test reports and updated
  120. portability code.
  121. * Supports the Simple Network Time Protocol version 4 as described in
  122. RFC 5905
  123. * Added route virtualization (rdomain) support.
  124. * Added ntpctl(8), which allows for querying ntpd(8) at runtime.
  125. * Finer-grained clock adjustment via adjfreq / ntp_adjtime where
  126. available.
  127. * Improved latency on heavily-loaded machines.