From df8b8627d108ce365a1601f68b60fbd1ed318c93 Mon Sep 17 00:00:00 2001 From: Michael Jerris Date: Tue, 2 Jan 2007 23:44:44 +0000 Subject: [PATCH] allow unescaped # in username portion of uri even though it is agains rfc 2396, to be more compatible with broken ua's as there are many who do not properly escape a # in the uri git-svn-id: http://svn.freeswitch.org/svn/freeswitch/trunk@3898 d0543943-73ff-0310-b7d9-9358b9ac24b2 --- libs/sofia-sip/libsofia-sip-ua/url/url.c | 11 ++++++++--- 1 file changed, 8 insertions(+), 3 deletions(-) diff --git a/libs/sofia-sip/libsofia-sip-ua/url/url.c b/libs/sofia-sip/libsofia-sip-ua/url/url.c index 9b009d71d5..b0ec755871 100644 --- a/libs/sofia-sip/libsofia-sip-ua/url/url.c +++ b/libs/sofia-sip/libsofia-sip-ua/url/url.c @@ -592,9 +592,14 @@ int _url_d(url_t *url, char *s) if (url->url_type == url_sip || url->url_type == url_sips) { /* SIP URL may have /; in user part */ - n = strcspn(s, "@#"); /* Opaque part */ - if (s[n] != '@') - n = 0; + n = strcspn(s, "@"); /* Opaque part */ + if (n == strlen(s)) { + if ((strchr(s, '#'))) + n = 0; + } else { + if (strchr(s + n, '#')) + n = 0; + } n += strcspn(s + n, "/;?#"); } else if (url->url_type == url_wv) {