(Note: This has not been touched since 2000, use instead)
Recent changes: implement socket_sendfile and socket_getifidx, work around broken BSD includes.
This project aims to make the excellent libraries from Dan Bernstein available to a wider public by extracting them from his packages and providing a minimal Makefile for each library.
So far, I extracted the alloc, buffer, byte, dns, tai, timeoutconn and unix libraries (iopause and timeoutconn are not libraries in djb's software but I made them into libraries for easier use), but since they share some include files (I hardlinked them in the respective directories so you can still use each library completely on its own) and the whole package is below 40k when compressed with bzip2, I chose to distribute them in one package.
The package also comes with a few undocumented perl scripts that will hopefully evolve into a system that allows you to incorporate the libraries into your code easily. You can reach me as email@example.com.
The same as the rest of Bernstein's code. See http://cr.yp.to/softwarelaw.html.
Actually, Bernstein explicitly declared parts of his work to be public domain, for example the tai code that is included in libdjb (albeit not documented yet).
Yes. See news.html for a list of recent changes.
The IPv6 socket routines in unix.a look and feel like the IPv4 routines except that the IPs are now 16 instead of 4 bytes long. The routines will compile and work even if you don't have IPv6 support in your system, so you can write IPv6 code that is 100% backwards compatible to IPv4 without making your code unreadable with tons of #ifdefs and conversion code all over the place. Or, even easier, use my IPv6 patches to ucspi-tcp and completely get rid of transport protocol dependencies in your code!
Just grab djb-0.5.2.tar.bz2.