package dns
Install
Dune Dependency
Authors
Maintainers
Sources
sha256=725b4c1647ce20b137e7ffab1fae138f15e88cac4b49cd2b7da027e433da4b14
md5=62230d2f85de4646d029cde7d1c3a55d
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
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 theDns
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)
Dev Dependencies
None
Used by (10)
-
dns-async
< "1.1.3"
- dns-forward
-
dns-lwt
= "1.1.0"
- dnssd
-
imaplet-lwt
>= "0.1.12"
-
letsencrypt
< "0.3.0"
-
letsencrypt-dns
< "1.0.0"
-
libres3
>= "0.3"
- miou
- vpnkit
Conflicts
None