Subject: Re: Serious problems with ntpd authentication in 1.5
To: Alexis Rosen <alexis@panix.com>
From: Simon Burge <simonb@wasabisystems.com>
List: current-users
Date: 08/30/2000 03:24:38
Alexis Rosen wrote:

> On Tue, Aug 29, 2000 at 08:34:44PM +1100, Simon Burge said:
> > The DES code is not going to be maintained by the NTP people anymore,
> > and they are actively pushing people towards MD5.
> 
> I know. :-(
> 
> > > Whatever is decided about compiling in DES, I bit the bullet and decided to
> > > convert from DES to MD5. And I've run into some problems.
> > 
> > I believe that ntp-4.0.99k solves a few authentication problems - if I
> > put together some patches will you be able to test it?
> 
> Absolutely.

If you move /usr/src/dist/ntp out of the way and put in ntp-4.0.99k from
ftp.udel.edu/pub/ntp/ntp4 and apply the trailing patch, you should have
something that compiles cleanly.  The resultant ntpd works for me with a
limited amount of testing...

> BTW, has anyone looked at building SNTP? I may do so. Locking ~3.5MB of RAM
> just so client machines can listen to multicasts seems ridiculous...

Haven't looked at sntp - got a pointer to it?  We could at least add it
to pkgsrc...

Simon.
--
Simon Burge                            <simonb@wasabisystems.com>
NetBSD Sales, Support and Service:  http://www.wasabisystems.com/

--

--- libntp/gpstolfp.c.DIST	Sun May 14 13:53:25 2000
+++ libntp/gpstolfp.c	Wed Aug 30 03:03:10 2000
@@ -7,6 +7,8 @@
  */
 #include "ntp_fp.h"
 
+#define ULONG_CONST(a) a ## UL
+
 #define GPSORIGIN	ULONG_CONST(2524953600)	/* NTP origin - GPS origin in seconds */
 #define SECSPERWEEK	(unsigned)(604800)	/* seconds per week - GPS tells us about weeks */
 #define GPSWRAP		990	/* assume week count less than this in the previous epoch */
--- ntpd/refclock_oncore.c.DIST	Sat Jun 24 10:41:50 2000
+++ ntpd/refclock_oncore.c	Wed Aug 30 03:05:33 2000
@@ -2291,7 +2291,7 @@
 		if (debug > 2)
 			printf("ONCORE[%d]: serial/j (%lu, %d) %ld.%09ld\n",
 			    instance->unit,
-			    pps_i.clear_sequence, j, tsp->tv_sec, tsp->tv_nsec);
+			    (unsigned long)pps_i.clear_sequence, j, (long)tsp->tv_sec, (long)tsp->tv_nsec);
 
 		if (pps_i.clear_sequence == j) {
 			printf("ONCORE: oncore_get_timestamp, error serial pps\n");