summaryrefslogtreecommitdiff
path: root/scripts
diff options
context:
space:
mode:
Diffstat (limited to 'scripts')
-rwxr-xr-xscripts/netplug/linkdown/dhclient3
-rwxr-xr-xscripts/netplug/linkup/dhclient3
-rwxr-xr-xscripts/vyatta-bonding.pl2
-rwxr-xr-xscripts/zone-mgmt/vyatta-zone.pl17
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";
}