Hi all,
i think at some point a wrong boolean condition was introduced to fix_all_socket_lists in socket_info.c. Attached is a fix.

I am in the process of getting kamailio to run on my Solaris 11.3. I observed that add_interfaces does not work properly on Solaris for IPv6 interfaces. Modern Solarises, however, have getifaddrs() which linuxes have since glibc-2.3 (2005 or so) and freebsd has it as well (don't know since when).

My plan is:

1. Replace add_interfaces with a getifaddrs() based implementation and get feedback from the community re: Solaris, FreeBSD and other platforms

2. Drop add_interfaces_via_netlink in favour of the above as well (for Linux).

What do you think?

Regards,
Christian

--- socket_info.c.orig  2015-11-25 14:42:32.000000000 +0100
+++ socket_info.c       2015-12-02 13:45:51.130418762 +0100
@@ -1809,7 +1809,7 @@
 #ifdef __OS_linux
&& (!auto_bind_ipv6 || add_interfaces_via_netlink(0, AF_INET6, 0, PROTO_UDP, &ai_lst) == 0)
 #else
- && ( !auto_bind_ipv6 || add_interfaces(0, AF_INET6, 0, PROTO_UDP, &ai_lst) !=0 ) /* add_interface does not work for IPv6 on Linux */ + && ( !auto_bind_ipv6 || add_interfaces(0, AF_INET6, 0, PROTO_UDP, &ai_lst) ==0 ) /* add_interface does not work for IPv6 on Linux */
 #endif /* __OS_linux */
) && (addr_info_to_si_lst(ai_lst, 0, PROTO_UDP, 0, &udp_listen)==0)){
                        free_addr_info_lst(&ai_lst);


_______________________________________________
sr-dev mailing list
[email protected]
http://lists.sip-router.org/cgi-bin/mailman/listinfo/sr-dev

Reply via email to