View | Details | Raw Unified
Collapse All | Expand All

(-) chpax.orig (-6 / +19 lines)
 Lines 14-30   chpax_flag() { Link Here 
	flag=$1
	flag=$1
	fname=$2
	fname=$2
	#if [ -w "$fname" ]; then
	#einfo "chpax -$flag ${fname}"
		einfo "/sbin/chpax -$flag $fname"
	if [ -w ${fname} ]; then
		eval "/sbin/chpax -$flag $fname"
		einfo "chpax -$flag ${fname}"
		#eval "/sbin/chpax -v $fname"
		/sbin/chpax -$flag ${fname}
		#[ $? != 0 ] && eerror "error: chpax -$flag ${fname}"
		[ $? != 0 ] && eerror "error: chpax -$flag ${fname}"
	#fi
	fi
}
fix_exempts() {
	#need to do this for foo{,bar,baz} expressions to work.
	PAGEEXEC_EXEMPT=`eval echo $PAGEEXEC_EXEMPT`
	TRAMPOLINE_EXEMPT=`eval echo $TRAMPOLINE_EXEMPT`
	RANDMMAP_EXEMPT=`eval echo $RANDMMAP_EXEMPT`
	MPROTECT_EXEMPT=`eval echo $MPROTECT_EXEMPT`
	SEGMEXEC_EXEMPT=`eval echo $SEGMEXEC_EXEMPT`
	RANDEXEC_EXEMPT=`eval echo $RANDEXEC_EXEMPT`
}
}
start() {
start() {
	checkconfig || return 1
	checkconfig || return 1
	fix_exempts
	for p in $PAGEEXEC_EXEMPT; do chpax_flag p ${p} ;done
	for p in $PAGEEXEC_EXEMPT; do chpax_flag p ${p} ;done
	for e in $TRAMPOLINE_EXEMPT; do chpax_flag e ${e} ;done
	for e in $TRAMPOLINE_EXEMPT; do chpax_flag e ${e} ;done
	for r in $RANDMMAP_EXEMPT; do chpax_flag r ${r} ;done
	for r in $RANDMMAP_EXEMPT; do chpax_flag r ${r} ;done
 Lines 39-44   stop() { Link Here 
	checkconfig || return 1
	checkconfig || return 1
	[ "$ZERO_FLAG_MASK" = "yes" ] || return 0
	[ "$ZERO_FLAG_MASK" = "yes" ] || return 0
	fix_exempts
	einfo "chpax zero flag masking"
	einfo "chpax zero flag masking"
	for p in $PAGEEXEC_EXEMPT; do chpax_flag z ${p} ;done
	for p in $PAGEEXEC_EXEMPT; do chpax_flag z ${p} ;done
	for e in $TRAMPOLINE_EXEMPT; do chpax_flag z ${e} ;done
	for e in $TRAMPOLINE_EXEMPT; do chpax_flag z ${e} ;done