summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorDarren Tucker <dtucker@zip.com.au>2008-06-09 06:17:53 +1000
committerDarren Tucker <dtucker@zip.com.au>2008-06-09 06:17:53 +1000
commit77001384cc067a4613dd6d7a07b9a786f7d7f1bb (patch)
tree5f1eb47742ba656c70a291af95f442539e99d104
parent598eaa6c0c36c3169963c7e6505d53b4073590f5 (diff)
- (dtucker) [configure.ac defines.h sftp-client.c M sftp-server.c] Add a
macro to convert fsid to unsigned long for platforms where fsid is a 2-member array.
-rw-r--r--ChangeLog5
-rw-r--r--configure.ac14
-rw-r--r--defines.h11
-rw-r--r--sftp-server.c2
4 files changed, 27 insertions, 5 deletions
diff --git a/ChangeLog b/ChangeLog
index 9b3e1d6d3..31abe27b1 100644
--- a/ChangeLog
+++ b/ChangeLog
@@ -3,6 +3,9 @@
3 openbsd-compat/Makefile.in openbsd-compat/openbsd-compat.h 3 openbsd-compat/Makefile.in openbsd-compat/openbsd-compat.h
4 openbsd-compat/bsd-statvfs.{c,h}] Add a null implementation of statvfs and 4 openbsd-compat/bsd-statvfs.{c,h}] Add a null implementation of statvfs and
5 fstatvfs and remove #defines around statvfs code. ok djm@ 5 fstatvfs and remove #defines around statvfs code. ok djm@
6 - (dtucker) [configure.ac defines.h sftp-client.c M sftp-server.c] Add a
7 macro to convert fsid to unsigned long for platforms where fsid is a
8 2-member array.
6 9
720080607 1020080607
8 - (dtucker) [mux.c] Include paths.h inside ifdef HAVE_PATHS_H. 11 - (dtucker) [mux.c] Include paths.h inside ifdef HAVE_PATHS_H.
@@ -4060,4 +4063,4 @@
4060 OpenServer 6 and add osr5bigcrypt support so when someone migrates 4063 OpenServer 6 and add osr5bigcrypt support so when someone migrates
4061 passwords between UnixWare and OpenServer they will still work. OK dtucker@ 4064 passwords between UnixWare and OpenServer they will still work. OK dtucker@
4062 4065
4063$Id: ChangeLog,v 1.4943 2008/06/08 17:32:29 dtucker Exp $ 4066$Id: ChangeLog,v 1.4944 2008/06/08 20:17:53 dtucker Exp $
diff --git a/configure.ac b/configure.ac
index 4f3ec2a20..9f39b2333 100644
--- a/configure.ac
+++ b/configure.ac
@@ -1,4 +1,4 @@
1# $Id: configure.ac,v 1.401 2008/06/08 17:32:29 dtucker Exp $ 1# $Id: configure.ac,v 1.402 2008/06/08 20:17:53 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.401 $) 18AC_REVISION($Revision: 1.402 $)
19AC_CONFIG_SRCDIR([ssh.c]) 19AC_CONFIG_SRCDIR([ssh.c])
20 20
21AC_CONFIG_HEADER(config.h) 21AC_CONFIG_HEADER(config.h)
@@ -3026,6 +3026,16 @@ if test "x$ac_cv_have_accrights_in_msghdr" = "xyes" ; then
3026 file descriptor passing]) 3026 file descriptor passing])
3027fi 3027fi
3028 3028
3029AC_MSG_CHECKING(if f_fsid has val members)
3030AC_TRY_COMPILE([
3031#include <sys/types.h>
3032#include <sys/statvfs.h>],
3033[struct fsid_t t; t.val[0] = 0;],
3034 [ AC_MSG_RESULT(yes)
3035 AC_DEFINE(FSID_HAS_VAL, 1, f_fsid has members) ],
3036 [ AC_MSG_RESULT(no) ]
3037)
3038
3029AC_CACHE_CHECK([for msg_control field in struct msghdr], 3039AC_CACHE_CHECK([for msg_control field in struct msghdr],
3030 ac_cv_have_control_in_msghdr, [ 3040 ac_cv_have_control_in_msghdr, [
3031 AC_COMPILE_IFELSE( 3041 AC_COMPILE_IFELSE(
diff --git a/defines.h b/defines.h
index 7bb3a55e8..0665d2b51 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.148 2008/06/08 17:32:29 dtucker Exp $ */ 28/* $Id: defines.h,v 1.149 2008/06/08 20:17:53 dtucker Exp $ */
29 29
30 30
31/* Constants */ 31/* Constants */
@@ -590,6 +590,15 @@ struct winsize {
590# define SSH_SYSFDMAX 10000 590# define SSH_SYSFDMAX 10000
591#endif 591#endif
592 592
593#ifdef FSID_HAS_VAL
594/* encode f_fsid into a 64 bit value */
595#define FSID_TO_ULONG(f) \
596 ((((u_int64_t)(f).val[0] & 0xffffffffUL) << 32) | \
597 ((f).val[1] & 0xffffffffUL))
598#else
599# define FSID_TO_ULONG(f) ((f))
600#endif
601
593#if defined(__Lynx__) 602#if defined(__Lynx__)
594 /* 603 /*
595 * LynxOS defines these in param.h which we do not want to include since 604 * LynxOS defines these in param.h which we do not want to include since
diff --git a/sftp-server.c b/sftp-server.c
index 9c3128347..f69926164 100644
--- a/sftp-server.c
+++ b/sftp-server.c
@@ -501,7 +501,7 @@ send_statvfs(u_int32_t id, struct statvfs *st)
501 buffer_put_int64(&msg, st->f_files); 501 buffer_put_int64(&msg, st->f_files);
502 buffer_put_int64(&msg, st->f_ffree); 502 buffer_put_int64(&msg, st->f_ffree);
503 buffer_put_int64(&msg, st->f_favail); 503 buffer_put_int64(&msg, st->f_favail);
504 buffer_put_int64(&msg, st->f_fsid); 504 buffer_put_int64(&msg, FSID_TO_ULONG(st->f_fsid));
505 buffer_put_int(&msg, flag); 505 buffer_put_int(&msg, flag);
506 buffer_put_int(&msg, st->f_namemax); 506 buffer_put_int(&msg, st->f_namemax);
507 send_msg(&msg); 507 send_msg(&msg);