aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--AUTHORS23
-rw-r--r--ChangeLog628
-rw-r--r--Makefile.am2
-rw-r--r--NEWS112
-rw-r--r--README.md (renamed from README)26
-rw-r--r--cache.c1
-rw-r--r--configure.ac4
-rwxr-xr-xgenerate-faq.sh11
-rw-r--r--sshfs.1.in2
-rw-r--r--sshfs.c34
10 files changed, 151 insertions, 692 deletions
diff --git a/AUTHORS b/AUTHORS
index 221392d..21a9b75 100644
--- a/AUTHORS
+++ b/AUTHORS
@@ -1 +1,22 @@
-Miklos Szeredi <miklos@szeredi.hu>
+Current Maintainer
+------------------
+
+Nikolaus Rath <Nikolaus@rath.org>
+
+
+Past Maintainers
+----------------
+
+Miklos Szeredi <miklos@szeredi.hu> (until 12/2015)
+
+
+Contributors (autogenerated list)
+---------------------------------
+
+Alan Jenkins <alan.christopher.jenkins@gmail.com>
+Alexander Neumann <alexander@bumpern.de>
+Chris Wolfe <cwolfe@chromium.org>
+Mike Kelly <mike@pair.com>
+Miklos Szeredi <miklos@szeredi.hu>
+Nikolaus Rath <Nikolaus@rath.org>
+Percy Jahn <email@percyjahn.de>
diff --git a/ChangeLog b/ChangeLog
index 7919f7b..6009dcf 100644
--- a/ChangeLog
+++ b/ChangeLog
@@ -1,597 +1,139 @@
-2014-01-14 Miklos Szeredi <miklos@szeredi.hu>
+Release 2.7 (2015-01-28)
+------------------------
- * Released 2.5
+* New maintainer (Nikolaus Rath <Nikolaus@rath.org>)
-2014-01-08 Miklos Szeredi <miklos@szeredi.hu>
- * Add -o disable_hardlink option (debian bug #670926). Reported
- by Louis-David Mitterrand
+Release 2.6 (2014-01-14)
+------------------------
- * Optimize readdir by sending multiple requests in parallel. Add
- -o sync_readdir to restore old behavior. Patch by Alexander
- Neumann
+* Some performance improvements for large directories.
+* New `disable_hardlink` option.
+* Various small bugfixes.
-2014-01-07 Miklos Szeredi <miklos@szeredi.hu>
+Release 2.4 (2012-03-08)
+------------------------
- * Map SSH2_FX_FAILURE to ENOTEMPTY for rmdir. Reported by Ross
- Lagerwall
+* New `slave` option.
+* New `idmap`, `uidmap` and `gidmap` options.
+* Various small bugfixes.
-2012-05-14 Miklos Szeredi <miklos@szeredi.hu>
+Release 2.3 (2011-07-01)
+------------------------
- * 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
+* Support hard link creation if server is OpenSSH 5.7 or later
+* Small improvements and bug fixes
+* Check mount point and options before connecting to ssh server
+* New 'delay_connect' option
-2012-03-08 Miklos Szeredi <miklos@szeredi.hu>
+Release 2.2 (2008-10-20)
+------------------------
- * Released 2.4
+* Handle numerical IPv6 addresses enclosed in square brackets
+* Handle commas in usernames
-2012-03-08 Miklos Szeredi <miklos@szeredi.hu>
+Release 2.1 (2008-07-11)
+------------------------
- * Make sure idmap files aren't writable by others otherwise, other
- local users could change the mapping, and gain access to things
- they shouldn't. Patch by Mike Kelly
+* Small improvements and bug fixes
-2012-02-08 Chris Wolfe <cwolfe@chromium.org>
+Release 2.0 (2008-04-23)
+------------------------
- * Add -o slave. This option routes the sftp communication over stdin
- and stdout, bypassing SSH and network.
+* Support password authentication with pam_mount
-2011-12-16 Mike Kelly <mike@pair.com>
+* Support atomic renames if server is OpenSSH 4.9 or later
- * Add -o idmap=file, -o uidmap=FILE, -o gidmap=FILE. These options
- allow you to create a pair of local files, similar to /etc/passwd or
- /etc/group files from the remote server, and use those to remap all
- the given UIDs/GIDs.
+* Support getting disk usage if server is OpenSSH 5.1 or later
-2011-11-25 Miklos Szeredi <miklos@szeredi.hu>
+* Small enhancements and bug fixes
- * Make chown respect the UID mapping policy. Reported and tested
- by Vivenzio Pagliari
+What is new in 1.9
+------------------
-2011-11-16 Miklos Szeredi <miklos@szeredi.hu>
+* Fix a serious bug, that could result in sshfs hanging, crashing, or
+ reporting out-of-memory
- * Submit max 32k reads and writes to the sftp server. Also don't
- limit the kernel to 64k reads and writes, rather split into 32k
- sized chunks and send them to the server all at once. This is
- more efficient and less demanding from the server. Reported by
- Ludovic Courtès. Fix suggested by Niels Möller
+What is new in 1.8
+------------------
-2011-11-14 Miklos Szeredi <miklos@szeredi.hu>
+* Bug fixes
- * Fix double free if reconnection races with request sending.
- Patch by E. Kuemmerle
+What is new in 1.7
+------------------
- * Add locking around modifver and connver
+* Tolerate servers which print a banner on login
-2011-10-21 Miklos Szeredi <miklos@szeredi.hu>
+* Small improvements
- * Remove "-oPreferredAuthentications" from ssh options if the
- "password_stdin" option is used. Reported by E. Kuemmerle
+What is new in 1.6
+------------------
-2011-08-24 Miklos Szeredi <miklos@szeredi.hu>
+* Workaround for missing truncate operation on old sftp servers
- * Add "-oworkaround=fstat" for SFTP servers which don't support
- the FSTAT message. Patch by: Percy Jahn
+* Bug fixes
-2011-07-01 Miklos Szeredi <miklos@szeredi.hu>
+What is new in 1.5
+------------------
- * Released 2.3
+* Improvements to read performance. Now both read and write
+ throughput should be very close to 'scp'
-2011-07-01 Miklos Szeredi <miklos@szeredi.hu>
+* If used with FUSE 2.6.0 or later, then perform better data caching.
+ This should show dramatic speed improvements when a file is opened
+ more than once
- * Add hard link operation. Works if the server supports the
- "hardlink@openssh.com" protocol extension.
+* Bug fixes
-2011-03-25 Miklos Szeredi <miklos@szeredi.hu>
+What is new in 1.4
+------------------
- * Fix possible deadlock on reconnection. Reported by Florian
- Zumbiehl
+* Updated to version 25 of libfuse API
-2011-01-25 Miklos Szeredi <miklos@szeredi.hu>
+* This means that the 'cp' of readonly file to sshfs bug is finally
+ solved (as long as using libfuse 2.5.0 or later *and* Linux 2.6.15
+ or later)
- * Fix cleanup when ssh connection is terminated. This prevents
- sshfs hanging when the server is rebooted, for example.
+* Sshfs now works on FreeBSD
-2010-03-16 Miklos Szeredi <miklos@szeredi.hu>
+* Added option to "transform" absolute symbolic links
- * Set FD_CLOEXEC on fuse device. This prevents deadlocks that
- happen in some circumstances (bugzilla.kernel.org #12864).
- Reported by Tim Connors
+What is new in 1.3
+------------------
-2009-07-15 Miklos Szeredi <miklos@szeredi.hu>
+* Add workaround for failure to rename to an existing file
- * Check mountpoint and fuse options before starting an ssh
- session (debian bug #535333). This is only supported if compiled
- against libfuse-2.6 or later. Reported by Greg Kochanski
+* Simple user ID mapping
- * Check that the remote path specified refers to the same type of
- file as the mountpoint, i.e. both are directories or both are
- non-directories (debian bug #535343). Reported by Greg Kochanski
+* Estimate disk usage of files based on size
- * Allow mounting a single non-directory from the server
+* Report "infinite" disk space
-2009-07-15 Sebastian Dransfeld <sebastid@tango.flipp.net>
+* Bug fixes
- * Add option 'delay_connect': This will always create the sshfs mount,
- even if the connection to the server can't be established.
+What is new in 1.2
+------------------
-2009-01-27 Miklos Szeredi <miklos@szeredi.hu>
+* Better compatibility with different sftp servers
- * Print usage information and version to stdout, not stderr.
- Libfuse also needs to be fixed up. Reported by Kārlis Repsons
+* Automatic reconnect (optional)
-2008-10-20 Miklos Szeredi <miklos@szeredi.hu>
+What is new in 1.1
+------------------
- * Released 2.2
+* Performance improvements:
-2008-10-20 Miklos Szeredi <miklos@szeredi.hu>
+ - directory content caching
- * Escape commas in fsname option if libfuse supports it
+ - symlink caching
-2008-10-08 Miklos Szeredi <miklos@szeredi.hu>
+ - asynchronous writeback
- * Handle numerical IPv6 addresses enclosed in square brackets.
- Reported by Andre-John Mas
+ - readahead
- * Fix error if username contains a comma character. Reported by
- Yang Zhang
+* Fixed '-p' option
- * Fix harmless glib assertations with "cache=no"
+What is new in 1.0
+------------------
-2008-07-11 Miklos Szeredi <miklos@szeredi.hu>
-
- * Released 2.1
-
-2008-07-11 Miklos Szeredi <miklos@szeredi.hu>
-
- * Fix statvfs extension to match the current protocol in
- opensshfs
-
- * Check version numbers of extensions, so such changes wouldn't
- cause stupid behavior
-
-2008-06-24 Miklos Szeredi <miklos@szeredi.hu>
-
- * Add '-F' option to specify the ssh config file. Patch by Pat
- Pascal.
-
-2008-05-06 Miklos Szeredi <miklos@szeredi.hu>
-
- * Fix bug in caching which could cause file corruption for append
- mode writes. Reported by Jose Alonso
-
-2008-05-05 Miklos Szeredi <miklos@szeredi.hu>
-
- * Fix compile on OS X. Original patch from Michael G Schwern
-
- * Fix compile on Solaris. Reported by Jean-Jacques Sarton
-
-2008-04-23 Miklos Szeredi <miklos@szeredi.hu>
-
- * Released 2.0
-
-2008-04-23 Miklos Szeredi <miklos@szeredi.hu>
-
- * Add manual page. Written by Bartosz Fenski
-
-2008-04-22 Miklos Szeredi <miklos@szeredi.hu>
-
- * Add missing ssh options: ControlMaster, ControlPath,
- KbdInteractiveAuthentication, KbdInteractiveDevices, LocalCommand,
- RekeyLimit (Debian bug #430225).
-
- * Allow the '-ossh_command=CMD' command to contain parameters.
- Escape charater is backslash.
-
- * Limit write requests to 64kB.
-
- * Support "statvfs@openssh.com" extension, which will be available
- in OpenSSH 5.1.
-
-2008-04-21 Miklos Szeredi <miklos@szeredi.hu>
-
- * Fix incorrect disk usage reported by 'du' for files of size 4GB
- or above. Reported by Christian Boltz.
-
-2008-04-16 Miklos Szeredi <miklos@szeredi.hu>
-
- * If debugging is enabled, print some statistics at exit about the
- number of bytes transferred, etc..
-
-2008-03-31 Miklos Szeredi <miklos@szeredi.hu>
-
- * Support "posix-rename@openssh.com" extension available in
- OpenSSH 4.9. This allows rename to be atomic even when target
- file or directory exists. If available, the extension will be
- used instead of the rename operation in the original protocol and
- the "-oworkaround=rename" option will be ignored.
-
-2008-03-28 Miklos Szeredi <miklos@szeredi.hu>
-
- * Add support for password authentication with pam_mount.
- Original patch and help with testing: John S. Skogtvedt
-
-2008-03-03 Miklos Szeredi <miklos@szeredi.hu>
-
- * Fix ssh debug only appearing if "-d" is used. Reported by
- Michael Gorbach
-
-2008-01-03 Miklos Szeredi <miklos@szeredi.hu>
-
- * Fix condition for building of sshnodelay.so
-
-2007-12-17 Miklos Szeredi <miklos@szeredi.hu>
-
- * Released 1.9
-
-2007-12-12 Miklos Szeredi <miklos@szeredi.hu>
-
- * Fix checking for fuse_opt_parse in configure
-
-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()
-
- * Don't time requests when not debugging
-
- * Add subtype support with libfuse >= 2.7.0
-
- * Abort on allocation failure instead of exit
-
- * Correctly show default of nodelaysrv workaround in help message
-
-2007-05-16 Miklos Szeredi <miklos@szeredi.hu>
-
- * Released 1.8
-
-2007-05-15 Miklos Szeredi <miklos@szeredi.hu>
-
- * Add needed g_thread_init() to fix rare crashes. Reported by
- Dimitrios Apostolou
-
- * Fix memory leak in sshfs_open_common()
-
-2007-04-18 Miklos Szeredi <miklos@szeredi.hu>
-
- * Fix crash within gdb, caused by sem_wait() returning with an
- error on interrupt. Reported by Dimitrios Apostolou
-
- * Fix spurious cache entries remaining after renaming a directory
-
-2007-02-28 Miklos Szeredi <miklos@szeredi.hu>
-
- * Don't set DISPLAY environment variable to "", because it breaks
- ssh-askpass. Make nodelaysrv_workaround default to off, because
- with this change it may have security implications.
-
-2007-02-19 Miklos Szeredi <miklos@szeredi.hu>
-
- * OpenSSH sftp-server can read requests faster, than it processes
- them, when it's buffer is full it aborts. This can happen on a
- large upload to a slow server. Work around this by limiting the
- total size of outstanding reqests. Debian bug #365541. Tracked
- down by Thue Janus Kristensen
-
- * Add --disable-sshnodelay configure option. The sshnodelay.so
- hack shouldnt be needed with OpenSSH client versions >= 4.3
-
-2006-12-20 Miklos Szeredi <miklos@szeredi.hu>
-
- * Work around write performace issues due to missing TCP_NODELAY
- in sshd. Reported by Justin Searle
-
-2006-11-10 Miklos Szeredi <miklos@szeredi.hu>
-
- * Fix bug which ommitted directory entries for symlinks with the
- -ofollow_symlinks option. Bug reported by Mikael Ståldal
-
-2006-09-29 Miklos Szeredi <miklos@szeredi.hu>
-
- * Fix segfault if there are outstanding writes to the server after
- release on the file descriptor. This only happened on FreeBSD.
- Reported by Andriy Gapon
-
-2006-08-18 Miklos Szeredi <miklos@szeredi.hu>
-
- * Released 1.7
-
-2006-08-17 Miklos Szeredi <miklos@szeredi.hu>
-
- * Cosmetics on bogus statfs numbers
-
-2006-08-16 Miklos Szeredi <miklos@szeredi.hu>
-
- * Add option 'follow_symlinks' to resolve symlinks on the server.
-
- * On setups where the login shell prints a banner, the sftp
- protocol was confused, and bailed out with "reply len too large:
- ...". So iterate over any rubbish read immediately after login
- until a valid reply is found.
-
- * Check remote directory for existence before mounting. Closes
- Ubuntu bug #46633
-
-2006-03-10 Miklos Szeredi <miklos@szeredi.hu>
-
- * Use socketpair() instead of pipe() for communication between ssh
- and sshfs. Patch from Csaba Henk
-
- * Update to FUSE interface version 26
-
-2006-03-09 Miklos Szeredi <miklos@szeredi.hu>
-
- * Released 1.6
-
-2006-03-09 Miklos Szeredi <miklos@szeredi.hu>
-
- * Fix segfault if remote host is down and reconnection is enabled
-
-2006-03-08 Miklos Szeredi <miklos@szeredi.hu>
-
- * Fix bug in symlink transformation. Reported by Ralf Hoffmann
-
-2006-02-24 Miklos Szeredi <miklos@szeredi.hu>
-
- * Add workaround for broken truncate on old sftp servers. Can be
- enabled with '-oworkaround=truncate'. Patch from Joseph M Link
-
-2006-02-23 Miklos Szeredi <miklos@szeredi.hu>
-
- * Avoid double memcpy on writes. Patch by Joseph M Link
-
- * More memory copy avoidance
-
-2006-02-22 Miklos Szeredi <miklos@szeredi.hu>
-
- * Add -fPIC to the comile flags of sshnodelay.so. Reported by
- Anthony Kolasny
-
-2006-02-20 Miklos Szeredi <miklos@szeredi.hu>
-
- * Released 1.5
-
-2006-02-19 Miklos Szeredi <miklos@szeredi.hu>
-
- * Fix compilation with old FUSE versions. Report by Kurt George
- Gjerde
-
-2006-02-16 Miklos Szeredi <miklos@szeredi.hu>
-
- * Block TERM/INT/HUP/QUIT signals in sshfs reading thread, so they
- will always be received by the FUSE main thread. Fixes the
- "double ^C" problem seen on FreeBSD.
-
- * Use 'auto_cache' option if available, so that file cache is not
- thrown away on each open. This should make repeated reading of a
- file much much faster.
-
-2006-01-31 Miklos Szeredi <miklos@szeredi.hu>
-
- * Fix problems with nodelay workaround on FreeBSD.
-
-2006-01-30 Miklos Szeredi <miklos@szeredi.hu>
-
- * Fix data consitency bug if readahead is enabled and writes are
- intermixed with reads. Solution is far from optimal, since it
- will prevent readahead in the above situation. If used with FUSE
- >= 2.6.0 with Linux-2.6.X, readahead will be done by the kernel,
- and hence there will be no performance penalty. Bug reported and
- test program written by Wolfgang Köbler. Further testing on
- FreeBSD by Csaba Henk
-
-2006-01-29 Miklos Szeredi <miklos@szeredi.hu>
-
- * Add '-olarge_read' option for Linux-2.4.*. This should
- generally improve download performance
-
-2006-01-27 Miklos Szeredi <miklos@szeredi.hu>
-
- * Add workaround (enabled by default) for ssh clients not setting
- TCP_NODELAY on the network connection. Currently this is all
- known versions of openssh. This may improve download speed in
- some circumstances
-
- * Make it possible to idividually disable workarounds with a "no"
- prefix
-
- * Change '-otransform_symlinks' not to prefix with the mountpoint
- (which is fragile wrt. moving/binding the mount). Rather convert
- absolute symlinks to relative if possible. Does not yet work if
- base path is itself relative
-
-2006-01-25 Miklos Szeredi <miklos@szeredi.hu>
-
- * Use TCP_NODELAY socket option for direct connection. This may
- improve download speed in some circumstances
-
-2006-01-20 Miklos Szeredi <miklos@szeredi.hu>
-
- * Update to fuse API 2.6
-
- * Don't do readahead in sshfs if it's done in kernel
-
-2006-01-14 Miklos Szeredi <miklos@szeredi.hu>
-
- * Released 1.4
-
-2006-01-09 Miklos Szeredi <miklos@szeredi.hu>
-
- * Added 'transform_symlinks' option to "fix-up" absolute symlinks.
- Patch by Paul Jarc
-
- * Add option parsing implementation, so linking with older than
- 2.5.0 libfuse still works.
-
-2005-12-09 Miklos Szeredi <miklos@szeredi.hu>
-
- * Use new option parsing interface of FUSE
-
-2005-11-28 Miklos Szeredi <miklos@szeredi.hu>
-
- * Set statvfs::f_frsize
-
-2005-11-23 Miklos Szeredi <miklos@szeredi.hu>
-
- * Fix warnings on 64bit systems. Reported by D. R. Evans
-
-2005-11-16 Miklos Szeredi <miklos@szeredi.hu>
-
- * Replace EPROTO with the more portable EIO
-
- * Fix bug in option parsing. Reported by Csaba Henk
-
-2005-10-29 Miklos Szeredi <miklos@szeredi.hu>
-
- * Use FUSE version 25 if available
-
- * Add <sys/socket.h> include. Reported by Csaba Henk
-
-2005-10-29 Miklos Szeredi <miklos@szeredi.hu>
-
- * Released 1.3
-
-2005-10-28 Miklos Szeredi <miklos@szeredi.hu>
-
- * Add atomic create+open and ftruncate operation. This should fix
- issues with 'cp' and other programs failing with "Permission
- denied". To be effective, needs FUSE version 2.5 and kernel
- version 2.6.15 (just a guess, since neither of them is released
- yet).
-
-2005-10-27 Miklos Szeredi <miklos@szeredi.hu>
-
- * Add support for SSH protocol version 1. Bug reported by Miklos
- Bagi Jr.
-
-2005-10-26 Miklos Szeredi <miklos@szeredi.hu>
-
- * Fix typo (ConnectTimeout -> ConnectionTimeout) in ssh options.
- Bug reported by Miklos Bagi Jr.
-
-2005-10-19 Miklos Szeredi <miklos@szeredi.hu>
-
- * GNOME Nautilus fails to copy file to sshfs filesystem, because
- FUSE returns zero free space. So instead return huge (999999999
- kbytes) amount of free space, yet it should be obvious that the
- number is artificial. Bug report by Peter Kronheimer
-
-2005-10-18 Miklos Szeredi <miklos@szeredi.hu>
-
- * Add remote uid detection and translation ('idmap=user' option).
- Idea and implementation details worked out by Jean-Marc Valin
-
-2005-10-17 Miklos Szeredi <miklos@szeredi.hu>
-
- * Add one more missing lock.
-
- * Add workaround for failure to rename to an existing file. Based
- on patch by Michael Best
-
-2005-10-15 Miklos Szeredi <miklos@szeredi.hu>
-
- * Protect request ID allocation with mutex. Bug report by Tvrtko
- Ursulin
-
-2005-08-17 Miklos Szeredi <miklos@szeredi.hu>
-
- * Try to calculate approximate disk usage of files from their
- size, so that 'du' returns meaningful results. Problem reported
- by Bernd Amend.
-
-2005-08-15 Miklos Szeredi <miklos@szeredi.hu>
-
- * Released 1.2
-
-2005-08-13 Miklos Szeredi <miklos@szeredi.hu>
-
- * Add 'reconnect' option, which tries to reconnect to the server
- when the connection is broken. If a password is required for
- connection, it is recommended that you install ssh-askpass, and
- set the SSH_ASKPASS environment variable (see 'man ssh' for more
- details).
-
-2005-05-05 Miklos Szeredi <miklos@szeredi.hu>
-
- * Work around missing truncate() support in some older sftp
- servers (only works for zero size truncate). Thanks to Eduard
- Czimbalmos for the bug report and help with testing
-
-2005-04-13 Miklos Szeredi <miklos@szeredi.hu>
-
- * Fix compilation with gcc-2.95. Reported by David A. Gershman
-
-2005-03-08 Miklos Szeredi <miklos@szeredi.hu>
-
- * Make it work on server version 2 (e.g. Sun_SSH_1.0.1). Report
- and testing by Pieter J. Kersten
-
-2005-03-04 Miklos Szeredi <miklos@szeredi.hu>
-
- * Released 1.1
-
-2005-03-03 Miklos Szeredi <miklos@szeredi.hu>
-
- * Slightly optimize readahead. Still not clever enough to always
- keep the pipe filled.
-
- * Add 'sshfs_debug' option
-
-2005-02-17 Miklos Szeredi <miklos@szeredi.hu>
-
- * Parse 'max_read' mount option and if smaller than 65536 forward
- to FUSE
-
-2005-02-16 Miklos Szeredi <miklos@szeredi.hu>
-
- * Added simple readahead (big performance gain in case of
- sequential read pattern). Can be disabled with '-o no_readahead'
-
-2005-02-14 Miklos Szeredi <miklos@szeredi.hu>
-
- * Added asynchronous writeback (big performance gain) and made
- this the default. Can be disabled with '-o sshfs_sync'
-
-2005-02-09 Miklos Szeredi <miklos@szeredi.hu>
-
- * Added option to start arbitary command instead of 'ssh'
-
- * Re-added '-p PORT' as a convenience option, also '-C' works as
- in ssh.
-
-2005-02-08 Miklos Szeredi <miklos@szeredi.hu>
-
- * Add caching of symlinks
-
- * Add support for many ssh options to be passed to ssh
-
- * Port number can now actually be specified with "-o port=PORT",
- bug spotted by Andrew Ukrainec
-
-2005-02-07 Miklos Szeredi <miklos@szeredi.hu>
-
- * Separate attribute caching to a separate layer
-
- * Add caching of directory contents
-
-2005-02-03 Miklos Szeredi <miklos@szeredi.hu>
-
- Fix PKG_CONFIG_PATH setting in configure.ac (reported by Alpar
- Juttner)
-
-2005-01-09 Miklos Szeredi <miklos@szeredi.hu>
-
- * Released 1.0
-
-2004-12-04 Miklos Szeredi <miklos@szeredi.hu>
-
- * Started ChangeLog
+* Initial release
diff --git a/Makefile.am b/Makefile.am
index 078b2b7..c5b92f0 100644
--- a/Makefile.am
+++ b/Makefile.am
@@ -14,7 +14,7 @@ sshfs_LDADD = $(SSHFS_LIBS)
sshfs_CFLAGS = $(SSHFS_CFLAGS)
sshfs_CPPFLAGS = -D_REENTRANT -DFUSE_USE_VERSION=26 -DLIBDIR=\"$(libdir)\"
-EXTRA_DIST = sshnodelay.c FAQ.txt
+EXTRA_DIST = sshnodelay.c
CLEANFILES = sshnodelay.so sshfs.1
dist_man_MANS = sshfs.1
diff --git a/NEWS b/NEWS
deleted file mode 100644
index 493d751..0000000
--- a/NEWS
+++ /dev/null
@@ -1,112 +0,0 @@
-What is new in 2.1, 2.2 and 2.3
--------------------------------
-
-* Support hard link creation if server is OpenSSH 5.7 or later
-
-* Check mount point and options before connecting to ssh server
-
-* Handle commas in usernames
-
-* Small improvements and bug fixes
-
-
-What is new in 2.0
-------------------
-
-* Support password authentication with pam_mount
-
-* Support atomic renames if server is OpenSSH 4.9 or later
-
-* Support getting disk usage if server is OpenSSH 5.1 or later
-
-* Small enhancements and bug fixes
-
-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
-------------------
-
-* Bug fixes
-
-What is new in 1.7
-------------------
-
-* Tolerate servers which print a banner on login
-
-* Small improvements
-
-What is new in 1.6
-------------------
-
-* Workaround for missing truncate operation on old sftp servers
-
-* Bug fixes
-
-What is new in 1.5
-------------------
-
-* Improvements to read performance. Now both read and write
- throughput should be very close to 'scp'
-
-* If used with FUSE 2.6.0 or later, then perform better data caching.
- This should show dramatic speed improvements when a file is opened
- more than once
-
-* Bug fixes
-
-What is new in 1.4
-------------------
-
-* Updated to version 25 of libfuse API
-
-* This means that the 'cp' of readonly file to sshfs bug is finally
- solved (as long as using libfuse 2.5.0 or later *and* Linux 2.6.15
- or later)
-
-* Sshfs now works on FreeBSD
-
-* Added option to "transform" absolute symbolic links
-
-What is new in 1.3
-------------------
-
-* Add workaround for failure to rename to an existing file
-
-* Simple user ID mapping
-
-* Estimate disk usage of files based on size
-
-* Report "infinite" disk space
-
-* Bug fixes
-
-What is new in 1.2
-------------------
-
-* Better compatibility with different sftp servers
-
-* Automatic reconnect (optional)
-
-What is new in 1.1
-------------------
-
-* Performance improvements:
-
- - directory content caching
-
- - symlink caching
-
- - asynchronous writeback
-
- - readahead
-
-* Fixed '-p' option
-
-What is new in 1.0
-------------------
-
-* Initial release
diff --git a/README b/README.md
index c11f21b..8913bd6 100644
--- a/README
+++ b/README.md
@@ -11,7 +11,7 @@ The idea of sshfs was taken from the SSHFS filesystem distributed with
LUFS, which I found very useful. There were some limitations of that
codebase, so I rewrote it. Features of this implementation are:
- - Based on FUSE (the best userspace filesystem framework for Linux ;))
+ - Based on FUSE (the best userspace filesystem framework for Linux ;)
- Multithreading: more than one request can be on it's way to the
server
@@ -26,8 +26,7 @@ Latest version
==============
The latest version and more information can be found on
-
- http://fuse.sourceforge.net/sshfs.html
+http://github.com/libfuse/sshfs
How to mount a filesystem
@@ -35,7 +34,7 @@ How to mount a filesystem
Once sshfs is installed (see next section) running it is very simple:
- sshfs hostname: mountpoint
+ sshfs hostname: mountpoint
Note, that it's recommended to run it as user, not as root. For this
to work the mountpoint must be owned by the user. If the username is
@@ -47,28 +46,27 @@ is the home directory.
Also many ssh options can be specified (see the manual pages for
sftp(1) and ssh_config(5)), including the remote port number
-('-oport=PORT')
+(`-oport=PORT`)
To unmount the filesystem:
- fusermount -u moutpoint
+ fusermount -u mountpoint
Installing
==========
-First you need to download FUSE 2.2 or later from:
-
- http://fuse.sourceforge.net
+First you need to download FUSE 2.2 or later from
+http://github.com/libfuse/libfuse.
You also need to install the devel package for glib2.0. After
installing FUSE, compile sshfs the usual way:
- ./configure
- make
- make install (as root)
+ ./configure
+ make
+ make install (as root)
And you are ready to go.
-If checking out from CVS for the first time also do 'autoreconf -i'
-before doing './configure'.
+If checking out from git for the first time also do `autoreconf -i`
+before doing `./configure`.
diff --git a/cache.c b/cache.c
index a2e5939..ffdf71d 100644
--- a/cache.c
+++ b/cache.c
@@ -490,6 +490,7 @@ static void cache_unity_fill(struct fuse_cache_operations *oper,
cache_oper->init = oper->oper.init;
#endif
cache_oper->getattr = oper->oper.getattr;
+ cache_oper->access = oper->oper.access;
cache_oper->readlink = oper->oper.readlink;
cache_oper->getdir = cache_unity_getdir;
cache_oper->mknod = oper->oper.mknod;
diff --git a/configure.ac b/configure.ac
index 7f3008d..d0ee2eb 100644
--- a/configure.ac
+++ b/configure.ac
@@ -1,6 +1,6 @@
-AC_INIT(sshfs-fuse, 2.5)
+AC_INIT(sshfs, 2.6)
AC_CANONICAL_TARGET
-AM_INIT_AUTOMAKE
+AM_INIT_AUTOMAKE([foreign subdir-objects])
AM_CONFIG_HEADER(config.h)
AC_PROG_CC
diff --git a/generate-faq.sh b/generate-faq.sh
deleted file mode 100755
index 9576d2b..0000000
--- a/generate-faq.sh
+++ /dev/null
@@ -1,11 +0,0 @@
-#! /bin/bash
-
-(
-echo "See http://fuse.sourceforge.net/wiki/index.php/SshfsFaq for the latest"
-echo "version of this FAQ"
-echo "---"
-echo
-
-lynx -nolist -dump http://fuse.sourceforge.net/wiki/index.php/SshfsFaq \
-| sed -e '1,12d' -e '/____/,$d'
-) > FAQ.txt
diff --git a/sshfs.1.in b/sshfs.1.in
index 124729b..7d431ed 100644
--- a/sshfs.1.in
+++ b/sshfs.1.in
@@ -296,5 +296,3 @@ SSHFS has been written by Miklos Szeredi <miklos@szeredi.hu>.
.LP
This man page was written by Bartosz Fenski <fenio@debian.org> for the
Debian GNU/Linux distribution (but it may be used by others).
-
-
diff --git a/sshfs.c b/sshfs.c
index b09484c..eab48c9 100644
--- a/sshfs.c
+++ b/sshfs.c
@@ -139,6 +139,8 @@
#define READDIR_START 2
#define READDIR_MAX 32
+#define MAX_PASSWORD 1024
+
#ifdef __APPLE__
#ifndef LIBDIR
@@ -285,6 +287,7 @@ struct sshfs {
int ext_statvfs;
int ext_hardlink;
mode_t mnt_mode;
+ struct fuse_operations *op;
/* statistics */
uint64_t bytes_sent;
@@ -2009,6 +2012,22 @@ static int sshfs_getattr(const char *path, struct stat *stbuf)
return err;
}
+static int sshfs_access(const char *path, int mask)
+{
+ struct stat stbuf;
+ int err = 0;
+
+ if (mask & X_OK) {
+ err = sshfs.op->getattr(path, &stbuf);
+ if (!err) {
+ if (S_ISREG(stbuf.st_mode) &&
+ !(stbuf.st_mode & (S_IXUSR|S_IXGRP|S_IXOTH)))
+ err = -EACCES;
+ }
+ }
+ return err;
+}
+
static int count_components(const char *p)
{
int ctr;
@@ -3351,6 +3370,7 @@ static struct fuse_cache_operations sshfs_oper = {
.oper = {
.init = sshfs_init,
.getattr = sshfs_getattr,
+ .access = sshfs_access,
.readlink = sshfs_readlink,
.mknod = sshfs_mknod,
.mkdir = sshfs_mkdir,
@@ -3458,10 +3478,11 @@ static int is_ssh_opt(const char *arg)
static int sshfs_fuse_main(struct fuse_args *args)
{
+ sshfs.op = cache_init(&sshfs_oper);
#if FUSE_VERSION >= 26
- return fuse_main(args->argc, args->argv, cache_init(&sshfs_oper), NULL);
+ return fuse_main(args->argc, args->argv, sshfs.op, NULL);
#else
- return fuse_main(args->argc, args->argv, cache_init(&sshfs_oper));
+ return fuse_main(args->argc, args->argv, sshfs.op);
#endif
}
@@ -3590,7 +3611,7 @@ static void check_large_read(struct fuse_args *args)
static int read_password(void)
{
int size = getpagesize();
- int max_password = 64;
+ int max_password = MIN(MAX_PASSWORD, size - 1);
int n;
sshfs.password = mmap(NULL, size, PROT_READ | PROT_WRITE,
@@ -3951,8 +3972,8 @@ int main(int argc, char *argv[])
if (!realpath(*exec_path, sshfs_program_path)) {
memset(sshfs_program_path, 0, PATH_MAX);
}
-
- /* Until this gets fixed somewhere else. */
+
+ /* Until this gets fixed somewhere else. */
g_slice_set_config(G_SLICE_CONFIG_ALWAYS_MALLOC, TRUE);
#endif /* __APPLE__ */
g_thread_init(NULL);
@@ -4133,7 +4154,8 @@ int main(int argc, char *argv[])
if (res == -1)
perror("WARNING: failed to set FD_CLOEXEC on fuse device");
- fuse = fuse_new(ch, &args, cache_init(&sshfs_oper),
+ sshfs.op = cache_init(&sshfs_oper);
+ fuse = fuse_new(ch, &args, sshfs.op,
sizeof(struct fuse_operations), NULL);
if (fuse == NULL) {
fuse_unmount(mountpoint, ch);