return %peer;
}
+sub get_peer_by_name($) {
+ my $name = shift;
+
+ foreach my $key (keys %peers) {
+ my %peer = &load_peer($key);
+
+ # Return the peer if the name matches
+ if ($peer{"NAME"} eq $name) {
+ return %peer;
+ }
+ }
+
+ # Return undefined if nothing was found
+ return undef;
+}
+
sub name_is_valid($) {
my $name = shift;
@tmpsrc=();
@tmptgt=();
#check if vpn hosts/nets have been deleted
- if($$hash{$key}[3] =~ /ipsec/i || $$hash{$key}[3] =~ /ovpn/i){
+ if($$hash{$key}[3] =~ /ipsec/i || $$hash{$key}[3] =~ /^wg_/ || $$hash{$key}[3] =~ /ovpn/i){
push (@tmpsrc,$$hash{$key}[4]);
}
- if($$hash{$key}[5] =~ /ipsec/i || $$hash{$key}[5] =~ /ovpn/i){
+ if($$hash{$key}[5] =~ /ipsec/i || $$hash{$key}[5] =~ /^wg_/ || $$hash{$key}[5] =~ /ovpn/i){
push (@tmptgt,$$hash{$key}[6]);
}
foreach my $host (@tmpsrc){
if(&fwlib::get_ovpn_host_ip($host,33) eq ''){
$coloryellow='on';
}
+ } elsif ($$hash{$key}[3] eq 'wg_host_src') {
+ if (!defined &Wireguard::get_peer_by_name($host)) {
+ $coloryellow = 'on';
+ }
}
}
foreach my $host (@tmptgt){
if(&fwlib::get_ovpn_host_ip($host,33) eq ''){
$coloryellow='on';
}
+ } elsif ($$hash{$key}[3] eq 'wg_host_tgt') {
+ if (!defined &Wireguard::get_peer_by_name($host)) {
+ $coloryellow = 'on';
+ }
}
}
#check if networkgroups or servicegroups are empty