diff -ruN fusefs-sshfs.orig/Makefile fusefs-sshfs/Makefile --- fusefs-sshfs.orig/Makefile Sun Nov 6 15:15:42 2005 +++ fusefs-sshfs/Makefile Sun Jan 15 22:56:16 2006 @@ -5,8 +5,7 @@ # PORTNAME= sshfs -PORTVERSION= 1.3 -PORTREVISION= 1 +PORTVERSION= 1.4 CATEGORIES= sysutils MASTER_SITES= ${MASTER_SITE_SOURCEFORGE} MASTER_SITE_SUBDIR= fuse @@ -18,6 +17,8 @@ LIB_DEPENDS= fuse.2:${PORTSDIR}/sysutils/fusefs-libs RUN_DEPENDS= ${LOCALBASE}/modules/fuse.ko:${PORTSDIR}/sysutils/fusefs-kmod + +CONFLICTS= fusefs-kmod-0.2.19* GNU_CONFIGURE= yes CONFIGURE_ENV+= CFLAGS="${CFLAGS} ${PTHREAD_CFLAGS}" diff -ruN fusefs-sshfs.orig/distinfo fusefs-sshfs/distinfo --- fusefs-sshfs.orig/distinfo Mon Oct 31 07:49:43 2005 +++ fusefs-sshfs/distinfo Sun Jan 15 22:29:49 2006 @@ -1,2 +1,3 @@ -MD5 (sshfs-fuse-1.3.tar.gz) = 40fe4a353d03b80f8b37e4b0cc6159d3 -SIZE (sshfs-fuse-1.3.tar.gz) = 88738 +MD5 (sshfs-fuse-1.4.tar.gz) = 3777dd6f232d33c9110abfa5ecd5518e +SHA256 (sshfs-fuse-1.4.tar.gz) = 5f1837f97a755d1ca11dcd79881f9e1598218259868959d4805bb578822a0d47 +SIZE (sshfs-fuse-1.4.tar.gz) = 93059 diff -ruN fusefs-sshfs.orig/files/patch-sshfs.c fusefs-sshfs/files/patch-sshfs.c --- fusefs-sshfs.orig/files/patch-sshfs.c Mon Oct 31 07:49:43 2005 +++ fusefs-sshfs/files/patch-sshfs.c Wed Dec 31 19:00:00 1969 @@ -1,147 +0,0 @@ ---- sshfs.c.orig Fri Oct 28 08:15:35 2005 -+++ sshfs.c Mon Oct 31 02:59:33 2005 -@@ -14,7 +14,11 @@ - #include - #include - #include --#include -+#ifdef HAVE_STDINT_H -+ #include -+#elif defined(HAVE_INTTYPES_H) -+ #include -+#endif - #include - #include - #include -@@ -24,6 +28,13 @@ - #include - #include - #include -+#ifdef __FreeBSD__ -+ #include -+ #include -+ #if (__FreeBSD_version < 600034) -+ #define EPROTONOSUPPORT 43 -+ #endif -+#endif - - #include "cache.h" - #include "opts.h" -@@ -1070,7 +1081,11 @@ - err = req->error; - goto out; - } -+#ifdef EPROTO - err = -EPROTO; -+#else -+ err = -EPROTONOSUPPORT; -+#endif - if (req->reply_type != expect_type && req->reply_type != SSH_FXP_STATUS) { - fprintf(stderr, "protocol error\n"); - goto out; -@@ -1085,21 +1100,35 @@ - if (expect_type == SSH_FXP_STATUS) - err = 0; - else -+#ifdef EPROTO - err = -EPROTO; -+#else -+ err = -EPROTONOSUPPORT; -+#endif - break; - - case SSH_FX_EOF: - if (type == SSH_FXP_READ || type == SSH_FXP_READDIR) - err = MY_EOF; - else -+#ifdef EPROTO - err = -EPROTO; -+#else -+ err = -EPROTONOSUPPORT; -+#endif - break; - - case SSH_FX_NO_SUCH_FILE: err = -ENOENT; break; - case SSH_FX_PERMISSION_DENIED: err = -EACCES; break; - case SSH_FX_FAILURE: err = -EPERM; break; - case SSH_FX_BAD_MESSAGE: -- default: err = -EPROTO; break; -+ default: -+#ifdef EPROTO -+ err = -EPROTO; -+#else -+ err = -EPROTONOSUPPORT; -+#endif -+ break; - } - } else { - buf_init(outbuf, req->reply.size - req->reply.len); -@@ -1142,7 +1171,11 @@ - err = sftp_request(SSH_FXP_LSTAT, &buf, SSH_FXP_ATTRS, &outbuf); - if (!err) { - if (buf_get_attrs(&outbuf, stbuf, NULL) == -1) -+#ifdef EPROTO - err = -EPROTO; -+#else -+ err = -EPROTONOSUPPORT; -+#endif - buf_free(&outbuf); - } - buf_free(&buf); -@@ -1164,7 +1197,11 @@ - if (!err) { - uint32_t count; - char *link; -+#ifdef EPROTO - err = -EPROTO; -+#else -+ err = -EPROTONOSUPPORT; -+#endif - if(buf_get_uint32(&name, &count) != -1 && count == 1 && - buf_get_string(&name, &link) != -1) { - strncpy(linkbuf, link, size-1); -@@ -1195,7 +1232,11 @@ - err = sftp_request(SSH_FXP_READDIR, &handle, SSH_FXP_NAME, &name); - if (!err) { - if (buf_get_entries(&name, h, filler) == -1) -+#ifdef EPROTO - err = -EPROTO; -+#else -+ err = -EPROTONOSUPPORT; -+#endif - buf_free(&name); - } - } while (!err); -@@ -1528,7 +1569,11 @@ - err = sftp_request(SSH_FXP_READ, &buf, SSH_FXP_DATA, &data); - if (!err) { - uint32_t retsize; -+#ifdef EPROTO - err = -EPROTO; -+#else -+ err = -EPROTONOSUPPORT; -+#endif - if (buf_get_uint32(&data, &retsize) != -1) { - if (retsize > size) - fprintf(stderr, "long read\n"); -@@ -1550,7 +1595,11 @@ - if (req->error) - chunk->res = req->error; - else if (req->replied) { -+#ifdef EPROTO - chunk->res = -EPROTO; -+#else -+ chunk->res = -EPROTONOSUPPORT; -+#endif - - if (req->reply_type == SSH_FXP_STATUS) { - uint32_t serr; -@@ -1771,7 +1820,7 @@ - { - (void) path; - -- buf->f_namelen = 255; -+ buf->f_namemax = 255; - buf->f_bsize = 512; - buf->f_blocks = 999999999 * 2; - buf->f_bfree = 999999999 * 2; diff -ruN fusefs-sshfs.orig/pkg-message fusefs-sshfs/pkg-message --- fusefs-sshfs.orig/pkg-message Mon Oct 31 07:49:43 2005 +++ fusefs-sshfs/pkg-message Sun Jan 15 22:32:48 2006 @@ -1,21 +1,22 @@ Basic Instructions: -Load the fuse kernel module (as root): -# %%PREFIX%%/etc/rc.d/fuse.sh start +There are three ways to do this: -Then mount something via sshfs (as an ordinary user if you set -vfs.usermount=1). - -There are two ways to do this: +Daemon initiated 1) -% env FUSE_DEV_NAME=/dev/fuse0 sshfs -o uid= -o gid= \ - username@example.org: -% mount_fusefs /dev/fuse0 /path/to/mount/point +% sshfs -o idmap=user username@example.org: /path/to/mount/point or 2) -% mount_fusefs auto /path/to/mount/point sshfs -o uid= \ - -o gid= username@example.org: +% mount_fusefs auto /path/to/mount/point sshfs -o idmap=user \ + username@example.org: + +or + +3) +% env FUSE_DEV_NAME=/dev/fuse0 sshfs -o idmap=user \ + username@example.org: +% mount_fusefs /dev/fuse0 /path/to/mount/point For further options see ``sshfs -h''.