Hi Maruo,
>i have a question about the getaddrinfo function.
>
>first, suppose that the nodename argument is a numeric host address and
>the flag AI_NUMERICHOST is not set. will the query to getaddrinfo return
>ALL addresses of that host?
No. That is an error and you will get EAI_AGAIN is my view.
>IMHO it should, but draft-...-rfc2553bis-00 is not very clear about this.
>it only states that AI_NUMERICHOST prevents the DNS from being invoked, so
>i guess that if AI_NUMERICHOST is not set, then a query to the resolution
>service MUST be made, even if nodename is a numeric host address.
Correct.
>there is also one more problem i'd like to talk about. in order to have a
>stable and standard api, rfc2553bis and XNET specifications should not be
>contradictory. i know at least one big implementation that is unwilling
>to support rfc2553bis because it does not follow XNET specs. this is a
>serious problem IMO.
I agree. We have an offline design team of folks who are talking and we
are about ready to report our findings.
A bit of history here. The only purpose of the base API since the
beginning was to add the basic syntax and semantics to add IPv6 to the
BSD sockets programming model. But two things happened. Creeping
featurism and we need to support scopes for addresses. This lead us to
add the getaddrinfo and friends API and now we have deprecated
getipnodebyname and friends.
The next revision of 2553bis will fix some base IPv6 issues and provide
one new feature to tell an implementation to not process IPv4 Mapped
addresses which came into the implementation as native IPv4 addresses at
the Stevens and BSD ip_input.c module. Also provide additional clarity.
The getaddrinfo and friends API has numerous combinations and a complex
matrice of choices for the variant parameters to these new APIs. All we
are specifying in the Base API (2553bis) are when specific IPv6 datums
created by the Base API are used in these new APIs. For example what
happens when AI_V4MAPPED is set, or what is in the sin6_scope_id field.
But the many questions like yours above really are generic to these new
APIs and not specific for IPv6.
To that end the Base API will not specify or try to annotate all
behaviors of these new APIs (new in the sense of adoption by
2553bis).
We will point this work to the XNET group to the IEEE POSIX 1003
committee who will own this API. This is not the job of the IPng WG as
our job is to get the IPv6 parameters defined.
After the next release of 2553bis (and in the next release) the WG and
community will be given a pointer to how to participate with XNET to
work on the issues as you have just presented. I will work with Andrew
Gollan from Sun to make this as clear as possible for you all.
So to answer your question the next version of 2553bis for getaddrinfo
and friends will duplicate the present wording of XNET except where
we need to add any new features from IPng WG discussion. But we will
not try to solve or specify all the needed behavior of getaddrinfo and
friends thats XNET's job.
This is one of the reasons I wish we had been able to keep the simple
getipnodebyname and friends working with scopes, but we can't and need
to move on.
regards,
/jim
--
Aequam memento rebus in arduis servare mentem...
Mauro Tortonesi [EMAIL PROTECTED]
Ferrara Linux User Group http://www.ferrara.linux.it
Project6 - IPv6 for Linux http://project6.ferrara.linux.it
--------------------------------------------------------------------
IETF IPng Working Group Mailing List
IPng Home Page: http://playground.sun.com/ipng
FTP archive: ftp://playground.sun.com/pub/ipng
Direct all administrative requests to [EMAIL PROTECTED]
--------------------------------------------------------------------
--------------------------------------------------------------------
IETF IPng Working Group Mailing List
IPng Home Page: http://playground.sun.com/ipng
FTP archive: ftp://playground.sun.com/pub/ipng
Direct all administrative requests to [EMAIL PROTECTED]
--------------------------------------------------------------------