Age | Commit message (Collapse) | Author |
|
When using the "ssh_command" option, commands with multiple spaces in a
row will not be properly parsed. Example:
Properly parsed:
ssh_command = "ssh -o IdentityFile=~/.ssh/id_rsa"
Improperly parsed:
ssh_command = "ssh -o IdentityFile=~/.ssh/id_rsa"
This commit changes the ssh_command parsing logic so that both of the
above examples are considered valid and properly handled.
Fixes: #114.
|
|
|
|
The current definition of the clean_req() function produces a compiler
warning as it expects 2 parameters but GHRFunc expects 3. This commit
resolves issue #157.
|
|
The manpage says that -o idmap=user maps the UID and GID, but it
apparently only mapped the UID. The code was in place to map the GID as
well, but it was hidden behind #ifdef __APPLE__. This commit removes
those #ifdefs, and in a couple of cases the code inside an #else, to
make the option behave as documented.
|
|
|
|
|
|
Fuse operations expect negated errno values.
|
|
In libfuse<3, when `fstat_workaround` was true, that meant to always
use the `path` argument to resolve fgetattr instead of the supplied
handle. Before this change, the logic was interpreting
`fstat_workaround` to not use the `path` argument when it was
true. This change reverts to the libfuse<3 behavior.
|
|
|
|
Add workaround to always pass a 0 mode when creating a file
This works around servers that produce an error for any non-zero mode.
|
|
sshfs.rst: update the documentation.
|
|
|
|
Fixes: #96.
|
|
As of kernel 4.14, the FUSE module's + writeback implementation is not
compatible with network filesystems, and there are no imminent plans
to change that.
For more details, see
https://marc.info/?l=fuse-devel&m=150592103107662&w=2 or
As a consequence, the -o unreliable_append option has become obsolete
as well.
Fixes: #93
Fixes: #88
Fixes: #81
|
|
Fixes: #72.
|
|
Fixes: #76.
|
|
|
|
Writeback cache seems to cause dataloss in some situations.
We need to investigate this first.
See https://github.com/libfuse/sshfs/issues/72.
|
|
|
|
It is not clear what this check is supposed to achieve, and it seems to
fail in some situations (cf issue #57).
Fixes: #57.
|
|
Fixes: #73.
|
|
The st_blksize value of struct stat represents the optimal block size
for file I/O operations. FUSE for macOS will use this value when
preforming read or write operations on the file. The smaller st_blksize
is the more context switches are required to complete the operation.
Setting st_blksize to 0 results in FUSE for macOS falling back to the
global I/O size, that can be specified through the "-o iosize=..."
mount-time option.
Fixes osxfuse/osxfuse#389 and osxfuse/sshfs#33
|
|
By default volumes are mounted under /Volumes on macOS. Since macOS
10.12 the /Volumes directory is root-owned. In order to allow non-
privileged users to mount FUSE volumes under /Volumes FUSE will create
non-existent mount points automatically.
Fixes osxfuse/sshfs#27
|
|
wrctr cannot be used without having been initialized,
but the compiler is too dumb to see that.
|
|
Fixes: #7
|
|
libfuse 3.0.0 is rather new and not widely used yet, so requiring
libfuse 3.1.0 right away shouldn't be a problem.
|
|
|
|
|
|
This re-enables support for nullpath_ok. The cache remains disabled.
|
|
This commit enables the use of readdir() instead of getdir(). It also
completely disables the cache and the nullpath_ok feature. This will
be fixed in the next commits.
|
|
|
|
This is in preparation for the move to libfuse 3.0
|
|
This should never be used. We may add new workarounds in the future,
and they should only be enabled explicitly when needed.
|
|
|
|
The same effect (enabling NODELAY on the server side *and* enabling
X11 forwarding) can be achieved by explicitly passing `-o ForwardX11`
|
|
No longer required since glib 2.32.
|
|
|
|
This was a performance improvement for SSH versions prior to
4.4. There is no reason to continue to support this.
|
|
Otherwise, aborting the password prompt with Ctrl+C will
also kill the sshfs process and leave the mountpoint inaccessible.
Fixes: #9.
|
|
|
|
Port SSHFS to Cygwin
|
|
It is unclear why G_SLICE_CONFIG_ALWAYS_MALLOC has been set before but
doing so with the latest version of GLib (2.46.2) results in the
following warning:
GLib-CRITICAL **: g_slice_set_config: assertion 'sys_page_size == 0'
failed
This fixes issue osxfuse/sshfs#17
|
|
|
|
Commit 74bfa3850a2568f96dd1d090a9386534c9bb4629 allowed sshfs to run
without requiring a non-NULL path argument for certain
operations. This was erroneous in the case of using certain
workarounds.
|
|
Before FUSE 2.9, FUSE had to emulate unlink() if a file was still open
via renaming to a hidden file. This was due to the requirement that a
valid "path" argument must be submitted for many FUSE operations. FUSE
2.9 introduced the flag_nullpath_ok and flag_nopath flags that allow a
FUSE file system to signal to FUSE that the "path" argument may be NULL
in certain operations.
sshfs doesn't require paths if the cache isn't used so communicate
that information to the FUSE layer.
|
|
OpenSSH implements fsync() via the extension "fsync@openssh.com". This
change uses that extension when receiving a FUSE fsync request.
|
|
Allow the user to customize the cache regular and minimum clean intervals
as flags via the new cache_clean_interval and cache_min_clean_interval
options.
While doing this, rename the internal variables and constants to suffix
them with their unit (seconds).
|
|
Allow the user to customize the size of the sshfs cache by adding a new
max_cache_size flag and turning the hardcoded constant into a variable.
|
|
Revision b4023a19 added an mlock call to ensure the sshfs password is kept
in memory, but did so only for OS X. This is a good idea in general, so
let's remove the condition.
|
|
Revision b4023a19dd7ec7a099d2e0df491547cf3bb6bec3, which imported the
MacFUSE-specific sshfs fixes into osxfuse-sshfs, added a lock to handle
the refs reference counter of the sshfs_file structure. However, this
lock was only added for OS X, which is a very strange thing to do.
One may think that this was only because MacFUSE 2.2 had some semantics
that differed from regular FUSE, and that would have been quite stupid
for compatibility reasons. A few simple tests show no issues after
removing this lock, so let's keep it out for now. If things break, we
know what to look at.
|