summaryrefslogtreecommitdiffstats
path: root/doc/implementor.texinfo
diff options
context:
space:
mode:
authorKen Raeburn <raeburn@mit.edu>2002-06-25 03:04:10 +0000
committerKen Raeburn <raeburn@mit.edu>2002-06-25 03:04:10 +0000
commit83e68106a3133c145b4ae5b9317c440b141dfb58 (patch)
treef70dcdc2ba95afcf40fa09057437ef7f6ab08590 /doc/implementor.texinfo
parent6826580cc5875fb2eba1fdcbf0bfff1d2484d077 (diff)
downloadkrb5-83e68106a3133c145b4ae5b9317c440b141dfb58.tar.gz
krb5-83e68106a3133c145b4ae5b9317c440b141dfb58.tar.xz
krb5-83e68106a3133c145b4ae5b9317c440b141dfb58.zip
more misc notes on getaddrinfo
git-svn-id: svn://anonsvn.mit.edu/krb5/trunk@14566 dc483132-0cff-0310-8789-dd5450dbe970
Diffstat (limited to 'doc/implementor.texinfo')
-rw-r--r--doc/implementor.texinfo25
1 files changed, 21 insertions, 4 deletions
diff --git a/doc/implementor.texinfo b/doc/implementor.texinfo
index 26533196c4..1d7707fdab 100644
--- a/doc/implementor.texinfo
+++ b/doc/implementor.texinfo
@@ -87,6 +87,9 @@ the internals of the @value{PRODUCT}.
Someone should describe the API subset we're allowed to use with
sockets, how and when to use @code{SOCKET_ERRNO}, @i{etc}.
+Note that all new code doing hostname and address translation should
+use @code{getaddrinfo} and friends. (@xref{Host Address Lookup}.)
+
@node IPv6 Support, Local Addresses, Socket API, Top
@chapter IPv6 Support
@@ -352,7 +355,13 @@ No known bugs here, but as of IRIX 6.5.7, the version we're using at
MIT, these functions had not been implemented.
@item NetBSD
-As of NetBSD 1.5, this function is not thread-safe.
+As of NetBSD 1.5, this function is not thread-safe. In 1.5X
+(intermediate code snapshot between 1.5 and 1.6 releases), the
+@code{ai_canonname} field can be empty, even if the
+@code{AI_CANONNAME} flag was passed. In particular, this can happen
+if a numeric host address string is provided. Also, numeric service
+names appear not to work unless the stream type is given; specifying
+the TCP protocol is not enough.
@item Tru64 UNIX
In Tru64 UNIX 5.0, @code{getaddrinfo} is available, but requires that
@@ -365,11 +374,15 @@ it wrong here, I think the symbol is supposed to be available even if
the application uses @code{#undef}, but I have not confirmed it in the
spec.
+@item Windows
+According to Windows documentation, the returned @code{ai_canonname}
+field can be null even if the @code{AI_CANONNAME} flag is given.
+
@end table
-For systems where @code{getaddrinfo} returns incorrect data, we've
-provided wrapper versions that call the system version and then try to
-fix up the returned data.
+For most systems where @code{getaddrinfo} returns incorrect data,
+we've provided wrapper versions that call the system version and then
+try to fix up the returned data.
For systems that don't provide these functions at all, we've provided
replacement versions that neither are thread-safe nor support IPv6,
@@ -393,6 +406,10 @@ some systems, and if the compiler isn't being too clever, may cause
several kilobytes of excess storage to be consumed on these backwards
systems.
+Do not assume that @code{ai_canonname} will be set when the
+@code{AI_CANONNAME} flag is set. Check for a null pointer before
+using it.
+
@node Thread Safety, Shared Libraries, Host Address Lookup, Top
@chapter Thread Safety