Module: sip-router
Branch: master
Commit: f65d060bb471070dca743905092afb60e5119bb6
URL:    
http://git.sip-router.org/cgi-bin/gitweb.cgi/sip-router/?a=commit;h=f65d060bb471070dca743905092afb60e5119bb6

Author: Daniel-Constantin Mierla <[email protected]>
Committer: Daniel-Constantin Mierla <[email protected]>
Date:   Wed Nov 30 15:19:35 2011 +0100

parser: remove old URI parser and structure

---

 parser/msg_parser.h |   13 -----
 parser/parse_uri.c  |  144 ---------------------------------------------------
 2 files changed, 0 insertions(+), 157 deletions(-)

diff --git a/parser/msg_parser.h b/parser/msg_parser.h
index 31582f5..eee2948 100644
--- a/parser/msg_parser.h
+++ b/parser/msg_parser.h
@@ -174,19 +174,6 @@ if (  (*tmp==(firstchar) || *tmp==((firstchar) | 32)) &&   
               \
 (((m)->new_uri.s && (m)->new_uri.len) ? (&(m)->new_uri) : 
(&(m)->first_line.u.request.uri))
 
 
-#if 0
-       /* old version */
-struct sip_uri {
-       str user;     /* Username */
-       str passwd;   /* Password */
-       str host;     /* Host name */
-       str port;     /* Port number */
-       str params;   /* Parameters */
-       str headers;
-       unsigned short port_no;
-};
-#endif
-
 enum _uri_type{ERROR_URI_T=0, SIP_URI_T, SIPS_URI_T, TEL_URI_T, TELS_URI_T};
 typedef enum _uri_type uri_type;
 enum _uri_flags{
diff --git a/parser/parse_uri.c b/parser/parse_uri.c
index b337153..affe44f 100644
--- a/parser/parse_uri.c
+++ b/parser/parse_uri.c
@@ -52,9 +52,7 @@
 #include "parse_uri.h"
 #include <string.h>
 #include "../dprint.h"
-/* #ifdef PARSE_URI_OLD */ /* ZSW */
 #include "../ut.h"   /* q_memchr */
-/* #endif */
 #include "../error.h"
 #include "../core_stats.h"
 
@@ -62,7 +60,6 @@
  * len= len of uri
  * returns: fills uri & returns <0 on error or 0 if ok 
  */
-#ifndef PARSE_URI_OLD
 int parse_uri(char* buf, int len, struct sip_uri* uri)
 {
        enum states  {  URI_INIT, URI_USER, URI_PASSWORD, URI_PASSWORD_ALPHA,
@@ -1234,147 +1231,6 @@ error_exit:
        return E_BAD_URI;
 }
 
-#else /* PARSE_URI_OLD */
-
-int parse_uri(char *buf, int len, struct sip_uri* uri)
-{
-       char* next, *end;
-       char *user, *passwd, *host, *port, *params, *headers, *ipv6;
-       int host_len, port_len, params_len, headers_len;
-       int err;
-       int ret;
-       
-       
-       ret=0;
-       host_len=0;
-       end=buf+len;
-       memset(uri, 0, sizeof(struct sip_uri)); /* zero it all, just to be sure 
*/
-       /* look for "sip:"*/;
-       next=q_memchr(buf, ':',  len);
-       if ((next==0)||(strncasecmp(buf,"sip",next-buf)!=0)){
-               LOG(L_DBG, "ERROR: parse_uri: bad sip uri\n");
-               ser_error=ret=E_BAD_URI;
-               return ret;
-       }
-       buf=next+1; /* next char after ':' */
-       if (buf>end){
-               LOG(L_DBG, "ERROR: parse_uri: uri too short\n");
-               ser_error=ret=E_BAD_URI;
-               return ret;
-       }
-       /*look for '@' */
-       next=q_memchr(buf,'@', end-buf);
-       if (next==0){
-               /* no '@' found, => no userinfo */
-               uri->user.s=0;
-               uri->passwd.s=0;
-               host=buf;
-       }else{
-               /* found it */
-               user=buf;
-               /* try to find passwd */
-               passwd=q_memchr(user,':', next-user);
-               if (passwd==0){
-                       /* no ':' found => no password */
-                       uri->passwd.s=0;
-                       uri->user.s=user;
-                       uri->user.len=next-user;
-               }else{
-                       uri->user.s=user;
-                       uri->user.len=passwd-user;
-                       passwd++; /*skip ':' */
-                       uri->passwd.s=passwd;
-                       uri->passwd.len=next-passwd;
-               }
-               host=next+1; /* skip '@' */
-       }
-       /* try to find the rest */
-       if(host>=end){
-               LOG(L_DBG, "ERROR: parse_uri: missing hostport\n");
-               ser_error=ret=E_UNSPEC;
-               return ret;
-       }
-       next=host;
-       ipv6=q_memchr(host, '[', end-host);
-       if (ipv6){
-               host=ipv6+1; /* skip '[' in "[3ffe::abbcd]" */
-               if (host>=end){
-                       LOG(L_DBG, "ERROR: parse_uri: bad ipv6 uri\n");
-                       ret=E_UNSPEC;
-                       return ret;
-               }
-               ipv6=q_memchr(host, ']', end-host);
-               if ((ipv6==0)||(ipv6==host)){
-                       LOG(L_DBG, "ERROR: parse_uri: bad ipv6 uri - null 
address"
-                                       " or missing ']'\n");
-                       ret=E_UNSPEC;
-                       return ret;
-               }
-               host_len=ipv6-host;
-               next=ipv6;
-       }
-
-               
-       headers=q_memchr(next,'?',end-next);
-       params=q_memchr(next,';',end-next);
-       port=q_memchr(next,':',end-next);
-       if (host_len==0){ /* host not ipv6 addr */
-               
host_len=(port)?port-host:(params)?params-host:(headers)?headers-host:
-                               end-host;
-       }
-       /* get host */
-       uri->host.s=host;
-       uri->host.len=host_len;
-
-       /* get port*/
-       if ((port)&&(port+1<end)){
-               port++;
-               if ( ((params) &&(params<port))||((headers) &&(headers<port)) ){
-                       /* error -> invalid uri we found ';' or '?' before ':' 
*/
-                       LOG(L_DBG, "ERROR: parse_uri: malformed sip uri\n");
-                       ser_error=ret=E_BAD_URI;
-                       return ret;
-               }
-               port_len=(params)?params-port:(headers)?headers-port:end-port;
-               uri->port.s=port;
-               uri->port.len=port_len;
-       }else uri->port.s=0;
-       /* get params */
-       if ((params)&&(params+1<end)){
-               params++;
-               if ((headers) && (headers<params)){
-                       /* error -> invalid uri we found '?' or '?' before ';' 
*/
-                       LOG(L_DBG, "ERROR: parse_uri: malformed sip uri\n");
-                       ser_error=ret=E_BAD_URI;
-                       return ret;
-               }
-               params_len=(headers)?headers-params:end-params;
-               uri->params.s=params;
-               uri->params.len=params_len;
-       }else uri->params.s=0;
-       /*get headers */
-       if ((headers)&&(headers+1<end)){
-               headers++;
-               headers_len=end-headers;
-               uri->headers.s=headers;
-               uri->headers.len=headers_len;
-       }else uri->headers.s=0;
-
-       err=0;
-       if (uri->port.s) uri->port_no=str2s(uri->port.s, uri->port.len, &err);
-       if (err){
-               LOG(L_DBG, "ERROR: parse_uri: bad port number in sip uri: 
%.*s\n",
-                               uri->port.len, ZSW(uri->port.s));
-               ser_error=ret=E_BAD_URI;
-               return ret;
-       }
-
-       return ret;
-}
-#endif
-
-
-
 
 static inline int _parse_ruri(str *uri,
        int *status, struct sip_uri *parsed_uri)


_______________________________________________
sr-dev mailing list
[email protected]
http://lists.sip-router.org/cgi-bin/mailman/listinfo/sr-dev

Reply via email to