FS-535: be more careful and catch ipv6 edge case

This commit is contained in:
Brian West 2010-11-22 15:32:23 -06:00
parent 22047f9337
commit 87edbed6bb
1 changed files with 10 additions and 3 deletions

View File

@ -5740,6 +5740,10 @@ char *sofia_glue_get_register_host(const char *uri)
const char *s;
char *p = NULL;
if (zstr(uri)) {
return NULL;
}
if ((s = switch_stristr("sip:", uri))) {
s += 4;
} else if ((s = switch_stristr("sips:", uri))) {
@ -5755,8 +5759,11 @@ char *sofia_glue_get_register_host(const char *uri)
/* remove port for register_host for testing nat acl take into account
ipv6 addresses which are required to have brackets around the addr
*/
if ((p = strchr(register_host, ']')) && (*(p + 1) == ':')) {
if ((p = strchr(register_host, ']'))) {
if (*(p + 1) == ':') {
*(p + 1) = '\0';
}
} else {
if ((p = strrchr(register_host, ':'))) {
*p = '\0';