aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorJunichi Uekawa <dancer@netfort.gr.jp>2020-11-02 19:51:48 +0900
committerGitHub <noreply@github.com>2020-11-02 10:51:48 +0000
commit9e01ffd161591f87dd7ef02ab2a0f0aecd800a00 (patch)
tree468299e41cc5f8039784754e14ee1e6db6fc3b9f
parentde0504e45b3cf8c803585c1d4e6001db0223e078 (diff)
downloadsshfs-9e01ffd161591f87dd7ef02ab2a0f0aecd800a00.tar
sshfs-9e01ffd161591f87dd7ef02ab2a0f0aecd800a00.tar.gz
sshfs-9e01ffd161591f87dd7ef02ab2a0f0aecd800a00.tar.bz2
sshfs-9e01ffd161591f87dd7ef02ab2a0f0aecd800a00.zip
Rename option to 'passive' and add some example in manual. (#232)
-rw-r--r--sshfs.c41
-rw-r--r--sshfs.rst9
2 files changed, 27 insertions, 23 deletions
diff --git a/sshfs.c b/sshfs.c
index 2c2db42..ff40c81 100644
--- a/sshfs.c
+++ b/sshfs.c
@@ -341,7 +341,7 @@ struct sshfs {
int foreground;
int reconnect;
int delay_connect;
- int slave;
+ int passive;
char *host;
char *base_path;
GHashTable *reqtab;
@@ -351,7 +351,7 @@ struct sshfs {
int max_conns;
struct conn *conns;
int ptyfd;
- int ptyslavefd;
+ int ptypassivefd;
int connvers;
int server_version;
unsigned remote_uid;
@@ -497,7 +497,8 @@ static struct fuse_opt sshfs_opts[] = {
SSHFS_OPT("no_check_root", no_check_root, 1),
SSHFS_OPT("password_stdin", password_stdin, 1),
SSHFS_OPT("delay_connect", delay_connect, 1),
- SSHFS_OPT("slave", slave, 1),
+ SSHFS_OPT("slave", passive, 1),
+ SSHFS_OPT("passive", passive, 1),
SSHFS_OPT("disable_hardlink", disable_hardlink, 1),
SSHFS_OPT("dir_cache=yes", dir_cache, 1),
SSHFS_OPT("dir_cache=no", dir_cache, 0),
@@ -1147,8 +1148,8 @@ static int start_ssh(struct conn *conn)
if (sshfs.ptyfd == -1)
return -1;
- sshfs.ptyslavefd = open(ptyname, O_RDWR | O_NOCTTY);
- if (sshfs.ptyslavefd == -1)
+ sshfs.ptypassivefd = open(ptyname, O_RDWR | O_NOCTTY);
+ if (sshfs.ptypassivefd == -1)
return -1;
}
@@ -1207,7 +1208,7 @@ static int start_ssh(struct conn *conn)
_exit(1);
}
close(sfd);
- close(sshfs.ptyslavefd);
+ close(sshfs.ptypassivefd);
close(sshfs.ptyfd);
}
@@ -1231,7 +1232,7 @@ static int start_ssh(struct conn *conn)
return 0;
}
-static int connect_slave(struct conn *conn)
+static int connect_passive(struct conn *conn)
{
conn->rfd = STDIN_FILENO;
conn->wfd = STDOUT_FILENO;
@@ -1538,9 +1539,9 @@ static void close_conn(struct conn *conn)
close(sshfs.ptyfd);
sshfs.ptyfd = -1;
}
- if (sshfs.ptyslavefd != -1) {
- close(sshfs.ptyslavefd);
- sshfs.ptyslavefd = -1;
+ if (sshfs.ptypassivefd != -1) {
+ close(sshfs.ptypassivefd);
+ sshfs.ptypassivefd = -1;
}
}
@@ -1831,8 +1832,8 @@ static int connect_remote(struct conn *conn)
{
int err;
- if (sshfs.slave)
- err = connect_slave(conn);
+ if (sshfs.passive)
+ err = connect_passive(conn);
else if (sshfs.directport)
err = connect_to(conn, sshfs.host, sshfs.directport);
else
@@ -3636,7 +3637,7 @@ static void usage(const char *progname)
" -o ssh_protocol=N ssh protocol to use (default: 2)\n"
" -o sftp_server=SERV path to sftp server or subsystem (default: sftp)\n"
" -o directport=PORT directly connect to PORT bypassing ssh\n"
-" -o slave communicate over stdin and stdout bypassing network\n"
+" -o passive communicate over stdin and stdout bypassing network\n"
" -o disable_hardlink link(2) will return with errno set to ENOSYS\n"
" -o transform_symlinks transform absolute symlinks to relative\n"
" -o follow_symlinks follow symlinks on the server\n"
@@ -4189,9 +4190,9 @@ int main(int argc, char *argv[])
sshfs.show_version = 0;
sshfs.singlethread = 0;
sshfs.foreground = 0;
- sshfs.ptyslavefd = -1;
+ sshfs.ptypassivefd = -1;
sshfs.delay_connect = 0;
- sshfs.slave = 0;
+ sshfs.passive = 0;
sshfs.detect_uid = 0;
if (strcmp(IDMAP_DEFAULT, "none") == 0) {
sshfs.idmap = IDMAP_NONE;
@@ -4257,12 +4258,12 @@ int main(int argc, char *argv[])
DEBUG("SSHFS version %s\n", PACKAGE_VERSION);
/* Force sshfs to the foreground when using stdin+stdout */
- if (sshfs.slave)
+ if (sshfs.passive)
sshfs.foreground = 1;
- if (sshfs.slave && sshfs.password_stdin) {
- fprintf(stderr, "the password_stdin and slave options cannot both be specified\n");
+ if (sshfs.passive && sshfs.password_stdin) {
+ fprintf(stderr, "the password_stdin and passive options cannot both be specified\n");
exit(1);
}
@@ -4294,8 +4295,8 @@ int main(int argc, char *argv[])
exit(1);
}
- if (sshfs.slave) {
- fprintf(stderr, "slave option cannot be specified with parallel connections\n");
+ if (sshfs.passive) {
+ fprintf(stderr, "passive option cannot be specified with parallel connections\n");
exit(1);
}
} else if (sshfs.max_conns <= 0) {
diff --git a/sshfs.rst b/sshfs.rst
index 18736cd..711cc83 100644
--- a/sshfs.rst
+++ b/sshfs.rst
@@ -156,8 +156,11 @@ Options
-o directport=PORT
directly connect to PORT bypassing ssh
--o slave
- communicate over stdin and stdout bypassing network
+-o passive
+ communicate over stdin and stdout bypassing network. Useful for
+ mounting local filesystem on the remote side. An example using
+ dpipe command would be ``dpipe /usr/lib/openssh/sftp-server = ssh
+ RemoteHostname sshfs :/directory/to/be/shared ~/mnt/src -o passive``
-o disable_hardlink
With this option set, attempts to call `link(2)` will fail with
@@ -223,7 +226,7 @@ Options
to use. Each connection is established with a separate SSH process.
The primary purpose of this feature is to improve the responsiveness of the
file system during large file transfers. When using more than once
- connection, the *password_stdin* and *slave* options can not be
+ connection, the *password_stdin* and *passive* options can not be
used, and the *buflimit* workaround is not supported.
In addition, SSHFS accepts several options common to all FUSE file