[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
bug#29001: --disable-tmpnam
From: |
Matt Wette |
Subject: |
bug#29001: --disable-tmpnam |
Date: |
Sat, 21 Mar 2020 13:22:07 -0700 |
User-agent: |
Mozilla/5.0 (X11; Linux x86_64; rv:68.0) Gecko/20100101 Thunderbird/68.4.1 |
"make" and "make check" succeeds on 3.0.1 / Ubuntu 18.04 / x86_64 with
1) --disable-tmpnam
2) --enable-tmpnam
3) neither
This updates libguile/posix.c and configure.ac to allow extra
configuration option --disable-tmpnam. This is made available
for installations that don't want to allow the insecure tmpnam
function. (Use mkstemp! instead.)
--- libguile/posix.c-orig 2020-03-18 16:55:09.349588085 -0700
+++ libguile/posix.c 2020-03-18 17:07:20.860142083 -0700
@@ -65,6 +65,7 @@
#include "async.h"
#include "bitvectors.h"
+#include "deprecation.h"
#include "dynwind.h"
#include "extensions.h"
#include "feature.h"
@@ -1588,6 +1589,7 @@
}
#undef FUNC_NAME
+#ifdef ENABLE_TMPNAM
#ifdef L_tmpnam
SCM_DEFINE (scm_tmpnam, "tmpnam", 0, 0, 0,
@@ -1602,6 +1604,9 @@
char name[L_tmpnam];
char *rv;
+ scm_c_issue_deprecation_warning
+ ("Use of tmpnam is deprecated. Use mkstemp! instead.");
+
SCM_SYSCALL (rv = tmpnam (name));
if (rv == NULL)
/* not SCM_SYSERROR since errno probably not set. */
@@ -1611,6 +1616,7 @@
#undef FUNC_NAME
#endif
+#endif
SCM_DEFINE (scm_tmpfile, "tmpfile", 0, 0, 0,
(void),
--- configure.ac-orig 2020-03-18 17:11:17.977427035 -0700
+++ configure.ac 2020-03-18 17:09:57.850334685 -0700
@@ -166,6 +166,10 @@
[ --disable-regex omit regular expression interfaces],,
enable_regex=yes)
+AC_ARG_ENABLE(tmpnam,
+ [ --disable-tmpnam omit POSIX tmpnam],,
+ enable_tmpnam=yes)
+
AC_ARG_ENABLE([deprecated],
AS_HELP_STRING([--disable-deprecated],[omit deprecated features]))
@@ -909,6 +913,10 @@
AC_DEFINE([ENABLE_REGEX], 1, [Define when regex support is enabled.])
fi
+if test "$enable_tmpnam" = yes; then
+ AC_DEFINE([ENABLE_TMPNAM], 1, [Define when tmpnam support is enabled.])
+fi
+
AC_REPLACE_FUNCS([strerror memmove])
# Reasons for testing:
- bug#29001: --disable-tmpnam,
Matt Wette <=