forked from extern/shorewall_code
Compare commits
8 Commits
Author | SHA1 | Date | |
---|---|---|---|
|
e5e427f278 | ||
|
5e8fd570d1 | ||
|
e8428cc298 | ||
|
732ae3ce19 | ||
|
9cbcb328af | ||
|
82e84f724d | ||
|
23cf8328d5 | ||
|
7c31f70dc8 |
@@ -3775,7 +3775,7 @@ ipcalc_command() {
|
|||||||
elif [ $# -eq 3 ]; then
|
elif [ $# -eq 3 ]; then
|
||||||
address=$2
|
address=$2
|
||||||
vlsm=$(ip_vlsm $3)
|
vlsm=$(ip_vlsm $3)
|
||||||
elif [ $# -eq 0 ]; then
|
elif [ $# -eq 1 ]; then
|
||||||
missing_argument
|
missing_argument
|
||||||
else
|
else
|
||||||
too_many_arguments $4
|
too_many_arguments $4
|
||||||
@@ -3864,7 +3864,7 @@ noiptrace_command() {
|
|||||||
verify_firewall_script() {
|
verify_firewall_script() {
|
||||||
if [ ! -f $g_firewall ]; then
|
if [ ! -f $g_firewall ]; then
|
||||||
echo " ERROR: $g_product is not properly installed" >&2
|
echo " ERROR: $g_product is not properly installed" >&2
|
||||||
if [ -L $g_firewall ]; then
|
if [ -h $g_firewall ]; then
|
||||||
echo " $g_firewall is a symbolic link to a" >&2
|
echo " $g_firewall is a symbolic link to a" >&2
|
||||||
echo " non-existant file" >&2
|
echo " non-existant file" >&2
|
||||||
else
|
else
|
||||||
|
@@ -751,6 +751,8 @@ mutex_on()
|
|||||||
lockf=${LOCKFILE:=${VARDIR}/lock}
|
lockf=${LOCKFILE:=${VARDIR}/lock}
|
||||||
local lockpid
|
local lockpid
|
||||||
local lockd
|
local lockd
|
||||||
|
local lockbin
|
||||||
|
local openwrt
|
||||||
|
|
||||||
MUTEX_TIMEOUT=${MUTEX_TIMEOUT:-60}
|
MUTEX_TIMEOUT=${MUTEX_TIMEOUT:-60}
|
||||||
|
|
||||||
@@ -760,29 +762,33 @@ mutex_on()
|
|||||||
|
|
||||||
[ -d "$lockd" ] || mkdir -p "$lockd"
|
[ -d "$lockd" ] || mkdir -p "$lockd"
|
||||||
|
|
||||||
|
lockbin=$(mywhich lock)
|
||||||
|
[ -n "$lockbin" -a -h "$lockbin" ] && openwrt=Yes
|
||||||
|
|
||||||
if [ -f $lockf ]; then
|
if [ -f $lockf ]; then
|
||||||
lockpid=`cat ${lockf} 2> /dev/null`
|
lockpid=`cat ${lockf} 2> /dev/null`
|
||||||
if [ -z "$lockpid" ] || [ $lockpid = 0 ]; then
|
if [ -z "$lockpid" ] || [ $lockpid = 0 ]; then
|
||||||
rm -f ${lockf}
|
rm -f ${lockf}
|
||||||
error_message "WARNING: Stale lockfile ${lockf} removed"
|
error_message "WARNING: Stale lockfile ${lockf} removed"
|
||||||
elif [ $lockpid -eq $$ ]; then
|
elif [ -z "$openwrt" ]; then
|
||||||
return 0
|
if [ $lockpid -eq $$ ]; then
|
||||||
elif ! ps | grep -v grep | qt grep ${lockpid}; then
|
fatal_error "Mutex_on confusion"
|
||||||
|
elif ! qt ps --pid ${lockpid}; then
|
||||||
rm -f ${lockf}
|
rm -f ${lockf}
|
||||||
error_message "WARNING: Stale lockfile ${lockf} from pid ${lockpid} removed"
|
error_message "WARNING: Stale lockfile ${lockf} from pid ${lockpid} removed"
|
||||||
fi
|
fi
|
||||||
fi
|
fi
|
||||||
|
fi
|
||||||
|
|
||||||
if qt mywhich lockfile; then
|
if [ -n "$openwrt" ]; then
|
||||||
lockfile -${MUTEX_TIMEOUT} -r1 ${lockf}
|
lock ${lockf} || fatal_error "Can't lock ${lockf}"
|
||||||
|
g_havemutex="lock -u ${lockf}"
|
||||||
|
elif qt mywhich lockfile; then
|
||||||
|
lockfile -${MUTEX_TIMEOUT} -r1 ${lockf} || fatal_error "Can't lock ${lockf}"
|
||||||
g_havemutex="rm -f ${lockf}"
|
g_havemutex="rm -f ${lockf}"
|
||||||
chmod u+w ${lockf}
|
chmod u+w ${lockf}
|
||||||
echo $$ > ${lockf}
|
echo $$ > ${lockf}
|
||||||
chmod u-w ${lockf}
|
chmod u-w ${lockf}
|
||||||
elif qt mywhich lock; then
|
|
||||||
lock ${lockf}
|
|
||||||
g_havemutex="lock -u ${lockf} && rm -f ${lockf}"
|
|
||||||
chmod u=r ${lockf}
|
|
||||||
else
|
else
|
||||||
while [ -f ${lockf} -a ${try} -lt ${MUTEX_TIMEOUT} ] ; do
|
while [ -f ${lockf} -a ${try} -lt ${MUTEX_TIMEOUT} ] ; do
|
||||||
sleep 1
|
sleep 1
|
||||||
|
@@ -60,7 +60,7 @@ mywhich() {
|
|||||||
remove_file() # $1 = file to remove
|
remove_file() # $1 = file to remove
|
||||||
{
|
{
|
||||||
if [ -n "$1" ] ; then
|
if [ -n "$1" ] ; then
|
||||||
if [ -f $1 -o -L $1 ] ; then
|
if [ -f $1 -o -h $1 ] ; then
|
||||||
rm -f $1
|
rm -f $1
|
||||||
echo "$1 Removed"
|
echo "$1 Removed"
|
||||||
fi
|
fi
|
||||||
@@ -84,7 +84,7 @@ remove_file_with_wildcard() # $1 = file with wildcard to remove
|
|||||||
if [ -d $f ] ; then
|
if [ -d $f ] ; then
|
||||||
rm -rf $f
|
rm -rf $f
|
||||||
echo "$f Removed"
|
echo "$f Removed"
|
||||||
elif [ -f $f -o -L $f ] ; then
|
elif [ -f $f -o -h $f ] ; then
|
||||||
rm -f $f
|
rm -f $f
|
||||||
echo "$f Removed"
|
echo "$f Removed"
|
||||||
fi
|
fi
|
||||||
|
@@ -151,7 +151,7 @@ fi
|
|||||||
|
|
||||||
remove_file ${SBINDIR}/$PRODUCT
|
remove_file ${SBINDIR}/$PRODUCT
|
||||||
|
|
||||||
if [ -L ${SHAREDIR}/$PRODUCT/init ]; then
|
if [ -h ${SHAREDIR}/$PRODUCT/init ]; then
|
||||||
if [ $HOST = openwrt ]; then
|
if [ $HOST = openwrt ]; then
|
||||||
if [ $configure -eq 1 ] && /etc/init.d/$PRODUCT enabled; then
|
if [ $configure -eq 1 ] && /etc/init.d/$PRODUCT enabled; then
|
||||||
/etc/init.d/$PRODUCT disable
|
/etc/init.d/$PRODUCT disable
|
||||||
|
@@ -425,7 +425,7 @@ our $VERSION = 'MODULEVERSION';
|
|||||||
# Established - ^<z1-z2>
|
# Established - ^<z1-z2>
|
||||||
# Related - +<z1-z2>
|
# Related - +<z1-z2>
|
||||||
# Invalid - _<z1-z2>
|
# Invalid - _<z1-z2>
|
||||||
# Untracked - &<z1-z2>
|
# Untracked - =<z1-z2>
|
||||||
#
|
#
|
||||||
our %chain_table;
|
our %chain_table;
|
||||||
our $raw_table;
|
our $raw_table;
|
||||||
@@ -2269,7 +2269,7 @@ sub invalid_chain($$) {
|
|||||||
# Name of the untracked chain between an ordered pair of zones
|
# Name of the untracked chain between an ordered pair of zones
|
||||||
#
|
#
|
||||||
sub untracked_chain($$) {
|
sub untracked_chain($$) {
|
||||||
'&' . &rules_chain(@_);
|
'=' . &rules_chain(@_);
|
||||||
}
|
}
|
||||||
|
|
||||||
#
|
#
|
||||||
@@ -5819,7 +5819,7 @@ sub do_condition( $$ ) {
|
|||||||
|
|
||||||
$chain =~ s/[^\w-]//g;
|
$chain =~ s/[^\w-]//g;
|
||||||
# $1 $2 - $3
|
# $1 $2 - $3
|
||||||
while ( $condition =~ m( ^(.*?) @({)?(?:0|chain)(?(2)}) (.*)$ )x ) {
|
while ( $condition =~ m( ^(.*?) @(\{)?(?:0|chain)(?(2)}) (.*)$ )x ) {
|
||||||
$condition = join( '', $1, $chain, $3 );
|
$condition = join( '', $1, $chain, $3 );
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@@ -2833,7 +2833,7 @@ sub evaluate_expression( $$$$ ) {
|
|||||||
}
|
}
|
||||||
|
|
||||||
# $1 $2 $3 - $4
|
# $1 $2 $3 - $4
|
||||||
while ( $expression =~ m( ^(.*?) \$({)? (\d+|[a-zA-Z_]\w*) (?(2)}) (.*)$ )x ) {
|
while ( $expression =~ m( ^(.*?) \$(\{)? (\d+|[a-zA-Z_]\w*) (?(2)}) (.*)$ )x ) {
|
||||||
my ( $first, $var, $rest ) = ( $1, $3, $4);
|
my ( $first, $var, $rest ) = ( $1, $3, $4);
|
||||||
|
|
||||||
if ( $var =~ /^\d+$/ ) {
|
if ( $var =~ /^\d+$/ ) {
|
||||||
@@ -2850,7 +2850,7 @@ sub evaluate_expression( $$$$ ) {
|
|||||||
|
|
||||||
if ( $chain ) {
|
if ( $chain ) {
|
||||||
# $1 $2 $3 - $4
|
# $1 $2 $3 - $4
|
||||||
while ( $expression =~ m( ^(.*?) \@({)? (\d+|[a-zA-Z]\w*) (?(2)}) (.*)$ )x ) {
|
while ( $expression =~ m( ^(.*?) \@(\{)? (\d+|[a-zA-Z]\w*) (?(2)}) (.*)$ )x ) {
|
||||||
my ( $first, $var, $rest ) = ( $1, $3, $4);
|
my ( $first, $var, $rest ) = ( $1, $3, $4);
|
||||||
$var = numeric_value( $var ) if $var =~ /^\d/;
|
$var = numeric_value( $var ) if $var =~ /^\d/;
|
||||||
$val = $var ? $actparams{$var} : $chain;
|
$val = $var ? $actparams{$var} : $chain;
|
||||||
@@ -2861,7 +2861,7 @@ sub evaluate_expression( $$$$ ) {
|
|||||||
}
|
}
|
||||||
|
|
||||||
# $1 $2 $3 - $4
|
# $1 $2 $3 - $4
|
||||||
while ( $expression =~ m( ^(.*?) __({)? (\w+) (?(2)}) (.*)$ )x ) {
|
while ( $expression =~ m( ^(.*?) __(\{)? (\w+) (?(2)}) (.*)$ )x ) {
|
||||||
my ( $first, $cap, $rest ) = ( $1, $3, $4);
|
my ( $first, $cap, $rest ) = ( $1, $3, $4);
|
||||||
|
|
||||||
if ( exists $capdesc{$cap} ) {
|
if ( exists $capdesc{$cap} ) {
|
||||||
@@ -3791,7 +3791,7 @@ sub expand_variables( \$ ) {
|
|||||||
my ( $lineref, $count ) = ( $_[0], 0 );
|
my ( $lineref, $count ) = ( $_[0], 0 );
|
||||||
my $chain = $actparams{chain};
|
my $chain = $actparams{chain};
|
||||||
# $1 $2 $3 - $4
|
# $1 $2 $3 - $4
|
||||||
while ( $$lineref =~ m( ^(.*?) \$({)? (\d+|[a-zA-Z_]\w*) (?(2)}) (.*)$ )x ) {
|
while ( $$lineref =~ m( ^(.*?) \$(\{)? (\d+|[a-zA-Z_]\w*) (?(2)}) (.*)$ )x ) {
|
||||||
|
|
||||||
my ( $first, $var, $rest ) = ( $1, $3, $4);
|
my ( $first, $var, $rest ) = ( $1, $3, $4);
|
||||||
|
|
||||||
@@ -3830,7 +3830,7 @@ sub expand_variables( \$ ) {
|
|||||||
#
|
#
|
||||||
$$lineref =~ s/\\@/??/g;
|
$$lineref =~ s/\\@/??/g;
|
||||||
# $1 $2 $3 - $4
|
# $1 $2 $3 - $4
|
||||||
while ( $$lineref =~ m( ^(.*?) \@({)? (\d+|[a-zA-Z_]\w*) (?(2)}) (.*)$ )x ) {
|
while ( $$lineref =~ m( ^(.*?) \@(\{)? (\d+|[a-zA-Z_]\w*) (?(2)}) (.*)$ )x ) {
|
||||||
my ( $first, $var, $rest ) = ( $1, $3, $4);
|
my ( $first, $var, $rest ) = ( $1, $3, $4);
|
||||||
my $val = $var ? $actparams{$var} : $actparams{chain};
|
my $val = $var ? $actparams{$var} : $actparams{chain};
|
||||||
$usedcaller = USEDCALLER if $var eq 'caller';
|
$usedcaller = USEDCALLER if $var eq 'caller';
|
||||||
@@ -3846,7 +3846,7 @@ sub expand_variables( \$ ) {
|
|||||||
sub expand_shorewallrc_variables( \$ ) {
|
sub expand_shorewallrc_variables( \$ ) {
|
||||||
my ( $lineref, $count ) = ( $_[0], 0 );
|
my ( $lineref, $count ) = ( $_[0], 0 );
|
||||||
# $1 $2 $3 - $4
|
# $1 $2 $3 - $4
|
||||||
while ( $$lineref =~ m( ^(.*?) \$({)? (\d+|[a-zA-Z]\w*) (?(2)}) (.*)$ )x ) {
|
while ( $$lineref =~ m( ^(.*?) \$(\{)? (\d+|[a-zA-Z]\w*) (?(2)}) (.*)$ )x ) {
|
||||||
|
|
||||||
my ( $first, $var, $rest ) = ( $1, $3, $4);
|
my ( $first, $var, $rest ) = ( $1, $3, $4);
|
||||||
|
|
||||||
|
@@ -151,7 +151,7 @@ fi
|
|||||||
|
|
||||||
remove_file ${SBINDIR}/$PRODUCT
|
remove_file ${SBINDIR}/$PRODUCT
|
||||||
|
|
||||||
if [ -L ${SHAREDIR}/$PRODUCT/init ]; then
|
if [ -h ${SHAREDIR}/$PRODUCT/init ]; then
|
||||||
FIREWALL=$(readlink -m -q ${SHAREDIR}/$PRODUCT/init)
|
FIREWALL=$(readlink -m -q ${SHAREDIR}/$PRODUCT/init)
|
||||||
elif [ -n "$INITFILE" ]; then
|
elif [ -n "$INITFILE" ]; then
|
||||||
FIREWALL=${INITDIR}/${INITFILE}
|
FIREWALL=${INITDIR}/${INITFILE}
|
||||||
|
Reference in New Issue
Block a user