Skip to content

HTTPS clone URL

Subversion checkout URL

You can clone with HTTPS or Subversion.

Download ZIP
OCaml implementation of the DNS protocol
OCaml Other

Merge pull request #56 from infidel/mdns

Minimal mDNS responder and resolver
latest commit 3ddd834f7c
@dsheets dsheets authored
Failed to load latest commit information.
async Merge branch 'master' into qname-patch
examples added forwarding example
lib Fix syntax error on OCaml 4.01.0
lib_test Io_page cast
lwt
mirage Update mdns branch for Name changes in #64 and Mirage STACKV4 mods
.gitignore Clean-up datagram socket fds after use; prevents EMFILE; fixes #15
.merlin Update mdns branch for Name changes in #64 and Mirage STACKV4 mods
.travis-ci-post.sh modernise travis scripts
.travis.yml
CHANGES Rename Name.canon2key to Name.to_key
Makefile Run tests in sequential mode to work around OUnit issue
Makefile.config [make] support .config
README.md adding link to travis builds
TODO.md note the TODO for the pattern match inexhaustiveness
_oasis Merge branch 'mdns' of github.com:infidel/ocaml-dns into mdns
_tags Merge branch 'mdns' of github.com:infidel/ocaml-dns into mdns
myocamlbuild.ml Merge branch 'mdns' of github.com:infidel/ocaml-dns into mdns
opam Merge branch 'mdns' of github.com:infidel/ocaml-dns into mdns
setup.ml Merge branch 'mdns' of github.com:infidel/ocaml-dns into mdns

README.md

Build Status

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.

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.