diff options
-rw-r--r-- | ChangeLog | 4 | ||||
-rw-r--r-- | configure.ac | 40 | ||||
-rw-r--r-- | defines.h | 6 |
3 files changed, 42 insertions, 8 deletions
@@ -1,3 +1,7 @@ | |||
1 | 20090616 | ||
2 | - (dtucker) [configure.ac defines.h] Bug #1607: handle the case where fsid_t | ||
3 | is a struct with a __val member. Fixes build on, eg, Redhat 6.2. | ||
4 | |||
1 | 20090504 | 5 | 20090504 |
2 | - (dtucker) [sshlogin.c] Move the NO_SSH_LASTLOG #ifndef line to include | 6 | - (dtucker) [sshlogin.c] Move the NO_SSH_LASTLOG #ifndef line to include |
3 | variable declarations. Should prevent unused warnings anywhere it's set | 7 | variable declarations. Should prevent unused warnings anywhere it's set |
diff --git a/configure.ac b/configure.ac index 835c8fa6d..140c62838 100644 --- a/configure.ac +++ b/configure.ac | |||
@@ -1,4 +1,4 @@ | |||
1 | # $Id: configure.ac,v 1.419 2009/03/18 18:25:02 tim Exp $ | 1 | # $Id: configure.ac,v 1.420 2009/06/16 06:11:02 dtucker Exp $ |
2 | # | 2 | # |
3 | # Copyright (c) 1999-2004 Damien Miller | 3 | # Copyright (c) 1999-2004 Damien Miller |
4 | # | 4 | # |
@@ -15,7 +15,7 @@ | |||
15 | # OR IN CONNECTION WITH THE USE OR PERFORMANCE OF THIS SOFTWARE. | 15 | # OR IN CONNECTION WITH THE USE OR PERFORMANCE OF THIS SOFTWARE. |
16 | 16 | ||
17 | AC_INIT(OpenSSH, Portable, openssh-unix-dev@mindrot.org) | 17 | AC_INIT(OpenSSH, Portable, openssh-unix-dev@mindrot.org) |
18 | AC_REVISION($Revision: 1.419 $) | 18 | AC_REVISION($Revision: 1.420 $) |
19 | AC_CONFIG_SRCDIR([ssh.c]) | 19 | AC_CONFIG_SRCDIR([ssh.c]) |
20 | 20 | ||
21 | AC_CONFIG_HEADER(config.h) | 21 | AC_CONFIG_HEADER(config.h) |
@@ -3080,15 +3080,41 @@ if test "x$ac_cv_have_accrights_in_msghdr" = "xyes" ; then | |||
3080 | file descriptor passing]) | 3080 | file descriptor passing]) |
3081 | fi | 3081 | fi |
3082 | 3082 | ||
3083 | AC_MSG_CHECKING(if f_fsid has val members) | 3083 | AC_MSG_CHECKING(if struct statvfs.f_fsid is integral type) |
3084 | AC_TRY_COMPILE([ | 3084 | AC_TRY_COMPILE([ |
3085 | #include <sys/types.h> | 3085 | #include <sys/types.h> |
3086 | #include <sys/stat.h> | ||
3087 | #ifdef HAVE_SYS_TIME_H | ||
3088 | # include <sys/time.h> | ||
3089 | #endif | ||
3090 | #ifdef HAVE_SYS_MOUNT_H | ||
3091 | #include <sys/mount.h> | ||
3092 | #endif | ||
3093 | #ifdef HAVE_SYS_STATVFS_H | ||
3094 | #include <sys/statvfs.h> | ||
3095 | #endif | ||
3096 | ], [struct statvfs s; s.f_fsid = 0;], | ||
3097 | [ AC_MSG_RESULT(yes) ], | ||
3098 | [ AC_MSG_RESULT(no) | ||
3099 | |||
3100 | AC_MSG_CHECKING(if fsid_t has member val) | ||
3101 | AC_TRY_COMPILE([ | ||
3102 | #include <sys/types.h> | ||
3086 | #include <sys/statvfs.h>], | 3103 | #include <sys/statvfs.h>], |
3087 | [struct fsid_t t; t.val[0] = 0;], | 3104 | [fsid_t t; t.val[0] = 0;], |
3088 | [ AC_MSG_RESULT(yes) | 3105 | [ AC_MSG_RESULT(yes) |
3089 | AC_DEFINE(FSID_HAS_VAL, 1, f_fsid has members) ], | 3106 | AC_DEFINE(FSID_HAS_VAL, 1, fsid_t has member val) ], |
3090 | [ AC_MSG_RESULT(no) ] | 3107 | [ AC_MSG_RESULT(no) ]) |
3091 | ) | 3108 | |
3109 | AC_MSG_CHECKING(if f_fsid has member __val) | ||
3110 | AC_TRY_COMPILE([ | ||
3111 | #include <sys/types.h> | ||
3112 | #include <sys/statvfs.h>], | ||
3113 | [fsid_t t; t.__val[0] = 0;], | ||
3114 | [ AC_MSG_RESULT(yes) | ||
3115 | AC_DEFINE(FSID_HAS___VAL, 1, fsid_t has member __val) ], | ||
3116 | [ AC_MSG_RESULT(no) ]) | ||
3117 | ]) | ||
3092 | 3118 | ||
3093 | AC_CACHE_CHECK([for msg_control field in struct msghdr], | 3119 | AC_CACHE_CHECK([for msg_control field in struct msghdr], |
3094 | ac_cv_have_control_in_msghdr, [ | 3120 | ac_cv_have_control_in_msghdr, [ |
@@ -25,7 +25,7 @@ | |||
25 | #ifndef _DEFINES_H | 25 | #ifndef _DEFINES_H |
26 | #define _DEFINES_H | 26 | #define _DEFINES_H |
27 | 27 | ||
28 | /* $Id: defines.h,v 1.154 2009/03/07 01:32:22 dtucker Exp $ */ | 28 | /* $Id: defines.h,v 1.155 2009/06/16 06:11:02 dtucker Exp $ */ |
29 | 29 | ||
30 | 30 | ||
31 | /* Constants */ | 31 | /* Constants */ |
@@ -594,6 +594,10 @@ struct winsize { | |||
594 | #define FSID_TO_ULONG(f) \ | 594 | #define FSID_TO_ULONG(f) \ |
595 | ((((u_int64_t)(f).val[0] & 0xffffffffUL) << 32) | \ | 595 | ((((u_int64_t)(f).val[0] & 0xffffffffUL) << 32) | \ |
596 | ((f).val[1] & 0xffffffffUL)) | 596 | ((f).val[1] & 0xffffffffUL)) |
597 | #elif defined(FSID_HAS___VAL) | ||
598 | #define FSID_TO_ULONG(f) \ | ||
599 | ((((u_int64_t)(f).__val[0] & 0xffffffffUL) << 32) | \ | ||
600 | ((f).__val[1] & 0xffffffffUL)) | ||
597 | #else | 601 | #else |
598 | # define FSID_TO_ULONG(f) ((f)) | 602 | # define FSID_TO_ULONG(f) ((f)) |
599 | #endif | 603 | #endif |