Преглед изворни кода

- fix: sip_msg_cloner wrongly translated parsed_uri when the message had
new_uri set (probably not seen until now because we set parsed_uri_ok to 0
on failure route and we didn't have non-failure callbacks causing the uri to
be reparsed)

Andrei Pelinescu-Onciul пре 17 година
родитељ
комит
c2e3e760b9
1 измењених фајлова са 5 додато и 1 уклоњено
  1. 5 1
      modules/tm/sip_msg.c

+ 5 - 1
modules/tm/sip_msg.c

@@ -487,7 +487,11 @@ do { \
 			translate_pointer( new_msg->buf , org_msg->buf ,
 			org_msg->first_line.u.request.version.s );
 		uri_trans(new_msg->buf, org_msg->buf, &new_msg->parsed_orig_ruri);
-		uri_trans(new_msg->buf, org_msg->buf, &new_msg->parsed_uri);
+		if (org_msg->new_uri.s && org_msg->new_uri.len)
+			uri_trans(new_msg->new_uri.s, org_msg->new_uri.s,
+											&new_msg->parsed_uri);
+		else
+			uri_trans(new_msg->buf, org_msg->buf, &new_msg->parsed_uri);
 	}
 	else if ( org_msg->first_line.type==SIP_REPLY )
 	{