logo

oasis

Own branch of Oasis Linux (upstream: <https://git.sr.ht/~mcf/oasis/>) git clone https://anongit.hacktivis.me/git/oasis.git
commit: 68a9e06c2dfcb43c2c3bef5ac12942aa021cf453
parent 37ac685731b82d4163f22fd47152c2668f6d9e62
Author: Michael Forney <mforney@mforney.org>
Date:   Sun, 19 Aug 2018 21:14:39 -0700

sshfs: Update to 3.4.0

Diffstat:

Mpkg/sshfs/config.h2+-
Mpkg/sshfs/patch/0002-Use-a-compact-array-and-free-list-for-requests.patch44++++++++++++++++++++++----------------------
Mpkg/sshfs/patch/0003-Use-bool-instead-of-gboolean.patch8++++----
Mpkg/sshfs/patch/0004-Use-struct-list_head-instead-of-GList.patch12++++++------
Mpkg/sshfs/patch/0005-Use-standard-C-functions.patch38+++++++++++++++++++-------------------
Mpkg/sshfs/patch/0007-Disable-uidmap-and-gidmap-support.patch28++++++++++++++--------------
Mpkg/sshfs/rev2+-
7 files changed, 67 insertions(+), 67 deletions(-)

diff --git a/pkg/sshfs/config.h b/pkg/sshfs/config.h @@ -1,2 +1,2 @@ #define IDMAP_DEFAULT "none" -#define PACKAGE_VERSION "3.3.0" +#define PACKAGE_VERSION "3.4.0" diff --git a/pkg/sshfs/patch/0002-Use-a-compact-array-and-free-list-for-requests.patch b/pkg/sshfs/patch/0002-Use-a-compact-array-and-free-list-for-requests.patch @@ -1,4 +1,4 @@ -From 322be2bcf22ab3a3c39b083d8b8f92631952517f Mon Sep 17 00:00:00 2001 +From 2948f0391fa23c4ec962b22e1814eced97bbea8a Mon Sep 17 00:00:00 2001 From: Michael Forney <mforney@mforney.org> Date: Sun, 5 Jun 2016 17:25:36 -0700 Subject: [PATCH] Use a compact array and free list for requests @@ -8,7 +8,7 @@ Subject: [PATCH] Use a compact array and free list for requests 1 file changed, 80 insertions(+), 45 deletions(-) diff --git a/sshfs.c b/sshfs.c -index 58b5c31..1bd0af6 100644 +index 5ae54c5..6da5c9f 100644 --- a/sshfs.c +++ b/sshfs.c @@ -171,6 +171,17 @@ struct request { @@ -29,7 +29,7 @@ index 58b5c31..1bd0af6 100644 struct sshfs_io { int num_reqs; pthread_cond_t finished; -@@ -250,7 +261,7 @@ struct sshfs { +@@ -251,7 +262,7 @@ struct sshfs { int slave; char *host; char *base_path; @@ -38,7 +38,7 @@ index 58b5c31..1bd0af6 100644 pthread_mutex_t lock; pthread_mutex_t lock_write; int processing_thread_started; -@@ -1165,12 +1176,6 @@ static int do_write(struct iovec *iov, size_t count) +@@ -1168,12 +1179,6 @@ static int do_write(struct iovec *iov, size_t count) return 0; } @@ -51,7 +51,7 @@ index 58b5c31..1bd0af6 100644 static void buf_to_iov(const struct buffer *buf, struct iovec *iov) { iov->iov_base = buf->p; -@@ -1263,6 +1268,43 @@ static void request_free(struct request *req) +@@ -1266,6 +1271,43 @@ static void request_free(struct request *req) g_free(req); } @@ -95,7 +95,7 @@ index 58b5c31..1bd0af6 100644 static void chunk_free(struct read_chunk *chunk) { while (!list_empty(&chunk->reqs)) { -@@ -1292,21 +1334,6 @@ static void chunk_put_locked(struct read_chunk *chunk) +@@ -1295,21 +1337,6 @@ static void chunk_put_locked(struct read_chunk *chunk) pthread_mutex_unlock(&sshfs.lock); } @@ -117,7 +117,7 @@ index 58b5c31..1bd0af6 100644 static int process_one_request(void) { int res; -@@ -1323,8 +1350,7 @@ static int process_one_request(void) +@@ -1326,8 +1353,7 @@ static int process_one_request(void) return -1; pthread_mutex_lock(&sshfs.lock); @@ -127,7 +127,7 @@ index 58b5c31..1bd0af6 100644 if (req == NULL) fprintf(stderr, "request %i not found\n", id); else { -@@ -1336,7 +1362,7 @@ static int process_one_request(void) +@@ -1339,7 +1365,7 @@ static int process_one_request(void) sshfs.outstanding_len <= sshfs.max_outstanding_len) { pthread_cond_broadcast(&sshfs.outstanding_cond); } @@ -136,7 +136,7 @@ index 58b5c31..1bd0af6 100644 } pthread_mutex_unlock(&sshfs.lock); if (req != NULL) { -@@ -1397,6 +1423,9 @@ static void close_conn(void) +@@ -1400,6 +1426,9 @@ static void close_conn(void) static void *process_requests(void *data_) { @@ -146,7 +146,7 @@ index 58b5c31..1bd0af6 100644 (void) data_; while (1) { -@@ -1407,7 +1436,20 @@ static void *process_requests(void *data_) +@@ -1410,7 +1439,20 @@ static void *process_requests(void *data_) pthread_mutex_lock(&sshfs.lock); sshfs.processing_thread_started = 0; close_conn(); @@ -168,7 +168,7 @@ index 58b5c31..1bd0af6 100644 sshfs.connver ++; sshfs.outstanding_len = 0; pthread_cond_broadcast(&sshfs.outstanding_cond); -@@ -1555,7 +1597,6 @@ static int sftp_error_to_errno(uint32_t error) +@@ -1558,7 +1600,6 @@ static int sftp_error_to_errno(uint32_t error) static void sftp_detect_uid() { int flags; @@ -176,7 +176,7 @@ index 58b5c31..1bd0af6 100644 uint32_t replid; uint8_t type; struct buffer buf; -@@ -1565,7 +1606,7 @@ static void sftp_detect_uid() +@@ -1568,7 +1609,7 @@ static void sftp_detect_uid() buf_init(&buf, 5); buf_add_string(&buf, "."); buf_to_iov(&buf, &iov[0]); @@ -185,7 +185,7 @@ index 58b5c31..1bd0af6 100644 goto out; buf_clear(&buf); if (sftp_read(&type, &buf) == -1) -@@ -1576,7 +1617,7 @@ static void sftp_detect_uid() +@@ -1579,7 +1620,7 @@ static void sftp_detect_uid() } if (buf_get_uint32(&buf, &replid) == -1) goto out; @@ -194,7 +194,7 @@ index 58b5c31..1bd0af6 100644 fprintf(stderr, "bad reply ID\n"); goto out; } -@@ -1613,7 +1654,6 @@ out: +@@ -1616,7 +1657,6 @@ out: static int sftp_check_root(const char *base_path) { int flags; @@ -202,7 +202,7 @@ index 58b5c31..1bd0af6 100644 uint32_t replid; uint8_t type; struct buffer buf; -@@ -1625,7 +1665,7 @@ static int sftp_check_root(const char *base_path) +@@ -1628,7 +1668,7 @@ static int sftp_check_root(const char *base_path) buf_init(&buf, 0); buf_add_string(&buf, remote_dir); buf_to_iov(&buf, &iov[0]); @@ -211,7 +211,7 @@ index 58b5c31..1bd0af6 100644 goto out; buf_clear(&buf); if (sftp_read(&type, &buf) == -1) -@@ -1636,7 +1676,7 @@ static int sftp_check_root(const char *base_path) +@@ -1639,7 +1679,7 @@ static int sftp_check_root(const char *base_path) } if (buf_get_uint32(&buf, &replid) == -1) goto out; @@ -220,7 +220,7 @@ index 58b5c31..1bd0af6 100644 fprintf(stderr, "bad reply ID\n"); goto out; } -@@ -1826,7 +1866,6 @@ static int sftp_request_send(uint8_t type, struct iovec *iov, size_t count, +@@ -1829,7 +1869,6 @@ static int sftp_request_send(uint8_t type, struct iovec *iov, size_t count, struct request **reqp) { int err; @@ -228,7 +228,7 @@ index 58b5c31..1bd0af6 100644 struct request *req = g_new0(struct request, 1); req->want_reply = want_reply; -@@ -1837,8 +1876,6 @@ static int sftp_request_send(uint8_t type, struct iovec *iov, size_t count, +@@ -1840,8 +1879,6 @@ static int sftp_request_send(uint8_t type, struct iovec *iov, size_t count, pthread_mutex_lock(&sshfs.lock); if (begin_func) begin_func(req); @@ -237,7 +237,7 @@ index 58b5c31..1bd0af6 100644 err = start_processing_thread(); if (err) { pthread_mutex_unlock(&sshfs.lock); -@@ -1849,21 +1886,24 @@ static int sftp_request_send(uint8_t type, struct iovec *iov, size_t count, +@@ -1852,21 +1889,24 @@ static int sftp_request_send(uint8_t type, struct iovec *iov, size_t count, while (sshfs.outstanding_len > sshfs.max_outstanding_len) pthread_cond_wait(&sshfs.outstanding_cond, &sshfs.lock); @@ -266,7 +266,7 @@ index 58b5c31..1bd0af6 100644 pthread_mutex_unlock(&sshfs.lock); if (!rmed && !want_reply) { -@@ -2036,7 +2076,7 @@ static int sftp_readdir_send(struct request **req, struct buffer *handle) +@@ -2039,7 +2079,7 @@ static int sftp_readdir_send(struct request **req, struct buffer *handle) static int sshfs_req_pending(struct request *req) { @@ -275,7 +275,7 @@ index 58b5c31..1bd0af6 100644 return 1; else return 0; -@@ -3298,11 +3338,6 @@ static int processing_init(void) +@@ -3312,11 +3352,6 @@ static int processing_init(void) pthread_mutex_init(&sshfs.lock, NULL); pthread_mutex_init(&sshfs.lock_write, NULL); pthread_cond_init(&sshfs.outstanding_cond, NULL); @@ -288,5 +288,5 @@ index 58b5c31..1bd0af6 100644 } -- -2.17.0 +2.18.0 diff --git a/pkg/sshfs/patch/0003-Use-bool-instead-of-gboolean.patch b/pkg/sshfs/patch/0003-Use-bool-instead-of-gboolean.patch @@ -1,4 +1,4 @@ -From bb7bae0577b8cb2c4036d9e66a663cdc1c7bc161 Mon Sep 17 00:00:00 2001 +From 42d9808d18233aa74321d02209a18739bd12c045 Mon Sep 17 00:00:00 2001 From: Michael Forney <mforney@mforney.org> Date: Sun, 5 Jun 2016 17:28:40 -0700 Subject: [PATCH] Use bool instead of gboolean @@ -8,7 +8,7 @@ Subject: [PATCH] Use bool instead of gboolean 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/sshfs.c b/sshfs.c -index 1bd0af6..f2746b5 100644 +index 6da5c9f..b604469 100644 --- a/sshfs.c +++ b/sshfs.c @@ -18,6 +18,7 @@ @@ -19,7 +19,7 @@ index 1bd0af6..f2746b5 100644 #include <stdio.h> #include <stdlib.h> #include <unistd.h> -@@ -1898,7 +1899,7 @@ static int sftp_request_send(uint8_t type, struct iovec *iov, size_t count, +@@ -1901,7 +1902,7 @@ static int sftp_request_send(uint8_t type, struct iovec *iov, size_t count, err = -EIO; if (sftp_send_iov(type, req->id, iov, count) == -1) { @@ -29,5 +29,5 @@ index 1bd0af6..f2746b5 100644 pthread_mutex_lock(&sshfs.lock); rmed = !!request_table_lookup(&sshfs.reqtab, req->id); -- -2.17.0 +2.18.0 diff --git a/pkg/sshfs/patch/0004-Use-struct-list_head-instead-of-GList.patch b/pkg/sshfs/patch/0004-Use-struct-list_head-instead-of-GList.patch @@ -1,4 +1,4 @@ -From d5d8d25d0c01fe836f83d904f42fdaeea47a13e6 Mon Sep 17 00:00:00 2001 +From 2a30977257b83a7711a29e6992b5f70919ac4df0 Mon Sep 17 00:00:00 2001 From: Michael Forney <mforney@mforney.org> Date: Sun, 5 Jun 2016 17:30:20 -0700 Subject: [PATCH] Use struct list_head instead of GList @@ -8,10 +8,10 @@ Subject: [PATCH] Use struct list_head instead of GList 1 file changed, 7 insertions(+), 9 deletions(-) diff --git a/sshfs.c b/sshfs.c -index f2746b5..1d7ae03 100644 +index b604469..a9dde7c 100644 --- a/sshfs.c +++ b/sshfs.c -@@ -2086,14 +2086,14 @@ static int sshfs_req_pending(struct request *req) +@@ -2089,14 +2089,14 @@ static int sshfs_req_pending(struct request *req) static int sftp_readdir_async(struct buffer *handle, void *buf, off_t offset, fuse_fill_dir_t filler) { @@ -29,7 +29,7 @@ index f2746b5..1d7ae03 100644 while (!done || outstanding) { struct request *req; struct buffer name; -@@ -2108,16 +2108,14 @@ static int sftp_readdir_async(struct buffer *handle, void *buf, off_t offset, +@@ -2111,16 +2111,14 @@ static int sftp_readdir_async(struct buffer *handle, void *buf, off_t offset, break; } @@ -49,7 +49,7 @@ index f2746b5..1d7ae03 100644 outstanding--; if (done) { -@@ -2156,7 +2154,7 @@ static int sftp_readdir_async(struct buffer *handle, void *buf, off_t offset, +@@ -2159,7 +2157,7 @@ static int sftp_readdir_async(struct buffer *handle, void *buf, off_t offset, } } } @@ -59,5 +59,5 @@ index f2746b5..1d7ae03 100644 return err; } -- -2.17.0 +2.18.0 diff --git a/pkg/sshfs/patch/0005-Use-standard-C-functions.patch b/pkg/sshfs/patch/0005-Use-standard-C-functions.patch @@ -1,4 +1,4 @@ -From 8a13c4133ba8343745cf1318e9c892a286b6596d Mon Sep 17 00:00:00 2001 +From b0de64fc18f9e26491cfc5a69358741d90fc744f Mon Sep 17 00:00:00 2001 From: Michael Forney <mforney@mforney.org> Date: Sun, 5 Jun 2016 17:42:29 -0700 Subject: [PATCH] Use standard C functions @@ -8,10 +8,10 @@ Subject: [PATCH] Use standard C functions 1 file changed, 55 insertions(+), 36 deletions(-) diff --git a/sshfs.c b/sshfs.c -index 1d7ae03..1ff00ae 100644 +index a9dde7c..2c3a4db 100644 --- a/sshfs.c +++ b/sshfs.c -@@ -663,25 +663,25 @@ static inline void buf_add_path(struct buffer *buf, const char *path) +@@ -666,25 +666,25 @@ static inline void buf_add_path(struct buffer *buf, const char *path) if (sshfs.base_path[0]) { if (path[1]) { if (sshfs.base_path[strlen(sshfs.base_path)-1] != '/') { @@ -47,7 +47,7 @@ index 1d7ae03..1ff00ae 100644 } static int buf_check_get(struct buffer *buf, size_t len) -@@ -1266,7 +1266,7 @@ static void request_free(struct request *req) +@@ -1269,7 +1269,7 @@ static void request_free(struct request *req) { buf_free(&req->reply); sem_destroy(&req->ready); @@ -56,7 +56,7 @@ index 1d7ae03..1ff00ae 100644 } static int request_table_insert(struct request_table *reqtab, struct request *req) -@@ -1314,9 +1314,9 @@ static void chunk_free(struct read_chunk *chunk) +@@ -1317,9 +1317,9 @@ static void chunk_free(struct read_chunk *chunk) rreq = list_entry(chunk->reqs.prev, struct read_req, list); list_del(&rreq->list); buf_free(&rreq->data); @@ -68,7 +68,7 @@ index 1d7ae03..1ff00ae 100644 } static void chunk_put(struct read_chunk *chunk) -@@ -1867,8 +1867,10 @@ static int sftp_request_send(uint8_t type, struct iovec *iov, size_t count, +@@ -1870,8 +1870,10 @@ static int sftp_request_send(uint8_t type, struct iovec *iov, size_t count, struct request **reqp) { int err; @@ -80,7 +80,7 @@ index 1d7ae03..1ff00ae 100644 req->want_reply = want_reply; req->end_func = end_func; req->data = data; -@@ -2569,8 +2571,10 @@ static int sshfs_open_common(const char *path, mode_t mode, +@@ -2580,8 +2582,10 @@ static int sshfs_open_common(const char *path, mode_t mode, if (fi->flags & O_APPEND) pflags |= SSH_FXF_APPEND; @@ -93,7 +93,7 @@ index 1d7ae03..1ff00ae 100644 list_init(&sf->write_reqs); pthread_cond_init(&sf->write_finished, NULL); /* Assume random read after open */ -@@ -2614,7 +2618,7 @@ static int sshfs_open_common(const char *path, mode_t mode, +@@ -2625,7 +2629,7 @@ static int sshfs_open_common(const char *path, mode_t mode, } else { if (sshfs.dir_cache) cache_invalidate(path); @@ -102,7 +102,7 @@ index 1d7ae03..1ff00ae 100644 } buf_free(&buf); return err; -@@ -2681,7 +2685,7 @@ static void sshfs_file_put(struct sshfs_file *sf) +@@ -2692,7 +2696,7 @@ static void sshfs_file_put(struct sshfs_file *sf) { sf->refs--; if (!sf->refs) @@ -111,7 +111,7 @@ index 1d7ae03..1ff00ae 100644 } static void sshfs_file_get(struct sshfs_file *sf) -@@ -2751,9 +2755,11 @@ static void sshfs_read_begin(struct request *req) +@@ -2762,9 +2766,11 @@ static void sshfs_read_begin(struct request *req) static struct read_chunk *sshfs_send_read(struct sshfs_file *sf, size_t size, off_t offset) { @@ -124,7 +124,7 @@ index 1d7ae03..1ff00ae 100644 pthread_cond_init(&chunk->sio.finished, NULL); list_init(&chunk->reqs); chunk->size = size; -@@ -2767,7 +2773,9 @@ static struct read_chunk *sshfs_send_read(struct sshfs_file *sf, size_t size, +@@ -2778,7 +2784,9 @@ static struct read_chunk *sshfs_send_read(struct sshfs_file *sf, size_t size, struct read_req *rreq; size_t bsize = size < sshfs.max_read ? size : sshfs.max_read; @@ -135,7 +135,7 @@ index 1d7ae03..1ff00ae 100644 rreq->sio = &chunk->sio; rreq->size = bsize; buf_init(&rreq->data, 0); -@@ -2838,7 +2846,7 @@ static int wait_chunk(struct read_chunk *chunk, char *buf, size_t size) +@@ -2849,7 +2857,7 @@ static int wait_chunk(struct read_chunk *chunk, char *buf, size_t size) size -= rreq->res; list_del(&rreq->list); buf_free(&rreq->data); @@ -144,7 +144,7 @@ index 1d7ae03..1ff00ae 100644 } } -@@ -3457,9 +3465,10 @@ static int sshfs_opt_proc(void *data, const char *arg, int key, +@@ -3472,9 +3480,10 @@ static int sshfs_opt_proc(void *data, const char *arg, int key, switch (key) { case FUSE_OPT_KEY_OPT: if (is_ssh_opt(arg)) { @@ -157,7 +157,7 @@ index 1d7ae03..1ff00ae 100644 return 0; } /* Pass through */ -@@ -3484,9 +3493,10 @@ static int sshfs_opt_proc(void *data, const char *arg, int key, +@@ -3499,9 +3508,10 @@ static int sshfs_opt_proc(void *data, const char *arg, int key, case KEY_PORT: @@ -170,7 +170,7 @@ index 1d7ae03..1ff00ae 100644 return 0; case KEY_COMPRESS: -@@ -3494,9 +3504,10 @@ static int sshfs_opt_proc(void *data, const char *arg, int key, +@@ -3509,9 +3519,10 @@ static int sshfs_opt_proc(void *data, const char *arg, int key, return 0; case KEY_CONFIGFILE: @@ -183,7 +183,7 @@ index 1d7ae03..1ff00ae 100644 return 0; default: -@@ -3652,17 +3663,19 @@ static char *find_base_path(void) +@@ -3667,17 +3678,19 @@ static char *find_base_path(void) static char *fsname_escape_commas(char *fsnameold) { @@ -205,7 +205,7 @@ index 1d7ae03..1ff00ae 100644 return fsname; } -@@ -3996,15 +4009,20 @@ int main(int argc, char *argv[]) +@@ -4012,15 +4025,20 @@ int main(int argc, char *argv[]) else sshfs.max_outstanding_len = ~0; @@ -230,7 +230,7 @@ index 1d7ae03..1ff00ae 100644 ssh_add_arg(sshfs.host); if (sshfs.sftp_server) sftp_server = sshfs.sftp_server; -@@ -4031,10 +4049,11 @@ int main(int argc, char *argv[]) +@@ -4047,10 +4065,11 @@ int main(int argc, char *argv[]) sshfs.max_write = 65536; fsname = fsname_escape_commas(fsname); @@ -246,5 +246,5 @@ index 1d7ae03..1ff00ae 100644 if(sshfs.dir_cache) sshfs.op = cache_wrap(&sshfs_oper); -- -2.17.0 +2.18.0 diff --git a/pkg/sshfs/patch/0007-Disable-uidmap-and-gidmap-support.patch b/pkg/sshfs/patch/0007-Disable-uidmap-and-gidmap-support.patch @@ -1,4 +1,4 @@ -From 7e50e7f3d459e5755adfd4d8901af1c86df71d14 Mon Sep 17 00:00:00 2001 +From db5b9efcfb8d2910ae2bd13f699f446783a4d443 Mon Sep 17 00:00:00 2001 From: Michael Forney <mforney@mforney.org> Date: Sun, 5 Jun 2016 18:24:16 -0700 Subject: [PATCH] Disable uidmap and gidmap support @@ -8,10 +8,10 @@ Subject: [PATCH] Disable uidmap and gidmap support 1 file changed, 16 insertions(+) diff --git a/sshfs.c b/sshfs.c -index 05949ff..596a7c8 100644 +index 26341f8..ebfc02e 100644 --- a/sshfs.c +++ b/sshfs.c -@@ -247,10 +247,12 @@ struct sshfs { +@@ -248,10 +248,12 @@ struct sshfs { char *mountpoint; char *uid_file; char *gid_file; @@ -24,7 +24,7 @@ index 05949ff..596a7c8 100644 unsigned max_read; unsigned max_write; unsigned ssh_ver; -@@ -382,7 +384,9 @@ enum { +@@ -383,7 +385,9 @@ enum { enum { IDMAP_NONE, IDMAP_USER, @@ -34,7 +34,7 @@ index 05949ff..596a7c8 100644 }; enum { -@@ -403,7 +407,9 @@ static struct fuse_opt sshfs_opts[] = { +@@ -404,7 +408,9 @@ static struct fuse_opt sshfs_opts[] = { SSHFS_OPT("workaround=%s", workarounds, 0), SSHFS_OPT("idmap=none", idmap, IDMAP_NONE), SSHFS_OPT("idmap=user", idmap, IDMAP_USER), @@ -44,7 +44,7 @@ index 05949ff..596a7c8 100644 SSHFS_OPT("uidfile=%s", uid_file, 0), SSHFS_OPT("gidfile=%s", gid_file, 0), SSHFS_OPT("nomap=ignore", nomap, NOMAP_IGNORE), -@@ -546,6 +552,7 @@ static int list_empty(const struct list_head *head) +@@ -549,6 +555,7 @@ static int list_empty(const struct list_head *head) return head->next == head; } @@ -52,7 +52,7 @@ index 05949ff..596a7c8 100644 /* given a pointer to the uid/gid, and the mapping table, remap the * uid/gid, if necessary */ static inline int translate_id(uint32_t *id, GHashTable *map) -@@ -563,6 +570,7 @@ static inline int translate_id(uint32_t *id, GHashTable *map) +@@ -566,6 +573,7 @@ static inline int translate_id(uint32_t *id, GHashTable *map) abort(); } } @@ -60,7 +60,7 @@ index 05949ff..596a7c8 100644 static inline void buf_init(struct buffer *buf, size_t size) { -@@ -810,12 +818,14 @@ static int buf_get_attrs(struct buffer *buf, struct stat *stbuf, int *flagsp) +@@ -813,12 +821,14 @@ static int buf_get_attrs(struct buffer *buf, struct stat *stbuf, int *flagsp) if (sshfs.remote_uid_detected && uid == sshfs.remote_uid) uid = sshfs.local_uid; #endif /* __APPLE__ */ @@ -75,7 +75,7 @@ index 05949ff..596a7c8 100644 memset(stbuf, 0, sizeof(struct stat)); stbuf->st_mode = mode; -@@ -2474,12 +2484,14 @@ static int sshfs_chown(const char *path, uid_t uid, gid_t gid, +@@ -2477,12 +2487,14 @@ static int sshfs_chown(const char *path, uid_t uid, gid_t gid, if (sshfs.remote_uid_detected && uid == sshfs.local_uid) uid = sshfs.remote_uid; #endif /* __APPLE__ */ @@ -90,7 +90,7 @@ index 05949ff..596a7c8 100644 buf_init(&buf, 0); if (sf == NULL) -@@ -3702,6 +3714,7 @@ static int ssh_connect(void) +@@ -3717,6 +3729,7 @@ static int ssh_connect(void) return 0; } @@ -98,7 +98,7 @@ index 05949ff..596a7c8 100644 /* number of ':' separated fields in a passwd/group file that we care * about */ #define IDMAP_FIELDS 3 -@@ -3876,6 +3889,7 @@ static inline void load_gid_map(void) +@@ -3891,6 +3904,7 @@ static inline void load_gid_map(void) { read_id_map(sshfs.gid_file, &groupname_to_gid, "gid", &sshfs.gid_map, &sshfs.r_gid_map); } @@ -106,7 +106,7 @@ index 05949ff..596a7c8 100644 #ifdef __APPLE__ int main(int argc, char *argv[], __unused char *envp[], char **exec_path) -@@ -3965,6 +3979,7 @@ int main(int argc, char *argv[]) +@@ -3981,6 +3995,7 @@ int main(int argc, char *argv[]) if (sshfs.idmap == IDMAP_USER) sshfs.detect_uid = 1; @@ -114,7 +114,7 @@ index 05949ff..596a7c8 100644 else if (sshfs.idmap == IDMAP_FILE) { sshfs.uid_map = NULL; sshfs.gid_map = NULL; -@@ -3979,6 +3994,7 @@ int main(int argc, char *argv[]) +@@ -3995,6 +4010,7 @@ int main(int argc, char *argv[]) if (sshfs.gid_file) load_gid_map(); } @@ -123,5 +123,5 @@ index 05949ff..596a7c8 100644 free(sshfs.gid_file); -- -2.17.0 +2.18.0 diff --git a/pkg/sshfs/rev b/pkg/sshfs/rev @@ -1 +1 @@ -8 +9