diff --git a/channels/chan_sip.c b/channels/chan_sip.c index e09533711e..56d5d176b8 100644 --- a/channels/chan_sip.c +++ b/channels/chan_sip.c @@ -2488,7 +2488,7 @@ static int parse_uri(char *uri, char *scheme, *port = ""; if (scheme) { int l = strlen(scheme); - if (!strncmp(uri, scheme, l)) + if (!strncasecmp(uri, scheme, l)) uri += l; else { 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; else { h = uri; - if (strncmp(h, "sip:", 4) == 0) + if (strncasecmp(h, "sip:", 4) == 0) h += 4; - else if (strncmp(h, "sips:", 5) == 0) + else if (strncasecmp(h, "sips:", 5) == 0) h += 5; } 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)); 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); 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)); 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); return -1; } @@ -8065,7 +8065,7 @@ static int transmit_refer(struct sip_pvt *p, const char *dest) ast_copy_string(from, of, sizeof(from)); of = get_in_brackets(from); 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"); else 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 = remove_uri_parameters(c); - if (!strncmp(c, "sip:", 4)) { + if (!strncasecmp(c, "sip:", 4)) { name = c + 4; } else { name = c; @@ -9099,7 +9099,7 @@ static int get_rdnis(struct sip_pvt *p, struct sip_request *oreq) return 0; 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); return -1; } @@ -9163,7 +9163,7 @@ static int get_destination(struct sip_pvt *p, struct sip_request *oreq) 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); return -1; } @@ -9180,7 +9180,7 @@ static int get_destination(struct sip_pvt *p, struct sip_request *oreq) } 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); return -1; } @@ -9482,7 +9482,7 @@ static int get_also_info(struct sip_pvt *p, struct sip_request *oreq) if (pedanticsipchecking) 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); 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); if (ast_strlen_zero(p->exten)) { char *t = uri2; - if (!strncmp(t, "sip:", 4)) + if (!strncasecmp(t, "sip:", 4)) t+= 4; ast_string_field_set(p, exten, t); 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"); return 0; } - if ((localtmp = strstr(tmp, "sip:")) && (localtmp = strchr(localtmp, '@'))) { + if ((localtmp = strcasestr(tmp, "sip:")) && (localtmp = strchr(localtmp, '@'))) { char lhost[80], lport[80]; memset(lhost, 0, sizeof(lhost));