mirror of
https://github.com/PowerShell/openssh-portable.git
synced 2025-09-23 09:58:50 +02:00
- (dtucker) [configure.ac defines.h sftp-client.c sftp-server.c sftp.c] Do not enable statvfs extensions on platforms that do not have statvfs. ok djm@
This commit is contained in:
parent
ce38d8234d
commit
5b2e2ba9e4
@ -1,5 +1,7 @@
|
|||||||
20080607
|
20080607
|
||||||
- (dtucker) [mux.c] Include paths.h inside ifdef HAVE_PATHS_H.
|
- (dtucker) [mux.c] Include paths.h inside ifdef HAVE_PATHS_H.
|
||||||
|
- (dtucker) [configure.ac defines.h sftp-client.c sftp-server.c sftp.c]
|
||||||
|
Do not enable statvfs extensions on platforms that do not have statvfs.
|
||||||
|
|
||||||
20080604
|
20080604
|
||||||
- (djm) [openbsd-compat/bsd-arc4random.c] Fix math bug that caused bias
|
- (djm) [openbsd-compat/bsd-arc4random.c] Fix math bug that caused bias
|
||||||
@ -4031,4 +4033,4 @@
|
|||||||
OpenServer 6 and add osr5bigcrypt support so when someone migrates
|
OpenServer 6 and add osr5bigcrypt support so when someone migrates
|
||||||
passwords between UnixWare and OpenServer they will still work. OK dtucker@
|
passwords between UnixWare and OpenServer they will still work. OK dtucker@
|
||||||
|
|
||||||
$Id: ChangeLog,v 1.4937 2008/06/06 20:25:15 dtucker Exp $
|
$Id: ChangeLog,v 1.4938 2008/06/07 23:25:28 dtucker Exp $
|
||||||
|
@ -1,4 +1,4 @@
|
|||||||
# $Id: configure.ac,v 1.399 2008/05/19 22:57:06 djm Exp $
|
# $Id: configure.ac,v 1.400 2008/06/07 23:25:28 dtucker Exp $
|
||||||
#
|
#
|
||||||
# Copyright (c) 1999-2004 Damien Miller
|
# Copyright (c) 1999-2004 Damien Miller
|
||||||
#
|
#
|
||||||
@ -15,7 +15,7 @@
|
|||||||
# OR IN CONNECTION WITH THE USE OR PERFORMANCE OF THIS SOFTWARE.
|
# OR IN CONNECTION WITH THE USE OR PERFORMANCE OF THIS SOFTWARE.
|
||||||
|
|
||||||
AC_INIT(OpenSSH, Portable, openssh-unix-dev@mindrot.org)
|
AC_INIT(OpenSSH, Portable, openssh-unix-dev@mindrot.org)
|
||||||
AC_REVISION($Revision: 1.399 $)
|
AC_REVISION($Revision: 1.400 $)
|
||||||
AC_CONFIG_SRCDIR([ssh.c])
|
AC_CONFIG_SRCDIR([ssh.c])
|
||||||
|
|
||||||
AC_CONFIG_HEADER(config.h)
|
AC_CONFIG_HEADER(config.h)
|
||||||
@ -267,6 +267,7 @@ AC_CHECK_HEADERS( \
|
|||||||
sys/cdefs.h \
|
sys/cdefs.h \
|
||||||
sys/dir.h \
|
sys/dir.h \
|
||||||
sys/mman.h \
|
sys/mman.h \
|
||||||
|
sys/mount.h \
|
||||||
sys/ndir.h \
|
sys/ndir.h \
|
||||||
sys/poll.h \
|
sys/poll.h \
|
||||||
sys/prctl.h \
|
sys/prctl.h \
|
||||||
@ -276,6 +277,7 @@ AC_CHECK_HEADERS( \
|
|||||||
sys/stream.h \
|
sys/stream.h \
|
||||||
sys/stropts.h \
|
sys/stropts.h \
|
||||||
sys/strtio.h \
|
sys/strtio.h \
|
||||||
|
sys/statvfs.h \
|
||||||
sys/sysmacros.h \
|
sys/sysmacros.h \
|
||||||
sys/time.h \
|
sys/time.h \
|
||||||
sys/timers.h \
|
sys/timers.h \
|
||||||
@ -1354,6 +1356,8 @@ AC_CHECK_FUNCS( \
|
|||||||
sigvec \
|
sigvec \
|
||||||
snprintf \
|
snprintf \
|
||||||
socketpair \
|
socketpair \
|
||||||
|
statfs \
|
||||||
|
statvfs \
|
||||||
strdup \
|
strdup \
|
||||||
strerror \
|
strerror \
|
||||||
strlcat \
|
strlcat \
|
||||||
|
@ -25,7 +25,7 @@
|
|||||||
#ifndef _DEFINES_H
|
#ifndef _DEFINES_H
|
||||||
#define _DEFINES_H
|
#define _DEFINES_H
|
||||||
|
|
||||||
/* $Id: defines.h,v 1.146 2008/02/28 08:22:04 dtucker Exp $ */
|
/* $Id: defines.h,v 1.147 2008/06/07 23:25:28 dtucker Exp $ */
|
||||||
|
|
||||||
|
|
||||||
/* Constants */
|
/* Constants */
|
||||||
@ -567,6 +567,10 @@ struct winsize {
|
|||||||
# define CUSTOM_SSH_AUDIT_EVENTS
|
# define CUSTOM_SSH_AUDIT_EVENTS
|
||||||
#endif
|
#endif
|
||||||
|
|
||||||
|
#if defined(HAVE_STATVFS)
|
||||||
|
# define USE_STATVFS
|
||||||
|
#endif
|
||||||
|
|
||||||
#if !defined(HAVE___func__) && defined(HAVE___FUNCTION__)
|
#if !defined(HAVE___func__) && defined(HAVE___FUNCTION__)
|
||||||
# define __func__ __FUNCTION__
|
# define __func__ __FUNCTION__
|
||||||
#elif !defined(HAVE___func__)
|
#elif !defined(HAVE___func__)
|
||||||
|
@ -24,7 +24,9 @@
|
|||||||
|
|
||||||
#include <sys/types.h>
|
#include <sys/types.h>
|
||||||
#include <sys/param.h>
|
#include <sys/param.h>
|
||||||
|
#ifdef HAVE_SYS_STATVFS_H
|
||||||
#include <sys/statvfs.h>
|
#include <sys/statvfs.h>
|
||||||
|
#endif
|
||||||
#include "openbsd-compat/sys-queue.h"
|
#include "openbsd-compat/sys-queue.h"
|
||||||
#ifdef HAVE_SYS_STAT_H
|
#ifdef HAVE_SYS_STAT_H
|
||||||
# include <sys/stat.h>
|
# include <sys/stat.h>
|
||||||
@ -241,6 +243,7 @@ get_decode_stat(int fd, u_int expected_id, int quiet)
|
|||||||
return(a);
|
return(a);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
#ifdef USE_STATVFS
|
||||||
static int
|
static int
|
||||||
get_decode_statvfs(int fd, struct statvfs *st, u_int expected_id, int quiet)
|
get_decode_statvfs(int fd, struct statvfs *st, u_int expected_id, int quiet)
|
||||||
{
|
{
|
||||||
@ -290,6 +293,7 @@ get_decode_statvfs(int fd, struct statvfs *st, u_int expected_id, int quiet)
|
|||||||
|
|
||||||
return 0;
|
return 0;
|
||||||
}
|
}
|
||||||
|
#endif
|
||||||
|
|
||||||
struct sftp_conn *
|
struct sftp_conn *
|
||||||
do_init(int fd_in, int fd_out, u_int transfer_buflen, u_int num_requests)
|
do_init(int fd_in, int fd_out, u_int transfer_buflen, u_int num_requests)
|
||||||
@ -809,6 +813,7 @@ do_readlink(struct sftp_conn *conn, char *path)
|
|||||||
}
|
}
|
||||||
#endif
|
#endif
|
||||||
|
|
||||||
|
#ifdef USE_STATVFS
|
||||||
int
|
int
|
||||||
do_statvfs(struct sftp_conn *conn, const char *path, struct statvfs *st,
|
do_statvfs(struct sftp_conn *conn, const char *path, struct statvfs *st,
|
||||||
int quiet)
|
int quiet)
|
||||||
@ -834,6 +839,7 @@ do_statvfs(struct sftp_conn *conn, const char *path, struct statvfs *st,
|
|||||||
|
|
||||||
return get_decode_statvfs(conn->fd_in, st, id, quiet);
|
return get_decode_statvfs(conn->fd_in, st, id, quiet);
|
||||||
}
|
}
|
||||||
|
#endif
|
||||||
|
|
||||||
#ifdef notyet
|
#ifdef notyet
|
||||||
int
|
int
|
||||||
|
@ -23,8 +23,12 @@
|
|||||||
#ifdef HAVE_SYS_TIME_H
|
#ifdef HAVE_SYS_TIME_H
|
||||||
# include <sys/time.h>
|
# include <sys/time.h>
|
||||||
#endif
|
#endif
|
||||||
|
#ifdef HAVE_SYS_MOUNT_H
|
||||||
#include <sys/mount.h>
|
#include <sys/mount.h>
|
||||||
|
#endif
|
||||||
|
#ifdef HAVE_SYS_STATVFS_H
|
||||||
#include <sys/statvfs.h>
|
#include <sys/statvfs.h>
|
||||||
|
#endif
|
||||||
|
|
||||||
#include <dirent.h>
|
#include <dirent.h>
|
||||||
#include <errno.h>
|
#include <errno.h>
|
||||||
@ -477,6 +481,7 @@ send_attrib(u_int32_t id, const Attrib *a)
|
|||||||
buffer_free(&msg);
|
buffer_free(&msg);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
#ifdef USE_STATVFS
|
||||||
static void
|
static void
|
||||||
send_statvfs(u_int32_t id, struct statvfs *st)
|
send_statvfs(u_int32_t id, struct statvfs *st)
|
||||||
{
|
{
|
||||||
@ -503,6 +508,7 @@ send_statvfs(u_int32_t id, struct statvfs *st)
|
|||||||
send_msg(&msg);
|
send_msg(&msg);
|
||||||
buffer_free(&msg);
|
buffer_free(&msg);
|
||||||
}
|
}
|
||||||
|
#endif
|
||||||
|
|
||||||
/* parse incoming */
|
/* parse incoming */
|
||||||
|
|
||||||
@ -519,12 +525,14 @@ process_init(void)
|
|||||||
/* POSIX rename extension */
|
/* POSIX rename extension */
|
||||||
buffer_put_cstring(&msg, "posix-rename@openssh.com");
|
buffer_put_cstring(&msg, "posix-rename@openssh.com");
|
||||||
buffer_put_cstring(&msg, "1"); /* version */
|
buffer_put_cstring(&msg, "1"); /* version */
|
||||||
|
#ifdef USEE_STATVFS
|
||||||
/* statvfs extension */
|
/* statvfs extension */
|
||||||
buffer_put_cstring(&msg, "statvfs@openssh.com");
|
buffer_put_cstring(&msg, "statvfs@openssh.com");
|
||||||
buffer_put_cstring(&msg, "1"); /* version */
|
buffer_put_cstring(&msg, "1"); /* version */
|
||||||
/* fstatvfs extension */
|
/* fstatvfs extension */
|
||||||
buffer_put_cstring(&msg, "fstatvfs@openssh.com");
|
buffer_put_cstring(&msg, "fstatvfs@openssh.com");
|
||||||
buffer_put_cstring(&msg, "1"); /* version */
|
buffer_put_cstring(&msg, "1"); /* version */
|
||||||
|
#endif
|
||||||
send_msg(&msg);
|
send_msg(&msg);
|
||||||
buffer_free(&msg);
|
buffer_free(&msg);
|
||||||
}
|
}
|
||||||
@ -1134,6 +1142,7 @@ process_extended_posix_rename(u_int32_t id)
|
|||||||
xfree(newpath);
|
xfree(newpath);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
#ifdef USE_STATVFS
|
||||||
static void
|
static void
|
||||||
process_extended_statvfs(u_int32_t id)
|
process_extended_statvfs(u_int32_t id)
|
||||||
{
|
{
|
||||||
@ -1169,6 +1178,7 @@ process_extended_fstatvfs(u_int32_t id)
|
|||||||
else
|
else
|
||||||
send_statvfs(id, &st);
|
send_statvfs(id, &st);
|
||||||
}
|
}
|
||||||
|
#endif
|
||||||
|
|
||||||
static void
|
static void
|
||||||
process_extended(void)
|
process_extended(void)
|
||||||
@ -1180,10 +1190,12 @@ process_extended(void)
|
|||||||
request = get_string(NULL);
|
request = get_string(NULL);
|
||||||
if (strcmp(request, "posix-rename@openssh.com") == 0)
|
if (strcmp(request, "posix-rename@openssh.com") == 0)
|
||||||
process_extended_posix_rename(id);
|
process_extended_posix_rename(id);
|
||||||
|
#ifdef USE_STATVFS
|
||||||
else if (strcmp(request, "statvfs@openssh.com") == 0)
|
else if (strcmp(request, "statvfs@openssh.com") == 0)
|
||||||
process_extended_statvfs(id);
|
process_extended_statvfs(id);
|
||||||
else if (strcmp(request, "fstatvfs@openssh.com") == 0)
|
else if (strcmp(request, "fstatvfs@openssh.com") == 0)
|
||||||
process_extended_fstatvfs(id);
|
process_extended_fstatvfs(id);
|
||||||
|
#endif
|
||||||
else
|
else
|
||||||
send_status(id, SSH2_FX_OP_UNSUPPORTED); /* MUST */
|
send_status(id, SSH2_FX_OP_UNSUPPORTED); /* MUST */
|
||||||
xfree(request);
|
xfree(request);
|
||||||
|
7
sftp.c
7
sftp.c
@ -25,7 +25,9 @@
|
|||||||
#include <sys/param.h>
|
#include <sys/param.h>
|
||||||
#include <sys/socket.h>
|
#include <sys/socket.h>
|
||||||
#include <sys/wait.h>
|
#include <sys/wait.h>
|
||||||
|
#ifdef HAVE_SYS_STATVFS_H
|
||||||
#include <sys/statvfs.h>
|
#include <sys/statvfs.h>
|
||||||
|
#endif
|
||||||
|
|
||||||
#include <ctype.h>
|
#include <ctype.h>
|
||||||
#include <errno.h>
|
#include <errno.h>
|
||||||
@ -840,6 +842,7 @@ do_globbed_ls(struct sftp_conn *conn, char *path, char *strip_path,
|
|||||||
static int
|
static int
|
||||||
do_df(struct sftp_conn *conn, char *path, int hflag, int iflag)
|
do_df(struct sftp_conn *conn, char *path, int hflag, int iflag)
|
||||||
{
|
{
|
||||||
|
#ifdef USE_STATVFS
|
||||||
struct statvfs st;
|
struct statvfs st;
|
||||||
char s_used[FMT_SCALED_STRSIZE];
|
char s_used[FMT_SCALED_STRSIZE];
|
||||||
char s_avail[FMT_SCALED_STRSIZE];
|
char s_avail[FMT_SCALED_STRSIZE];
|
||||||
@ -885,6 +888,10 @@ do_df(struct sftp_conn *conn, char *path, int hflag, int iflag)
|
|||||||
st.f_blocks));
|
st.f_blocks));
|
||||||
}
|
}
|
||||||
return 0;
|
return 0;
|
||||||
|
#else
|
||||||
|
error("client does not support statvfs extension");
|
||||||
|
return -1;
|
||||||
|
#endif
|
||||||
}
|
}
|
||||||
|
|
||||||
/*
|
/*
|
||||||
|
Loading…
x
Reference in New Issue
Block a user