System: FreeBSD 5.4-STABLE #3: Wed Aug 17 14:50:43 EDT 2005
ami...@bigguy.am-productions.biz:/usr/obj/usr/src/sys/BIGGUY
>Description:
Allows the mounting of any ssh accessible device. Depends on New port: sysutils/fusefs
>How-To-Repeat:
>Fix:
--- sshfs.shar begins here ---
# This is a shell archive. Save it in a file, remove anything before
# this line, and then unpack it by entering "sh file". Note, it may
# create directories; files and directories will be owned by you and
# have default permissions.
#
# This archive contains:
#
# sshfs
# sshfs/files
# sshfs/files/patch-aa
# sshfs/distinfo
# sshfs/pkg-descr
# sshfs/Makefile
# sshfs/pkg-plist
#
echo c - sshfs
mkdir -p sshfs > /dev/null 2>&1
echo c - sshfs/files
mkdir -p sshfs/files > /dev/null 2>&1
echo x - sshfs/files/patch-aa
sed 's/^X//' >sshfs/files/patch-aa << 'END-of-sshfs/files/patch-aa'
X--- sshfs.c.orig Mon Aug 15 05:07:08 2005
X+++ sshfs.c Sun Oct 9 13:12:45 2005
X@@ -14,7 +14,11 @@
X #include <unistd.h>
X #include <fcntl.h>
X #include <string.h>
X-#include <stdint.h>
X+#ifdef HAVE_STDINT_H
X+ #include <stdint.h>
X+#elif defined(HAVE_INTTYPES_H)
X+ #include <inttypes.h>
X+#endif
X #include <errno.h>
X #include <semaphore.h>
X #include <pthread.h>
X@@ -24,6 +28,13 @@
X #include <sys/wait.h>
X #include <netinet/in.h>
X #include <glib.h>
X+#ifdef __FreeBSD__
X+ #include <sys/socket.h>
X+ #include <sys/param.h>
X+ #if (__FreeBSD_version < 600034)
X+ #define EPROTONOSUPPORT 43
X+ #endif
X+#endif
X
X #include "cache.h"
X #include "opts.h"
X@@ -970,7 +981,11 @@
X err = req->error;
X goto out;
X }
X+#ifdef EPROTO
X err = -EPROTO;
X+#else
X+ err = -EPROTONOSUPPORT;
X+#endif
X if (req->reply_type != expect_type && req->reply_type != SSH_FXP_STATUS) {
X fprintf(stderr, "protocol error\n");
X goto out;
X@@ -985,21 +1000,35 @@
X if (expect_type == SSH_FXP_STATUS)
X err = 0;
X else
X+#ifdef EPROTO
X err = -EPROTO;
X+#else
X+ err = -EPROTONOSUPPORT;
X+#endif
X break;
X
X case SSH_FX_EOF:
X if (type == SSH_FXP_READ || type == SSH_FXP_READDIR)
X err = MY_EOF;
X else
X+#ifdef EPROTO
X err = -EPROTO;
X+#else
X+ err = -EPROTONOSUPPORT;
X+#endif
X break;
X
X case SSH_FX_NO_SUCH_FILE: err = -ENOENT; break;
X case SSH_FX_PERMISSION_DENIED: err = -EACCES; break;
X case SSH_FX_FAILURE: err = -EPERM; break;
X case SSH_FX_BAD_MESSAGE:
X- default: err = -EPROTO; break;
X+ default:
X+#ifdef EPROTO
X+ err = -EPROTO;
X+#else
X+ err = -EPROTONOSUPPORT;
X+#endif
X+ break;
X }
X } else {
X buf_init(outbuf, req->reply.size - req->reply.len);
X@@ -1039,7 +1068,11 @@
X err = sftp_request(SSH_FXP_LSTAT, &buf, SSH_FXP_ATTRS, &outbuf);
X if (!err) {
X if (buf_get_attrs(&outbuf, stbuf) == -1)
X+#ifdef EPROTO
X err = -EPROTO;
X+#else
X+ err = -EPROTONOSUPPORT;
X+#endif
X buf_free(&outbuf);
X }
X buf_free(&buf);
X@@ -1061,7 +1094,11 @@
X if (!err) {
X uint32_t count;
X char *link;
X+#ifdef EPROTO
X err = -EPROTO;
X+#else
X+ err = -EPROTONOSUPPORT;
X+#endif
X if(buf_get_uint32(&name, &count) != -1 && count == 1 &&
X buf_get_string(&name, &link) != -1) {
X strncpy(linkbuf, link, size-1);
X@@ -1092,7 +1129,11 @@
X err = sftp_request(SSH_FXP_READDIR, &handle, SSH_FXP_NAME, &name);
X if (!err) {
X if (buf_get_entries(&name, h, filler) == -1)
X+#ifdef EPROTO
X err = -EPROTO;
X+#else
X+ err = -EPROTONOSUPPORT;
X+#endif
X buf_free(&name);
X }
X } while (!err);
X@@ -1377,7 +1418,11 @@
X err = sftp_request(SSH_FXP_READ, &buf, SSH_FXP_DATA, &data);
X if (!err) {
X uint32_t retsize;
X+#ifdef EPROTO
X err = -EPROTO;
X+#else
X+ err = -EPROTONOSUPPORT;
X+#endif
X if (buf_get_uint32(&data, &retsize) != -1) {
X if (retsize > size)
X fprintf(stderr, "long read\n");
X@@ -1399,7 +1444,11 @@
X if (req->error)
X chunk->res = req->error;
X else if (req->replied) {
X+#ifdef EPROTO
X chunk->res = -EPROTO;
X+#else
X+ chunk->res = -EPROTONOSUPPORT;
X+#endif
X
X if (req->reply_type == SSH_FXP_STATUS) {
X uint32_t serr;
END-of-sshfs/files/patch-aa
echo x - sshfs/distinfo
sed 's/^X//' >sshfs/distinfo << 'END-of-sshfs/distinfo'
XMD5 (sshfs-fuse-1.2.tar.gz) = 685dc6611e20242602105fe4960a6ab9
XSIZE (sshfs-fuse-1.2.tar.gz) = 86239
END-of-sshfs/distinfo
echo x - sshfs/pkg-descr
sed 's/^X//' >sshfs/pkg-descr << 'END-of-sshfs/pkg-descr'
XSSHFS allows you to mount a remote directory over a normal ssh connection.
X
XWWW: http://sourceforge.net/projects/fuse/
X
X- Anish Mistry
Xami...@am-productions.biz
XAM Productions http://am-productions.biz
END-of-sshfs/pkg-descr
echo x - sshfs/Makefile
sed 's/^X//' >sshfs/Makefile << 'END-of-sshfs/Makefile'
X# New ports collection makefile for: sshfs
X# Date created: 01 October 2005
X# Whom: Anish Mistry
X# $FreeBSD$
X#
X
XPORTNAME= sshfs
XPORTVERSION= 1.2
XCATEGORIES= sysutils
XMASTER_SITES= ${MASTER_SITE_SOURCEFORGE}
XMASTER_SITE_SUBDIR= fuse
XDISTNAME= ${PORTNAME}-fuse-${PORTVERSION}
X
XMAINTAINER= ami...@am-productions.biz
XCOMMENT= Mount remote directories over ssh
X
XLIB_DEPENDS= fuse.2:${PORTSDIR}/sysutils/fusefs \
X glib-2.0.600:${PORTSDIR}/devel/glib20
X
XHAS_CONFIGURE= yes
X
X.include <bsd.port.pre.mk>
X
X.if ${OSVERSION} < 500000
XBROKEN= "does not compile"
X.endif
X
X.include <bsd.port.post.mk>
END-of-sshfs/Makefile
echo x - sshfs/pkg-plist
sed 's/^X//' >sshfs/pkg-plist << 'END-of-sshfs/pkg-plist'
Xbin/sshfs
END-of-sshfs/pkg-plist
exit
--- sshfs.shar ends here ---
>Release-Note:
>Audit-Trail:
>Unformatted:
Responsible-Changed-From-To: freebsd-ports-bugs->barner
Responsible-Changed-By: barner
Responsible-Changed-When: Sun Oct 9 19:56:59 GMT 2005
Responsible-Changed-Why:
Mine.