Bug#432227: gdm: getaddrinfo fails when ipv6 is enabled
E L
elylevy at cs.huji.ac.il
Wed Jul 11 14:38:35 UTC 2007
I must be confusing something with the build
1) I installed 2.18.3-3 and saw that the problem is still there
2) I apt-get source for the sources of 2.18.3-3
3) I looked at the source and saw:
#ifdef ENABLE_IPV6
hostbuf[BUFSIZ-1] = '\0';
if (gethostname (hostbuf, BUFSIZ-1) != 0) {
gdm_debug ("%s: Could not get server hostname",
"gdm_peek_local_address_list");
sin6 = g_new0 (struct sockaddr_in6, 1);
sin6->sin6_family = AF_INET6;
sin6->sin6_addr = in6addr_loopback;
return g_list_append (the_list, sin6);
}
if (getaddrinfo (hostbuf, NULL, &hints, &result) != 0) {
gdm_debug ("%s: Could not get address from hostname!",
"gdm_peek_local_address_list");
4) I added my patch and did ./configure --enable-ipv6=yes && make && make
install
5) I tested it and gdm worked correctly.
Did I look at the wrong source?
Was I suppose to run some other command rather than apt-get source?
Ely
On 7/11/07, Loïc Minier <lool at dooz.org> wrote:
>
> On Wed, Jul 11, 2007, E L wrote:
> > The patch I sent you is against the source I got from apt-get source gdm
> > for
> > 2.18.3-3.
> > The problem still happen in that version and after building it with the
> > patch I sent you the problem disappear.
>
> I don't understand; after I apply your patch to a patched source tree
> (which you can get with: QUILT_PATCHES=debian/patches quilt push -a),
> the code looks like this:
> #ifdef ENABLE_IPV6
>
> memset (&hints, 0, sizeof (hints));
> hints.ai_socktype = SOCK_DGRAM;
> hints.ai_flags = AI_CANONNAME;
>
> hostbuf[BUFSIZ-1] = '\0';
> if (gethostname (hostbuf, BUFSIZ-1) != 0) {
> gdm_debug ("%s: Could not get server hostname",
> "gdm_peek_local_address_list");
>
> sin6 = g_new0 (struct sockaddr_in6, 1);
> sin6->sin6_family = AF_INET6;
> sin6->sin6_addr = in6addr_loopback;
> return g_list_append (the_list, sin6);
> }
>
> memset (&hints, 0, sizeof (hints));
> hints.ai_family = AF_INET;
> hints.ai_family |= AF_INET6;
>
> if (getaddrinfo (hostbuf, NULL, &hints, &result) != 0) {
> gdm_debug ("%s: Could not get address from hostname!",
> "gdm_peek_local_address_list");
>
> As you see, there's a superfluous memset() from the two.
>
> How are you building the Debian source? With dpkg-buildpackage?
>
> --
> Loïc Minier
>
-------------- next part --------------
An HTML attachment was scrubbed...
URL: http://lists.alioth.debian.org/pipermail/pkg-gnome-maintainers/attachments/20070711/5b8e8e98/attachment.htm
More information about the pkg-gnome-maintainers
mailing list