diff --git a/firewalld/index.cgi b/firewalld/index.cgi index 19cd3ee61..3418eecca 100755 --- a/firewalld/index.cgi +++ b/firewalld/index.cgi @@ -41,8 +41,12 @@ else { ($zone) = grep { $_->{'default'} } @zones; } $zone ||= $zones[0]; -my @azones = &list_firewalld_zones(1); -my ($azone) = grep { $_->{'name'} eq $zone->{'name'} } @azones; +my ($azone); +eval { + local $main::error_must_die = 1; + my @azones = &list_firewalld_zones(1); + ($azone) = grep { $_->{'name'} eq $zone->{'name'} } @azones; + }; # Show zone selector print &ui_form_start("index.cgi"); @@ -116,17 +120,19 @@ else { print &ui_links_row(\@links); } -# Show interfaces for this zone -print &ui_form_start("save_ifaces.cgi"); -print &ui_hidden("zone", $zone->{'name'}); -print "$text{'index_ifaces'}\n"; -my %zifcs = map { $_, 1 } &unique(@{$azone->{'interfaces'}}, - @{$zone->{'interfaces'}}); -foreach my $i (&list_system_interfaces()) { - print &ui_checkbox("iface", $i, $i, $zifcs{$i}),"\n"; +if ($azone) { + # Show interfaces for this zone + print &ui_form_start("save_ifaces.cgi"); + print &ui_hidden("zone", $zone->{'name'}); + print "$text{'index_ifaces'}\n"; + my %zifcs = map { $_, 1 } &unique(@{$azone->{'interfaces'}}, + @{$zone->{'interfaces'}}); + foreach my $i (&list_system_interfaces()) { + print &ui_checkbox("iface", $i, $i, $zifcs{$i}),"\n"; + } + print &ui_submit($text{'save'}); + print &ui_form_end(); } -print &ui_submit($text{'save'}); -print &ui_form_end(); # Show start/apply buttons print &ui_hr();