Hi!
Following some IPv6 issues:
1) I configured openser (1.3.0) to listen on an IPv6 address too: listen = udp:[2001:7b8:2ff:1da::2]:5060 listen = tcp:[2001:7b8:2ff:1da::2]:5060
I also configured bind9 and apache2 to listen on this IPv6 address. But somehow openser does it different then others:
# netstat -anp|grep 2001 tcp6 0 0 2001:7b8:2ff:1da:::5060 :::* tcp6 0 0 2001:7b8:2ff:1da::2:80 :::* tcp6 0 0 2001:7b8:2ff:1da::2:53 :::* udp6 0 0 2001:7b8:2ff:1da::2:53 :::* udp6 0 0 2001:7b8:2ff:1da:::5060 :::*
As you see, openser binds to [2001:7b8:2ff:1da::] whereas others binds to [2001:7b8:2ff:1da::2]. Actually this didn't caused any problems, but I still surprised about the difference. Can someone explain me please this behavior?
2) I found out that openser allows this syntax too (without []). listen = udp:2001:7b8:2ff:1da::2
I think it would be better to disallow that syntax and require [] as it is ambiguous when specifying the port too, e.g.: listen = udp:2001:7b8:2ff:1da::2:5060
3) Looks like the syntax in the socket column of the location table is not IPv6 compatible: ERROR:usrloc:parse_phostport: too many colons in udp:2001:7B8:2FF:1DA:0:0:0:2:5060 ERROR:usrloc:dbrow2info: bad socket udp:2001:7B8:2FF:1DA:0:0:0:2:5060 ERROR:usrloc:preload_udomain: sipping record for klaus1 in table location
I guess the socket should use [] for IPv6 addresses too.
regards Klaus
Klaus Darilion schrieb:
I found out that the socket is contructed using th IP address stored in socket_info->address_str
The question - should the [] be added during address_str construction (are all openser internals capable of the [] syntax) or should it be only added when storing the socket in the socket column?
regards klaus
Hi Klaus,
Klaus Darilion wrote:
hmmm...this is rather strange....I will try to play a bit with it to see if I find something relevant.
I guess the dual IPv6 writing in defined in RFC; if you want to rule out any ambiguity, you can use brackets, but not sure if we really need to force a specific notation just to be sure...On the other hand, there will be no harm done :)
That is totally right - I overlooked this case when I did the code for the socket storing...
Best regards, Bogdan