Commit 845fd5ea authored by Francesco Gazzetta's avatar Francesco Gazzetta
Browse files

davfs2: 1.6.1 -> 1.7.0

parent 7f6757e4
Loading
Loading
Loading
Loading
+15 −31
Original line number Diff line number Diff line
From 56873cf29974ff0dfc1ba1afb7022ce49e300835 Mon Sep 17 00:00:00 2001
From: Maximilian Bosch <maximilian@mbosch.me>
Date: Wed, 11 Nov 2020 11:58:25 +0100
Subject: [PATCH 2/2] Make sure that the setuid-wrapped `umount` is invoked

---
 src/dav_fuse.c     | 2 +-
 src/umount_davfs.c | 4 ++--
 2 files changed, 3 insertions(+), 3 deletions(-)

diff --git a/src/dav_fuse.c b/src/dav_fuse.c
index 734bc1f..4501433 100644
index 6311428..1b1698d 100644
--- a/src/dav_fuse.c
+++ b/src/dav_fuse.c
@@ -187,7 +187,7 @@ dav_fuse_loop(int device, char *mpoint, size_t bufsize, time_t idle_time,
             unmounting = 1;
@@ -189,7 +189,7 @@ dav_fuse_loop(int device, char *mpoint, size_t bufsize, time_t idle_time,
             pid_t pid = fork();
             if (pid == 0) {
 #if defined(__linux__)
-                execl("/bin/umount", "umount", "-il", mountpoint, NULL);
+                execl("@wrapperDir@/umount", "umount", "-il", mountpoint, NULL);
                 _exit(EXIT_FAILURE);
             }
         }
 #elif defined(__FreeBSD__)
                 execl("/sbin/umount", "umount", "-v", mountpoint, NULL);
 #endif
diff --git a/src/umount_davfs.c b/src/umount_davfs.c
index b7019c3..75e3b4b 100644
index 6a82fd2..93958be 100644
--- a/src/umount_davfs.c
+++ b/src/umount_davfs.c
@@ -122,9 +122,9 @@ main(int argc, char *argv[])
 
     char *umount_command = NULL;
     if (mpoint) {
-        umount_command = ne_concat("umount -i '", mpoint, "'", NULL);
+        umount_command = ne_concat("@wrapperDir@/umount -i '", mpoint, "'", NULL);
     } else {
-        umount_command = ne_concat("umount -i '", argv[optind], "'", NULL);
+        umount_command = ne_concat("@wrapperDir@/umount -i '", argv[optind], "'", NULL);
         error(0, 0,
               _("\n"
                 "  can't evaluate PID file name;\n"
-- 
2.28.0
@@ -50,7 +50,7 @@
 #endif
 
 #if defined(__linux__)
-#define UMOUNT_CMD "umount -i"
+#define UMOUNT_CMD "@wrapperDir@/umount -i"
 #elif defined(__FreeBSD__)
 #define UMOUNT_CMD "umount"
 #endif
+8 −7
Original line number Diff line number Diff line
{ lib, stdenv
, fetchurl
, fetchpatch
, autoreconfHook
, neon
, procps
, substituteAll
@@ -10,17 +11,22 @@

stdenv.mkDerivation rec {
  pname = "davfs2";
  version = "1.6.1";
  version = "1.7.0";

  src = fetchurl {
    url = "mirror://savannah/davfs2/davfs2-${version}.tar.gz";
    sha256 = "sha256-zj65SOzlgqUck0zLDMcOZZg5FycXyv8XP2ml4q+QxcA=";
    sha256 = "sha256-JR23Wic4DMoTMLG5cXAMXl3MDJDlpHYiKF8BQO3+Oi8=";
  };

  nativeBuildInputs = [
    autoreconfHook
  ];

  buildInputs = [ neon zlib ];

  patches = [
    ./fix-sysconfdir.patch
    ./disable-suid.patch
    (substituteAll {
      src = ./0001-umount_davfs-substitute-ps-command.patch;
      ps = "${procps}/bin/ps";
@@ -33,11 +39,6 @@ stdenv.mkDerivation rec {

  configureFlags = [ "--sysconfdir=/etc" ];

  makeFlags = [
    "sbindir=$(out)/sbin"
    "ssbindir=$(out)/sbin"
  ];

  meta = {
    homepage = "https://savannah.nongnu.org/projects/davfs2";
    description = "Mount WebDAV shares like a typical filesystem";
+9 −0
Original line number Diff line number Diff line
diff --git a/src/Makefile.am b/src/Makefile.am
index bbde353..bcbed04 100644
--- a/src/Makefile.am
+++ b/src/Makefile.am
@@ -54,4 +54,3 @@ LIBS += @LIBICONV@
 endif
 
 install-exec-hook:
-	chmod u+s $(DESTDIR)$(sbindir)/mount.davfs;
+9 −39
Original line number Diff line number Diff line
diff -ubr davfs2-1.4.7-orig/etc/Makefile.am davfs2-1.4.7/etc/Makefile.am
--- davfs2-1.4.7-orig/etc/Makefile.am	2013-02-21 11:45:00.185763558 +0100
+++ davfs2-1.4.7/etc/Makefile.am	2013-02-21 11:53:05.423197775 +0100
@@ -24,17 +24,17 @@
diff --git a/etc/Makefile.am b/etc/Makefile.am
index 5a01282..6a40921 100644
--- a/etc/Makefile.am
+++ b/etc/Makefile.am
@@ -24,17 +24,17 @@ pkgsysconfdir = $(sysconfdir)/@PACKAGE@
 
 install-data-local: $(dist_pkgdata_DATA)
 	@$(NORMAL_INSTALL)
-	$(mkinstalldirs) $(DESTDIR)$(pkgsysconfdir)
-	$(INSTALL_DATA) -b davfs2.conf $(DESTDIR)$(pkgsysconfdir)/davfs2.conf
-	$(INSTALL_DATA) -b -m 600 secrets $(DESTDIR)$(pkgsysconfdir)/secrets
-	$(INSTALL_DATA) -b $(srcdir)/davfs2.conf $(DESTDIR)$(pkgsysconfdir)/davfs2.conf
-	$(INSTALL_DATA) -b -m 600 $(srcdir)/secrets $(DESTDIR)$(pkgsysconfdir)/secrets
-	$(mkinstalldirs) $(DESTDIR)$(pkgsysconfdir)/certs
-	$(mkinstalldirs) $(DESTDIR)$(pkgsysconfdir)/certs/private
-	chmod 700 $(DESTDIR)$(pkgsysconfdir)/certs/private
+	$(mkinstalldirs) $(out)$(pkgsysconfdir)
+	$(INSTALL_DATA) -b davfs2.conf $(out)$(pkgsysconfdir)/davfs2.conf
+	$(INSTALL_DATA) -b -m 600 secrets $(out)$(pkgsysconfdir)/secrets
+	$(INSTALL_DATA) -b $(srcdir)/davfs2.conf $(out)$(pkgsysconfdir)/davfs2.conf
+	$(INSTALL_DATA) -b -m 600 $(srcdir)/secrets $(out)$(pkgsysconfdir)/secrets
+	$(mkinstalldirs) $(out)$(pkgsysconfdir)/certs
+	$(mkinstalldirs) $(out)$(pkgsysconfdir)/certs/private
+	chmod 700 $(out)$(pkgsysconfdir)/certs/private
@@ -27,34 +28,3 @@ diff -ubr davfs2-1.4.7-orig/etc/Makefile.am davfs2-1.4.7/etc/Makefile.am
+	  echo " rm -f $(out)$(pkgsysconfdir)/$$f"; \
+	  rm -f $(out)$(pkgsysconfdir)/$$f; \
 	done
diff -ubr davfs2-1.4.7-orig/etc/Makefile.in davfs2-1.4.7/etc/Makefile.in
--- davfs2-1.4.7-orig/etc/Makefile.in	2013-02-21 11:45:00.185763558 +0100
+++ davfs2-1.4.7/etc/Makefile.in	2013-02-21 11:53:27.241207128 +0100
@@ -408,19 +408,19 @@
 
 install-data-local: $(dist_pkgdata_DATA)
 	@$(NORMAL_INSTALL)
-	$(mkinstalldirs) $(DESTDIR)$(pkgsysconfdir)
-	$(INSTALL_DATA) -b davfs2.conf $(DESTDIR)$(pkgsysconfdir)/davfs2.conf
-	$(INSTALL_DATA) -b -m 600 secrets $(DESTDIR)$(pkgsysconfdir)/secrets
-	$(mkinstalldirs) $(DESTDIR)$(pkgsysconfdir)/certs
-	$(mkinstalldirs) $(DESTDIR)$(pkgsysconfdir)/certs/private
-	chmod 700 $(DESTDIR)$(pkgsysconfdir)/certs/private
+	$(mkinstalldirs) $(out)$(pkgsysconfdir)
+	$(INSTALL_DATA) -b davfs2.conf $(out)$(pkgsysconfdir)/davfs2.conf
+	$(INSTALL_DATA) -b -m 600 secrets $(out)$(pkgsysconfdir)/secrets
+	$(mkinstalldirs) $(out)$(pkgsysconfdir)/certs
+	$(mkinstalldirs) $(out)$(pkgsysconfdir)/certs/private
+	chmod 700 $(out)$(pkgsysconfdir)/certs/private
 
 uninstall-local:
 	@$(NORMAL_UNINSTALL)
 	@list='$(dist_pkgdata_DATA)'; for p in $$list; do \
 	  f="`echo $$p | sed -e 's|^.*/||'`"; \
-	  echo " rm -f $(DESTDIR)$(pkgsysconfdir)/$$f"; \
-	  rm -f $(DESTDIR)$(pkgsysconfdir)/$$f; \
+	  echo " rm -f $(out)$(pkgsysconfdir)/$$f"; \
+	  rm -f $(out)$(pkgsysconfdir)/$$f; \
 	done
 
 # Tell versions [3.59,3.63) of GNU make to not export all variables.