aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorBenjamin Fleischer <fleiben@gmail.com>2013-08-03 11:50:50 +0200
committerBenjamin Fleischer <fleiben@gmail.com>2013-08-03 11:50:50 +0200
commit990f30d767063c086710ea52ad2c70237338434a (patch)
treed1fd89ef6f70bc54dea3aece4f96a42b194c0da3
parentd04fd55128d96a3f3de039c9df162211f482a0aa (diff)
parent61524cd1e85d076fe09f04ddd2871e026e1360cd (diff)
downloadsshfs-990f30d767063c086710ea52ad2c70237338434a.tar
sshfs-990f30d767063c086710ea52ad2c70237338434a.tar.gz
sshfs-990f30d767063c086710ea52ad2c70237338434a.tar.bz2
sshfs-990f30d767063c086710ea52ad2c70237338434a.zip
Merge remote-tracking branch 'upstream/master'
Conflicts: ChangeLog configure.ac sshfs.1.in sshfs.c
-rw-r--r--ChangeLog6
-rw-r--r--configure.ac1
-rw-r--r--sshfs.1.in3
-rw-r--r--sshfs.c6
4 files changed, 14 insertions, 2 deletions
diff --git a/ChangeLog b/ChangeLog
index 618a427..c855c7d 100644
--- a/ChangeLog
+++ b/ChangeLog
@@ -1,3 +1,9 @@
+2012-05-14 Miklos Szeredi <miklos@szeredi.hu>
+
+ * When checking root directory use LSTAT not STAT. This prevents
+ I/O error being returned after a successful mount if a symlink is
+ mounted. Reported by Bart Friederichs
+
2012-03-08 Miklos Szeredi <miklos@szeredi.hu>
* Released 2.4
diff --git a/configure.ac b/configure.ac
index b2556f2..8089111 100644
--- a/configure.ac
+++ b/configure.ac
@@ -1,5 +1,4 @@
AC_INIT(sshfs-fuse, 2.4)
-AC_CANONICAL_TARGET
AM_INIT_AUTOMAKE
AM_CONFIG_HEADER(config.h)
diff --git a/sshfs.1.in b/sshfs.1.in
index aef99fd..0ba406d 100644
--- a/sshfs.1.in
+++ b/sshfs.1.in
@@ -153,6 +153,9 @@ directly connect to PORT bypassing ssh
\fB\-o\fR slave
communicate over stdin and stdout bypassing network
.TP
+\fB\-o\fR slave
+communicate over stdin and stdout bypassing network
+.TP
\fB\-o\fR transform_symlinks
transform absolute symlinks to relative
.TP
diff --git a/sshfs.c b/sshfs.c
index 5658412..f0a1608 100644
--- a/sshfs.c
+++ b/sshfs.c
@@ -1697,7 +1697,7 @@ static int sftp_check_root(const char *base_path)
buf_init(&buf, 0);
buf_add_string(&buf, remote_dir);
buf_to_iov(&buf, &iov[0]);
- if (sftp_send_iov(SSH_FXP_STAT, id, iov, 1) == -1)
+ if (sftp_send_iov(SSH_FXP_LSTAT, id, iov, 1) == -1)
goto out;
buf_clear(&buf);
if (sftp_read(&type, &buf) == -1)
@@ -4019,6 +4019,10 @@ int main(int argc, char *argv[])
exit(1);
}
+ /*
+ * FIXME: trim $PATH so it doesn't contain anything inside the
+ * mountpoint, which would deadlock.
+ */
res = ssh_connect();
if (res == -1) {
fuse_unmount(mountpoint, ch);