summaryrefslogtreecommitdiff
path: root/debian/patches-applied
diff options
context:
space:
mode:
Diffstat (limited to 'debian/patches-applied')
-rw-r--r--debian/patches-applied/series1
-rw-r--r--debian/patches-applied/setreuid_juggling.patch22
2 files changed, 23 insertions, 0 deletions
diff --git a/debian/patches-applied/series b/debian/patches-applied/series
index 5e2cb2fc..3b410ab1 100644
--- a/debian/patches-applied/series
+++ b/debian/patches-applied/series
@@ -1,4 +1,5 @@
thread-safe_save_old_password.patch
+setreuid_juggling.patch
007_modules_pam_unix
008_modules_pam_limits_chroot
021_nis_cleanup
diff --git a/debian/patches-applied/setreuid_juggling.patch b/debian/patches-applied/setreuid_juggling.patch
new file mode 100644
index 00000000..d8e36a90
--- /dev/null
+++ b/debian/patches-applied/setreuid_juggling.patch
@@ -0,0 +1,22 @@
+This particular setreuid() is only needed if we don't have any root
+privs at all, so make it conditional like it was pre-1.0.
+
+Authors: Steve Langasek <steve.langasek@canonical.com>
+
+Upstream status: to be submitted
+
+Index: pam.deb/modules/pam_unix/passverify.c
+===================================================================
+--- pam.deb.orig/modules/pam_unix/passverify.c
++++ pam.deb/modules/pam_unix/passverify.c
+@@ -187,8 +187,8 @@
+ if (save_uid == (*pwd)->pw_uid)
+ setreuid(save_uid, save_euid);
+ else {
+- setreuid(-1, 0);
+- setreuid(save_uid, -1);
++ if (setreuid(-1, 0) == -1)
++ setreuid(save_uid, -1);
+ setreuid(-1, save_euid);
+ }
+