From 0c0e86ea20fdadb8f7b571b0ae2c755ca12429b0 Mon Sep 17 00:00:00 2001 From: Daniel Tiefnig Date: Thu, 8 Nov 2012 14:13:06 +0000 Subject: [PATCH] allow password, uri-parameters and headers in SIP URIs according to RFC 3261 the sip uri format is: sip:user:password@host:port;uri-parameters?headers we do now allow all elements in SIP URIs for permanent contacts TODO for trunk implementation: * the check should use Sipwise::Provisioning::check_sip_uri() * also fix check_sip_uri to support password, uri-parameters and headers * syntax check on contact param. of create_subscriber_registered_device --- lib/admin/Controller/subscriber.pm | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/lib/admin/Controller/subscriber.pm b/lib/admin/Controller/subscriber.pm index e865c15..e8a7ca1 100644 --- a/lib/admin/Controller/subscriber.pm +++ b/lib/admin/Controller/subscriber.pm @@ -574,7 +574,7 @@ sub add_permanent_contact : Local { my $subscriber_id = $c->request->params->{subscriber_id}; my $contact = $c->request->params->{contact}; - unless($contact =~ /^sip\:[a-zA-Z0-9\-\_\.\!\~\*\'\(\)\%\+]+\@[a-zA-Z0-9\-\.\[\]\:]+(\:\d{1,5})?$/) { + unless($contact =~ /^sip\:[a-zA-Z0-9\-\_\.\!\~\*\'\(\)\%\+]+(:.+?)?\@[a-zA-Z0-9\-\.\[\]\:]+(\:\d{1,5})?(;[^;=?]+?=[^;=?]+?)*(\?[^;=?]+?=[^;=?]+?(&[^;=?]+?=[^;=?]+?)?)?$/) { $c->session->{messages}{conterr} = 'Client.Syntax.MalformedUri'; $c->response->redirect("/subscriber/detail?subscriber_id=$subscriber_id#activeregs"); return;