|
@@ -515,9 +515,15 @@ static inline void process_lumps( struct sip_msg* msg,
|
|
switch((subst_l)->u.subst){ \
|
|
switch((subst_l)->u.subst){ \
|
|
case SUBST_RCV_IP: \
|
|
case SUBST_RCV_IP: \
|
|
if (msg->rcv.bind_address){ \
|
|
if (msg->rcv.bind_address){ \
|
|
|
|
+ if (msg->rcv.bind_address->address.af!=AF_INET){\
|
|
|
|
+ new_buf[offset]='['; offset++; \
|
|
|
|
+ }\
|
|
memcpy(new_buf+offset, msg->rcv.bind_address->address_str.s, \
|
|
memcpy(new_buf+offset, msg->rcv.bind_address->address_str.s, \
|
|
msg->rcv.bind_address->address_str.len); \
|
|
msg->rcv.bind_address->address_str.len); \
|
|
offset+=msg->rcv.bind_address->address_str.len; \
|
|
offset+=msg->rcv.bind_address->address_str.len; \
|
|
|
|
+ if (msg->rcv.bind_address->address.af!=AF_INET){\
|
|
|
|
+ new_buf[offset]=']'; offset++; \
|
|
|
|
+ }\
|
|
}else{ \
|
|
}else{ \
|
|
/*FIXME*/ \
|
|
/*FIXME*/ \
|
|
LOG(L_CRIT, "FIXME: process_lumps: null bind_address\n"); \
|
|
LOG(L_CRIT, "FIXME: process_lumps: null bind_address\n"); \
|
|
@@ -535,9 +541,15 @@ static inline void process_lumps( struct sip_msg* msg,
|
|
break; \
|
|
break; \
|
|
case SUBST_SND_IP: \
|
|
case SUBST_SND_IP: \
|
|
if (send_sock){ \
|
|
if (send_sock){ \
|
|
|
|
+ if (send_sock->address.af!=AF_INET){\
|
|
|
|
+ new_buf[offset]='['; offset++; \
|
|
|
|
+ }\
|
|
memcpy(new_buf+offset, send_sock->address_str.s, \
|
|
memcpy(new_buf+offset, send_sock->address_str.s, \
|
|
send_sock->address_str.len); \
|
|
send_sock->address_str.len); \
|
|
offset+=send_sock->address_str.len; \
|
|
offset+=send_sock->address_str.len; \
|
|
|
|
+ if (send_sock->address.af!=AF_INET){\
|
|
|
|
+ new_buf[offset]=']'; offset++; \
|
|
|
|
+ }\
|
|
}else{ \
|
|
}else{ \
|
|
/*FIXME*/ \
|
|
/*FIXME*/ \
|
|
LOG(L_CRIT, "FIXME: process_lumps: called with" \
|
|
LOG(L_CRIT, "FIXME: process_lumps: called with" \
|