Script 'mail_helper' called by obssrc Hello community, here is the log from the commit of package sshfs for openSUSE:Factory checked in at 2021-10-30 23:13:13 ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ Comparing /work/SRC/openSUSE:Factory/sshfs (Old) and /work/SRC/openSUSE:Factory/.sshfs.new.1890 (New) ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Package is "sshfs" Sat Oct 30 23:13:13 2021 rev:36 rq:927300 version:3.7.2 Changes: -------- --- /work/SRC/openSUSE:Factory/sshfs/sshfs.changes 2020-11-12 22:37:49.674043844 +0100 +++ /work/SRC/openSUSE:Factory/.sshfs.new.1890/sshfs.changes 2021-10-30 23:14:18.343082943 +0200 @@ -1,0 +2,8 @@ +Mon Oct 25 09:25:42 UTC 2021 - Andreas Stieger <[email protected]> + +- sshfs 3.7.2: + * Add a secondary check so if a mkdir request fails with EPERM an + access request will be tried - returning EEXIST if the access + was successful + +------------------------------------------------------------------- Old: ---- sshfs-3.7.1.tar.xz sshfs-3.7.1.tar.xz.asc New: ---- sshfs-3.7.2.tar.xz sshfs-3.7.2.tar.xz.asc ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ Other differences: ------------------ ++++++ sshfs.spec ++++++ --- /var/tmp/diff_new_pack.omGW8n/_old 2021-10-30 23:14:18.771083287 +0200 +++ /var/tmp/diff_new_pack.omGW8n/_new 2021-10-30 23:14:18.775083291 +0200 @@ -1,7 +1,7 @@ # # spec file for package sshfs # -# Copyright (c) 2020 SUSE LLC +# Copyright (c) 2021 SUSE LLC # # All modifications and additions to the file contributed by third parties # remain the property of their copyright owners, unless otherwise agreed @@ -17,7 +17,7 @@ Name: sshfs -Version: 3.7.1 +Version: 3.7.2 Release: 0 Summary: Filesystem client based on SSH file transfer protocol License: GPL-2.0-or-later ++++++ sshfs-3.7.1.tar.xz -> sshfs-3.7.2.tar.xz ++++++ diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/sshfs-3.7.1/AUTHORS new/sshfs-3.7.2/AUTHORS --- old/sshfs-3.7.1/AUTHORS 2020-11-09 10:52:00.000000000 +0100 +++ new/sshfs-3.7.2/AUTHORS 2021-06-08 10:52:08.000000000 +0200 @@ -17,6 +17,7 @@ Alan Jenkins <[email protected]> Alexander Neumann <[email protected]> Anatol Pomozov <[email protected]> +Andrew Stone <[email protected]> Benjamin Fleischer <[email protected]> Berserker <[email protected]> Bill Zissimopoulos <[email protected]> @@ -49,6 +50,7 @@ mssalvatore <[email protected]> Nikolaus Rath <[email protected]> Percy Jahn <[email protected]> +Peter Belm <[email protected]> Qais Patankar <[email protected]> Quentin Rameau <[email protected]> Reid Wagner <[email protected]> diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/sshfs-3.7.1/ChangeLog.rst new/sshfs-3.7.2/ChangeLog.rst --- old/sshfs-3.7.1/ChangeLog.rst 2020-11-09 10:52:00.000000000 +0100 +++ new/sshfs-3.7.2/ChangeLog.rst 2021-06-08 10:52:08.000000000 +0200 @@ -1,3 +1,11 @@ +Release 3.7.2 (2021-06-08) +-------------------------- + +* Added a secondary check so if a mkdir request fails with EPERM an access request will be + tried - returning EEXIST if the access was successful. + Fixes: https://github.com/libfuse/sshfs/issues/243 + + Release 3.7.1 (2020-11-09) -------------------------- diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/sshfs-3.7.1/meson.build new/sshfs-3.7.2/meson.build --- old/sshfs-3.7.1/meson.build 2020-11-09 10:52:00.000000000 +0100 +++ new/sshfs-3.7.2/meson.build 2021-06-08 10:52:08.000000000 +0200 @@ -1,4 +1,4 @@ -project('sshfs', 'c', version: '3.7.1', +project('sshfs', 'c', version: '3.7.2', meson_version: '>= 0.40', default_options: [ 'buildtype=debugoptimized' ]) diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/sshfs-3.7.1/sshfs.c new/sshfs-3.7.2/sshfs.c --- old/sshfs-3.7.1/sshfs.c 2020-11-09 10:52:00.000000000 +0100 +++ new/sshfs-3.7.2/sshfs.c 2021-06-08 10:52:08.000000000 +0200 @@ -1401,9 +1401,11 @@ static void request_free(struct request *req) { - pthread_mutex_lock(&sshfs.lock); + if (req->end_func) + req->end_func(req); + req->conn->req_count--; - pthread_mutex_unlock(&sshfs.lock); + buf_free(&req->reply); sem_destroy(&req->ready); g_free(req); @@ -1449,11 +1451,9 @@ req->error = -EIO; if (req->want_reply) sem_post(&req->ready); - else { - if (req->end_func) - req->end_func(req); + else request_free(req); - } + return TRUE; } @@ -1515,12 +1515,9 @@ if (req->want_reply) sem_post(&req->ready); else { - if (req->end_func) { - pthread_mutex_lock(&sshfs.lock); - req->end_func(req); - pthread_mutex_unlock(&sshfs.lock); - } + pthread_mutex_lock(&sshfs.lock); request_free(req); + pthread_mutex_unlock(&sshfs.lock); } } else buf_free(&buf); @@ -1970,12 +1967,9 @@ } out: - if (req->end_func) { - pthread_mutex_lock(&sshfs.lock); - req->end_func(req); - pthread_mutex_unlock(&sshfs.lock); - } + pthread_mutex_lock(&sshfs.lock); request_free(req); + pthread_mutex_unlock(&sshfs.lock); return err; } @@ -2377,6 +2371,13 @@ // Commutes with pending write(), so we can use any connection err = sftp_request(get_conn(NULL, NULL), SSH_FXP_MKDIR, &buf, SSH_FXP_STATUS, NULL); buf_free(&buf); + + if (err == -EPERM) { + if (sshfs.op->access(path, R_OK) == 0) { + return -EEXIST; + } + } + return err; }
