From 829a6fd2497dd420ecd03bdf744586feca76cabe Mon Sep 17 00:00:00 2001 From: teastep Date: Sun, 11 Mar 2007 21:20:31 +0000 Subject: [PATCH] Add hidden option to allow testing of new perl-based compiler git-svn-id: https://shorewall.svn.sourceforge.net/svnroot/shorewall/trunk@5495 fbd18981-670d-0410-9b5c-8dc0c1a9a2bb --- Shorewall/compiler | 8 +++++--- Shorewall/lib.base | 4 ++++ Shorewall/lib.config | 7 +++++++ 3 files changed, 16 insertions(+), 3 deletions(-) diff --git a/Shorewall/compiler b/Shorewall/compiler index 233d28350..673eb72b2 100755 --- a/Shorewall/compiler +++ b/Shorewall/compiler @@ -5655,7 +5655,9 @@ usage() { # # Start trace if first arg is "debug" # -[ $# -gt 1 ] && [ "$1" = "debug" ] && { set -x ; shift ; } +debug='-w' + +[ $# -gt 1 ] && [ "$1" = "debug" ] && { set -x ; debug='-wd' ; shift ; } NOLOCK= @@ -5689,13 +5691,13 @@ case "$COMMAND" in check) [ $# -ne 1 ] && usage do_initialize - compile_firewall + [ -n "$EXPERIMENTAL" ] && exec perl $debug $(find_file compiler.pl) || exec compile_firewall ;; compile) [ $# -ne 2 ] && usage do_initialize - compile_firewall $2 + [ -n "$EXPERIMENTAL" ] && exec perl $debug $(find_file compiler.pl) $2 || exec compile_firewall $2 ;; call) diff --git a/Shorewall/lib.base b/Shorewall/lib.base index bed2dd23d..3d73ed302 100644 --- a/Shorewall/lib.base +++ b/Shorewall/lib.base @@ -963,6 +963,7 @@ determine_capabilities() { XMARK= MANGLE_FORWARD= COMMENTS= + ADDRTYPE= qt $IPTABLES -N fooX1234 qt $IPTABLES -A fooX1234 -m conntrack --ctorigdst 192.168.1.1 -j ACCEPT && CONNTRACK_MATCH=Yes @@ -1029,6 +1030,7 @@ determine_capabilities() { fi qt $IPTABLES -A fooX1234 -m pkttype --pkt-type broadcast -j ACCEPT && USEPKTTYPE=Yes + qt $IPTABLES -A fooX1234 -m addrtype --src-type BROADCAST -j ACCEPT && ADDRTYPE=Yes qt $IPTABLES -F fooX1234 qt $IPTABLES -X fooX1234 @@ -1072,6 +1074,7 @@ report_capabilities() { [ -n "$MARK" ] && report_capability "Extended MARK Target" $XMARK report_capability "Mangle FORWARD Chain" $MANGLE_FORWARD report_capability "Comments" $COMMENTS + report_capability "Address Type Match" $ADDRTYPE fi [ -n "$PKTTYPE" ] || USEPKTTYPE= @@ -1113,6 +1116,7 @@ report_capabilities1() { report_capability1 XMARK report_capability1 MANGLE_FORWARD report_capability1 COMMENTS + report_capability1 ADDRTYPE } # diff --git a/Shorewall/lib.config b/Shorewall/lib.config index 691c24a9d..3278c2a70 100644 --- a/Shorewall/lib.config +++ b/Shorewall/lib.config @@ -1805,6 +1805,7 @@ do_initialize() { USE_ACTIONS= OPTIMIZE= EXPORTPARAMS= + EXPERIMENTAL= # # Packet Disposition # @@ -2029,6 +2030,7 @@ do_initialize() { TC_EXPERT=$(added_param_value_no TC_EXPERT $TC_EXPERT) USE_ACTIONS=$(added_param_value_yes USE_ACTIONS $USE_ACTIONS) EXPORTPARAMS=$(added_param_value_yes EXPORTPARAMS $EXPORTPARAMS) + EXPERIMENTAL=$(added_param_value_no EXPERIMENTAL $EXPERIMENTAL) [ -n "$USE_ACTIONS" ] && lib_load actions "USE_ACTIONS=Yes" [ -n "$XCONNMARK_MATCH" ] || XCONNMARK= @@ -2173,6 +2175,11 @@ do_initialize() { strip_file_and_lib_load tcrules tcrules strip_file tos strip_file_and_lib_load tunnels tunnels + if [ -n $EXPERIMENTAL ]; then + report_capabilities1 > $TMP_DIR/capabilities + export TMP_DIR + export CONFIG_PATH + fi fi # # Clear $FW