incomplete IPv6 support in pa_socket_client_new_string()

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 



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?


[1]: https://github.com/hfujita/pulseaudio-raop2/issues/1


Thanks,
Hajime


[Index of Archives]     [Linux Audio Users]     [AMD Graphics]     [Linux USB Devel]     [Linux Audio Users]     [Yosemite News]     [Linux Kernel]     [Linux SCSI]

  Powered by Linux