summaryrefslogtreecommitdiff
path: root/security/tripwire12/files/patch-mktemp
diff options
context:
space:
mode:
Diffstat (limited to 'security/tripwire12/files/patch-mktemp')
-rw-r--r--security/tripwire12/files/patch-mktemp239
1 files changed, 0 insertions, 239 deletions
diff --git a/security/tripwire12/files/patch-mktemp b/security/tripwire12/files/patch-mktemp
deleted file mode 100644
index 3e871d4b6e5b..000000000000
--- a/security/tripwire12/files/patch-mktemp
+++ /dev/null
@@ -1,239 +0,0 @@
-This patches replace all uses of the (potentially insecure) mktemp(3)
-with a much safer tmpfile(3).
-
---- src/config.parse.c Wed Jul 20 21:03:26 1994
-+++ src/config.parse.c Wed May 17 17:30:22 2000
-@@ -55,7 +55,6 @@
- #endif
-
- /* prototypes */
--char *mktemp();
- static void configfile_descend();
-
- #ifndef L_tmpnam
-@@ -86,7 +85,6 @@
- char ignorestring[1024];
- char s[MAXPATHLEN+1024];
- char configfile[MAXPATHLEN+512];
-- char *tmpfilename;
- char number[128];
- int entrynum = 0;
- int err;
-@@ -98,18 +96,6 @@
- if (!printpreprocess && !quietmode)
- fputs("### Phase 1: Reading configuration file\n", stderr);
-
-- /* generate temporary file name */
-- if ((tmpfilename = (char *) malloc(L_tmpnam + MAXPATHLEN)) == NULL) {
-- perror("configfile_read: malloc()");
-- exit(1);
-- };
-- (void) strcpy(tmpfilename, TEMPFILE_TEMPLATE);
--
-- if ((char *) mktemp(tmpfilename) == NULL) {
-- perror("configfile_read: mktemp()");
-- exit(1);
-- }
--
- /* generate configuration file name */
- if (specified_configmode != SPECIFIED_FILE)
- sprintf(configfile, "%s/%s", config_path, config_file);
-@@ -149,25 +135,17 @@
-
- err = umask(077); /* to protect the tempfile */
-
-- if ((fpout = fopen(tmpfilename, "w+")) == NULL) {
-- sprintf(s, "tripwire: Couldn't open config file '%s'", configfile);
-- perror(s);
-- exit(1);
-- }
-- (void) umask(err); /* return it to its former state */
--
-- /* The following unlink accomplishes two things:
-+ /* The use of tmpfile(3) accomplishes two things:
- * 1) if the program terminates, we won't leave a temp
- * file sitting around with potentially sensitive names
- * in it.
- * 2) the file is "hidden" while we run
- */
-- if (unlink(tmpfilename) < 0) {
-- perror("configfile_read: unlink()");
-+ if ((fpout = tmpfile()) == NULL) {
-+ perror("tmpfile");
- exit(1);
- }
-- free(tmpfilename);
--
-+ (void) umask(err); /* return it to its former state */
-
- /*
- * pass 0: preprocess file
---- src/dbase.build.c Mon Jul 25 11:24:09 1994
-+++ src/dbase.build.c Wed May 17 18:22:14 2000
-@@ -66,7 +66,6 @@
- int files_scanned_num = 0;
-
- /* prototypes */
--char *mktemp();
- static void database_record_write();
-
- char backupfile[MAXPATHLEN+256];
-@@ -125,17 +124,7 @@
-
- /* where do we write the new database? */
- if (mode == DBASE_TEMPORARY) {
-- char *tmpfilename = (char *) malloc(strlen(TEMPFILE_TEMPLATE)+1);
-- if (tmpfilename == NULL)
-- 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);
--
-- (void) strcpy(tempdatabase_file, tmpfilename);
-- (void) strcpy(database, tempdatabase_file);
-- free(tmpfilename);
-+ /* do nothing */
- } /* end if temporary database */
- else if (mode == DBASE_UPDATE) {
- sprintf(database, "./databases/%s", database_file);
-@@ -224,6 +213,12 @@
- }
-
- /* rebuild the database */
-+ if (mode == DBASE_TEMPORARY) {
-+ fpw = tmpfile();
-+ if (fpw == NULL)
-+ die_with_err("call tmpfile(3) failed. Check your TMPDIR setting",
-+ NULL);
-+ } else
- if ((fpw = fopen(database, "w")) == NULL)
- die_with_err("Hint: Maybe the database directory '%s' doesn't exist? fopen()", database);
-
-@@ -369,6 +364,6 @@
-
-- /* we don't want to allow anyone to spoof the temporary file in /tmp */
-+ /* if the database was temporary, the file was opened by tmpfile(3) --
-+ as such, it can not be accessed by anything but this process */
- if (mode == DBASE_TEMPORARY) {
-- if ((fptempdbase = freopen(database, "r", fpw)) == NULL)
-- die_with_err("temporary database file disappeared?!?", database);
-+ fptempdbase = fpw;
- rewind(fptempdbase);
---- src/main.c Fri Aug 26 04:23:03 1994
-+++ src/main.c Wed May 17 18:01:00 2000
-@@ -108,7 +108,6 @@
- char *database_path = DATABASE_PATH;
- char *config_path = CONFIG_PATH;
-
--char tempdatabase_file[MAXPATHLEN+256];
- FILE *fptempdbase;
-
- char *defaultignore = DEFAULTIGNORE;
---- src/preen.c Mon Jul 25 11:24:11 1994
-+++ src/preen.c Wed May 17 18:22:22 2000
-@@ -37,7 +37,6 @@
- static int numentriesread = 0; /* running count of @@contents */
-
- /* prototypes */
--char *mktemp();
- static void olddbasefile_load();
-
- char *updatemodes[] = {
-@@ -97,9 +96,6 @@
- preen_report(interactive, ppp_updateentries);
- if (!specified_configmode)
- (void) fclose(fp_in);
--
-- /* remove the temporary database file */
-- (void) unlink(tempdatabase_file);
-
- SPDEBUG(3) printf("*** leaving update_gather()\n");
-
---- src/siggen.c Mon Jul 25 11:24:12 1994
-+++ src/siggen.c Wed May 17 18:36:51 2000
-@@ -52,7 +52,6 @@
-
- extern int optind;
- int debuglevel = 0;
--char *mktemp();
-
- int (*pf_signatures [NUM_SIGS]) () = {
- SIG0FUNC,
-@@ -84,7 +83,6 @@
- };
- int verbosity = 0;
- int quietmode = 0;
--char *tmpfilename = NULL;
- int readstdin = 0;
-
-
-@@ -167,19 +167,6 @@
- FILE *fpout;
-- /* generate temporary file name */
-- if ((tmpfilename = (char *) malloc(L_tmpnam + MAXPATHLEN)) == NULL) {
-- perror("main: malloc()");
-- exit(1);
-- };
-- (void) strcpy(tmpfilename, "/tmp/twzXXXXXX");
--
-- if ((char *) mktemp(tmpfilename) == NULL) {
-- perror("siggen: mktemp()");
-- exit(1);
-- }
-
- /* output */
-- if (!(fpout = fopen(tmpfilename, "w"))) {
-- char err[1024];
-- sprintf(err, "main: fopen(%s)", tmpfilename);
-- perror(err);
-+ if (!(fpout = tmpfile())) {
-+ perror("tmpfile()");
- exit(1);
-@@ -189,12 +176,6 @@
- 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(fileno(fpout)) < 0)
- errors++;
-
-- if (fd)
-- close(fd);
-+ close(fd);
-- unlink(tmpfilename);
---- src/utils.c Mon Jul 25 12:23:16 1994
-+++ src/utils.c Wed May 17 18:21:38 2000
-@@ -785,23 +785,15 @@
- int
- fd_tempfilename_generate()
- {
-- char tmp[MAXPATHLEN+256];
-- int fd;
-+ FILE *tmp;
-
-- (void) strcpy(tmp, TEMPFILE_TEMPLATE);
-- if ((char *) mktemp(tmp) == NULL) {
-- perror("tempfilename_generate: mktemp()");
-+ tmp = tmpfile();
-+ if (tmp == NULL) {
-+ perror("tempfilename_generate: tmpfile()");
- exit(1);
- }
-
-- if ((fd = open(tmp, O_RDWR | O_CREAT, 0600)) < 0) {
-- perror("tempfilename_generate: open()");
-- exit(1);
-- }
-- /* unlink right away to make sure no one can tamper with our file */
-- unlink(tmp);
--
-- return fd;
-+ return fileno(tmp);
- }
-
- /*