Commit Graph

69 Commits

Author SHA1 Message Date
christos 2c0b172d86 fix gethostbyaddr prototype per TOG. 2013-08-19 07:18:42 +00:00
riz 05108b4611 Add missing #endif (Hi, Christos!) 2013-05-04 00:37:47 +00:00
christos 017320144a PR/25827, PR/32373: addr AI_SRV 2013-05-03 19:34:13 +00:00
joerg cce2130bb3 machine/ansi.h is included by sys/ansi.h. 2013-04-27 21:22:05 +00:00
christos 53cd98be07 Add AI_ADDRCONFIG 2012-03-17 21:57:48 +00:00
christos e6a464cc84 PR/43258: Hauke Fath: remove duplicate setservent declaration 2010-05-05 17:12:29 +00:00
joerg b9cf7d31ab 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.
2010-04-25 00:54:44 +00:00
tsarna 1f4f234ea9 Introduce allocaddrinfo(3) to make writing getaddrinfo() nss plugins easier.
Discussed on tech-net.
2009-10-02 02:45:28 +00:00
christos 178edc61d9 merge libbind 2009-04-12 17:07:33 +00:00
christos a0abbe8fe8 sync with bind-9-5-0 2008-06-21 20:12:49 +00:00
christos 2f776ce02e Move .db files for services and netgroup to /var/db per gimpy's request. 2007-05-10 17:45:50 +00:00
ghen f0e38187bd Resolve conflicts. 2007-03-30 19:57:16 +00:00
christos b5861ff385 another merge botch. 2007-01-28 01:48:03 +00:00
christos 0d808c59ee Merge back all our changes. 2007-01-27 21:25:23 +00:00
christos 1665d5e960 fix spelling of accommodate; from Zapher. 2006-11-24 19:46:58 +00:00
christos b9c41df004 add services.db 2006-07-27 18:29:01 +00:00
ginsbach e0882f7342 Add EAI_OVERFLOW as specified in RFC3493, POSIX and XPG6. 2006-02-17 15:55:01 +00:00
christos decae1574c PR/32614: Yves-Emmanuel JUTARD: Typing error in some comment ;-) 2006-01-24 17:08:58 +00:00
kleink 4e3cae58ff 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.
2005-04-18 19:39:45 +00:00
kleink 53b42c4e52 Add restrict qualifiers to getaddrinfo() and getnameinfo() arguments. 2005-03-21 13:30:50 +00:00
kleink f62b22c92b Remove already #if 0'ed getipnode*() prototypes and related definitions;
we are not going to ship those.
2005-03-17 10:16:14 +00:00
perry 19b7469a00 de-__P -- the hack is long since useless. Discussed with christos,
matt, kleink, others. Approved by christos.
2005-02-03 04:39:32 +00:00
itojun 384b8c15c2 remove NI_WITHSCOPEID 2004-11-16 06:00:51 +00:00
christos 88ae7d9d8f Resolve conflicts. 2004-11-07 01:48:01 +00:00
jmc a2d438e65c Fix proto for gethostent to match reality (takes void args) 2004-08-17 04:24:16 +00:00
ginsbach 30ef75e3f4 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>.
2004-08-17 02:29:56 +00:00
drochner e6dd3245b7 Delete prototypes for gethostent() and freehostent();
there functions don't exist in libc.
2004-08-11 16:13:00 +00:00
christos afa83b513a notyet is in the users namespace as pointed out by klaus. 2004-05-25 14:49:38 +00:00
christos fdaf51dfc9 we don't implement getipnode*(), so don't define their flags for now. It
confuses some software (ntpd).
2004-05-25 13:55:48 +00:00
yamt 7ca373cce9 remove a duplicated prototype of getprotoent_r. 2004-05-24 12:34:28 +00:00
christos 3bffc96400 Import selected changes from bind9. Follow the copyright structure there. 2004-05-21 02:14:39 +00:00
kleink 5f2ea73659 * __sparc64__ -> __sparc__ && _LP64,
* add a comment on the purpose of __ai_pad0.
Both suggested by mrg.
2004-05-08 18:55:23 +00:00
kleink 8d54bc1847 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.
2004-05-08 18:52:15 +00:00
itojun 0fc4d34dfc fix comment (there could be more than 3 AI_xxx) 2004-04-14 04:37:59 +00:00
itojun a1b7e86ab4 implement AI_NUMERICSERV (as defined in RFC3493) 2004-04-14 04:37:06 +00:00
christos 639e111c0e 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.
2004-03-20 18:22:22 +00:00
christos a2ef38401f in servent and protent data:
- add a dummy field for extensions.
- add a line field to keep the current line buffer.
2004-02-23 16:05:19 +00:00
christos 885e0fc7f3 protoent_r/servent_r 2004-02-19 19:30:30 +00:00
agc 039cc95684 Move UCB-licensed code from 4-clause to 3-clause licence.
Patches provided by Joel Baker in PR 22270, verified by myself.
2003-08-07 09:44:09 +00:00
bjh21 86abe62ffa 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.
2003-05-05 14:20:03 +00:00
bjh21 4be7a2dcf3 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.
2003-04-28 23:16:11 +00:00
wiz c053751628 compatibility, not compatiblity. 2003-01-06 13:26:24 +00:00
itojun d4a64790e3 remove unused/unsupported AI_xx. notified by PR 18072 2002-08-26 13:38:19 +00:00
kleink a24f74d0fd 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.
2002-05-22 09:42:37 +00:00
kleink 4b77e72e94 More XNS5.2/POSIX-2001 alignment: change the flags argument to
getnameinfo() from int to unsigned int.
2002-05-14 14:35:36 +00:00
kleink 485febee55 Align with XNS5.2/POSIX-2001: change hostlen and servlen arguments to
getnameinfo() from size_t to socklen_t.
2002-05-14 14:31:05 +00:00
kleink 06d36d9eee 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.
2002-05-14 13:45:13 +00:00
kleink 17aaf20cdd 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.
2002-05-10 22:02:11 +00:00
kleink 91491e8dda Change the `len' arguemtn to gethostbyaddr(3) from int to socklen_t in
accordance with XNS5.2; fixes PR standards/12703.
2001-04-26 12:55:31 +00:00
lukem f02175ae7a be consistent with #define<TAB> usage 2000-07-30 06:33:18 +00:00