|
@@ -294,6 +294,9 @@ struct sip_msg* sip_msg_cloner( struct sip_msg *org_msg, int *sip_msg_len )
|
|
/*the new uri (if any)*/
|
|
/*the new uri (if any)*/
|
|
if (org_msg->new_uri.s && org_msg->new_uri.len)
|
|
if (org_msg->new_uri.s && org_msg->new_uri.len)
|
|
len+= ROUND4(org_msg->new_uri.len);
|
|
len+= ROUND4(org_msg->new_uri.len);
|
|
|
|
+ /*the dst uri (if any)*/
|
|
|
|
+ if (org_msg->dst_uri.s && org_msg->dst_uri.len)
|
|
|
|
+ len+= ROUND4(org_msg->dst_uri.len);
|
|
/*all the headers*/
|
|
/*all the headers*/
|
|
for( hdr=org_msg->headers ; hdr ; hdr=hdr->next )
|
|
for( hdr=org_msg->headers ; hdr ; hdr=hdr->next )
|
|
{
|
|
{
|
|
@@ -427,6 +430,13 @@ do { \
|
|
memcpy( p , org_msg->new_uri.s , org_msg->new_uri.len);
|
|
memcpy( p , org_msg->new_uri.s , org_msg->new_uri.len);
|
|
p += ROUND4(org_msg->new_uri.len);
|
|
p += ROUND4(org_msg->new_uri.len);
|
|
}
|
|
}
|
|
|
|
+ /* dst_uri */
|
|
|
|
+ if (org_msg->dst_uri.s && org_msg->dst_uri.len)
|
|
|
|
+ {
|
|
|
|
+ new_msg->dst_uri.s = p;
|
|
|
|
+ memcpy( p , org_msg->dst_uri.s , org_msg->dst_uri.len);
|
|
|
|
+ p += ROUND4(org_msg->dst_uri.len);
|
|
|
|
+ }
|
|
/* message buffers(org and scratch pad) */
|
|
/* message buffers(org and scratch pad) */
|
|
memcpy( p , org_msg->buf, org_msg->len);
|
|
memcpy( p , org_msg->buf, org_msg->len);
|
|
/* ZT to be safer */
|
|
/* ZT to be safer */
|