From ad9f0cf2a32a9f68dd28b26cc9eb1a384e910804 Mon Sep 17 00:00:00 2001 From: Miklos Szeredi Date: Tue, 11 Dec 2007 19:39:58 +0000 Subject: Released 1.9 --- ChangeLog | 14 +++++++++++++- NEWS | 6 ++++++ configure.ac | 19 ++++++++++++++++++- sshfs.c | 2 +- 4 files changed, 38 insertions(+), 3 deletions(-) diff --git a/ChangeLog b/ChangeLog index 9f59cf2..1429a5a 100644 --- a/ChangeLog +++ b/ChangeLog @@ -1,4 +1,16 @@ -2007-12-10 Miklos Szeredi u +2007-12-11 Miklos Szeredi + + * Released 1.9 + +2007-12-11 Miklos Szeredi + + * Fill in st_ctime attribute with st_mtime, instead of leaving it + zero + + * Check for OpenSSH version >= 4.4, and if found, don't build the + sshnodelay.so workaround + +2007-12-10 Miklos Szeredi * Fix crash on writing files, caused by missing locking around sshfs_file_get() diff --git a/NEWS b/NEWS index da62377..5f2b300 100644 --- a/NEWS +++ b/NEWS @@ -1,3 +1,9 @@ +What is new in 1.9 +------------------ + +* Fix a serious bug, that could result in sshfs hanging, crashing, or + reporting out-of-memory + What is new in 1.8 ------------------ diff --git a/configure.ac b/configure.ac index 574377d..d7faee0 100644 --- a/configure.ac +++ b/configure.ac @@ -1,8 +1,9 @@ -AC_INIT(sshfs-fuse, 1.8) +AC_INIT(sshfs-fuse, 1.9) AM_INIT_AUTOMAKE AM_CONFIG_HEADER(config.h) AC_PROG_CC +AM_PROG_CC_C_O CFLAGS="$CFLAGS -Wall -W" LIBS= AC_SEARCH_LIBS(dlsym, [dl]) @@ -13,6 +14,22 @@ LIBS= AC_ARG_ENABLE(sshnodelay, [ --disable-sshnodelay Don't compile NODELAY workaround for ssh]) +if test -z "$enable_sshnodelay"; then + AC_MSG_CHECKING([OpenSSH version]) + [eval `ssh -V 2>&1 | sed -n 's/^OpenSSH_\([1-9][0-9]*\)\.\([0-9][0-9]*\).*/ssh_major=\1 ssh_minor=\2/p'`] + if test "x$ssh_major" != x -a "x$ssh_minor" != x; then + if test $ssh_major -gt 4 -o \( $ssh_major = 4 -a $ssh_minor -ge 4 \); then + AC_MSG_RESULT([$ssh_major.$ssh_minor >= 4.4, disabling NODELAY workaround]) + enable_sshnodelay=no + else + AC_MSG_RESULT([$ssh_major.$ssh_minor < 4.4, enabling NODELAY workaround]) + enable_sshnodelay=yes + fi + else + AC_MSG_RESULT([not found]) + fi +fi + if test "$enable_sshnodelay" != "no"; then AC_DEFINE(SSH_NODELAY_WORKAROUND, 1, [Compile ssh NODELAY workaround]) fi diff --git a/sshfs.c b/sshfs.c index 5565a4d..d2c7605 100644 --- a/sshfs.c +++ b/sshfs.c @@ -604,7 +604,7 @@ static int buf_get_attrs(struct buffer *buf, struct stat *stbuf, int *flagsp) stbuf->st_uid = uid; stbuf->st_gid = gid; stbuf->st_atime = atime; - stbuf->st_mtime = mtime; + stbuf->st_ctime = stbuf->st_mtime = mtime; return 0; } -- cgit v1.2.3