Fix similar problem with tcrules

git-svn-id: https://shorewall.svn.sourceforge.net/svnroot/shorewall/trunk@7919 fbd18981-670d-0410-9b5c-8dc0c1a9a2bb
This commit is contained in:
teastep 2007-12-15 18:49:05 +00:00
parent 161d2df924
commit c36a24f201
3 changed files with 15 additions and 0 deletions

View File

@ -8,6 +8,8 @@ Changes in 4.1.3
4) Fall back to /bin/sh if SHOREWALL_SHELL isn't viable. 4) Fall back to /bin/sh if SHOREWALL_SHELL isn't viable.
5) Fix mis-handling of <interface>:<mac>
Changes in 4.1.2 Changes in 4.1.2
1) Enhanced Operational Logging 1) Enhanced Operational Logging

View File

@ -22,6 +22,14 @@ Problems corrected in Shorewall 4.1.3.
3) If LOG_VERBOSITY is specified without STARTUP_LOG, run-time error 3) If LOG_VERBOSITY is specified without STARTUP_LOG, run-time error
messages are produced. messages are produced.
4) Shorewall-shell was mishandling the entries in /etc/shorewall/rules
and in /etc/shorewall/tcrules where both a SOURCE interface and MAC
address were specified.
Example:
ACCEPT net:eth0:~01-02-03-04-05-06 $FW tcp 22
Other changes in Shorewall 4.1.3. Other changes in Shorewall 4.1.3.
1) If the program named in SHOREWALL_SHELL doesn't exist or is not 1) If the program named in SHOREWALL_SHELL doesn't exist or is not

View File

@ -105,6 +105,11 @@ process_tc_rule()
$FW:*) $FW:*)
r="$(source_ip_range ${source#*:}) " r="$(source_ip_range ${source#*:}) "
;; ;;
*:~*|*:!~*)
interface=${source%:*}
verify_interface $interface || fatal_error "Unknown interface $interface in rule \"$rule\""
r="$(match_source_dev $interface) $(mac_match ${source#*:}) "
;;
*:*) *:*)
interface=${source%:*} interface=${source%:*}
verify_interface $interface || fatal_error "Unknown interface $interface in rule \"$rule\"" verify_interface $interface || fatal_error "Unknown interface $interface in rule \"$rule\""