diff options
-rw-r--r-- | Makefile.am | 2 | ||||
-rw-r--r-- | sshfs.1.in | 2 | ||||
-rw-r--r-- | sshfs.c | 11 |
3 files changed, 9 insertions, 6 deletions
diff --git a/Makefile.am b/Makefile.am index f003bae..3d8f9cb 100644 --- a/Makefile.am +++ b/Makefile.am @@ -24,7 +24,7 @@ sshfs.1: sshfs.1.in $(AM_V_GEN)sed \ -e 's,__IDMAP_DEFAULT__,$(IDMAP_DEFAULT),g' \ -e 's,__UNMOUNT_COMMAND__,$(UNMOUNT_COMMAND),g' \ - <sshfs.1.in >sshfs.1.tmp || exit 1; \ + <$(srcdir)/sshfs.1.in >sshfs.1.tmp || exit 1; \ mv sshfs.1.tmp sshfs.1 if SSH_NODELAY_SO @@ -141,8 +141,6 @@ path to sftp server or subsystem (default: sftp) .TP \fB\-o\fR directport=PORT 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 @@ -3951,9 +3951,6 @@ 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. */ - g_slice_set_config(G_SLICE_CONFIG_ALWAYS_MALLOC, TRUE); #endif /* __APPLE__ */ g_thread_init(NULL); @@ -3998,6 +3995,14 @@ int main(int argc, char *argv[]) parse_workarounds() == -1) exit(1); +#if FUSE_VERSION >= 29 + // These workarounds require the "path" argument. + if (sshfs.truncate_workaround || sshfs.fstat_workaround) { + sshfs_oper.oper.flag_nullpath_ok = 0; + sshfs_oper.oper.flag_nopath = 0; + } +#endif + if (sshfs.idmap == IDMAP_USER) sshfs.detect_uid = 1; else if (sshfs.idmap == IDMAP_FILE) { |