diff options
Diffstat (limited to 'debian/patches-applied/hurd_no_setfsuid')
-rw-r--r-- | debian/patches-applied/hurd_no_setfsuid | 26 |
1 files changed, 10 insertions, 16 deletions
diff --git a/debian/patches-applied/hurd_no_setfsuid b/debian/patches-applied/hurd_no_setfsuid index 8a27b296..a2bf783c 100644 --- a/debian/patches-applied/hurd_no_setfsuid +++ b/debian/patches-applied/hurd_no_setfsuid @@ -5,10 +5,10 @@ Authors: Steve Langasek <vorlon@debian.org> Upstream status: to be forwarded, now that pam_modutil_{drop,regain}_priv are implemented -Index: pam-debian/libpam/pam_modutil_priv.c +Index: pam.debian/libpam/pam_modutil_priv.c =================================================================== ---- pam-debian.orig/libpam/pam_modutil_priv.c 2011-10-10 16:21:57.858599186 -0700 -+++ pam-debian/libpam/pam_modutil_priv.c 2011-10-10 17:31:02.805686298 -0700 +--- pam.debian.orig/libpam/pam_modutil_priv.c ++++ pam.debian/libpam/pam_modutil_priv.c @@ -14,7 +14,9 @@ #include <syslog.h> #include <pwd.h> @@ -19,7 +19,7 @@ Index: pam-debian/libpam/pam_modutil_priv.c /* * Two setfsuid() calls in a row are necessary to check -@@ -22,17 +24,61 @@ +@@ -22,17 +24,55 @@ */ static int change_uid(uid_t uid, uid_t *save) { @@ -37,13 +37,10 @@ Index: pam-debian/libpam/pam_modutil_priv.c + if (setreuid(euid, uid)) + return -1; + else { -+ if (setreuid(0, -1)) -+ return -1; ++ setreuid(0, -1); + if (setreuid(-1, uid)) { -+ if (setreuid(-1, 0)) -+ return -1; -+ if (setreuid(0, -1)) -+ return -1; ++ setreuid(-1, 0); ++ setreuid(0, -1); + if (setreuid(-1, uid)) + return -1; + } @@ -66,13 +63,10 @@ Index: pam-debian/libpam/pam_modutil_priv.c + if (setregid(egid, gid)) + return -1; + else { -+ if (setregid(0, -1)) -+ return -1; ++ setregid(0, -1); + if (setregid(-1, gid)) { -+ if (setregid(-1, 0)) -+ return -1; -+ if (setregid(0, -1)) -+ return -1; ++ setregid(-1, 0); ++ setregid(0, -1); + if (setregid(-1, gid)) + return -1; + } |