1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99 100 101 102 103 104 105 106 107 108 109 110 111 112 113 114 115 116 117 118 119 120 121 122 123 124 125 126 127 128 129 130 131 132 133 134 135 136 137 138 139 140 141 142 143 144 145 146 147 148 149 150 151 152 153 154 155 156 157 158 159 160 161 162 163 164 165 166 167 168 169 170 171 172 173 174 175 176 177 178 179 180 181 182 183 184 185 186 187 188 189 190 191 192 193 194 195 196 197 198 199 200 201 202 203 204 205 206 207 208 209 210 211 212 213 214 215 216 217 218 219 220 221 222 223 224 225 226 227 228 229 230 231 232 233 234 235 236 237 238 239 240 241 242 243 244 245 246 247 248 249 250 251 252 253 254 255 256 257 258 259 260 261 262 263 264 265 266 267 268 269 270 271 272 273 274 275 276 277 278 279 280 281 282 283 284 285 286 287 288 289 290 291 292 293 294 295 296 297 298 299 300 301 302 303 304 305 306 307 308 309 310 311 312 313 314 315 316 317 318 319 320 321 322 323 324 325 326 327 328 329 330 331 332 333 334 335 336 337 338 339 340 341 342 343 344 345 346 347 348 349 350 351 352 353 354 355 356 357 358 359 360 361 362 363 364 365 366 367 368 369 370 371 372 373 374 375 376 377 378 379 380 381 382 383 384 385 386 387 388 389 390 391 392 393 394 395 396 397 398 399 400 401 402 403 404 405 406 407 408 409 410 411 412
|
Changes in 2.0.0
----------------
The major version doesn't indicate big changes, only that htpdate is 2 decades old!
- bugfix incorrect "estimated error" (relevant for "-x" option)
- improvement: make all implicit conversions explicit
- improvement: take network latency into account
- change: log to stderr instead of stdout when using "-F"
1.3.7
-----
- bugfix: wrong default portnumber for proxy was used
- bugfix: https://bugs.launchpad.net/ubuntu/+source/htpdate/+bug/1850740
- improvement: Avoid bouncing between upper/lower limit when (almost) in sync
- improvement: Set SSL server hostname on SSL object
1.3.6
-----
- Fix when correcting large time offsets (bug introduced in 1.3.5)
1.3.5
-----
- Feature: set kernel synchronized (e.g. timedatectl will report
'System clock synchronized: yes')
- Improved time tuning accuracy/stability
1.3.4
-----
- fix small memory leak in strdup
- fix free in case of DNS lookup failure
- other minor updates
1.3.3
-----
- fix compatibility issue with uClibc
- fix for time offset > 1s
- additional time offset fine tuning
1.3.2
-----
- fine tuning time adjustment
- added missing '-f' from usage
- fix ntp_adjtime/adjtimex
1.3.1
-----
- Read/write clock driftfile (-f) has been added.
- Multiple small bug fixes
1.3.0
-----
- This release is the biggest update in a decade
- accuracy has improved with a new algorithm (bisect)
- usage of '-p' option has change, '-p 9' allows accuracy in the range of ~10 ms
- removed '-b' option, burst mode
- HTTPS support has been added (no certificate validation!)
1.2.4
-----
- Several updates/fixes from fork maintained by Angelo Compagnucci
- https://github.com/angeloc/htpdate
- Added foreground '-F' (thanks to larsluthman)
- An incorrect drop privileges fix
- Support for multiple verbose/debug levels with -dd and -ddd
- Use http_proxy environment variable
- Added '-n' to ignore this environment variable
- Replaced deprecated asctime(), gettimeofday(), timegm()
- Removed the use of mktime()
- Removed the vim modeline formatting
1.2.3
-----
- Support URL path to be included, hostname/path, e.g. htpdate www.example.com/htpdate.html
- Included several fixes as used in Chromium OS (thanks to Mike Frysinger)
- Release on github
- Bug fix: dropping privileges, when not specified
1.2.2
-----
- Doc change only (removed reference to FreeBSD and Linux)
1.2.1
-----
- Fix initialization of strptime()
1.2.0
-----
- Fix for port numbers that were not used in daemon mode (thanks to Matthew Jones)
- Discard the use of local time offset, because it causes incorrect synchronisation when TZDATA isn't correct, https://bugs.debian.org/cgi-bin/bugreport.cgi?bug=876687 (thanks for Mert Dirik)
1.1.3
-----
- Fixed a year 2038 issue on 32-bit systems (thanks to Ansel Consulting)
1.1.2
-----
- Security fix: setegid wasn't always applied
- Fixed compiler warning 'ignoring return value' for recent gcc versions
1.1.1
-----
- Fixed out of bound issue and a missing null-terminated string (thanks to Tobias Stöckmann)
1.1.0
-----
- Removed Debian and RPM specific information
- Fixed manpage issues (thanks to Eriberto)
1.0.7
-----
- Fixed an incorrect bug fix in 1.0.6.
1.0.6
-----
- Bug fix for https://bugs.gentoo.org/show_bug.cgi?id=350685
(Thanks Diego Augusto Molina for the bug report and Pavel Kazakov for
debugging)
1.0.5
-----
- Change of e-mail/website
- Fix for debian build
1.0.4
-----
- Fixed a memory leak (reported and fixed by Andreas Bohne-Lang)
1.0.3
-----
- Fixed logic error... 1.0.2 is broken :(
1.0.2
-----
- Fixed a buffer overflow when time offset gets too large
https://dev.openwrt.org/cgi-bin/trac.fcgi/ticket/3940
1.0.1
-----
- Added "burst mode" (-b) to enhance accuracy.
- Extended debug output
- Removed potential buffer overflows vulnerabilities.
- Replaced usleep by nanosleep (which is more portable).
- Included debian package.
1.0.0
-----
- Cleanup/simplified the code.
- Again a more robust implementation of the "-p" (precision) switch.
0.9.3
-----
- Bug fixes: poll loop could be become close to zero in case of a "connection
failed". Sleeptime wasn't correct in case all hosts fail.
- Use more "sane" minsleep and maxsleep values.
0.9.2
-----
- The use of the ntp_adjtime system call is now optional. The clock
frequency will be adjusted when using the "-x" switch and the systematic
drift will be compensated. Works only in daemon mode.
0.9.1
-----
- Htpdate can drop root privileges and run as a restricted user.
- Drift calculation starts now after first time correction.
0.9.0
-----
- Mostly code cleanup
- Changed "char" variables into "int", which should be more efficient
- Changed the qsort routine, into an insertion sort. Quicksort is
kind of overkill for such small lists.
- Debug mode is allowed in daemon mode.
0.8.8
-----
- Speeded up the poll cycle loop, once a time offset has been detected.
- Added systematic drift to the syslog logging (daemon only).
The "adjtimex_parameters.sh" script may help to reduce the drift of your
system clock.
- Changed "precision" from micro into milliseconds.
- Changed manpage directory from /usr/man into /usr/share/man.
- HTTP/1.1 has become the default
0.8.7
-----
- Bug fix: with precision set, the time could only be adjusted
negative (slow down).
- Fixed undesired effects in (rare) cases when using only a few servers.
- Exit code changed to 1 if no server was found (requested by Supernaut).
0.8.6
-----
- Reintroduction of the "-p" switch. The "precision" determines more accurate
when a time adjustment is needed. The implementation of precision is much
beter than the one in the past.
0.8.5
-----
- Changed the variable type of "param" from char into int (thanks to
Arnaud Mazin). GCC 3.4.x is less forgiving than older versions.
- Made compare function for qsort more robust (avoiding overflow).
0.8.4
-----
- Finaly added IPv6 support!
- If you would lose internet connectivity, htpdate would flood the system
(CPU and log). A patch submitted by Peter Surda, has been included.
- Removed -0 switch (HTTP/1.0), since this is the default anyway.
0.8.3
-----
- Fixed that "when" wasn't properly initialized in every poll cycle. This
bug fix reduces jitter when system time is close to the correct time.
- Added missing "-t" switch to the manpage.
- Added warning message if more than 16 servers are specified.
- Htpdate double forks now, like a proper daemon :)
- vim setting are added to the source (set ts=4)
0.8.2
-----
- Fixed a major bug in offset calculation (caused by changing the rtt type
from double to unsigned long)
0.8.1 (broken)
--------------
- Correction install paths in Makefile, added uninstall option
- Added "-t" switch, which disables time sanity checking (requested for
devices, like supported by openwrt, which boot/startup at "epoch" time)
0.8.0
-----
- Lots of code clean up, eg.:
- compiles with the -ansi switch (for better portability, but only
tested on Linux and FreeBSD)
- Compiles with Tiny C Compiler (tcc) and Intel C compiler (icc)
- Restored compatibility with FreeBSD (timezone calculation).
- A second poll is made if a time offset has been detected.
- Removed the switches "-t" and "-x". In daemon mode htpdate will only adjust
time. With the "-s" switch htpdate will set the time once at startup and
after that only smooth adjusts are made.
- Added "-l" switch, which enables logging to syslog in non-daemon mode.
Convinient if htpdate is used from cron.
- Added "-0" to make an HTTP/1.0 request and "-1" for HTTP/1.1
0.7.2
-----
- Minor bug fix. When running in daemon mode TCP connections weren't cleaned up
properly (sockets remained in CLOSE_WAIT status).
0.7.1
-----
- Bug fix. Poll cycle could become very very short (seconds...) in some
cases.
0.7.0
-----
- The polling mechanisme has been improved once more :)
As of this version polls are also spread within the polling cycle.
This way a time offset will be detected earlier, without increasing the
polling frequency.
- Sleeptime isn't writen to syslog anymore, only time adjustments
- Previous versions of htpdate tried to close a already closed HTTP/1.0
session.
- The rpm version doesn't override the init-script anymore
0.6.2
-----
- Bug fix, time wasn't correct if 'timeavg' was negative...
0.6.1
-----
- Code clean up, use global variable 'timezone'
0.6
---
- New poll schedule mechanisme has been introduced!
This results in a better spreading of the polls in time to
gain some extra accuracy.
- Removed the -p (precision) flag, because it has become obsolete with
the new poll scheduling mechanisme.
- Extended 'debug mode' output with round trip time (rtt) information.
- Sleeptime parameters are no longer in seconds, but in 2^n seconds.
0.5
---
- Added relevant header files, so gcc -Wall compiles without warnings.
- Added -p switch, to set the precision of htpdate. The polling rate
is affected by this switch (high precision -> more frequent polling).
0.4
---
- Spread the individual time polls better, to gain accuracy with
a small number of web servers as source
- Added debug mode, so you can value the quality of the timestamps
from web servers
- Minor correction on HEAD request (removed max-age=0)
- pid file is created
- Added htpdate init script
0.3
---
- Run htpdate as a daemon
- automatic set/adjust time, based upon offset
- automatic poll interval
- Added manpage
- Added RPM
- Minor bug fixes
0.2
---
- Htpdate can set or adjust time smoothly now, without calling external
programs
0.1
---
- Initial release. Htpdate extracts the raw timestamp from a webserver.
|