diff options
Diffstat (limited to 'debian/patches/privmode.dpatch')
-rwxr-xr-x | debian/patches/privmode.dpatch | 37 |
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 |