Skip to content
This repository

HTTPS clone URL

Subversion checkout URL

You can clone with HTTPS or Subversion.

Download ZIP

OCaml implementation of the DNS protocol

This branch is 0 commits ahead and 0 commits behind master

Fetching latest commit…

Octocat-spinner-32-eaf2f5

Cannot retrieve the latest commit at this time

Octocat-spinner-32 lib
Octocat-spinner-32 lib_test
Octocat-spinner-32 lwt
Octocat-spinner-32 .gitignore
Octocat-spinner-32 .merlin
Octocat-spinner-32 .travis-ci.sh
Octocat-spinner-32 .travis.yml
Octocat-spinner-32 CHANGES
Octocat-spinner-32 Makefile
Octocat-spinner-32 Makefile.config
Octocat-spinner-32 README.md
Octocat-spinner-32 TODO.md
Octocat-spinner-32 _oasis
Octocat-spinner-32 _tags
Octocat-spinner-32 myocamlbuild.ml
Octocat-spinner-32 setup.ml
README.md

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, the following packages are required:

Packages:

  • lib/ contains the core DNS protocol, which is packed into the Dns module.
  • lib_test/ contains unit tests and sample uses of the library. In particular, time_server is a simple dynamic responder.

Areas that need work:

  • We need a Lwt-based client resolver, preferably both recursive and iterative. Patches for this are highly welcome!
  • EDNS0 extensions.
  • DNSSEC extensions (using Cryptokit).
Something went wrong with that request. Please try again.