package/utils/fuse: update to 2.9.7
authorPaul Wassi <p.wassi@gmx.at>
Tue, 22 Nov 2016 08:43:24 +0000 (09:43 +0100)
committerFelix Fietkau <nbd@nbd.name>
Thu, 24 Nov 2016 11:53:17 +0000 (12:53 +0100)
Update fuse+libfuse to upstream 2.9.7. Drop the patch for CVE-2015-3202,
which is already integrated in the newer version. Rework the other patches.
Also switch PKG_SOURCE from @SF to libfuse's github releases.

Signed-off-by: Paul Wassi <p.wassi@gmx.at>
dev/null [new file with mode: 0644]
package/utils/fuse/Makefile
package/utils/fuse/patches/001-fix_exec_environment_for_mount_and_umount.patch [deleted file]
package/utils/fuse/patches/100-missing_includes.patch
package/utils/fuse/patches/112-no_break_on_mknod.patch

diff --git a/dev/null b/dev/null
new file mode 100644 (file)
index 0000000..e69de29
index 9adb6d3ec696d2176ad4184ab3de9b75989022e9..19eba3c18d1f305f2fb9f57544b2e359c5d87b4d 100644 (file)
@@ -9,12 +9,12 @@ include $(TOPDIR)/rules.mk
 include $(INCLUDE_DIR)/kernel.mk
 
 PKG_NAME:=fuse
-PKG_VERSION:=2.9.3
-PKG_RELEASE:=2
+PKG_VERSION:=2.9.7
+PKG_RELEASE:=1
 
 PKG_SOURCE:=$(PKG_NAME)-$(PKG_VERSION).tar.gz
-PKG_SOURCE_URL:=@SF/$(PKG_NAME)
-PKG_MD5SUM:=33cae22ca50311446400daf8a6255c6a
+PKG_SOURCE_URL:=https://github.com/libfuse/libfuse/releases/download/$(PKG_NAME)-$(PKG_VERSION)
+PKG_MD5SUM:=9bd4ce8184745fd3d000ca2692adacdb
 
 PKG_LICENSE:=LGPLv2.1 GPLv2
 PKG_LICENSE_FILES:=COPYING.LIB COPYING
diff --git a/package/utils/fuse/patches/001-fix_exec_environment_for_mount_and_umount.patch b/package/utils/fuse/patches/001-fix_exec_environment_for_mount_and_umount.patch
deleted file mode 100644 (file)
index 392bb5e..0000000
+++ /dev/null
@@ -1,59 +0,0 @@
-From cfe13b7a217075ae741c018da50cd600e5330de2 Mon Sep 17 00:00:00 2001
-From: Miklos Szeredi <mszeredi@suse.cz>
-Date: Fri, 22 May 2015 10:58:43 +0200
-Subject: [PATCH] libfuse: fix exec environment for mount and umount
-
-Found by Tavis Ormandy (CVE-2015-3202).
----
---- a/lib/mount_util.c
-+++ b/lib/mount_util.c
-@@ -95,10 +95,12 @@ static int add_mount(const char *prognam
-               goto out_restore;
-       }
-       if (res == 0) {
-+              char *env = NULL;
-+
-               sigprocmask(SIG_SETMASK, &oldmask, NULL);
-               setuid(geteuid());
--              execl("/bin/mount", "/bin/mount", "--no-canonicalize", "-i",
--                    "-f", "-t", type, "-o", opts, fsname, mnt, NULL);
-+              execle("/bin/mount", "/bin/mount", "--no-canonicalize", "-i",
-+                     "-f", "-t", type, "-o", opts, fsname, mnt, NULL, &env);
-               fprintf(stderr, "%s: failed to execute /bin/mount: %s\n",
-                       progname, strerror(errno));
-               exit(1);
-@@ -146,10 +148,17 @@ static int exec_umount(const char *progn
-               goto out_restore;
-       }
-       if (res == 0) {
-+              char *env = NULL;
-+
-               sigprocmask(SIG_SETMASK, &oldmask, NULL);
-               setuid(geteuid());
--              execl("/bin/umount", "/bin/umount", "-i", rel_mnt,
--                    lazy ? "-l" : NULL, NULL);
-+              if (lazy) {
-+                      execle("/bin/umount", "/bin/umount", "-i", rel_mnt,
-+                             "-l", NULL, &env);
-+              } else {
-+                      execle("/bin/umount", "/bin/umount", "-i", rel_mnt,
-+                             NULL, &env);
-+              }
-               fprintf(stderr, "%s: failed to execute /bin/umount: %s\n",
-                       progname, strerror(errno));
-               exit(1);
-@@ -205,10 +214,12 @@ static int remove_mount(const char *prog
-               goto out_restore;
-       }
-       if (res == 0) {
-+              char *env = NULL;
-+
-               sigprocmask(SIG_SETMASK, &oldmask, NULL);
-               setuid(geteuid());
--              execl("/bin/umount", "/bin/umount", "--no-canonicalize", "-i",
--                    "--fake", mnt, NULL);
-+              execle("/bin/umount", "/bin/umount", "--no-canonicalize", "-i",
-+                     "--fake", mnt, NULL, &env);
-               fprintf(stderr, "%s: failed to execute /bin/umount: %s\n",
-                       progname, strerror(errno));
-               exit(1);
index 0790bffcd19b28421f20c2a09f7763d0871cc633..e74a1870f00425c6f2ae45237a893ac734af5ca6 100644 (file)
@@ -1,13 +1,3 @@
---- a/lib/mount_util.c
-+++ b/lib/mount_util.c
-@@ -16,6 +16,7 @@
- #include <errno.h>
- #include <fcntl.h>
- #include <limits.h>
-+#include <paths.h>
- #ifndef __NetBSD__
- #include <mntent.h>
- #endif
 --- a/include/fuse.h
 +++ b/include/fuse.h
 @@ -32,6 +32,7 @@
index 33f7c6c2a115936ceba8cb5332b383e2b5092b76..f679c4116d68730199ed2d115cbc2a6eca014139 100644 (file)
@@ -1,6 +1,6 @@
 --- a/util/Makefile.in
 +++ b/util/Makefile.in
-@@ -676,7 +676,7 @@ mount_util.c: $(top_srcdir)/lib/mount_ut
+@@ -723,7 +723,7 @@ mount_util.c: $(top_srcdir)/lib/mount_ut
  
  install-exec-hook:
        -chmod u+s $(DESTDIR)$(bindir)/fusermount