[prev in list] [next in list] [prev in thread] [next in thread] 

List:       kde-core-devel
Subject:    Re: [kde-freebsd] Re: [PATCH] qresolverstandardworkers_p.cpp
From:       Thiago Macieira <thiago () macieira ! info>
Date:       2003-11-17 14:09:24
[Download RAW message or body]


Michael Nottebrock wrote:
>RFC3493 obsoletes RFC2553 and does not define EAI_NODATA anymore at all.
>EAI_NODATA was originally removed completely, but due to protest mapped to
>EAINONAME for 6 months to come (the commit happened on October, 23rd.). Hope
>that clarifies things a little.

Yes, that certainly does. However, the change now creates a hole that is not 
filled by any other constant. Note as well that EAI_ADDRFAMILY has 
disappeared as well, which would be the first fall-back value.

However, RFC 3493 also changed the meaning fo EAI_NONAME. What used to be 
"nodename or servname ... not known" is now "The name does not resolve for 
the specified parameters", taking over the meaning for EAI_NODATA.

The problem is that now one cannot tell the difference between "doesn't exist" 
and "exists, but not of this kind". This seems to be the recommended POSIX 
standard (cf section "Changes from RFC 2553"), but I, as a programmer, don't 
completely agree.

I will revise the error codes and API for QResolver. I'd like to keep the 
existing values, but this might hinder other people's codes if some platforms 
support the "exists, but not of this kind" difference.

In the mean time, the recommended check would be:
#if defined(EAI_NODATA) && EAI_NODATA !=  EAI_NONAME

-- 
  Thiago Macieira  -  Registered Linux user #65028
   thiagom@mail.com           
    ICQ UIN: 1967141   PGP/GPG: 0x6EF45358; fingerprint:
    E067 918B B660 DBD1 105C  966C 33F5 F005 6EF4 5358

[Attachment #3 (application/pgp-signature)]

[prev in list] [next in list] [prev in thread] [next in thread] 

Configure | About | News | Add a list | Sponsored by KoreLogic