package dns

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

Install

Dune Dependency

Authors

Maintainers

Sources

dns-v1.1.3.tbz
sha256=17a3b507d7c1848f14ba213397bcc5df3967bbb9792ec6c650ea5dd9feb5456a
sha512=cd13ea4c92c018dc884fcce7eb62d2f3f1ef76c3a51c11bb3fe722d72b90e4070f1d0f939cd9faa93c710a4d2dee9761d89557f8086c9fb4ca75c6f1a467fbf3

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.

There are several concrete implementations using this package that you probably want to use for practical purposes:

  • dns-lwt for the Lwt concurrency library
  • dns-lwt-unix using the Lwt_unix bindings
  • dns-async using the Jane Street Async library
  • mirage-dns for the MirageOS unikernel framework

Tags

org:mirage org:xapi-project

Published: 15 Jul 2019

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 (11)

  1. result
  2. hashcons
  3. base64 >= "3.0.0"
  4. domain-name >= "0.3.0"
  5. uri >= "1.7.0"
  6. ipaddr >= "4.0.0"
  7. re >= "1.7.2"
  8. ppx_cstruct
  9. cstruct >= "3.0.2" & < "6.0.0"
  10. dune >= "1.2"
  11. ocaml >= "4.03.0" & < "5.0"

Dev Dependencies (4)

  1. ounit with-test
  2. pcap-format with-test
  3. bigarray-compat with-test
  4. mmap with-test

Conflicts

None