diff options
author | Olle Johansson <oej@edvina.net> | 2006-06-05 07:43:40 +0000 |
---|---|---|
committer | Olle Johansson <oej@edvina.net> | 2006-06-05 07:43:40 +0000 |
commit | 8bc0599b110e40a5d021be3a4834649c98160d39 (patch) | |
tree | c6db19bd86d0ca10dcddb766c7168171c6d68146 /channels/chan_sip.c | |
parent | 404f8db694b547213bc91c1a5dfbc9a523e02bf2 (diff) |
Issue 7208 - Handle ; in userinfo part of URI too
git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@32207 65c4cc65-6c06-0410-ace0-fbb531ad65f3
Diffstat (limited to 'channels/chan_sip.c')
-rw-r--r-- | channels/chan_sip.c | 7 |
1 files changed, 5 insertions, 2 deletions
diff --git a/channels/chan_sip.c b/channels/chan_sip.c index f36d3abd4..6ed605b8a 100644 --- a/channels/chan_sip.c +++ b/channels/chan_sip.c @@ -7142,16 +7142,16 @@ static int get_destination(struct sip_pvt *p, struct sip_request *oreq) return -1; } from += 4; - from = strsep(&from, ";"); if ((a = strchr(from, '@'))) *a++ = '\0'; else a = from; /* just a domain */ + from = strsep(&from, ";"); /* Remove userinfo options */ + a = strsep(&a, ";"); /* Remove URI options */ ast_string_field_set(p, fromdomain, a); } /* Skip any options and find the domain */ - uri = strsep(&uri, ";"); /* Get the target domain */ if ((a = strchr(uri, '@'))) { @@ -7164,6 +7164,9 @@ static int get_destination(struct sip_pvt *p, struct sip_request *oreq) if (colon) *colon = '\0'; + uri = strsep(&uri, ";"); /* Remove userinfo options */ + a = strsep(&a, ";"); /* Remove URI options */ + ast_string_field_set(p, domain, a); if (!AST_LIST_EMPTY(&domain_list)) { |