From: Hal Murray Date: Tue, 28 Apr 2009 12:09:13 +0000 (-0400) Subject: refclock_hpgps.c: X-Git-Tag: NTP_4_2_5P169~3^2 X-Git-Url: http://git.ipfire.org/cgi-bin/gitweb.cgi?a=commitdiff_plain;h=cab8436e615aeec5b22f73009b4dd948f3e1b112;p=thirdparty%2Fntp.git refclock_hpgps.c: Fix for bug 1090, bogus leapseconds ChangeLog: Fix for bug 1090, bogus leapseconds in refclock_hpgps bk: 49f6f1e9dwtpsiDUZEfrC7N1EAyF7A --- diff --git a/ChangeLog b/ChangeLog index f29d8999f..f840c28de 100644 --- a/ChangeLog +++ b/ChangeLog @@ -1,3 +1,4 @@ +* Fix refclock_hpgps for Bug 1090 (bogus leap seconds) (4.2.5p167) 2009/04/26 Released by Harlan Stenn * Crypto cleanup from Dave Mills. (4.2.5p166) 2009/04/25 Released by Harlan Stenn diff --git a/ntpd/refclock_hpgps.c b/ntpd/refclock_hpgps.c index f125a425a..08f709fd3 100644 --- a/ntpd/refclock_hpgps.c +++ b/ntpd/refclock_hpgps.c @@ -532,18 +532,25 @@ hpgps_receive( pp->leap = LEAP_NOTINSYNC; } else { + pp->leap = LEAP_NOWARNING; switch (leapchar) { - case '+': - pp->leap = LEAP_ADDSECOND; + case '0': break; - case '0': - pp->leap = LEAP_NOWARNING; + /* See http://bugs.ntp.org/1090 + * Ignore leap announcements unless June or December. + * Better would be to use :GPSTime? to find the month, + * but that seems too likely to introduce other bugs. + */ + case '+': + if ((month==6) || (month==12)) + pp->leap = LEAP_ADDSECOND; break; case '-': - pp->leap = LEAP_DELSECOND; + if ((month==6) || (month==12)) + pp->leap = LEAP_DELSECOND; break; default: