LibDNS API
NLnet Labs
Kruislaan 419
Amsterdam
1098 VA
The Netherlands
miek@nlnetlabs.nl
http://www.nlnetlabs.nl
NLnet Labs
Kruislaan 419
Amsterdam
1098 VA
The Netherlands
jelte@nlnetlabs.nl
http://www.nlnetlabs.nl
NLnet Labs
Kruislaan 419
Amsterdam
1098 VA
The Netherlands
erik@nlnetlabs.nl
http://www.nlnetlabs.nl
DNS
Elite
Hacking
A small abstract will come here, TBD.
LibDNS (or lDNS) is modelled after the Net::DNS perl library. It has
been shown that Net::DNS can be used vefficiently for
programming DNS aware applications. We want to bring the same
level of efficiency to C programmers.
The lDNS API consist of two layers. The top-layer, this is
what is actually exported to the application via the library. And the
bottom-layer, this is what lDNS needs to compile and function.
Short intermezzo detailing differences with other libraries. Most important
ones are the libc resolver interface (from BIND8) and the lwres_ interface
from BIND9.
At its lowest level lDNS is only dependent on libc. It uses a
few networking systems calls; socket, bind, send/recv and friends.
Further more it is to be expected that lDNS will depend on OpenSSL for
its cryptography.
As said, lDNS is modelled after Net::DNS, therefor its application API
looks very much like the one used for Net::DNS. Some modification are made
ofcourse, because not all functionality of Perl can be caught in C.
This API document was written by carefully looking at the documentation
contained in the Net::DNS Perl module.