Subject: Re: pkg/7141: a port of freebsd's security/libident package
To: NetBSD GNATS submissions and followups <gnats-bugs@gnats.netbsd.org>
From: Greg A. Woods <woods@most.weird.com>
List: netbsd-bugs
Date: 03/14/1999 14:50:07
[ On , March 12, 1999 at 04:35:01 (-0000), gnats-bugs@gnats.netbsd.org wrote: ]
> Subject: Re: pkg/7141: a port of freebsd's security/libident package
>

I see that my patch-ab wasn't included.  I don't know if this was
oversight, or intentional.  Although this patch may not be necessary for
compiling libident itself, it is necessary for other packages that will
use the installed <ident.h> (and it certainly does no harm to the
ability to compile libident itself).

Here it (pkgsrc/security/libident/patches/patch-ab) is again, all by
itself:

*** ident.h.orig	Thu Nov 23 14:44:36 1995
--- ident.h	Tue Jan 19 10:55:43 1999
***************
*** 13,22 ****
  #endif
  
  /* Sigh */
! #ifdef __STDC__
! #  if __STDC__ == 1
! #    define IS_STDC 1
! #  endif
  #endif
  
  #ifdef __P
--- 13,20 ----
  #endif
  
  /* Sigh */
! #if (0 - __STDC__) <= -1
! #  define IS_STDC 1
  #endif
  
  #ifdef __P
***************
*** 96,129 ****
  #  include <bstring.h>
  #endif
  #include <sys/types.h>
  #include <netinet/in.h>
- #include <sys/time.h>
  
  #if defined(VMS) && !defined(FD_SETSIZE)
  #  define FD_SETSIZE 64
  #endif
  
- /*
-  * Sigh, GCC v2 complains when using undefined struct tags
-  * in function prototypes...
-  */
- #if defined(__GNUC__) && !defined(INADDR_ANY)
- #  define __STRUCT_IN_ADDR_P	void *
- #else
- #  define __STRUCT_IN_ADDR_P	struct in_addr *
- #endif
- 
- #if defined(__GNUC__) && !defined(DST_NONE)
- #  define __STRUCT_TIMEVAL_P	void *
- #else
- #  define __STRUCT_TIMEVAL_P	struct timeval *
- #endif
- 
- #if defined(__sgi) && defined(_POSIX_SOURCE)
- #  undef  __STRUCT_TIMEVAL_P
- #  define __STRUCT_TIMEVAL_P	void *
- #endif
- 	
  #ifndef IDBUFSIZE
  #  define IDBUFSIZE 2048
  #endif
--- 94,115 ----
  #  include <bstring.h>
  #endif
  #include <sys/types.h>
+ #if TIME_WITH_SYS_TIME
+ # include <sys/time.h>
+ # include <time.h>
+ #else
+ # if HAVE_SYS_TIME_H
+ #  include <sys/time.h>
+ # else
+ #  include <time.h>
+ # endif
+ #endif
  #include <netinet/in.h>
  
  #if defined(VMS) && !defined(FD_SETSIZE)
  #  define FD_SETSIZE 64
  #endif
  
  #ifndef IDBUFSIZE
  #  define IDBUFSIZE 2048
  #endif
***************
*** 149,167 ****
  /* Low-level calls and macros */
  #define id_fileno(ID)	((ID)->fd)
  
! extern ident_t * id_open __P((__STRUCT_IN_ADDR_P laddr,
! 			   __STRUCT_IN_ADDR_P faddr,
! 			   __STRUCT_TIMEVAL_P timeout));
    
  extern int    id_close __P((ident_t *id));
    
  extern int    id_query __P((ident_t *id,
  			    int lport,
  			    int fport,
! 			    __STRUCT_TIMEVAL_P timeout));
    
  extern int    id_parse __P((ident_t *id,
! 			    __STRUCT_TIMEVAL_P timeout,
  			    int *lport,
  			    int *fport,
  			    char **identifier,
--- 135,153 ----
  /* Low-level calls and macros */
  #define id_fileno(ID)	((ID)->fd)
  
! extern ident_t * id_open __P((struct in_addr * laddr,
! 			   struct in_addr * faddr,
! 			   struct timeval * timeout));
    
  extern int    id_close __P((ident_t *id));
    
  extern int    id_query __P((ident_t *id,
  			    int lport,
  			    int fport,
! 			    struct timeval * timeout));
    
  extern int    id_parse __P((ident_t *id,
! 			    struct timeval * timeout,
  			    int *lport,
  			    int *fport,
  			    char **identifier,
***************
*** 174,180 ****
  
  extern char  *ident_id __P((int fd, int timeout));
  
! extern IDENT *ident_query __P(( __STRUCT_IN_ADDR_P laddr, __STRUCT_IN_ADDR_P raddr, int lport, int rport, int timeout));
  
  extern void   ident_free __P((IDENT *id));
  
--- 160,166 ----
  
  extern char  *ident_id __P((int fd, int timeout));
  
! extern IDENT *ident_query __P(( struct in_addr * laddr, struct in_addr * raddr, int lport, int rport, int timeout));
  
  extern void   ident_free __P((IDENT *id));
  


-- 
							Greg A. Woods

+1 416 218-0098      VE3TCP      <gwoods@acm.org>      <robohack!woods>
Planix, Inc. <woods@planix.com>; Secrets of the Weird <woods@weird.com>