aboutsummaryrefslogtreecommitdiff
path: root/src/connection
diff options
context:
space:
mode:
authorSean Whitton <spwhitton@spwhitton.name>2021-07-23 11:37:25 -0700
committerSean Whitton <spwhitton@spwhitton.name>2021-07-24 12:39:35 -0700
commit885b9f3f762cdf18ff358509fd8838f8222b43ba (patch)
treea264d0d7406e5767cb22736e681dd8abbfe683d6 /src/connection
parentae2f8d30cbcd82126de7daeb4b94dd05d5b46f01 (diff)
downloadconsfigurator-885b9f3f762cdf18ff358509fd8838f8222b43ba.tar.gz
return type in FOREIGN-FUNCALL of geteuid(2) is unsigned
Signed-off-by: Sean Whitton <spwhitton@spwhitton.name>
Diffstat (limited to 'src/connection')
-rw-r--r--src/connection/as.lisp2
-rw-r--r--src/connection/chroot.lisp5
-rw-r--r--src/connection/setuid.lisp3
3 files changed, 6 insertions, 4 deletions
diff --git a/src/connection/as.lisp b/src/connection/as.lisp
index a31a338..229d238 100644
--- a/src/connection/as.lisp
+++ b/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
diff --git a/src/connection/chroot.lisp b/src/connection/chroot.lisp
index b934252..2b2678c 100644
--- a/src/connection/chroot.lisp
+++ b/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) (can-chroot))
@@ -106,7 +106,8 @@ should be the mount point, without the chroot's root prefixed.")
(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))
diff --git a/src/connection/setuid.lisp b/src/connection/setuid.lisp
index 8b3353f..e61222b 100644
--- a/src/connection/setuid.lisp
+++ b/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)