Bug#217257: [Pkg-cups-devel] Re: gnome-cups-manager: Can't connect to CUPS server in mixed ipv4/ipv6 environment.

Kenshi Muto kmuto at debian.org
Tue Sep 20 14:30:31 UTC 2005


Hi,

(Sorry for my late response)

At Tue, 13 Sep 2005 09:32:55 +0200,
Loïc Minier wrote:
> On jeu, oct 23, 2003, Mikael Magnusson wrote:
> > When running gnome-cups-manager it displays the following error and exits:
> > The CUPS server could not be contacted.
> > I have done some debugging and research, and apparently the bug is
> > caused by gethostbyname. I'm using a 2.6 kernel with both ipv4 and
> > ipv6 support, and this seems to cause the troubles.
> 
>  Upstream responded[1] that what you describe seems to be a libcups bug,
>  and would affect all CUPS applications, not only libgnomecups, and
>  hence should be dealed within libcups instead of being work arounded in
>  libgnomecups.
> 
>  Do you agree with this?  I'm reassigning this bug to cups for now,
>  please reassign it back if necessary (or mail me).

I didn't see details, but CUPS 1.1 series don't support fully IPv6 yet.

httpConnectEncrypt() in http.c of cups 1.1
-----------------------------------
 /*
  * Verify that it is an IPv4 address (IPv6 support will come in CUPS 1.2...)
  */

  if (hostaddr->h_addrtype != AF_INET || hostaddr->h_length != 4)
    return (NULL);
-----------------------------------

same function of cups 1.2, upcoming version(but isn't released
officially yet)
-----------------------------------
 /*
  * Verify that it is an IPv4, IPv6, or domain address...
  */

  if ((hostaddr->h_addrtype != AF_INET || hostaddr->h_length != 4)
#ifdef AF_INET6
      && (hostaddr->h_addrtype != AF_INET6 || hostaddr->h_length != 16)
#endif /* AF_INET6 */
#ifdef AF_LOCAL
      && (hostaddr->h_addrtype != AF_LOCAL)
#endif /* AF_LOCAL */
      )
    return (NULL);
-----------------------------------

So I think this bug will be resolved when upstream release 1.2 officially.

Thanks,
-- 
Kenshi Muto
kmuto at debian.org




More information about the Pkg-cups-devel mailing list