package dns

  1. Overview
  2. Docs
DNS client and server implementation in pure OCaml

Install

Dune Dependency

Authors

Maintainers

Sources

dns-1.0.0.tbz
sha256=603d0ce3f39e02351e414fa3e288f0f13cd3d6ad0d2753ff61f88fe550562c38
md5=5fe4efe11671253950f89036a6cc1a21

Description

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.

Build Status

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 an Lwt-based client iterative resolver Patches for this are highly welcome!
  • EDNS0 extensions
  • DNSSEC extensions (using nocrypto)
  • TC bit and TCP fallback
  • mDNS resolver

Tags

org:mirage org:xapi-project

Published: 25 Jul 2017

README

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.

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 an Lwt-based client iterative resolver Patches for this are highly welcome!

  • EDNS0 extensions

  • DNSSEC extensions (using nocrypto)

  • TC bit and TCP fallback

  • mDNS resolver

Dependencies (12)

  1. result
  2. hashcons
  3. base64 >= "2.0.0" & < "3.0.0"
  4. uri >= "1.7.0"
  5. ipaddr >= "2.6.0" & < "4.0.0"
  6. domain-name < "0.3.0"
  7. re
  8. ppx_cstruct
  9. cstruct >= "3.0.2" & < "6.0.0"
  10. jbuilder >= "1.0+beta9"
  11. base-bytes
  12. ocaml >= "4.03.0" & < "4.06.0"

Dev Dependencies

None

Used by (10)

  1. dns-async != "1.1.0" & < "1.1.3"
  2. dns-forward
  3. dns-lwt < "1.0.1"
  4. dnssd
  5. imaplet-lwt >= "0.1.12"
  6. letsencrypt < "0.3.0"
  7. letsencrypt-dns < "1.0.0"
  8. libres3 >= "0.3"
  9. miou
  10. vpnkit

Conflicts

None

OCaml

Innovation. Community. Security.