summaryrefslogtreecommitdiff
path: root/security/tripwire
diff options
context:
space:
mode:
authorben <ben@pkgsrc.org>2003-12-05 05:40:32 +0000
committerben <ben@pkgsrc.org>2003-12-05 05:40:32 +0000
commitf9af6913a64a95438c95d5d60cee7a8efcd64c83 (patch)
tree8edcdd020d136183076b68375568b375f86795b5 /security/tripwire
parent1b646f871d457b9bda1a1832eb008f8d5519e8e6 (diff)
downloadpkgsrc-f9af6913a64a95438c95d5d60cee7a8efcd64c83.tar.gz
Replace all uses of mktemp() with mkstemp() and close PR 23640.
Diffstat (limited to 'security/tripwire')
-rw-r--r--security/tripwire/Makefile4
-rw-r--r--security/tripwire/distinfo9
-rw-r--r--security/tripwire/patches/patch-ad27
-rw-r--r--security/tripwire/patches/patch-ae41
-rw-r--r--security/tripwire/patches/patch-af63
-rw-r--r--security/tripwire/patches/patch-ag12
-rw-r--r--security/tripwire/patches/patch-ah14
-rw-r--r--security/tripwire/patches/patch-ai62
8 files changed, 222 insertions, 10 deletions
diff --git a/security/tripwire/Makefile b/security/tripwire/Makefile
index 5a76d623d10..6c58d13cb7c 100644
--- a/security/tripwire/Makefile
+++ b/security/tripwire/Makefile
@@ -1,8 +1,8 @@
-# $NetBSD: Makefile,v 1.16 2003/12/03 21:18:09 ben Exp $
+# $NetBSD: Makefile,v 1.17 2003/12/05 05:40:32 ben Exp $
#
DISTNAME= tripwire-1.2
-PKGREVISION= 1
+PKGREVISION= 2
CATEGORIES= security
MASTER_SITES= ftp://coast.cs.purdue.edu/pub/tools/unix/ids/tripwire/
diff --git a/security/tripwire/distinfo b/security/tripwire/distinfo
index 2258c0559cf..39f74566e92 100644
--- a/security/tripwire/distinfo
+++ b/security/tripwire/distinfo
@@ -1,8 +1,13 @@
-$NetBSD: distinfo,v 1.5 2003/12/03 21:18:09 ben Exp $
+$NetBSD: distinfo,v 1.6 2003/12/05 05:40:32 ben Exp $
SHA1 (tripwire-1.2.tar.gz) = 6fc91e25b3e1af3881fd5b6acf240ab6c1133e38
Size (tripwire-1.2.tar.gz) = 299831 bytes
SHA1 (patch-aa) = 37e41b99fbd437cc62b1446545f963d03e91e819
SHA1 (patch-ab) = 186edaa504e6e1a7edadb2168982b9b8a2482bac
SHA1 (patch-ac) = 35b3fe52f497e6cbbf7edfeaee398f0d24aff219
-SHA1 (patch-ad) = 92fe68b5cb929dfc16b767e28d72852428246a32
+SHA1 (patch-ad) = 4b8ad8d0cd7c17a8f3a655c5a574856670533ea5
+SHA1 (patch-ae) = 18fe18ded565476a80b9280054cdf7f90403588e
+SHA1 (patch-af) = 968df5d2ea577a8fde9c5aafa43d9fb1e4efde54
+SHA1 (patch-ag) = 3bfc6965782d727b6b5cf20da4dd44e45327925f
+SHA1 (patch-ah) = 97eccc44190e165dbf174f04c3acab5f1b442bc7
+SHA1 (patch-ai) = 51075e32a7523a8d1691aa41336fe46b671fa865
diff --git a/security/tripwire/patches/patch-ad b/security/tripwire/patches/patch-ad
index 89c420e59de..44eba392a48 100644
--- a/security/tripwire/patches/patch-ad
+++ b/security/tripwire/patches/patch-ad
@@ -1,10 +1,8 @@
-$NetBSD: patch-ad,v 1.1 2000/07/14 08:59:37 agc Exp $
+$NetBSD: patch-ad,v 1.2 2003/12/05 05:40:32 ben Exp $
-On NetBSD, st_size is a 64-bit quantity.
-
---- src/utils.c 1994/07/25 16:23:16 1.23
-+++ src/utils.c 2000/07/14 08:53:49
-@@ -697,8 +697,13 @@
+--- src/utils.c.orig 1994-07-25 09:23:16.000000000 -0700
++++ src/utils.c
+@@ -697,8 +697,13 @@ direntry_print (name, statbuf, mode)
print_perm((uint32)statbuf.st_mode);
@@ -18,3 +16,20 @@ On NetBSD, st_size is a 64-bit quantity.
printf(" %s\n", name);
}
+@@ -789,13 +794,10 @@ fd_tempfilename_generate()
+ int fd;
+
+ (void) strcpy(tmp, TEMPFILE_TEMPLATE);
+- if ((char *) mktemp(tmp) == NULL) {
+- perror("tempfilename_generate: mktemp()");
+- exit(1);
+- }
++ fd = mkstemp(tmp);
+
+- if ((fd = open(tmp, O_RDWR | O_CREAT, 0600)) < 0) {
+- perror("tempfilename_generate: open()");
++ if (fd == -1) {
++ perror("tempfilename_generate: mkstemp()");
+ exit(1);
+ }
+ /* unlink right away to make sure no one can tamper with our file */
diff --git a/security/tripwire/patches/patch-ae b/security/tripwire/patches/patch-ae
new file mode 100644
index 00000000000..6f91bcdfd90
--- /dev/null
+++ b/security/tripwire/patches/patch-ae
@@ -0,0 +1,41 @@
+$NetBSD: patch-ae,v 1.1 2003/12/05 05:40:32 ben Exp $
+
+--- src/config.parse.c.orig 1994-07-20 18:03:26.000000000 -0700
++++ src/config.parse.c
+@@ -55,7 +55,6 @@ static char rcsid[] = "$Id: config.parse
+ #endif
+
+ /* prototypes */
+-char *mktemp();
+ static void configfile_descend();
+
+ #ifndef L_tmpnam
+@@ -90,6 +89,7 @@ configfile_read(pp_list, pp_entry_list)
+ char number[128];
+ int entrynum = 0;
+ int err;
++ int fdout;
+
+ /* to make code semi-reentrant */
+ list_reset(&prune_list);
+@@ -105,8 +105,9 @@ configfile_read(pp_list, pp_entry_list)
+ };
+ (void) strcpy(tmpfilename, TEMPFILE_TEMPLATE);
+
+- if ((char *) mktemp(tmpfilename) == NULL) {
+- perror("configfile_read: mktemp()");
++ fdout = mkstemp(tmpfilename);
++ if (fdout == -1) {
++ perror("configfile_read: mkstemp()");
+ exit(1);
+ }
+
+@@ -149,7 +150,7 @@ configfile_read(pp_list, pp_entry_list)
+
+ err = umask(077); /* to protect the tempfile */
+
+- if ((fpout = fopen(tmpfilename, "w+")) == NULL) {
++ if ((fpout = fdopen(fdout, "w+")) == NULL) {
+ sprintf(s, "tripwire: Couldn't open config file '%s'", configfile);
+ perror(s);
+ exit(1);
diff --git a/security/tripwire/patches/patch-af b/security/tripwire/patches/patch-af
new file mode 100644
index 00000000000..fa066f13751
--- /dev/null
+++ b/security/tripwire/patches/patch-af
@@ -0,0 +1,63 @@
+$NetBSD: patch-af,v 1.1 2003/12/05 05:40:32 ben Exp $
+
+--- src/dbase.build.c.orig 1994-07-25 08:24:09.000000000 -0700
++++ src/dbase.build.c
+@@ -66,7 +66,6 @@ static char rcsid[] = "$Id: dbase.build.
+ int files_scanned_num = 0;
+
+ /* prototypes */
+-char *mktemp();
+ static void database_record_write();
+
+ char backupfile[MAXPATHLEN+256];
+@@ -92,6 +91,7 @@ database_build (pp_list, mode, pp_entry_
+ {
+ struct list_elem *p_fileentry;
+ struct list_elem *p_configentry;
++ int fdw;
+ FILE *fpw;
+ char database[MAXPATHLEN+256];
+ int entrynum,
+@@ -130,11 +130,12 @@ database_build (pp_list, mode, pp_entry_
+ die_with_err("malloc() failed in database_build", (char *) NULL);
+ (void) strcpy(tmpfilename, TEMPFILE_TEMPLATE);
+
+- if ((char *) mktemp(tmpfilename) == NULL)
+- die_with_err("database_build: mktemp()", (char *) NULL);
++ fdw = mkstemp(tmpfilename);
++ if (fdw == -1)
++ die_with_err("database_build: mkstemp()", (char *) NULL);
++ unlink(tmpfilename);
+
+- (void) strcpy(tempdatabase_file, tmpfilename);
+- (void) strcpy(database, tempdatabase_file);
++ (void) strcpy(database, tmpfilename);
+ free(tmpfilename);
+ } /* end if temporary database */
+ else if (mode == DBASE_UPDATE) {
+@@ -224,6 +225,11 @@ printf("database_build(): ---> olddataba
+ }
+
+ /* rebuild the database */
++ if (mode == DBASE_TEMPORARY) {
++ fpw = fdopen(fdw, "w+");
++ if (fpw == NULL)
++ die_with_err("call fdopen() failed.", NULL);
++ } else
+ 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);
+ die_with_err("database_build: list_close() failed!\n", (char *) NULL);
+ }
+
+- /* we don't want to allow anyone to spoof the temporary file in /tmp */
++ /* If the database was temporary, the file was unlink()ed, and is
++ "hidden" from other processes. */
+ if (mode == DBASE_TEMPORARY) {
+- if ((fptempdbase = freopen(database, "r", fpw)) == NULL)
+- die_with_err("temporary database file disappeared?!?", database);
++ fptempdbase = fpw;
+ rewind(fptempdbase);
+ } else {
+ fclose(fpw);
diff --git a/security/tripwire/patches/patch-ag b/security/tripwire/patches/patch-ag
new file mode 100644
index 00000000000..8a527297c5b
--- /dev/null
+++ b/security/tripwire/patches/patch-ag
@@ -0,0 +1,12 @@
+$NetBSD: patch-ag,v 1.1 2003/12/05 05:40:32 ben Exp $
+
+--- src/main.c.orig 1994-08-26 01:23:03.000000000 -0700
++++ src/main.c
+@@ -108,7 +108,6 @@ char *database_file = DATABASE_FILE;
+ char *database_path = DATABASE_PATH;
+ char *config_path = CONFIG_PATH;
+
+-char tempdatabase_file[MAXPATHLEN+256];
+ FILE *fptempdbase;
+
+ char *defaultignore = DEFAULTIGNORE;
diff --git a/security/tripwire/patches/patch-ah b/security/tripwire/patches/patch-ah
new file mode 100644
index 00000000000..52a3722bd03
--- /dev/null
+++ b/security/tripwire/patches/patch-ah
@@ -0,0 +1,14 @@
+$NetBSD: patch-ah,v 1.1 2003/12/05 05:40:32 ben Exp $
+
+--- src/preen.c.orig 1994-07-25 08:24:11.000000000 -0700
++++ src/preen.c
+@@ -98,9 +98,6 @@ update_gather(interactive, ppp_updateent
+ if (!specified_configmode)
+ (void) fclose(fp_in);
+
+- /* remove the temporary database file */
+- (void) unlink(tempdatabase_file);
+-
+ SPDEBUG(3) printf("*** leaving update_gather()\n");
+
+ list_reset(&configentry_list);
diff --git a/security/tripwire/patches/patch-ai b/security/tripwire/patches/patch-ai
new file mode 100644
index 00000000000..164f42bb3b3
--- /dev/null
+++ b/security/tripwire/patches/patch-ai
@@ -0,0 +1,62 @@
+$NetBSD: patch-ai,v 1.1 2003/12/05 05:40:32 ben Exp $
+
+--- src/siggen.c.orig 1994-07-25 08:24:12.000000000 -0700
++++ src/siggen.c
+@@ -52,7 +52,6 @@ static char rcsid[] = "$Id: siggen.c,v 1
+
+ extern int optind;
+ int debuglevel = 0;
+-char *mktemp();
+
+ int (*pf_signatures [NUM_SIGS]) () = {
+ SIG0FUNC,
+@@ -164,6 +163,7 @@ main(argc, argv)
+ }
+
+ if (readstdin) {
++ int fdout;
+ FILE *fpout;
+ /* generate temporary file name */
+ if ((tmpfilename = (char *) malloc(L_tmpnam + MAXPATHLEN)) == NULL) {
+@@ -172,32 +172,26 @@ main(argc, argv)
+ };
+ (void) strcpy(tmpfilename, "/tmp/twzXXXXXX");
+
+- if ((char *) mktemp(tmpfilename) == NULL) {
+- perror("siggen: mktemp()");
++ fdout = mkstemp(tmpfilename);
++ if (fdout == -1) {
++ perror("siggen: mkstemp()");
+ exit(1);
+ }
++ unlink(tmpfilename);
+
+ /* output */
+- if (!(fpout = fopen(tmpfilename, "w"))) {
+- char err[1024];
+- sprintf(err, "main: fopen(%s)", tmpfilename);
+- perror(err);
++ if (!(fpout = fdopen(fdout, "w"))) {
++ perror("siggen: fdopen()");
+ exit(1);
+ }
+ /* copy */
+ while ((c = getc(stdin)) != EOF)
+ putc(c, fpout);
+- fclose(fpout);
+- if ((fd = open(tmpfilename, O_RDONLY)) < 0) {
+- perror("siggen: open");
+- exit(1);
+- }
+- if (siggen(fd) < 0)
++ rewind(fpout);
++ if (siggen(fdout) < 0)
+ errors++;
+
+- if (fd)
+- close(fd);
+- unlink(tmpfilename);
++ fclose(fpout);
+ }
+
+ if (errors)