瀏覽代碼

sca: ignore transport parameter in RURI when processing SUBSCRIBEs.

- Fix AoR hash lookups when client subscribes over TCP, TLS or SCTP.
- Report from Robert Boisvert.
Andrew Mortensen 12 年之前
父節點
當前提交
27d02adf7b
共有 1 個文件被更改,包括 5 次插入1 次删除
  1. 5 1
      modules/sca/sca_subscribe.c

+ 5 - 1
modules/sca/sca_subscribe.c

@@ -1043,7 +1043,11 @@ sca_subscription_from_request( sca_mod *scam, sip_msg_t *msg, int event_type,
     }
 
     req_sub->subscriber = contact_uri;
-    req_sub->target_aor = REQ_LINE( msg ).uri;
+    if ( sca_uri_extract_aor( &REQ_LINE( msg ).uri, &req_sub->target_aor) < 0) {
+	LM_ERR( "Failed to extract AoR from RURI %.*s",
+		STR_FMT( &REQ_LINE( msg ).uri ));
+	goto error;
+    }
     req_sub->event = event_type;
     req_sub->index = SCA_CALL_INFO_APPEARANCE_INDEX_ANY;
     req_sub->expires = expires;