+2005-01-03 Ken Raeburn <raeburn@mit.edu>
+
+ * build.texinfo (The util Directory): Add the new support
+ library.
+ (Installing the Binaries): Discuss parallel builds under GNU
+ make.
+
+ * implementor.texinfo (Host Address Lookup): Document Mac OS X
+ issues.
+
2004-11-19 Tom Yu <tlyu@mit.edu>
* build.texinfo (Solaris 9): Document Solaris patches for pty
and @code{kdc.conf}). Also in this directory are the Kerberos error table
library and utilities (@i{et}), the Sub-system library and utilities
(@i{ss}), database utilities (@i{db2}), pseudo-terminal utilities
-(@i{pty}), and bug-reporting program @code{send-pr}.
+(@i{pty}), bug-reporting program @code{send-pr}, and a generic
+support library @code{support} used by several of our other libraries.
@node Build Requirements, Unpacking the Sources, Organization of the Source Directory, Building Kerberos V5
@section Build Requirements
you will need to use a tool such as @samp{lndir} to produce a symbolic
link tree for your build tree.
+@c Library support...
+
@node Unpacking the Sources, Doing the Build, Build Requirements, Building Kerberos V5
@section Unpacking the Sources
Note that if you want to test the build (see @ref{Testing the Build}),
you usually do not need to do a @code{make install} first.
+Some implementations of @samp{make} allow multiple commands to be run in
+parallel, for faster builds. We test our Makefiles in parallel builds with
+GNU @same{make} only; they may not be compatible with other parallel build
+implementations.
+
@node Testing the Build, Options to Configure, Installing the Binaries, Building Kerberos V5
@section Testing the Build
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 Mac OS X
+Two problems have been found with @code{getaddrinfo} on Mac OS X, at
+least under version 10.3. First, while @code{gethostbyname} data is
+cached to make multiple lookups of the same name (@i{e.g.}, by
+different parts of the code that need to know about the same server
+host), @code{getaddrinfo} results are not cached, so multiple queries
+mean multiple DNS requests, which means more delays if the DNS servers
+are not close by and fast to respond. We've implemented a cache of
+our own to work around this, though it only applies to multiple
+lookups in a short period of time within the same application process,
+and it's only implemented for the Mac at the moment.
+
+Second, the Mac libraries will generate a DNS SRV RR query; as far as
+I [Ken] can tell this is a bug, but Apple seems to consider it a
+feature. (Call @code{getaddrinfo("example.com", "telnet", ...)} and
+you get a SRV record query, but the spec on SRV records says you must
+not use them unless the specification for the service in question says
+to.) Yet more network traffic for each name to look up.
+
@item NetBSD
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