diff --git a/SftpFrontend.md b/SftpFrontend.md index 2b790e8..6029304 100644 --- a/SftpFrontend.md +++ b/SftpFrontend.md @@ -1,6 +1,6 @@ The SFTP frontend is a server that optionally runs as part of a gateway node, and provides read/write access to the Tahoe grid via the [SSH File Transfer Protocol](http://en.wikipedia.org/wiki/SSH_file_transfer_protocol). -See source:docs/frontends/FTP-and-SFTP.txt for how to enable and set up the SFTP frontend on a gateway. This page is for compatibility issues with particular SFTP clients, and assumes that you are using Tahoe-LAFS v1.7.0beta or later. Please add any more issues that you discover. +See source:docs/frontends/FTP-and-SFTP.txt for how to enable and set up the SFTP frontend on a gateway. This page is for compatibility issues with particular SFTP clients, and assumes that you are using Tahoe-LAFS v1.7.0β or later. Please add any more issues that you discover. ### General compatibility issues @@ -9,6 +9,8 @@ Before uploading a file to a Tahoe filesystem, the whole file has to be availabl Since Tahoe uses capability access control rather than Unix-style permissions, the permission bits seen by SFTP clients are only an approximation chosen to avoid confusing client programs. In particular the 'user', 'group' and 'world' permissions on a Tahoe file will always be the same. It is possible to clear all of the 'w' bits on a file, which will prevent that file from being opened for writing, but note that its directory entry can still be replaced via a write cap to the directory. +See the last section of [FTP-and-SFTP.txt]source:docs/frontends/FTP-and-SFTP.txt for information on how the SFTP frontend treats immutable and mutable files. + ### sshfs @@ -24,7 +26,7 @@ Some applications may make assumptions that are incompatible with Tahoe. For exa If a file is written via two handles concurrently, the contents visible at any point in time will be the data written via one handle or the other, not an interleaving as would be the case for a POSIX filesystem. Also, the contents read via any handle will be a snapshot at about the time of the open. These differences from the POSIX semantics are arguably improvements, but in principle they could confuse some applications. -The MacFUSE version of sshfs stores "extended attributes" in files with names starting with "`._`". For example the attributes for "`foo.txt`" would be stored in a file called "`._foo.txt`". Since some Mac OS X applications may depend on these attributes (especially for their own file formats), if you need to copy or move the original file then you should copy or move the attribute file along with it. The OS X `cp` and `mv` commands will do this by default; operations using the Tahoe WUI or CLI will not. Note that filenames beginning with "`.`" are not listed by default by `ls`. +The MacFUSE version of sshfs stores "extended attributes" in files with names starting with "`._`". For example the attributes for "`foo.txt`" would be stored in a file called "`._foo.txt`". Since some Mac OS X applications may depend on these attributes (especially for their own file formats), if you need to copy or move the original file then you should copy or move the attribute file along with it. The OS X `cp` and `mv` commands will do this by default; operations using the Tahoe WUI or CLI will not (unless you are moving all files in a directory). Note that filenames beginning with "`.`" are not listed by default by `ls`. On Mac OS X, TextEdit and vi are known to have problems editing files on a Tahoe-via-sshfs filesystem. @@ -39,6 +41,12 @@ gvfs-FUSE, on the other hand, is not recommended for use with Tahoe. This is bec It may not be entirely clear to users whether a particular Gnome app is using GIO or gvfs-FUSE. Recent versions of OpenOffice use gvfs-FUSE when opening a file directly from an SFTP filesystem, and this may cause problems (although OpenOffice does appear to work when editing files on an sshfs filesystem). + +### Non-Unicode filenames + +The SFTP frontend encodes all filenames as UTF-8 when communicating with the client. Support for displaying and copying non-ASCII filenames is likely to vary between clients. If you are using a filesystem that represents names as UTF-8 (including via sshfs), then it should just work, but please report your experience with this. Note that SFTP currently does not perform any [Unicode normalization](http://en.wikipedia.org/wiki/Unicode_equivalence) (so for example, filenames copied from a Mac OS X filesystem will remain in NFD); this is likely to change in future. + + ### Performance The SFTP frontend currently performs no caching (sshfs does cache by default, although not very aggressively). Some applications assume that file operations have relatively low latency, and may have very poor performance when working directly with a Tahoe filesystem. In this case it may be better to copy files to a local filesystem and work on them there, then copy back any changes. Note that just browsing a directory may cause some apps to perform many unnecessary reads or attribute checks of files in that directory.