Merged revisions 64543 via svnmerge from
https://origsvn.digium.com/svn/asterisk/branches/1.4 ................ r64543 | oej | 2007-05-16 11:12:34 +0200 (Wed, 16 May 2007) | 10 lines Merged revisions 64535 via svnmerge from https://origsvn.digium.com/svn/asterisk/branches/1.2 ........ r64535 | oej | 2007-05-16 11:08:22 +0200 (Wed, 16 May 2007) | 2 lines Support SIP uri's starting with SIP: and sip: (reported by Tony Mountfield on the mailing list. Thanks!) ........ ................ git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@64570 65c4cc65-6c06-0410-ace0-fbb531ad65f3
This commit is contained in:
parent
09aec2f622
commit
c352f7b0d5
|
@ -2488,7 +2488,7 @@ static int parse_uri(char *uri, char *scheme,
|
||||||
*port = "";
|
*port = "";
|
||||||
if (scheme) {
|
if (scheme) {
|
||||||
int l = strlen(scheme);
|
int l = strlen(scheme);
|
||||||
if (!strncmp(uri, scheme, l))
|
if (!strncasecmp(uri, scheme, l))
|
||||||
uri += l;
|
uri += l;
|
||||||
else {
|
else {
|
||||||
ast_log(LOG_NOTICE, "Missing scheme '%s' in '%s'\n", scheme, uri);
|
ast_log(LOG_NOTICE, "Missing scheme '%s' in '%s'\n", scheme, uri);
|
||||||
|
@ -5984,9 +5984,9 @@ static void set_destination(struct sip_pvt *p, char *uri)
|
||||||
++h;
|
++h;
|
||||||
else {
|
else {
|
||||||
h = uri;
|
h = uri;
|
||||||
if (strncmp(h, "sip:", 4) == 0)
|
if (strncasecmp(h, "sip:", 4) == 0)
|
||||||
h += 4;
|
h += 4;
|
||||||
else if (strncmp(h, "sips:", 5) == 0)
|
else if (strncasecmp(h, "sips:", 5) == 0)
|
||||||
h += 5;
|
h += 5;
|
||||||
}
|
}
|
||||||
hn = strcspn(h, ":;>") + 1;
|
hn = strcspn(h, ":;>") + 1;
|
||||||
|
@ -7546,7 +7546,7 @@ static int transmit_state_notify(struct sip_pvt *p, int state, int full, int tim
|
||||||
|
|
||||||
ast_copy_string(from, get_header(&p->initreq, "From"), sizeof(from));
|
ast_copy_string(from, get_header(&p->initreq, "From"), sizeof(from));
|
||||||
c = get_in_brackets(from);
|
c = get_in_brackets(from);
|
||||||
if (strncmp(c, "sip:", 4)) {
|
if (strncasecmp(c, "sip:", 4)) {
|
||||||
ast_log(LOG_WARNING, "Huh? Not a SIP header (%s)?\n", c);
|
ast_log(LOG_WARNING, "Huh? Not a SIP header (%s)?\n", c);
|
||||||
return -1;
|
return -1;
|
||||||
}
|
}
|
||||||
|
@ -7555,7 +7555,7 @@ static int transmit_state_notify(struct sip_pvt *p, int state, int full, int tim
|
||||||
|
|
||||||
ast_copy_string(to, get_header(&p->initreq, "To"), sizeof(to));
|
ast_copy_string(to, get_header(&p->initreq, "To"), sizeof(to));
|
||||||
c = get_in_brackets(to);
|
c = get_in_brackets(to);
|
||||||
if (strncmp(c, "sip:", 4)) {
|
if (strncasecmp(c, "sip:", 4)) {
|
||||||
ast_log(LOG_WARNING, "Huh? Not a SIP header (%s)?\n", c);
|
ast_log(LOG_WARNING, "Huh? Not a SIP header (%s)?\n", c);
|
||||||
return -1;
|
return -1;
|
||||||
}
|
}
|
||||||
|
@ -8065,7 +8065,7 @@ static int transmit_refer(struct sip_pvt *p, const char *dest)
|
||||||
ast_copy_string(from, of, sizeof(from));
|
ast_copy_string(from, of, sizeof(from));
|
||||||
of = get_in_brackets(from);
|
of = get_in_brackets(from);
|
||||||
ast_string_field_set(p, from, of);
|
ast_string_field_set(p, from, of);
|
||||||
if (strncmp(of, "sip:", 4))
|
if (strncasecmp(of, "sip:", 4))
|
||||||
ast_log(LOG_NOTICE, "From address missing 'sip:', using it anyway\n");
|
ast_log(LOG_NOTICE, "From address missing 'sip:', using it anyway\n");
|
||||||
else
|
else
|
||||||
of += 4;
|
of += 4;
|
||||||
|
@ -8910,7 +8910,7 @@ static enum check_auth_result register_verify(struct sip_pvt *p, struct sockaddr
|
||||||
c = get_in_brackets(tmp);
|
c = get_in_brackets(tmp);
|
||||||
c = remove_uri_parameters(c);
|
c = remove_uri_parameters(c);
|
||||||
|
|
||||||
if (!strncmp(c, "sip:", 4)) {
|
if (!strncasecmp(c, "sip:", 4)) {
|
||||||
name = c + 4;
|
name = c + 4;
|
||||||
} else {
|
} else {
|
||||||
name = c;
|
name = c;
|
||||||
|
@ -9099,7 +9099,7 @@ static int get_rdnis(struct sip_pvt *p, struct sip_request *oreq)
|
||||||
return 0;
|
return 0;
|
||||||
|
|
||||||
exten = get_in_brackets(tmp);
|
exten = get_in_brackets(tmp);
|
||||||
if (strncmp(exten, "sip:", 4)) {
|
if (strncasecmp(exten, "sip:", 4)) {
|
||||||
ast_log(LOG_WARNING, "Huh? Not an RDNIS SIP header (%s)?\n", exten);
|
ast_log(LOG_WARNING, "Huh? Not an RDNIS SIP header (%s)?\n", exten);
|
||||||
return -1;
|
return -1;
|
||||||
}
|
}
|
||||||
|
@ -9163,7 +9163,7 @@ static int get_destination(struct sip_pvt *p, struct sip_request *oreq)
|
||||||
|
|
||||||
uri = get_in_brackets(tmp);
|
uri = get_in_brackets(tmp);
|
||||||
|
|
||||||
if (strncmp(uri, "sip:", 4)) {
|
if (strncasecmp(uri, "sip:", 4)) {
|
||||||
ast_log(LOG_WARNING, "Huh? Not a SIP header (%s)?\n", uri);
|
ast_log(LOG_WARNING, "Huh? Not a SIP header (%s)?\n", uri);
|
||||||
return -1;
|
return -1;
|
||||||
}
|
}
|
||||||
|
@ -9180,7 +9180,7 @@ static int get_destination(struct sip_pvt *p, struct sip_request *oreq)
|
||||||
}
|
}
|
||||||
|
|
||||||
if (!ast_strlen_zero(from)) {
|
if (!ast_strlen_zero(from)) {
|
||||||
if (strncmp(from, "sip:", 4)) {
|
if (strncasecmp(from, "sip:", 4)) {
|
||||||
ast_log(LOG_WARNING, "Huh? Not a SIP header (%s)?\n", from);
|
ast_log(LOG_WARNING, "Huh? Not a SIP header (%s)?\n", from);
|
||||||
return -1;
|
return -1;
|
||||||
}
|
}
|
||||||
|
@ -9482,7 +9482,7 @@ static int get_also_info(struct sip_pvt *p, struct sip_request *oreq)
|
||||||
if (pedanticsipchecking)
|
if (pedanticsipchecking)
|
||||||
ast_uri_decode(c);
|
ast_uri_decode(c);
|
||||||
|
|
||||||
if (strncmp(c, "sip:", 4)) {
|
if (strncasecmp(c, "sip:", 4)) {
|
||||||
ast_log(LOG_WARNING, "Huh? Not a SIP header in Also: transfer (%s)?\n", c);
|
ast_log(LOG_WARNING, "Huh? Not a SIP header in Also: transfer (%s)?\n", c);
|
||||||
return -1;
|
return -1;
|
||||||
}
|
}
|
||||||
|
@ -9951,7 +9951,7 @@ static enum check_auth_result check_user_full(struct sip_pvt *p, struct sip_requ
|
||||||
of = get_in_brackets(from);
|
of = get_in_brackets(from);
|
||||||
if (ast_strlen_zero(p->exten)) {
|
if (ast_strlen_zero(p->exten)) {
|
||||||
char *t = uri2;
|
char *t = uri2;
|
||||||
if (!strncmp(t, "sip:", 4))
|
if (!strncasecmp(t, "sip:", 4))
|
||||||
t+= 4;
|
t+= 4;
|
||||||
ast_string_field_set(p, exten, t);
|
ast_string_field_set(p, exten, t);
|
||||||
t = strchr(p->exten, '@');
|
t = strchr(p->exten, '@');
|
||||||
|
@ -18128,7 +18128,7 @@ static int sip_sipredirect(struct sip_pvt *p, const char *dest)
|
||||||
ast_log(LOG_ERROR, "Cannot retrieve the 'To' header from the original SIP request!\n");
|
ast_log(LOG_ERROR, "Cannot retrieve the 'To' header from the original SIP request!\n");
|
||||||
return 0;
|
return 0;
|
||||||
}
|
}
|
||||||
if ((localtmp = strstr(tmp, "sip:")) && (localtmp = strchr(localtmp, '@'))) {
|
if ((localtmp = strcasestr(tmp, "sip:")) && (localtmp = strchr(localtmp, '@'))) {
|
||||||
char lhost[80], lport[80];
|
char lhost[80], lport[80];
|
||||||
|
|
||||||
memset(lhost, 0, sizeof(lhost));
|
memset(lhost, 0, sizeof(lhost));
|
||||||
|
|
Loading…
Reference in New Issue