[90649] trunk/dports/fuse/sshfs
dports at macports.org
dports at macports.org
Sun Mar 11 13:18:14 PDT 2012
Revision: 90649
http://trac.macports.org/changeset/90649
Author: dports at macports.org
Date: 2012-03-11 13:18:13 -0700 (Sun, 11 Mar 2012)
Log Message:
-----------
sshfs: update to v2.4 (#33589)
Modified Paths:
--------------
trunk/dports/fuse/sshfs/Portfile
trunk/dports/fuse/sshfs/files/patch-from-fuse4x.diff
Modified: trunk/dports/fuse/sshfs/Portfile
===================================================================
--- trunk/dports/fuse/sshfs/Portfile 2012-03-11 19:57:13 UTC (rev 90648)
+++ trunk/dports/fuse/sshfs/Portfile 2012-03-11 20:18:13 UTC (rev 90649)
@@ -4,7 +4,7 @@
PortSystem 1.0
name sshfs
-version 2.3
+version 2.4
categories fuse
platforms darwin
@@ -24,8 +24,8 @@
master_sites sourceforge:fuse
license GPL-2
-checksums rmd160 5ea1180cbc60ff9401d7e53774dfda3a78f37ab1 \
- sha256 ce229f87869d136c8347cca646f1dd6394c604127d021507a57205668d9288bb
+checksums rmd160 01e40fda6272ee601ff2d45050f9d1e635ee38f2 \
+ sha256 3c93ba8522568093c94ff9c5a3763929380dd229365d905769ff82475d774dd1
livecheck.distname sshfs-fuse
Modified: trunk/dports/fuse/sshfs/files/patch-from-fuse4x.diff
===================================================================
--- trunk/dports/fuse/sshfs/files/patch-from-fuse4x.diff 2012-03-11 19:57:13 UTC (rev 90648)
+++ trunk/dports/fuse/sshfs/files/patch-from-fuse4x.diff 2012-03-11 20:18:13 UTC (rev 90649)
@@ -20,10 +20,10 @@
EXTRA_DIST = sshnodelay.c FAQ.txt
CLEANFILES = sshnodelay.so
diff --git a/cache.c b/cache.c
-index bb23f8f..5b635f2 100644
+index 2a06726..ab274bc 100644
--- a/cache.c
+++ b/cache.c
-@@ -559,6 +559,9 @@ struct fuse_operations *cache_init(struct fuse_cache_operations *oper)
+@@ -553,6 +553,9 @@ struct fuse_operations *cache_init(struct fuse_cache_operations *oper)
cache.next_oper = oper;
cache_unity_fill(oper, &cache_oper);
@@ -33,7 +33,7 @@
if (cache.on) {
cache_fill(oper, &cache_oper);
pthread_mutex_init(&cache.lock, NULL);
-@@ -593,3 +596,7 @@ int cache_parse_options(struct fuse_args *args)
+@@ -587,3 +590,7 @@ int cache_parse_options(struct fuse_args *args)
return fuse_opt_parse(args, &cache, cache_opts, NULL);
}
@@ -364,7 +364,7 @@
+
+#endif /* semaphore.h */
diff --git a/sshfs.c b/sshfs.c
-index 22bda6b..9698c74 100644
+index 7cfa341..39f3286 100644
--- a/sshfs.c
+++ b/sshfs.c
@@ -20,7 +20,11 @@
@@ -379,10 +379,10 @@
#include <pthread.h>
#include <netdb.h>
#include <signal.h>
-@@ -35,6 +39,10 @@
- #include <netinet/in.h>
- #include <netinet/tcp.h>
- #include <glib.h>
+@@ -38,6 +42,10 @@
+ #include <pwd.h>
+ #include <grp.h>
+ #include <limits.h>
+#ifdef __APPLE__
+#include <libgen.h>
+#include <strings.h>
@@ -390,7 +390,7 @@
#include "cache.h"
-@@ -118,6 +126,16 @@
+@@ -121,6 +129,16 @@
#define SSHNODELAY_SO "sshnodelay.so"
@@ -407,7 +407,7 @@
struct buffer {
uint8_t *p;
size_t len;
-@@ -167,6 +185,9 @@ struct sshfs_file {
+@@ -183,6 +201,9 @@ struct sshfs_file {
int connver;
int modifver;
int refs;
@@ -417,7 +417,7 @@
};
struct sshfs {
-@@ -207,6 +228,10 @@ struct sshfs {
+@@ -234,6 +255,10 @@ struct sshfs {
int server_version;
unsigned remote_uid;
unsigned local_uid;
@@ -428,7 +428,7 @@
int remote_uid_detected;
unsigned blksize;
char *progname;
-@@ -661,8 +686,17 @@ static int buf_get_attrs(struct buffer *buf, struct stat *stbuf, int *flagsp)
+@@ -727,8 +752,17 @@ static int buf_get_attrs(struct buffer *buf, struct stat *stbuf, int *flagsp)
}
}
@@ -443,10 +443,10 @@
if (sshfs.remote_uid_detected && uid == sshfs.remote_uid)
uid = sshfs.local_uid;
+#endif
-
- memset(stbuf, 0, sizeof(struct stat));
- stbuf->st_mode = mode;
-@@ -765,11 +799,33 @@ static void ssh_add_arg(const char *arg)
+ if (sshfs.idmap == IDMAP_FILE && sshfs.uid_map)
+ if (translate_id(&uid, sshfs.uid_map) == -1)
+ return -EPERM;
+@@ -837,11 +871,33 @@ static void ssh_add_arg(const char *arg)
#ifdef SSH_NODELAY_WORKAROUND
static int do_ssh_nodelay_workaround(void)
{
@@ -480,7 +480,7 @@
snprintf(sopath, sizeof(sopath), "%s/%s", LIBDIR, SSHNODELAY_SO);
res = access(sopath, R_OK);
if (res == -1) {
-@@ -794,16 +850,24 @@ static int do_ssh_nodelay_workaround(void)
+@@ -866,16 +922,24 @@ static int do_ssh_nodelay_workaround(void)
return -1;
}
}
@@ -505,7 +505,7 @@
g_free(newpreload);
return 0;
}
-@@ -1500,6 +1564,10 @@ static void sftp_detect_uid()
+@@ -1595,6 +1659,10 @@ static void sftp_detect_uid()
sshfs.remote_uid = stbuf.st_uid;
sshfs.local_uid = getuid();
@@ -516,7 +516,7 @@
sshfs.remote_uid_detected = 1;
DEBUG("remote_uid = %i\n", sshfs.remote_uid);
-@@ -2120,6 +2188,14 @@ static int sshfs_chown(const char *path, uid_t uid, gid_t gid)
+@@ -2238,6 +2306,14 @@ static int sshfs_chown(const char *path, uid_t uid, gid_t gid)
buf_init(&buf, 0);
buf_add_path(&buf, path);
buf_add_uint32(&buf, SSH_FILEXFER_ATTR_UIDGID);
@@ -531,7 +531,7 @@
buf_add_uint32(&buf, uid);
buf_add_uint32(&buf, gid);
err = sftp_request(SSH_FXP_SETSTAT, &buf, SSH_FXP_STATUS, NULL);
-@@ -2203,6 +2279,9 @@ static int sshfs_open_common(const char *path, mode_t mode,
+@@ -2334,6 +2410,9 @@ static int sshfs_open_common(const char *path, mode_t mode,
sf = g_new0(struct sshfs_file, 1);
list_init(&sf->write_reqs);
pthread_cond_init(&sf->write_finished, NULL);
@@ -541,7 +541,7 @@
/* Assume random read after open */
sf->is_seq = 0;
sf->refs = 1;
-@@ -2236,11 +2315,21 @@ static int sshfs_open_common(const char *path, mode_t mode,
+@@ -2368,11 +2447,21 @@ static int sshfs_open_common(const char *path, mode_t mode,
}
if (!err) {
@@ -563,7 +563,7 @@
g_free(sf);
}
buf_free(&buf);
-@@ -2295,14 +2384,32 @@ static int sshfs_fsync(const char *path, int isdatasync,
+@@ -2427,14 +2516,32 @@ static int sshfs_fsync(const char *path, int isdatasync,
static void sshfs_file_put(struct sshfs_file *sf)
{
@@ -596,7 +596,7 @@
}
static int sshfs_release(const char *path, struct fuse_file_info *fi)
-@@ -3076,6 +3183,15 @@ static int read_password(void)
+@@ -3352,6 +3459,15 @@ static int read_password(void)
perror("Failed to allocate locked page for password");
return -1;
}
@@ -612,17 +612,8 @@
/* Don't use fgets() because password might stay in memory */
for (n = 0; n < max_password; n++) {
-@@ -3123,7 +3239,7 @@ static void set_ssh_command(void)
- replace_arg(&sshfs.ssh_args.argv[0],
- sshfs.ssh_command);
- } else {
-- if (fuse_opt_insert_arg(&sshfs.ssh_args, i,
-+ if (fuse_opt_insert_arg(&sshfs.ssh_args, i,
- sshfs.ssh_command) == -1)
- _exit(1);
- }
-@@ -3227,8 +3343,13 @@ static int ssh_connect(void)
- return 0;
+@@ -3677,8 +3793,13 @@ static inline void load_gid_map(void)
+ read_id_map(sshfs.gid_file, &groupname_to_gid, "gid", &sshfs.gid_map, &sshfs.r_gid_map);
}
-int main(int argc, char *argv[])
@@ -636,7 +627,7 @@
int res;
struct fuse_args args = FUSE_ARGS_INIT(argc, argv);
char *tmp;
-@@ -3236,6 +3357,10 @@ int main(int argc, char *argv[])
+@@ -3686,6 +3807,10 @@ int main(int argc, char *argv[])
const char *sftp_server;
int libver;
@@ -647,8 +638,8 @@
g_thread_init(NULL);
sshfs.blksize = 4096;
-@@ -3243,7 +3368,11 @@ int main(int argc, char *argv[])
- sshfs.max_write = 65536;
+@@ -3694,7 +3819,11 @@ int main(int argc, char *argv[])
+ sshfs.max_write = 32768;
sshfs.nodelay_workaround = 1;
sshfs.nodelaysrv_workaround = 0;
+#ifdef __APPLE__
@@ -659,7 +650,7 @@
sshfs.truncate_workaround = 0;
sshfs.buflimit_workaround = 1;
sshfs.ssh_ver = 2;
-@@ -3257,6 +3386,10 @@ int main(int argc, char *argv[])
+@@ -3713,6 +3842,10 @@ int main(int argc, char *argv[])
ssh_add_arg("-a");
ssh_add_arg("-oClearAllForwardings=yes");
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://lists.macosforge.org/pipermail/macports-changes/attachments/20120311/d7c35543/attachment.html>
More information about the macports-changes
mailing list