Hi Tanu,

Thank you for your comment and sorry for the late reply.

Tanu Kaskinen wrote:
On Tue, 2014-10-21 at 00:49 -0500, Hajime Fujita wrote:
Hello,

I'm currently working on IPv6 support for the raop module [1].

During the work I found a potential issue in
pa_socket_client_new_string() (in pulsecore/socket-client.c) as pointed
out in [1].

It does not work as expected when an IPv6 address string like
"2001:db8::1" is passed as the "name" parameter. This is because the
name parameter is passed to pa_parse_address(), which thinks the last
colon as a separator between hostname (or address) and a port number. To
prevent pa_parse_address() from doing this, an IPv6 address must be
bracketed with "[]" (e.g. "[2001:db8::1]").

I'm wondering what would be the best solution for this situation.
a. Modify callers: callers of pa_socket_client_new_string() must add
brackets to IPv6 addresses.
b. Modify pa_socket_client_new_string(): if an IPv6 address is given as
the name parameter, it will be bracketed before being passed to
pa_parse_address().

Any opinions or suggestions?

I think it makes more sense to fix this in the callers of
pa_socket_client_new_string(). It would be good to also add a comment in
socket-client.h saying that the name parameter can include also the port
using the usual syntax, and for that reason IPv6 addresses must be
enclosed in brackets.


Do you have any justification behind this?


Thanks,
Hajime

_______________________________________________
pulseaudio-discuss mailing list
pulseaudio-discuss@lists.freedesktop.org
http://lists.freedesktop.org/mailman/listinfo/pulseaudio-discuss

Reply via email to