summaryrefslogtreecommitdiff
path: root/debian/patches/privmode.dpatch
diff options
context:
space:
mode:
Diffstat (limited to 'debian/patches/privmode.dpatch')
-rwxr-xr-xdebian/patches/privmode.dpatch37
1 files changed, 37 insertions, 0 deletions
diff --git a/debian/patches/privmode.dpatch b/debian/patches/privmode.dpatch
new file mode 100755
index 0000000..eb9abf2
--- /dev/null
+++ b/debian/patches/privmode.dpatch
@@ -0,0 +1,37 @@
+#! /bin/sh -e
+
+if [ $# -eq 3 -a "$2" = '-d' ]; then
+ pdir="-d $3"
+elif [ $# -ne 1 ]; then
+ echo >&2 "`basename $0`: script expects -patch|-unpatch as argument"
+ exit 1
+fi
+case "$1" in
+ -patch) patch $pdir -f --no-backup-if-mismatch -p1 < $0;;
+ -unpatch) patch $pdir -f --no-backup-if-mismatch -R -p1 < $0;;
+ *)
+ echo >&2 "`basename $0`: script expects -patch|-unpatch as argument"
+ exit 1
+esac
+exit 0
+
+# DP: XXX missing description
+# DP:
+# DP: Comment from Chet Ramey <chet@nike.ins.cwru.edu>:
+# DP:
+# DP: Nope. This will allow setuid scripts if not called as `sh' and not
+# DP: called with the -p option. I won't install this.
+
+
+diff -urb bash.orig/shell.c bash/shell.c
+--- bash.orig/shell.c 2003-06-03 19:50:35.000000000 +0200
++++ bash/shell.c 2003-09-28 00:26:28.000000000 +0200
+@@ -447,7 +447,7 @@
+ if (dump_translatable_strings)
+ read_but_dont_execute = 1;
+
+- if (running_setuid && privileged_mode == 0)
++ if (running_setuid && privileged_mode == 0 && act_like_sh == 0)
+ disable_priv_mode ();
+
+ /* Need to get the argument to a -c option processed in the