diff options
-rw-r--r-- | debian/changelog | 37 | ||||
-rwxr-xr-x | lib/Vyatta/Interface.pm | 12 | ||||
-rwxr-xr-x | scripts/vyatta-cfg-cmd-wrapper | 24 | ||||
-rwxr-xr-x | scripts/vyatta-cli-expand-var.pl | 2 | ||||
-rwxr-xr-x | scripts/vyatta-load-config.pl | 2 | ||||
-rw-r--r-- | templates/priority | 7 |
6 files changed, 74 insertions, 10 deletions
diff --git a/debian/changelog b/debian/changelog index d98bd04..cd8f503 100644 --- a/debian/changelog +++ b/debian/changelog @@ -1,3 +1,40 @@ +vyatta-cfg (0.15.7) unstable; urgency=low + + [ Stephen Hemminger ] + * Add hw_address method for use in bonding + + [ Stig Thormodsrud ] + * Fix [Bug 4760] New: members were removed after an in-use firewall + group + + -- Stig Thormodsrud <stig@vyatta.com> Thu, 30 Jul 2009 11:43:34 -0700 + +vyatta-cfg (0.15.6) unstable; urgency=low + + * update cli-expand-var script to match current variable reference + syntax. + + -- An-Cheng Huang <ancheng@vyatta.com> Wed, 29 Jul 2009 12:02:31 -0700 + +vyatta-cfg (0.15.5) unstable; urgency=low + + * alter rename rule option to work for firewall and nat rules + + -- Mohit Mehta <mohit.mehta@vyatta.com> Tue, 28 Jul 2009 17:08:03 -0700 + +vyatta-cfg (0.15.4) unstable; urgency=low + + [ slioch ] + * fix for bug 4255. commit check was not being called on active node + that had deleted children. This change only affects + + [ Stig Thormodsrud ] + * Fix 4722: Output inconsistent from 'save' and 'load' commands + + [ Mohit Mehta ] + + -- Mohit Mehta <mohit.mehta@vyatta.com> Fri, 24 Jul 2009 14:27:06 -0700 + vyatta-cfg (0.15.3) unstable; urgency=low * Bugfix 4717: Remove duplicate entries in priority file. diff --git a/lib/Vyatta/Interface.pm b/lib/Vyatta/Interface.pm index 96429c0..97ef7f7 100755 --- a/lib/Vyatta/Interface.pm +++ b/lib/Vyatta/Interface.pm @@ -222,6 +222,18 @@ sub flags { return hex($val); } +sub hw_address { + my $self = shift; + + open my $addrf, '<', "/sys/class/net/$self->{name}/address" + or return; + my $address = <$addrf>; + close $addrf; + + chomp $address if $address; + return $address; +} + sub is_broadcast { my $self = shift; return $self->flags() & IFF_BROADCAST; diff --git a/scripts/vyatta-cfg-cmd-wrapper b/scripts/vyatta-cfg-cmd-wrapper index 8a73d17..53a3fcc 100755 --- a/scripts/vyatta-cfg-cmd-wrapper +++ b/scripts/vyatta-cfg-cmd-wrapper @@ -157,18 +157,28 @@ case "$1" in /opt/vyatta/sbin/vyatta-load-config.pl "${@:2}" RET_STATUS=$? ;; - firewall-rule-rename) - # this option is to be used for renaming firewall rules only - # usage for this option specified on the next line - - # firewall-rule-rename $firewall_ruleset rule $rule_num to rule $rename_rulenum + rule-rename) + # this option is to be used for renaming firewall and nat rules only + # usage for this option specified on the next two lines - + # rule-rename firewall $firewall_ruleset rule $rule_num to rule $rename_rulenum + # rule-rename nat rule $rule_num to rule $rename_rulenum - VYATTA_TEMPLATE_LEVEL=/firewall/name/node.tag; - VYATTA_EDIT_LEVEL="/firewall/name/$2"; + if [ "$2" == "firewall" ]; then + VYATTA_TEMPLATE_LEVEL=/firewall/name/node.tag; + VYATTA_EDIT_LEVEL="/firewall/name/$3"; + elif [ "$2" == "nat" ]; then + VYATTA_TEMPLATE_LEVEL=/service/nat; + VYATTA_EDIT_LEVEL=/service/nat; + fi _mpath=${VYATTA_TEMP_CONFIG_DIR}/${VYATTA_EDIT_LEVEL} _tpath=${VYATTA_CONFIG_TEMPLATE}/${VYATTA_TEMPLATE_LEVEL} VYATTA_EDIT_LEVEL="${_mpath#$VYATTA_TEMP_CONFIG_DIR}/" VYATTA_TEMPLATE_LEVEL="${_tpath#$VYATTA_CONFIG_TEMPLATE}/" - mvcp rename Rename mv "${@:3}" + if [ $2 == "firewall" ]; then + mvcp rename Rename mv "${@:4}" + elif [ $2 == "nat" ]; then + mvcp rename Rename mv "${@:3}" + fi RET_STATUS=$? ;; *) diff --git a/scripts/vyatta-cli-expand-var.pl b/scripts/vyatta-cli-expand-var.pl index f690f0b..f3bda2d 100755 --- a/scripts/vyatta-cli-expand-var.pl +++ b/scripts/vyatta-cli-expand-var.pl @@ -34,7 +34,7 @@ $_ = $ARGV[0]; # basic format check: # '(' ')' not allowed in reference. # only allow absolute path for now. -if (!/^\$\(\/([^()]+)\)$/) { +if (!/^\$VAR\(\/([^()]+)\)$/) { print STDERR "invalid variable reference (invalid format)\n"; exit 1; } diff --git a/scripts/vyatta-load-config.pl b/scripts/vyatta-load-config.pl index a3cf6ef..f0dbaf1 100755 --- a/scripts/vyatta-load-config.pl +++ b/scripts/vyatta-load-config.pl @@ -175,7 +175,7 @@ syslog( "warning", "Load config [$orig_load_file] by $login" ); # do config migration system("$sbindir/vyatta_config_migrate.pl $load_file"); -print "Loading config file $load_file...\n"; +print "Loading configuration from '$load_file'...\n"; my %cfg_hier = Vyatta::ConfigLoad::loadConfigHierarchy($load_file,$merge); if ( scalar( keys %cfg_hier ) == 0 ) { print "The specified file does not contain any configuration.\n"; diff --git a/templates/priority b/templates/priority index c1507b3..9ee1fe9 100644 --- a/templates/priority +++ b/templates/priority @@ -85,7 +85,12 @@ # "active config" tree at the time the lower-level node is committed. # -200 firewall/group +200 firewall/group/port-group +200 firewall/group/port-group/node.tag/port +200 firewall/group/address-group +200 firewall/group/address-group/node.tag/address +200 firewall/group/network-group +200 firewall/group/network-group/node.tag/network 210 firewall/name/node.tag 210 firewall/modify/node.tag 210 firewall/ipv6-name/node.tag |