aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorMiklos Szeredi <miklos@szeredi.hu>2007-12-11 19:39:58 +0000
committerMiklos Szeredi <miklos@szeredi.hu>2007-12-11 19:39:58 +0000
commitad9f0cf2a32a9f68dd28b26cc9eb1a384e910804 (patch)
tree685674a2077fd24dfbb4b2e508d5904b4f260898
parent501b9f712fa5543bac73976eb4d9e3a503b098ed (diff)
downloadsshfs-ad9f0cf2a32a9f68dd28b26cc9eb1a384e910804.tar
sshfs-ad9f0cf2a32a9f68dd28b26cc9eb1a384e910804.tar.gz
sshfs-ad9f0cf2a32a9f68dd28b26cc9eb1a384e910804.tar.bz2
sshfs-ad9f0cf2a32a9f68dd28b26cc9eb1a384e910804.zip
Released 1.9
-rw-r--r--ChangeLog14
-rw-r--r--NEWS6
-rw-r--r--configure.ac19
-rw-r--r--sshfs.c2
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 <miklos@szeredi.h>u
+2007-12-11 Miklos Szeredi <miklos@szeredi.hu>
+
+ * Released 1.9
+
+2007-12-11 Miklos Szeredi <miklos@szeredi.hu>
+
+ * 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 <miklos@szeredi.hu>
* 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;
}