mirror of
https://gitlab.freedesktop.org/pulseaudio/pulseaudio.git
synced 2025-11-13 13:29:58 -05:00
Support IPv6 address in pa_socket_client_new_string()
pa_socket_client_new_string() did 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 then 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]"). [1] This patch fixes pa_socket_client_new_string() so that it internally adds brackets to an IPv6 address. This decision is based on a discussion at [2]. [1]: http://lists.freedesktop.org/archives/pulseaudio-discuss/2014-October/022010.html [2]: http://lists.freedesktop.org/archives/pulseaudio-discuss/2014-November/022401.html Reviewed-by: Anton Lundin <glance@acc.umu.se>
This commit is contained in:
parent
84952e6a09
commit
017ed3e7fa
3 changed files with 32 additions and 2 deletions
|
|
@ -143,3 +143,14 @@ bool pa_is_ip_address(const char *a) {
|
|||
|
||||
return false;
|
||||
}
|
||||
|
||||
bool pa_is_ip6_address(const char *a) {
|
||||
char buf[INET6_ADDRSTRLEN];
|
||||
|
||||
pa_assert(a);
|
||||
|
||||
if (inet_pton(AF_INET6, a, buf) >= 1)
|
||||
return true;
|
||||
|
||||
return false;
|
||||
}
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue