forked from extern/shorewall_code
Allow hex numbers in 'mark' column of the providers file == Take 2
git-svn-id: https://shorewall.svn.sourceforge.net/svnroot/shorewall/trunk@3851 fbd18981-670d-0410-9b5c-8dc0c1a9a2bb
This commit is contained in:
parent
f2f7edf404
commit
b4a3be9bc0
@ -1182,14 +1182,6 @@ __EOF__
|
|||||||
local t n iface option first=Yes
|
local t n iface option first=Yes
|
||||||
|
|
||||||
[ -n "$MANGLE_ENABLED" ] || fatal_error "Providers require mangle support in your kernel and iptables"
|
[ -n "$MANGLE_ENABLED" ] || fatal_error "Providers require mangle support in your kernel and iptables"
|
||||||
#
|
|
||||||
# The following is because the %$#@ shell doesn't except hex numbers in '-eq' tests
|
|
||||||
#
|
|
||||||
case number in
|
|
||||||
0*)
|
|
||||||
number=$(($number + 0))
|
|
||||||
;;
|
|
||||||
esac
|
|
||||||
|
|
||||||
for t in $PROVIDERS; do
|
for t in $PROVIDERS; do
|
||||||
if [ "$t" = "$table" ]; then
|
if [ "$t" = "$table" ]; then
|
||||||
@ -1197,8 +1189,10 @@ __EOF__
|
|||||||
fi
|
fi
|
||||||
|
|
||||||
eval n=\$${t}_number
|
eval n=\$${t}_number
|
||||||
|
#
|
||||||
if [ $n -eq $number ]; then
|
# The following is because the %$#@ shell doesn't except hex numbers in '-eq' tests
|
||||||
|
#
|
||||||
|
if [ $(($n)) -eq $(($number)) ]; then
|
||||||
fatal_error "Duplicate Provider number: $number, provider: \"$provider\""
|
fatal_error "Duplicate Provider number: $number, provider: \"$provider\""
|
||||||
fi
|
fi
|
||||||
done
|
done
|
||||||
@ -1247,7 +1241,7 @@ __EOF__
|
|||||||
if [ x${mark} != x- ]; then
|
if [ x${mark} != x- ]; then
|
||||||
verify_mark $mark
|
verify_mark $mark
|
||||||
|
|
||||||
if [ $mark -lt 256 ]; then
|
if [ $(($mark)) -lt 256 ]; then
|
||||||
if [ -n "$HIGH_ROUTE_MARKS" ]; then
|
if [ -n "$HIGH_ROUTE_MARKS" ]; then
|
||||||
fatal_error "Invalid Mark Value ($mark) with HIGH_ROUTE_MARKS=Yes"
|
fatal_error "Invalid Mark Value ($mark) with HIGH_ROUTE_MARKS=Yes"
|
||||||
fi
|
fi
|
||||||
@ -3072,7 +3066,7 @@ setup_traffic_shaping()
|
|||||||
fi
|
fi
|
||||||
list_search "$device-$mark" $classlist && fatal_error "Mark $mark for interface $device defined more than once in tcclasses"
|
list_search "$device-$mark" $classlist && fatal_error "Mark $mark for interface $device defined more than once in tcclasses"
|
||||||
verify_mark $mark
|
verify_mark $mark
|
||||||
[ $mark -lt 256 ] || fatal_error "Invalid Mark Value"
|
[ $(($mark)) -lt 256 ] || fatal_error "Invalid Mark Value"
|
||||||
classlist="$classlist $device-$mark"
|
classlist="$classlist $device-$mark"
|
||||||
done < $TMP_DIR/tcclasses
|
done < $TMP_DIR/tcclasses
|
||||||
}
|
}
|
||||||
@ -3213,7 +3207,7 @@ process_tc_rule()
|
|||||||
verify_small_mark()
|
verify_small_mark()
|
||||||
{
|
{
|
||||||
verify_mark $1
|
verify_mark $1
|
||||||
[ $1 -lt 256 ] || fatal_error "Mark Value ($1) too larg, rule \"$rule\""
|
[ $(($1)) -lt 256 ] || fatal_error "Mark Value ($1) too larg, rule \"$rule\""
|
||||||
}
|
}
|
||||||
|
|
||||||
add_a_tc_rule() {
|
add_a_tc_rule() {
|
||||||
@ -3389,7 +3383,7 @@ process_tc_rule()
|
|||||||
*)
|
*)
|
||||||
if [ "$chain" != tcpost ]; then
|
if [ "$chain" != tcpost ]; then
|
||||||
verify_mark $mark
|
verify_mark $mark
|
||||||
if [ $mark -gt 255 ]; then
|
if [ $(($mark)) -gt 255 ]; then
|
||||||
case $chain in
|
case $chain in
|
||||||
tcpre|tcout)
|
tcpre|tcout)
|
||||||
target="MARK --or-mark"
|
target="MARK --or-mark"
|
||||||
|
Loading…
Reference in New Issue
Block a user