Subject: pkg/30575: tripwire patch for solaris doors
To: None <pkg-manager@netbsd.org, gnats-admin@netbsd.org,>
From: None <heas@shrubbery.net>
List: pkgsrc-bugs
Date: 06/22/2005 22:44:01
>Number:         30575
>Category:       pkg
>Synopsis:       security/tripwire patches for solaris doors
>Confidential:   no
>Severity:       non-critical
>Priority:       low
>Responsible:    pkg-manager
>State:          open
>Class:          sw-bug
>Submitter-Id:   net
>Arrival-Date:   Wed Jun 22 22:44:01 +0000 2005
>Originator:     john heasley
>Release:        SunOS 5.9
>Organization:
	
>Environment:
>Description:
tripwire should treat solaris doors like named sockets/pipes, instead of
exiting.

There is a more recent version of tripwire, but I didnt check it out.  It
might have these fixes.  Nor have I attempted to feed these changes back to
the maintainers.
>How-To-Repeat:
	
>Fix:

Index: patches/patch-ae
===================================================================
RCS file: /cvsroot/pkgsrc/security/tripwire/patches/patch-ae,v
retrieving revision 1.1
diff -u -r1.1 patch-ae
--- patches/patch-ae	5 Dec 2003 05:40:32 -0000	1.1
+++ patches/patch-ae	22 Jun 2005 20:01:07 -0000
@@ -1,6 +1,6 @@
-$NetBSD: patch-ae,v 1.1 2003/12/05 05:40:32 ben Exp $
+$NetBSD$
 
---- src/config.parse.c.orig	1994-07-20 18:03:26.000000000 -0700
+--- src/config.parse.c.orig	1994-07-21 01:03:26.000000000 +0000
 +++ src/config.parse.c
 @@ -55,7 +55,6 @@ static char rcsid[] = "$Id: config.parse
  #endif
@@ -39,3 +39,13 @@
  	sprintf(s, "tripwire: Couldn't open config file '%s'", configfile);
  	perror(s);
  	exit(1);
+@@ -636,6 +637,9 @@ XENIX_CONT: ;
+ /* Foolish Apollos define S_IFSOCK same as S_IFIFO in /bsd4.3/usr/include/sys/stat.h */
+ 	  case S_IFSOCK:
+ #endif
++#ifdef S_IFDOOR
++	  case S_IFDOOR:
++#endif
+ #endif
+ 	    (void) list_setflag(filename, FLAG_NOOPEN, pp_list);
+ 	    break;
Index: patches/patch-af
===================================================================
RCS file: /cvsroot/pkgsrc/security/tripwire/patches/patch-af,v
retrieving revision 1.2
diff -u -r1.2 patch-af
--- patches/patch-af	9 Dec 2003 19:17:37 -0000	1.2
+++ patches/patch-af	22 Jun 2005 20:01:07 -0000
@@ -1,6 +1,6 @@
-$NetBSD: patch-af,v 1.2 2003/12/09 19:17:37 ben Exp $
+$NetBSD$
 
---- src/dbase.build.c.orig	1994-07-25 08:24:09.000000000 -0700
+--- src/dbase.build.c.orig	1994-07-25 15:24:09.000000000 +0000
 +++ src/dbase.build.c
 @@ -66,7 +66,6 @@ static char rcsid[] = "$Id: dbase.build.
  int files_scanned_num = 0;
@@ -47,7 +47,17 @@
      if ((fpw = fopen(database, "w")) == NULL)
  	die_with_err("Hint: Maybe the database directory '%s' doesn't exist?  fopen()", database);
  
-@@ -367,10 +373,10 @@ printf("--(contents)-->%s\n", entry); 
+@@ -316,6 +322,9 @@ printf("database_build(): --(will update
+ /* Foolish Apollos define S_IFSOCK same as S_IFIFO in /bsd4.3/usr/include/sys/stat.h */
+ 	      case S_IFSOCK:
+ #endif
++#ifdef S_IFDOOR
++	      case S_IFDOOR:
++#endif
+ #endif
+ 		(void) list_setflag(filename, FLAG_NOOPEN, pp_list);
+ 		break;
+@@ -367,10 +376,10 @@ printf("--(contents)-->%s\n", entry); 
  	  die_with_err("database_build: list_close() failed!\n", (char *) NULL);
      }
  
@@ -61,7 +71,7 @@
  	rewind(fptempdbase);
      } else {
  	fclose(fpw);
-@@ -413,7 +419,7 @@ database_record_write (fpw, filename, fl
+@@ -413,7 +422,7 @@ database_record_write (fpw, filename, fl
      /* filename, entrynum, ignore, mode, inode, nlinks, uid, gid, size,
       *		access, modify, ctime, {sig0, sig1, ..., sig9}
       */
@@ -70,7 +80,7 @@
  
      /* initialize our temporary file */
      if (fdsymlink == -1) {
-@@ -541,7 +547,7 @@ SKIPPED_SIGS:
+@@ -541,7 +550,7 @@ SKIPPED_SIGS:
  	fprintf(fpw, format, filename_escape(filename), (int32)entrynum, ignorevec,
  	    (int32)statbuf->st_mode, (int32)statbuf->st_ino,
  	    (int32)statbuf->st_nlink, (int32)statbuf->st_uid,
Index: patches/patch-ah
===================================================================
RCS file: /cvsroot/pkgsrc/security/tripwire/patches/patch-ah,v
retrieving revision 1.1
diff -u -r1.1 patch-ah
--- patches/patch-ah	5 Dec 2003 05:40:32 -0000	1.1
+++ patches/patch-ah	22 Jun 2005 20:01:07 -0000
@@ -1,6 +1,6 @@
-$NetBSD: patch-ah,v 1.1 2003/12/05 05:40:32 ben Exp $
+$NetBSD$
 
---- src/preen.c.orig	1994-07-25 08:24:11.000000000 -0700
+--- src/preen.c.orig	1994-07-25 15:24:11.000000000 +0000
 +++ src/preen.c
 @@ -98,9 +98,6 @@ update_gather(interactive, ppp_updateent
      if (!specified_configmode)
@@ -12,3 +12,13 @@
      SPDEBUG(3) printf("*** leaving update_gather()\n");
  
      list_reset(&configentry_list);
+@@ -637,6 +634,9 @@ printf("olddbasefile_load: %s: %s", key,
+ /* Foolish Apollos define S_IFSOCK same as S_IFIFO in /bsd4.3/usr/include/sys/stat.h */
+ 	      case S_IFSOCK:
+ #endif
++#ifdef S_IFDOOR
++	      case S_IFDOOR:
++#endif
+ #endif
+ 		(void) list_setflag(key, FLAG_NOOPEN, &olddbase_list);
+ 		break;