2
0
Эх сурвалжийг харах

modules/ims_registrar_scscf: fixed comparison of P-asserted-id and Path header
In can_subscribe_to_reg() we check if the P-Asserted-Identity in the Subscribe is in the Register path header (i.e. is this the P-CSCF subscribing to UE reg-event)
This fix changes the comparison to compare P-asserted-id without "sip:" to cater for all compliant path header formats

Richard Good 11 жил өмнө
parent
commit
120a9aa055

+ 4 - 1
modules/ims_registrar_scscf/registrar_notify.c

@@ -198,7 +198,10 @@ int can_subscribe_to_reg(struct sip_msg *msg, char *_t, char *str2) {
     while (c) {
 	if (c->path.len) {
             for (i = 0; i < c->path.len - asserted_id.len; i++)
-                if (strncasecmp(c->path.s + i, asserted_id.s, asserted_id.len) == 0) {
+		LM_DBG("Path: <%.*s>.\n",
+		c->path.len, c->path.s);
+		//we compare the asserted_id without "sip:" to the path 
+                if (strncasecmp(c->path.s + i, asserted_id.s+4, asserted_id.len-4) == 0) {
                     LM_DBG("Identity found in Path <%.*s>\n",
                             c->path.len, c->path.s);
                     ret = CSCF_RETURN_TRUE;