aboutsummaryrefslogtreecommitdiff
path: root/debian/patches/return-type-in-foreign-funcall-of-geteui.patch
diff options
context:
space:
mode:
Diffstat (limited to 'debian/patches/return-type-in-foreign-funcall-of-geteui.patch')
-rw-r--r--debian/patches/return-type-in-foreign-funcall-of-geteui.patch65
1 files changed, 65 insertions, 0 deletions
diff --git a/debian/patches/return-type-in-foreign-funcall-of-geteui.patch b/debian/patches/return-type-in-foreign-funcall-of-geteui.patch
new file mode 100644
index 0000000..6ea6bcf
--- /dev/null
+++ b/debian/patches/return-type-in-foreign-funcall-of-geteui.patch
@@ -0,0 +1,65 @@
+From: Sean Whitton <spwhitton@spwhitton.name>
+Date: Fri, 23 Jul 2021 11:37:25 -0700
+X-Dgit-Generated: 0.8.0-2 4719c2966d0ddb4cfa6855aacfc6a4774c18bd70
+Subject: return type in FOREIGN-FUNCALL of geteuid(2) is unsigned
+
+Signed-off-by: Sean Whitton <spwhitton@spwhitton.name>
+(cherry picked from commit 885b9f3f762cdf18ff358509fd8838f8222b43ba)
+
+---
+
+--- consfigurator-0.8.0.orig/src/connection/as.lisp
++++ consfigurator-0.8.0/src/connection/as.lisp
+@@ -21,7 +21,7 @@
+ ;; currently we only check whether we're root, but, for example, on Linux, we
+ ;; might have a CAP_* which lets us setuid as non-root
+ (defun can-setuid ()
+- (zerop (foreign-funcall "geteuid" :int)))
++ (zerop (foreign-funcall "geteuid" :unsigned-int)))
+
+ (defmethod establish-connection ((type (eql :as)) remaining &key to)
+ "Establish a :SETUID or :SU connection to another user account, depending on
+--- consfigurator-0.8.0.orig/src/connection/chroot.lisp
++++ consfigurator-0.8.0/src/connection/chroot.lisp
+@@ -21,7 +21,7 @@
+ ;; currently we only check whether we're root, but, for example, on Linux, we
+ ;; might have a CAP_* which lets us chroot as non-root
+ (defun can-chroot ()
+- (zerop (foreign-funcall "geteuid" :int)))
++ (zerop (foreign-funcall "geteuid" :unsigned-int)))
+
+ (defmethod establish-connection ((type (eql :chroot)) remaining &key into)
+ (establish-connection (if (and (lisp-connection-p)
+@@ -113,7 +113,8 @@ should be the mount point, without the c
+ (rehome-connection chroot-connection fork-connection) ())
+
+ (defmethod establish-connection ((type (eql :chroot.fork)) remaining &key into)
+- (unless (and (lisp-connection-p) (zerop (foreign-funcall "geteuid" :int)))
++ (unless (and (lisp-connection-p)
++ (zerop (foreign-funcall "geteuid" :unsigned-int)))
+ (error "~&Forking into a chroot requires a Lisp image running as root"))
+ (informat 1 "~&Forking into chroot at ~A" into)
+ (let* ((into* (ensure-directory-pathname into))
+--- consfigurator-0.8.0.orig/src/connection/setuid.lisp
++++ consfigurator-0.8.0/src/connection/setuid.lisp
+@@ -32,7 +32,8 @@
+ (defclass setuid-connection (rehome-connection fork-connection) ())
+
+ (defmethod establish-connection ((type (eql :setuid)) remaining &key to)
+- (unless (and (lisp-connection-p) (zerop (foreign-funcall "geteuid" :int)))
++ (unless (and (lisp-connection-p)
++ (zerop (foreign-funcall "geteuid" :unsigned-int)))
+ (error "~&SETUIDing requires a Lisp image running as root"))
+ (informat 1 "~&SETUIDing to ~A" to)
+ (multiple-value-bind (match groups)
+--- consfigurator-0.8.0.orig/src/util.lisp
++++ consfigurator-0.8.0/src/util.lisp
+@@ -390,7 +390,7 @@ Should be called soon after fork(2) in c
+ (defun posix-login-environment (logname home)
+ "Reset the environment after switching UID, or similar, in a :LISP connection.
+ Does not currently establish a PAM session."
+- (let ((euid (foreign-funcall "geteuid" :int))
++ (let ((euid (foreign-funcall "geteuid" :unsigned-int))
+ (maybe-preserve '("TERM")))
+ (when (zerop euid)
+ (push "SSH_AUTH_SOCK" maybe-preserve))