summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorDarren Tucker <dtucker@zip.com.au>2006-08-17 19:35:49 +1000
committerDarren Tucker <dtucker@zip.com.au>2006-08-17 19:35:49 +1000
commit3083bc2b52fe00b5c5fe87dd3638969835dab0e8 (patch)
tree0ffdaf950cd854baca3e1fb54a63ee3f61fc871d
parente6b641a9a13d664fb7b98227218a0b3f65dfd40c (diff)
- (dtucker) [configure.ac openbsd-compat/bsd-closefrom.c] Use F_CLOSEM fcntl
for closefrom() on AIX. Pointed out by William Ahern.
-rw-r--r--ChangeLog4
-rw-r--r--configure.ac10
-rw-r--r--openbsd-compat/bsd-closefrom.c7
3 files changed, 18 insertions, 3 deletions
diff --git a/ChangeLog b/ChangeLog
index 911fd371..3f253c02 100644
--- a/ChangeLog
+++ b/ChangeLog
@@ -1,6 +1,8 @@
20060817
- (dtucker) [openbsd-compat/fake-rfc2553.c openbsd-compat/setproctitle.c]
Include stdlib.h for malloc and friends.
+ - (dtucker) [configure.ac openbsd-compat/bsd-closefrom.c] Use F_CLOSEM fcntl
+ for closefrom() on AIX. Pointed out by William Ahern.
20060816
- (djm) [audit-bsm.c] Sprinkle in some headers
@@ -5214,4 +5216,4 @@
- (djm) Trim deprecated options from INSTALL. Mention UsePAM
- (djm) Fix quote handling in sftp; Patch from admorten AT umich.edu
-$Id: ChangeLog,v 1.4480 2006/08/17 08:55:27 dtucker Exp $
+$Id: ChangeLog,v 1.4481 2006/08/17 09:35:49 dtucker Exp $
diff --git a/configure.ac b/configure.ac
index 31dac052..7a296ae8 100644
--- a/configure.ac
+++ b/configure.ac
@@ -1,4 +1,4 @@
-# $Id: configure.ac,v 1.348 2006/08/04 09:44:23 dtucker Exp $
+# $Id: configure.ac,v 1.349 2006/08/17 09:35:49 dtucker Exp $
#
# Copyright (c) 1999-2004 Damien Miller
#
@@ -15,7 +15,7 @@
# OR IN CONNECTION WITH THE USE OR PERFORMANCE OF THIS SOFTWARE.
AC_INIT(OpenSSH, Portable, openssh-unix-dev@mindrot.org)
-AC_REVISION($Revision: 1.348 $)
+AC_REVISION($Revision: 1.349 $)
AC_CONFIG_SRCDIR([ssh.c])
AC_CONFIG_HEADER(config.h)
@@ -180,6 +180,12 @@ case "$host" in
[#include <usersec.h>]
)
AC_CHECK_FUNCS(setauthdb)
+ AC_CHECK_DECL(F_CLOSEM,
+ AC_DEFINE(USE_FCNTL_CLOSEM, 1, [Use F_CLOSEM fcntl for closefrom]),
+ [],
+ [ #include <limits.h>
+ #include <fcntl.h> ]
+ )
check_for_aix_broken_getaddrinfo=1
AC_DEFINE(BROKEN_REALPATH, 1, [Define if you have a broken realpath.])
AC_DEFINE(SETEUID_BREAKS_SETUID, 1,
diff --git a/openbsd-compat/bsd-closefrom.c b/openbsd-compat/bsd-closefrom.c
index 3f17302d..e7a521e4 100644
--- a/openbsd-compat/bsd-closefrom.c
+++ b/openbsd-compat/bsd-closefrom.c
@@ -22,6 +22,9 @@
#include <sys/param.h>
#include <unistd.h>
#include <stdio.h>
+#ifdef HAVE_FCNTL_H
+# include <fcntl.h>
+#endif
#include <limits.h>
#include <stdlib.h>
#include <stddef.h>
@@ -76,6 +79,10 @@ closefrom(int lowfd)
}
(void) closedir(dirp);
} else
+#elif defined(USE_FCNTL_CLOSEM)
+ if (fcntl(lowfd, F_CLOSEM, 0) != -1) {
+ return;
+ } else
#endif
{
/*