Home | History | Annotate | Download | only in include
History log of /src/include/netdb.h
RevisionDateAuthorComments
 1.72  16-Feb-2024  jkoshy Note that the NI_WITHSCOPEID flag is obsolete.
 1.71  09-Aug-2021  andvar fix various typos in compatibility, mainly in comments.
 1.70  04-Jun-2020  nia Remove bogus tests for 64-bit i386 and SuperH
 1.69  19-Aug-2013  christos fix gethostbyaddr prototype per TOG.
 1.68  04-May-2013  riz Add missing #endif (Hi, Christos!)
 1.67  03-May-2013  christos PR/25827, PR/32373: addr AI_SRV
 1.66  27-Apr-2013  joerg machine/ansi.h is included by sys/ansi.h.
 1.65  17-Mar-2012  christos branches: 1.65.2;
Add AI_ADDRCONFIG
 1.64  05-May-2010  christos branches: 1.64.6; 1.64.8;
PR/43258: Hauke Fath: remove duplicate setservent declaration
 1.63  25-Apr-2010  joerg Add the constant database reader (cdbr(3)) and writer ((cdbw(3)).
They implement a space efficent write-once database with fast access
path. Switch the services(5) database to use cdb. The size of the
database file decreases from 2.1MB disk space to 307KB. Access
performance is about the same if setservent(0) is used and about an
order of magnitude faster otherwise. services_mkdb defaults to the new
format, but can optionally create the old db(3) format as well for
statically linked legacy applications.
 1.62  02-Oct-2009  tsarna branches: 1.62.2;
Introduce allocaddrinfo(3) to make writing getaddrinfo() nss plugins easier.
Discussed on tech-net.
 1.61  12-Apr-2009  christos merge libbind
 1.60  21-Jun-2008  christos branches: 1.60.4; 1.60.6; 1.60.8; 1.60.10; 1.60.14;
sync with bind-9-5-0
 1.59  10-May-2007  christos branches: 1.59.12; 1.59.14;
Move .db files for services and netgroup to /var/db per gimpy's request.
 1.58  30-Mar-2007  ghen Resolve conflicts.
 1.57  28-Jan-2007  christos another merge botch.
 1.56  27-Jan-2007  christos Merge back all our changes.
 1.55  24-Nov-2006  christos branches: 1.55.2; 1.55.4;
fix spelling of accommodate; from Zapher.
 1.54  27-Jul-2006  christos add services.db
 1.53  17-Feb-2006  ginsbach Add EAI_OVERFLOW as specified in RFC3493, POSIX and XPG6.
 1.52  24-Jan-2006  christos PR/32614: Yves-Emmanuel JUTARD: Typing error in some comment ;-)
 1.51  18-Apr-2005  kleink Move the (at this time private) get{proto,serv}ent_r() prototypes and
data structures into the libc sources until the interface gets redone.
Approved by christos.
 1.50  21-Mar-2005  kleink Add restrict qualifiers to getaddrinfo() and getnameinfo() arguments.
 1.49  17-Mar-2005  kleink Remove already #if 0'ed getipnode*() prototypes and related definitions;
we are not going to ship those.
 1.48  03-Feb-2005  perry branches: 1.48.2;
de-__P -- the hack is long since useless. Discussed with christos,
matt, kleink, others. Approved by christos.
 1.47  16-Nov-2004  itojun remove NI_WITHSCOPEID
 1.46  07-Nov-2004  christos Resolve conflicts.
 1.45  17-Aug-2004  jmc Fix proto for gethostent to match reality (takes void args)
 1.44  17-Aug-2004  ginsbach Restore gethostent() as a supported interface. Yes, it maybe obsolete
but it is specified by IEEE Std 1003.1, 2004 Edition (POSIX) and
the X/Open standards (Issue 6 and XNS 5.2).

* revert change removing gethostent() from gethostbyname(3) man page
* delete kruft from gethnamaddr.c leaving only gethostent() as a
wrapper around _gethtent().
* revert recent changes to <netdb.h>
+ restore gethostent() prototype
+ restore freehostent() prototype; handle similar to non-shipped
getipnodby*() prototypes
+ use correct XOPEN_SOURCE version (520 not 500) for freeaddrinfo()
prototype; interface specified by XNS5.2 not XNS5

Reviewd by <christos> and <drochner>.
 1.43  11-Aug-2004  drochner Delete prototypes for gethostent() and freehostent();
there functions don't exist in libc.
 1.42  25-May-2004  christos notyet is in the users namespace as pointed out by klaus.
 1.41  25-May-2004  christos we don't implement getipnode*(), so don't define their flags for now. It
confuses some software (ntpd).
 1.40  24-May-2004  yamt remove a duplicated prototype of getprotoent_r.
 1.39  21-May-2004  christos Import selected changes from bind9. Follow the copyright structure there.
 1.38  08-May-2004  kleink * __sparc64__ -> __sparc__ && _LP64,
* add a comment on the purpose of __ai_pad0.
Both suggested by mrg.
 1.37  08-May-2004  kleink struct netnet.n_net used to be an unsigned long integer.

In XNS5, and subsequently in POSIX-2001 it was changed to socklen_t.

To accomodate for this while preserving binary compatibility with the
old interface, prepend or append 32 bits of padding, depending on
the (LP64 data model) architecture's endianness. Fixes PR
standards/21411 from Ben Harris.

This should be deleted the next time the libc major number is
incremented.

Also, update getnetbyaddr(3)'s `net' argument accordingly.
 1.36  14-Apr-2004  itojun fix comment (there could be more than 3 AI_xxx)
 1.35  14-Apr-2004  itojun implement AI_NUMERICSERV (as defined in RFC3493)
 1.34  20-Mar-2004  christos branches: 1.34.2;
Do not expose the current implementation of the serv*_r proto*_r functions,
since this is not how we will implement them when we do. From discussions
with Brian Ginsbach and Soda-san.
 1.33  23-Feb-2004  christos in servent and protent data:
- add a dummy field for extensions.
- add a line field to keep the current line buffer.
 1.32  19-Feb-2004  christos protoent_r/servent_r
 1.31  07-Aug-2003  agc Move UCB-licensed code from 4-clause to 3-clause licence.

Patches provided by Joel Baker in PR 22270, verified by myself.
 1.30  05-May-2003  bjh21 Header cleanup:
* IPv6 functions are in POSIX-2001, so make them visible there.
* freehostent(), getipnodebyaddr() and getipnodebyname() are _only_ in
XNS5.2, so don't expose them to XSH6 or POSIX applications.
 1.29  28-Apr-2003  bjh21 Add a new feature-test macro, _NETBSD_SOURCE. If this is defined
by the application, all NetBSD interfaces are made visible, even
if some other feature-test macro (like _POSIX_C_SOURCE) is defined.
<sys/featuretest.h> defined _NETBSD_SOURCE if none of _ANSI_SOURCE,
_POSIX_C_SOURCE and _XOPEN_SOURCE is defined, so as to preserve
existing behaviour.

This has two major advantages:
+ Programs that require non-POSIX facilities but define _POSIX_C_SOURCE
can trivially be overruled by putting -D_NETBSD_SOURCE in their CFLAGS.
+ It makes most of the #ifs simpler, in that they're all now ORs of the
various macros, rather than having checks for (!defined(_ANSI_SOURCE) ||
!defined(_POSIX_C_SOURCE) || !defined(_XOPEN_SOURCE)) all over the place.

I've tried not to change the semantics of the headers in any case where
_NETBSD_SOURCE wasn't defined, but there were some places where the
current semantics were clearly mad, and retaining them was harder than
correcting them. In particular, I've mostly normalised things so that
_ANSI_SOURCE gets you the smallest set of stuff, then _POSIX_C_SOURCE,
_XOPEN_SOURCE and _NETBSD_SOURCE in that order.

Tested by building for vax, encouraged by thorpej, and uncontested in
tech-userlevel for a week.
 1.28  06-Jan-2003  wiz compatibility, not compatiblity.
 1.27  26-Aug-2002  itojun remove unused/unsupported AI_xx. notified by PR 18072
 1.26  22-May-2002  kleink Turn the flags argument to getnameinfo(3) back into an int (from unsigned
int); this is consistent with RFC2553, the current draft-ietf-ipngwg-
rfc2553bis-05 and the majority of deployed implementations.

Also, there is an effort under way to have this changed back to int in
XBD6/XSH6, XNS, and POSIX-2001 TC1.
 1.25  14-May-2002  kleink branches: 1.25.2;
More XNS5.2/POSIX-2001 alignment: change the flags argument to
getnameinfo() from int to unsigned int.
 1.24  14-May-2002  kleink Align with XNS5.2/POSIX-2001: change hostlen and servlen arguments to
getnameinfo() from size_t to socklen_t.
 1.23  14-May-2002  kleink struct addrinfo.ai_addrlen used to be a size_t, per RFC 2553.

In XNS5.2, and subsequently in POSIX-2001 and draft-ietf-ipngwg-rfc2553bis-02
it was changed to a socklen_t.

To accomodate for this while preserving binary compatibility with the
old interface, prepend or append 32 bits of padding, depending on
the (LP64 data model) architecture's endianness.

This should be deleted the next time the libc major number is
incremented.
 1.22  10-May-2002  kleink Update several name space/feature protection tests to check for
_XOPEN_SOURCE >= 520 (XNS 5.2), either rigging it for that version or
replacing the (wrong) test for >= 500.
 1.21  26-Apr-2001  kleink Change the `len' arguemtn to gethostbyaddr(3) from int to socklen_t in
accordance with XNS5.2; fixes PR standards/12703.
 1.20  30-Jul-2000  lukem branches: 1.20.2;
be consistent with #define<TAB> usage
 1.19  28-Jul-2000  kleink Avoid recursion with traditional cpp.
 1.18  04-Jun-2000  itojun branches: 1.18.2;
correct arg type for getnameinfo(3) for RFC2553 conformance.
 1.17  09-Feb-2000  itojun branches: 1.17.2;
revise extended scoped address format support. delimiter and the order
is changed, based on discussion in ipngwg scoped address cabal.
past code: fe80::1@de0
now: de0%fe80::1
this will be in sync with next extended address format proposal
(which should be final - I don't want to make this kind of change again).
 1.16  05-Jan-2000  mjl Correct typo in comment.
 1.15  20-Dec-1999  itojun hide functions that are not supplied.
 1.14  12-Dec-1999  itojun add #define for kame's extension to scoped IPv6 numeric address.
(see draft-ietf-ipngwg-scopedaddr-format-00.txt)
 1.13  03-Jul-1999  kleink branches: 1.13.4;
* Since we actually only need size_t to be defined, nuke the previous inclusion
of <sys/types.h> and define size_t via <machine/ansi.h>.
* Various namespace protection issues, using XNS5.2 D2.0 as a reference.
 1.12  01-Jul-1999  itojun define IPv6 library functions and structures, as defined in
RFC2292 and RFC2553.
define internal state structure for IPv6-transport resolver.

Commits for source code will follow.
 1.11  10-May-1998  kleink * Remove the inclusion of <sys/param.h>; the most common use for this was
the MAXHOSTNAMELEN constant whose semantics are not intended for network
database lookup operations, and which pollutes name space.
* Per XSH98, provide symbols from <inttypes.h>.
* Add various bits of name space protection.
 1.10  03-Feb-1998  perry fix/restore Id
 1.9  02-Feb-1998  perry merge lite-2
 1.8  13-Oct-1997  lukem rcsid fascism
 1.7  13-Apr-1997  mrg merge bind 4.9.5-P1.
 1.6  02-Feb-1996  mrg update these for bind 4.9.3-p1.
 1.5  03-Jul-1995  jtc Declare h_error as suggested by PR #1065 and done by many other systems.
 1.4  26-Oct-1994  cgd new RCS ID format.
 1.3  07-Apr-1994  deraadt new resolver. changes from 4.9.2 by <paul@vix.com>, as well as a number
of features and optimizations by myself.
 1.2  01-Aug-1993  mycroft Add RCS identifiers.
 1.1  21-Mar-1993  cgd branches: 1.1.1;
Initial revision
 1.1.1.7  12-Apr-2009  christos import libbind include files.
 1.1.1.6  30-Mar-2007  ghen Import bind 9.4.0.
 1.1.1.5  27-Jan-2007  christos import files from bind-9-4-0-rc2
 1.1.1.4  07-Nov-2004  christos Import again.
 1.1.1.3  02-Feb-1998  perry import lite-2
 1.1.1.2  13-Apr-1997  mrg BIND 4.9.5-P1 include bits
 1.1.1.1  21-Mar-1993  cgd initial import of 386bsd-0.1 sources
 1.13.4.1  27-Dec-1999  wrstuden Pull up to last week's -current.
 1.17.2.1  23-Jun-2000  minoura Sync w/ netbsd-1-5-base.
 1.18.2.4  04-Sep-2002  itojun pullup include/netdb.h 1.27 (itojun)

remove unused/unsupported AI_xx. notified by PR 18072
 1.18.2.3  01-May-2001  he Pull up revision 1.19 (requested by kleink):
Avoid traditional CPP recursion in definition of socklen_t.
Fixes PR#12761.
 1.18.2.2  30-Jul-2000  lukem revert previous (wrong branch )-:
 1.18.2.1  30-Jul-2000  lukem be consistent with #define<TAB> usage
 1.20.2.4  08-Jan-2003  thorpej Sync with HEAD.
 1.20.2.3  27-Aug-2002  nathanw Catch up to -current.
 1.20.2.2  21-Jun-2002  nathanw Catch up to -current.
 1.20.2.1  08-Oct-2001  nathanw Catch up to -current.
 1.25.2.2  27-Aug-2002  lukem Pull up revision 1.27 (requested by itojun in ticket #730):
remove unused/unsupported AI_xx. notified by PR 18072
 1.25.2.1  25-May-2002  thorpej Resolve pullup-1-6 ticket #14 (itojun), original commit message:

> Turn the flags argument to getnameinfo(3) back into an int (from unsigned
> int); this is consistent with RFC2553, the current draft-ietf-ipngwg-
> rfc2553bis-05 and the majority of deployed implementations.
>
> Also, there is an effort under way to have this changed back to int in
> XBD6/XSH6, XNS, and POSIX-2001 TC1.
 1.34.2.1  11-Sep-2004  he branches: 1.34.2.1.2;
Pull up revisions 1.43-1.45 (requested by ginsbach in ticket #834):
Restore gethostent() as a supported interface. Yes, it
may be obsolete, but it is specified by IEEE Std 1003.1,
2004 Edition (POSIX) and the X/Open standards (Issue 66
and XNS 5.2).
Here: remove freehostent() declaration, since that one is
no longer in libc.
 1.34.2.1.2.2  05-Jul-2005  riz Pull up revisions 1.37 - 1.38 (requested by kleink in ticket #2015):
1.37:
struct netent.n_net used to be an unsigned long integer.
In XNS5, and subsequently in POSIX-2001 it was changed to socklen_t.
To accomodate for this while preserving binary compatibility with the
old interface, prepend or append 32 bits of padding, depending on
the (LP64 data model) architecture's endianness. Fixes PR
standards/21411 from Ben Harris.
This should be deleted the next time the libc major number is
incremented.
Also, update getnetbyaddr(3)'s `net' argument accordingly.

1.38:
* __sparc64__ -> __sparc__ && _LP64,
* add a comment on the purpose of __ai_pad0.
Both suggested by mrg.
 1.34.2.1.2.1  24-May-2005  riz Pull up revision 1.51 via patch (requested by kleink in ticket #1547):
Instead of pulling in all of <wchar.h>, just define wchar_t here.
Addresses PR lib/29987.
 1.48.2.2  21-Apr-2005  tron Pull up revision 1.51 (requested by kleink in ticket #172):
Move the (at this time private) get{proto,serv}ent_r() prototypes and
data structures into the libc sources until the interface gets redone.
Approved by christos.
 1.48.2.1  21-Mar-2005  tron Pull up revision 1.50 (requested by kleink in ticket #40):
Add restrict qualifiers to getaddrinfo() and getnameinfo() arguments.
 1.55.4.1  03-Jun-2007  wrstuden Catch up with now-somewhat-dated netbsd-4. These changes took longer
than expected for me to actually get around to merging.
 1.55.2.2  23-Jan-2011  bouyer Apply patch, requested by spz in ticket 1413:
dist/bind/ patch
include/resolv.h patch
include/arpa/nameser.h: patch
lib/libc/include/isc/assertions.h: patch
lib/libc/include/isc/eventlib.h patch
lib/libc/isc/assertions.c: patch
lib/libc/nameser/ns_parse.c patch
lib/libc/resolv/herror.c: patch
lib/libc/resolv/res_init.c patch
lib/libc/resolv/res_mkquery.c: patch
lib/libc/resolv/res_query.c patch
lib/libc/resolv/res_send.c: patch
usr.sbin/bind/Makefile.inc patch
usr.sbin/bind/include/config.h: patch
usr.sbin/bind/include/dns/code.h: patch
usr.sbin/bind/include/dns/enumclass.h: patch
usr.sbin/bind/include/dns/enumtype.h: patch
usr.sbin/bind/include/dns/rdatastruct.h: patch
usr.sbin/bind/include/isc/platform.h: patch
usr.sbin/bind/include/lwres/netdb.h: patch
usr.sbin/bind/include/lwres/platform.h: patch
usr.sbin/bind/libisc/Makefile: patch
lib/libc/inet/inet_addr.c new file

Update bind to 9.4-ESV-R4, latest version of the 9.4 line.
 1.55.2.1  17-May-2007  jdc branches: 1.55.2.1.2;
Add missing BIND 9.4.x include file and library changes (requested by
tron in ticket #662).
 1.55.2.1.2.1  23-Jan-2011  bouyer Apply patch, requested by spz in ticket 1413:
dist/bind/ patch
include/resolv.h patch
include/arpa/nameser.h: patch
lib/libc/include/isc/assertions.h: patch
lib/libc/include/isc/eventlib.h patch
lib/libc/isc/assertions.c: patch
lib/libc/nameser/ns_parse.c patch
lib/libc/resolv/herror.c: patch
lib/libc/resolv/res_init.c patch
lib/libc/resolv/res_mkquery.c: patch
lib/libc/resolv/res_query.c patch
lib/libc/resolv/res_send.c: patch
usr.sbin/bind/Makefile.inc patch
usr.sbin/bind/include/config.h: patch
usr.sbin/bind/include/dns/code.h: patch
usr.sbin/bind/include/dns/enumclass.h: patch
usr.sbin/bind/include/dns/enumtype.h: patch
usr.sbin/bind/include/dns/rdatastruct.h: patch
usr.sbin/bind/include/isc/platform.h: patch
usr.sbin/bind/include/lwres/netdb.h: patch
usr.sbin/bind/include/lwres/platform.h: patch
usr.sbin/bind/libisc/Makefile: patch
lib/libc/inet/inet_addr.c new file

Update bind to 9.4-ESV-R4, latest version of the 9.4 line.
 1.59.14.1  27-Jun-2008  simonb Sync with head.
 1.59.12.1  23-Jun-2008  wrstuden Sync w/ -current. 34 merge conflicts to follow.
 1.60.14.1  09-Jan-2011  riz Apply patches (requested by spz in ticket #1517):

Update bind to 9.7.2-P3.
 1.60.10.1  10-Jan-2011  riz Apply patches (requested by spz in ticket #1517):

Update bind to 9.7.2-P3.
 1.60.8.1  13-May-2009  jym Sync with HEAD.

Third (and last) commit. See http://mail-index.netbsd.org/source-changes/2009/05/13/msg221222.html
 1.60.6.2  21-Jun-2008  christos sync with bind-9-5-0
 1.60.6.1  21-Jun-2008  christos file netdb.h was added on branch christos-time_t on 2008-06-21 20:12:50 +0000
 1.60.4.1  06-Jan-2011  riz Apply patches (requested by spz in ticket #1517):

Update bind to 9.7.2-P3.
 1.62.2.2  17-Aug-2010  uebayasi Sync with HEAD.
 1.62.2.1  30-Apr-2010  uebayasi Sync with HEAD.
 1.64.8.1  03-Jun-2012  jdc Pull up revisions:
src/lib/libc/net/getaddrinfo.c revision 1.98 - 1.100
src/include/netdb.h revision 1.65
(requested by khorben in ticket #278).

Add AI_ADDRCONFIG, which makes getaddrinfo() return only address with
families
that are already configured in the system.

PR 46206: fix programmed SIGSEGV
more work is needed as tests seem to indicate that name resolution now
does no seem to work (firefox reports Server not found)
thanks to Ryo ONODERA for testing.

PR pkg/46206
re-establish fqdn lookup when AI_ADDRCONFIG is used in hints
AI_ADDRCONFIG led to fqdn lookup being skipped as the systems didn't
configure any PF_UNSPEC addresses - check was too strict here.
Thnaks to Ryo ONODERA for testing.
 1.64.6.2  22-May-2014  yamt sync with head.

for a reference, the tree before this commit was tagged
as yamt-pagecache-tag8.

this commit was splitted into small chunks to avoid
a limitation of cvs. ("Protocol error: too many arguments")
 1.64.6.1  17-Apr-2012  yamt sync with head
 1.65.2.2  20-Aug-2014  tls Rebase to HEAD as of a few days ago.
 1.65.2.1  23-Jun-2013  tls resync from head

RSS XML Feed