[Bug 669724] souphttpsrc: doesn't support ipv6 link-local addresses
GStreamer (bugzilla.gnome.org)
bugzilla at gnome.org
Thu Feb 9 21:48:02 PST 2012
https://bugzilla.gnome.org/show_bug.cgi?id=669724
GStreamer | gst-plugins-good | unspecified
--- Comment #2 from Davy <realbrightster at gmail.com> 2012-02-10 05:47:55 UTC ---
glib problem.
As you can see the log message,
It’s a DNS lookup fail caused by link-local address including zone_id delimiter
(%)
It means that glib try to resolve link-local address, already resolved address,
due to glib think it as a domain name.
Let’s see the g_resolve_lookup_by_name_async at gio / gresolver.c
At the first time, it checks whether the hostname is IP address or not.
In case of Linux, it calls inet_pton() after then see the return value, success
or fail.
Easily speaking,
if the inet_pton() is succeeded, it’s a domain name so we need to resolve it
via getaddrinfo()
if the inet_pton() is failed, it’s a IP address so we don’t need to call
getaddrinfo()
The problem is inet_pton() can’t recognize zone_id delimiter, %.
You can find more detail in glibc library (system library, not a GTK’s glib),
inet_pton.c or man inet_pton.
As a consequence, if some IPv6 address contains zone_id (%), you never get HTTP
connection due to DNS lookup fail.
Davy
--
Configure bugmail: https://bugzilla.gnome.org/userprefs.cgi?tab=email
------- You are receiving this mail because: -------
You are the QA contact for the bug.
You are the assignee for the bug.
More information about the gstreamer-bugs
mailing list