[ntp:questions] Re: Redefinition Error with NTP-4.2.0 on OpenBSD 3.3

Dennis Davis ccsdhd at bath.ac.uk
Wed Oct 29 17:14:08 UTC 2003


[Posted to both comp.unix.bsd.openbsd.misc and
 comp.protocols.time.ntp.  Please adjust any replies as appropriate.]

In the referenced article, roy at suespammers.org (Roy) writes:
>ccsdhd at bath.ac.uk (Dennis Davis) wrote in message news:<HnIny6.H1L.B.hinault at bath.ac.uk>...
>[snip]
>> As pointed out by Danny Mayer in the comp.protocols.time.ntp
>> Newsgroup, it's the expansion of include/ntp_rfc2553.h that's
>> causing the problem.  That attempts to detect whether IP6 is already
>> available and skips various definitions if it is.
>> 
>> It looks like the test:
>> 
>> #if defined(_SS_MAXSIZE) || defined(_SS_SIZE)
>> #define HAVE_IPV6
>> #else
>> 
>> isn't right for OpenBSD.
>> 
>> I'm not sure of the "correct" way to fix this.  We don't use IP6 yet.
>> However the following bodge should get it compiled.  Haven't tried
>> running the resulting binary, so your guarantee has just expired!
>> 
>> 
>> *** include/ntp_rfc2553.h.orig  Thu Jul 17 11:27:16 2003
>> --- include/ntp_rfc2553.h       Wed Oct 29 11:16:08 2003
>> ***************
>> *** 68,74 ****
>>   #ifndef _NTP_RFC2553_H_
>>   #define _NTP_RFC2553_H_
>>   
>> ! #if defined(_SS_MAXSIZE) || defined(_SS_SIZE)
>>   #define HAVE_IPV6
>>   #else
>>   
>> --- 68,74 ----
>>   #ifndef _NTP_RFC2553_H_
>>   #define _NTP_RFC2553_H_
>>   
>> ! # if 1
>>   #define HAVE_IPV6
>>   #else
>
>Hi Dennis,
>
>I had read Danny's reply on the NTP newsgroup.  When I posted here I
>was primarily trying to find out if anyone more familiar with OpenBSD
>was working on the problem.  The "bodge" you provided does allow ntp
>to compile, but obviously it needs more work before it is a real
>patch!

Well, I'm totally fearless of my ignorance so I'll press on :-(

OpenBSD, along with other versions of Unix, uses the IPv6 stack
from the KAME project:

http://www.kame.net/

so it might be a good idea to see if that is in use.  The patch
appended below might be a starting point for doing this.  Certainly
works on OpenBSD, although I've not tried it on any other operating
system.  As usual, my ignorance probably means I've missed a far
easier and succinct way of doing this :-(


*** ntp_rfc2553.h.orig  Thu Jul 17 11:27:16 2003
--- ntp_rfc2553.h       Wed Oct 29 16:42:46 2003
***************
*** 68,74 ****
  #ifndef _NTP_RFC2553_H_
  #define _NTP_RFC2553_H_
  
! #if defined(_SS_MAXSIZE) || defined(_SS_SIZE)
  #define HAVE_IPV6
  #else
  
--- 68,79 ----
  #ifndef _NTP_RFC2553_H_
  #define _NTP_RFC2553_H_
  
! #include "config.h"
! 
! #ifdef HAVE_NETINET_IN_H
! #include <netinet/in.h>
! #endif /* HAVE_NETINET_IN_H */
! #if defined(_SS_MAXSIZE) || defined(_SS_SIZE) || defined(__KAME__)
  #define HAVE_IPV6
  #else

-- 
Dennis Davis, BUCS, University of Bath, Bath, BA2 7AY, UK
D.H.Davis at bath.ac.uk



More information about the questions mailing list