From c417cc622d77f2f80dcc26f413dc0e97d41d67ff Mon Sep 17 00:00:00 2001 From: Kirill Solomko Date: Fri, 23 Jan 2026 11:05:49 +0100 Subject: [PATCH] MT#64295 better handling of via_route empty string * transform via_route empty string into undef and store it as undef without validating it against SIP-URI Change-Id: Iefae7b26910201183ae3d049b3785a68dc81ce64 --- lib/NGCP/Panel/Form/Peering/Server.pm | 4 +++- lib/NGCP/Panel/Role/API/PeeringServers.pm | 18 +++++++++++------- 2 files changed, 14 insertions(+), 8 deletions(-) diff --git a/lib/NGCP/Panel/Form/Peering/Server.pm b/lib/NGCP/Panel/Form/Peering/Server.pm index 787e16857a..5ea0355999 100644 --- a/lib/NGCP/Panel/Form/Peering/Server.pm +++ b/lib/NGCP/Panel/Form/Peering/Server.pm @@ -137,6 +137,8 @@ sub transform_via_route { $uri =~ s/^\s*([^\s]+)\s*$/$1/g; + $uri || return undef; + unless ($uri =~ /^'; } @@ -152,7 +154,7 @@ sub transform_via_route { sub validate_via_route { my ($self, $field) = @_; - my $uri = $field->value; + my $uri = $field->value || return; unless ($field->value =~ /^?$/) { $field->add_error("Invalid SIP URI, must be a valid SIP URI in the form of sip:ip:port"); diff --git a/lib/NGCP/Panel/Role/API/PeeringServers.pm b/lib/NGCP/Panel/Role/API/PeeringServers.pm index 5892d57cfb..4f6bb4c91b 100644 --- a/lib/NGCP/Panel/Role/API/PeeringServers.pm +++ b/lib/NGCP/Panel/Role/API/PeeringServers.pm @@ -72,13 +72,17 @@ sub pre_process_form_resource { $uri =~ s/^\s*([^\s]+)\s*$/$1/g; - unless ($uri =~ /^'; - } - - unless ($uri =~ /;lr>$/) { - $uri =~ s/>$//; - $uri = $uri . ';lr>'; + if ($uri) { + unless ($uri =~ /^'; + } + + unless ($uri =~ /;lr>$/) { + $uri =~ s/>$//; + $uri = $uri . ';lr>'; + } + } else { + $uri = undef; } $resource->{via_route} = $uri;