Subject: Re: draft-ietf-ipngwg-rfc2553bis-05: getnameinfo() arguments

From: Jack McCann <[email-masked]>
Date: Wed, 15 May 2002 11:44:46 -0400 (EDT)

>While making a related change in NetBSD I noticed that although
>getnameinfo() was correctly aligned with POSIX with respect to size_t
>vs. socklen_t, it was apparently missed to change its `flags' argument
>from int to unsigned int as part of that edit.

Yes, I noticed this discrepancy between posix and rfc2553 about
a year ago, and have been actively trying to "fix" the posix spec 
in this regard.

The 'unsigned' flags argument occurred at some point during
the incorporation of the IPv6 API into the Open Group's
Networking Services issue 5.2 spec in 1999, and was propagated 
from there into the posix 1003.1-2001 spec.  We've been looking
back at archives to see how this change was introduced, but
have not completed the e-paper trail yet.

From what I can tell, most implementations have implemented 
type 'int' as per the RFC, including Solaris, Windows XP, AIX,
Tru64 UNIX, HP-UX, FreeBSD, OpenBSD, NetBSD, and OpenVMS.  The only 
implementation I have seen that uses 'unsigned int' is GNU libc, 
which originally implemented using type 'int', but which changed 
to 'unsigned int' in January 2001 (I speculate this was done to 
align with XNS 5.2 or perhaps one of the early drafts of 1003.1-2001).

Given the widespread implementation of 'int', I believe the
right thing to do is get the posix spec changed, and leave
rfc2553bis as is.

Stay tuned, Technical Corrigenda 1 (TC1) for 1003.1-2001 is 
active right now, I hope to have this fixed in TC1.

- Jack

--------------------------------------------------------------------
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-masked]
--------------------------------------------------------------------

---

From: Klaus Klein <[email-masked]>
Date: 15 May 2002 21:53:22 +0200

> have not completed the e-paper trail yet.

FWIW, I went through my collection of C808 drafts and found the
`unsigned' argument appeared with the introduction of getnameinfo() in
D3.0.  Unfortunately no e-paper trail over here either; I've never
been an XNET participant.

> right thing to do is get the posix spec changed, and leave

Actually, I did switch NetBSD over to `unsigned int' the other day;
however, that and the amount of prior art (my survey didn't cover
quite that much) are good reasons to reconsider this (same is true for
the Austin Group).

> active right now, I hope to have this fixed in TC1.

I didn't occur to me to look there earlier (shame on me), but I just
noticed your Aardvarks on that subject; unfortunately they (XBD ERN
24, XSH ERN 22) were rejected at the May meeting.  In any case, I'll
be watching austin-group-l.

- Klaus