[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