summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--ChangeLog4
-rw-r--r--configure.ac40
-rw-r--r--defines.h6
3 files changed, 42 insertions, 8 deletions
diff --git a/ChangeLog b/ChangeLog
index 79dc37701..82d5c20ca 100644
--- a/ChangeLog
+++ b/ChangeLog
@@ -1,3 +1,7 @@
120090616
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
120090504 520090504
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
17AC_INIT(OpenSSH, Portable, openssh-unix-dev@mindrot.org) 17AC_INIT(OpenSSH, Portable, openssh-unix-dev@mindrot.org)
18AC_REVISION($Revision: 1.419 $) 18AC_REVISION($Revision: 1.420 $)
19AC_CONFIG_SRCDIR([ssh.c]) 19AC_CONFIG_SRCDIR([ssh.c])
20 20
21AC_CONFIG_HEADER(config.h) 21AC_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])
3081fi 3081fi
3082 3082
3083AC_MSG_CHECKING(if f_fsid has val members) 3083AC_MSG_CHECKING(if struct statvfs.f_fsid is integral type)
3084AC_TRY_COMPILE([ 3084AC_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
3093AC_CACHE_CHECK([for msg_control field in struct msghdr], 3119AC_CACHE_CHECK([for msg_control field in struct msghdr],
3094 ac_cv_have_control_in_msghdr, [ 3120 ac_cv_have_control_in_msghdr, [
diff --git a/defines.h b/defines.h
index 457b6a35e..2ccded266 100644
--- a/defines.h
+++ b/defines.h
@@ -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