diff options
Diffstat (limited to 'scripts')
-rwxr-xr-x | scripts/netplug/linkdown/dhclient | 3 | ||||
-rwxr-xr-x | scripts/netplug/linkup/dhclient | 3 | ||||
-rwxr-xr-x | scripts/vyatta-bonding.pl | 2 | ||||
-rwxr-xr-x | scripts/zone-mgmt/vyatta-zone.pl | 17 |
4 files changed, 19 insertions, 6 deletions
diff --git a/scripts/netplug/linkdown/dhclient b/scripts/netplug/linkdown/dhclient index a69caed3..555ff913 100755 --- a/scripts/netplug/linkdown/dhclient +++ b/scripts/netplug/linkdown/dhclient @@ -41,7 +41,8 @@ sub stop_dhclient { my $intf = shift; my $dhcp_daemon = '/sbin/dhclient'; my ($intf_config_file, $intf_process_id_file, $intf_leases_file) = Vyatta::Misc::generate_dhclient_intf_files($intf); - my $release_cmd = "sudo $dhcp_daemon -q -cf $intf_config_file -pf $intf_process_id_file -lf $intf_leases_file -r $intf 2> /dev/null"; + my $release_cmd = "sudo $dhcp_daemon -q -cf $intf_config_file -pf $intf_process_id_file -lf $intf_leases_file -r $intf 2> /dev/null;"; + $release_cmd .= "sudo rm -f $intf_process_id_file 2> /dev/null"; system ($release_cmd); } diff --git a/scripts/netplug/linkup/dhclient b/scripts/netplug/linkup/dhclient index c7370841..8e50715f 100755 --- a/scripts/netplug/linkup/dhclient +++ b/scripts/netplug/linkup/dhclient @@ -41,7 +41,8 @@ sub run_dhclient { my $intf = shift; my $dhcp_daemon = '/sbin/dhclient'; my ($intf_config_file, $intf_process_id_file, $intf_leases_file) = Vyatta::Misc::generate_dhclient_intf_files($intf); - my $cmd = "sudo $dhcp_daemon -q -nw -cf $intf_config_file -pf $intf_process_id_file -lf $intf_leases_file $intf 2> /dev/null &"; + my $cmd = "sudo $dhcp_daemon -pf $intf_process_id_file -x $intf 2> /dev/null; sudo rm -f $intf_process_id_file 2> /dev/null;"; + $cmd .= "sudo $dhcp_daemon -q -nw -cf $intf_config_file -pf $intf_process_id_file -lf $intf_leases_file $intf 2> /dev/null &"; system ($cmd); } diff --git a/scripts/vyatta-bonding.pl b/scripts/vyatta-bonding.pl index 2f2167fa..a0bdbd6e 100755 --- a/scripts/vyatta-bonding.pl +++ b/scripts/vyatta-bonding.pl @@ -48,7 +48,7 @@ my %modes = ( sub set_mode { my ($intf, $mode) = @_; my $val = $modes{$mode}; - die "Unknown bonding mode $mode\n" unless $val; + die "Unknown bonding mode $mode\n" unless defined($val); open my $fm, '>', "/sys/class/net/$intf/bonding/mode" or die "Error: $intf is not a bonding device:$!\n"; diff --git a/scripts/zone-mgmt/vyatta-zone.pl b/scripts/zone-mgmt/vyatta-zone.pl index c71fc2a1..8760b6a6 100755 --- a/scripts/zone-mgmt/vyatta-zone.pl +++ b/scripts/zone-mgmt/vyatta-zone.pl @@ -339,7 +339,7 @@ $zone_chain with failed [$error]" if $error; my @all_zones = Vyatta::Zone::get_all_zones("listOrigNodes"); foreach my $zone (@all_zones) { if (!($zone eq $zone_name)) { - my @from_zones = Vyatta::Zone::get_from_zones("listOrigNodes", $zone); + my @from_zones = Vyatta::Zone::get_from_zones("listOrigPlusComNodes", $zone); if (scalar(grep(/^$zone_name$/, @from_zones)) > 0) { foreach my $tree (keys %cmd_hash) { # call function to delete rules from $zone's chain @@ -352,7 +352,7 @@ $zone_chain with failed [$error]" if $error; } # if you have local from zone, delete interface to local zone out chain - my @my_from_zones = Vyatta::Zone::get_from_zones("listOrigNodes", $zone_name); + my @my_from_zones = Vyatta::Zone::get_from_zones("listOrigPlusComNodes", $zone_name); foreach my $fromzone (@my_from_zones) { if (defined(Vyatta::Zone::is_local_zone("existsOrig", $fromzone))) { foreach my $tree (keys %cmd_hash) { @@ -433,7 +433,7 @@ $zone_chain chain failed [$error]" if $error; my @all_zones = Vyatta::Zone::get_all_zones("listOrigNodes"); foreach my $zone (@all_zones) { if (!($zone eq $zone_name)) { - my @from_zones = Vyatta::Zone::get_from_zones("listOrigNodes", $zone); + my @from_zones = Vyatta::Zone::get_from_zones("listOrigPlusComNodes", $zone); if (scalar(grep(/^$zone_name$/, @from_zones)) > 0) { foreach my $tree (keys %cmd_hash) { my @zone_interfaces = @@ -689,6 +689,14 @@ sub check_zones_validity { return; } +sub check_fwruleset_isActive { + my ($ruleset_type, $ruleset_name) = @_; + my $error = Vyatta::Zone::is_fwruleset_active('isActive', + $ruleset_type, $ruleset_name); + return "Invalid firewall ruleset $ruleset_type $ruleset_name" if $error; + return; +} + # # main # @@ -739,6 +747,9 @@ my ($error, $warning); ($error, $warning) = set_default_policy($zone_name, $default_policy) if $action eq 'set-default-policy'; +($error, $warning) = check_fwruleset_isActive($ruleset_type, $ruleset_name) + if $action eq 'is-fwruleset-active'; + if (defined $warning) { print "$warning\n"; } |