- ipv6 support (-DUSE_IPV6)
[sip-router] / receive.c
index 2e43a9d..5b1af6b 100644 (file)
--- a/receive.c
+++ b/receive.c
@@ -7,6 +7,7 @@
 #include <sys/time.h>
 
 #include "receive.h"
+#include "globals.h"
 #include "dprint.h"
 #include "route.h"
 #include "parser/msg_parser.h"
@@ -14,6 +15,7 @@
 #include "action.h"
 #include "mem/mem.h"
 #include "stats.h"
+#include "ip_addr.h"
 
 
 #ifdef DEBUG_DMALLOC
@@ -22,7 +24,7 @@
 
 unsigned int msg_no=0;
 
-int receive_msg(char* buf, unsigned int len, unsigned long src_ip)
+int receive_msg(char* buf, unsigned int len, union sockaddr_union* src_su)
 {
        struct sip_msg* msg;
 #ifdef STATS
@@ -40,8 +42,8 @@ int receive_msg(char* buf, unsigned int len, unsigned long src_ip)
        /* fill in msg */
        msg->buf=buf;
        msg->len=len;
-       msg->src_ip=src_ip;
-       msg->dst_ip=bind_address; /* won't work if listening on 0.0.0.0 */
+       su2ip_addr(&msg->src_ip, src_su);
+       msg->dst_ip=*bind_address; /* won't work if listening on 0.0.0.0 */
        msg->id=msg_no;
        /* make a copy of the message */
        msg->orig=(char*) pkg_malloc(len+1);