all messages for Guix-related lists mirrored at yhetil.org
 help / color / mirror / code / Atom feed
* [bug#40922] gnu: udevil: Fix loading of setuid-programs.
@ 2020-04-28  6:52 Raghav Gururajan
  2020-05-01 12:24 ` Danny Milosavljevic
  2020-05-01 14:38 ` bug#40922: " Danny Milosavljevic
  0 siblings, 2 replies; 4+ messages in thread
From: Raghav Gururajan @ 2020-04-28  6:52 UTC (permalink / raw)
  To: 40922

[-- Attachment #1: Type: text/plain, Size: 0 bytes --]



[-- Attachment #2: 0001-gnu-udevil-Fix-loading-of-setuid-programs.patch --]
[-- Type: text/x-patch, Size: 2507 bytes --]

From de62f6773a75bffff632f70fa3062b3668462543 Mon Sep 17 00:00:00 2001
From: Raghav Gururajan <raghavgururajan@disroot.org>
Date: Tue, 28 Apr 2020 02:29:36 -0400
Subject: [PATCH] gnu: udevil: Fix loading of setuid-programs.

* gnu/packages/disk.scm (udevil): Fix loading of setuid-programs.

[1] Patched references to mount, umount, losetup and setfacl; as udevil
expects these programs to have uid set as root.
[2] Patched references to udevil; as udevil itself and devmon expects
udevil to have uid set as root.
---
 gnu/packages/disk.scm | 26 ++++++++++++++++++++++----
 1 file changed, 22 insertions(+), 4 deletions(-)

diff --git a/gnu/packages/disk.scm b/gnu/packages/disk.scm
index b7d3b9d954..2b9ba8e38d 100644
--- a/gnu/packages/disk.scm
+++ b/gnu/packages/disk.scm
@@ -103,16 +103,34 @@
     (build-system gnu-build-system)
     (arguments
      `(#:configure-flags
-       (list "--disable-systemd"
-             (string-append "--sysconfdir="
-                            (assoc-ref %outputs "out")
-                            "/etc"))
+       (list
+        "--disable-systemd"
+        (string-append "--sysconfdir="
+                       (assoc-ref %outputs "out")
+                       "/etc")
+        ;; udevil expects these programs to be run with uid set as root.
+        ;; user has to manually add these programs to setuid-programs.
+        ;; mount and umount are default setuid-programs in guix system.
+        "--with-mount-prog=/run/setuid-programs/mount"
+        "--with-umount-prog=/run/setuid-programs/umount"
+        "--with-losetup-prog=/run/setuid-programs/losetup"
+        "--with-setfacl-prog=/run/setuid-programs/setfacl")
        #:phases
        (modify-phases %standard-phases
          (add-after 'unpack 'remove-root-reference
            (lambda _
              (substitute* "src/Makefile.in"
                (("-o root -g root") ""))
+             #t))
+         (add-after 'unpack 'patch-udevil-reference
+           ;; udevil expects itself to be run with uid set as root.
+           ;; devmon also expects udevil to be run with uid set as root.
+           ;; user has to manually add udevil to setuid-programs.
+           (lambda _
+             (substitute* "src/udevil.c"
+               (("/usr/bin/udevil") "/run/setuid-programs/udevil"))
+             (substitute* "src/devmon"
+               (("`which udevil 2>/dev/null`") "/run/setuid-programs/udevil"))
              #t)))))
     (native-inputs
      `(("intltool" ,intltool)
-- 
2.26.2


^ permalink raw reply related	[flat|nested] 4+ messages in thread

end of thread, other threads:[~2020-05-01 14:41 UTC | newest]

Thread overview: 4+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2020-04-28  6:52 [bug#40922] gnu: udevil: Fix loading of setuid-programs Raghav Gururajan
2020-05-01 12:24 ` Danny Milosavljevic
2020-05-01 14:05   ` Raghav Gururajan
2020-05-01 14:38 ` bug#40922: " Danny Milosavljevic

Code repositories for project(s) associated with this external index

	https://git.savannah.gnu.org/cgit/guix.git

This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.