package dns
Install
Dune Dependency
Authors
Maintainers
Sources
sha256=75493f52caacaf6093a29781fdbe46217e34d21ca0a5930f0d8ac109babad021
md5=42a49a41d3b53567e074b864926d4411
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.1"
- dnssd
-
imaplet-lwt
>= "0.1.12"
-
letsencrypt
< "0.3.0"
-
letsencrypt-dns
< "1.0.0"
-
libres3
>= "0.3"
- miou
- vpnkit
Conflicts
None