package dns
Install
Dune Dependency
Authors
Maintainers
Sources
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
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 (4)
-
ounit
with-test
-
pcap-format
with-test
-
bigarray-compat
with-test
-
mmap
with-test
Used by (10)
- dns-async
- dns-forward
-
dns-lwt
>= "1.1.3"
- dnssd
-
imaplet-lwt
>= "0.1.12"
-
letsencrypt
< "0.3.0"
-
letsencrypt-dns
< "1.0.0"
-
libres3
>= "0.3"
- miou
- vpnkit
Conflicts
None