This is an implementation of the DNS protocol and a client and server resolver using the Jane Street Async library.
OCaml-DNS - DNS client and server implementation in pure OCaml
This is a pure OCaml implementation of the DNS protocol. It is intended to be a reasonably high-performance implementation, but clarity is preferred rather than low-level performance hacks.
To build it, please use the OPAM package manager (1.2+):
opam pin add dns .
This will install the dependencies needed and give you a working development version of the library.
lib/contains the core DNS protocol, which is packed into the
lib_test/contains unit tests and sample uses of the library. In particular,
time_serveris a simple dynamic responder.
Areas that need work:
We need an Lwt-based client iterative resolver Patches for this are highly welcome!
DNSSEC extensions (using nocrypto)
TC bit and TCP fallback