package dns
Install
Dune Dependency
Authors
Maintainers
Sources
sha256=6356939529548b979c350d1323971bc9a2aa5b937d4d57412dbd8ef1f87d1c3e
md5=1944d2d6c04a1eae70215568c76d2e45
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.
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 (14)
- result
- hashcons
-
base64
>= "2.0.0" & < "3.0.0"
-
uri
>= "1.7.0" & < "1.9.4"
-
ipaddr
>= "2.6.0" & < "2.8.0"
- re
-
cstruct
>= "2.0.0" & < "3.0.0"
- base-bytes
- ppx_deriving
- ppx_cstruct
-
topkg
build & >= "0.8.0"
-
ocamlbuild
build
-
ocamlfind
build
-
ocaml
>= "4.03.0" & < "5.0"
Dev Dependencies (11)
-
io-page-unix
with-test
-
duration
with-test
-
mirage-profile
with-test
-
mirage-kv-lwt
with-test & < "2.0.0"
-
mirage-kv
with-test & < "2.0.0"
-
mirage-time-lwt
with-test
-
mirage-stack-lwt
with-test
-
mirage-protocols
with-test & < "2.0.0"
-
pcap-format
with-test
-
ounit
with-test
-
lwt
with-test
Used by (11)
-
dns-async
= "1.1.1"
- dns-forward
- dnssd
-
imaplet-lwt
>= "0.1.12"
- jitsu
-
letsencrypt
< "0.3.0"
-
letsencrypt-dns
< "1.0.0"
-
libres3
>= "0.3"
- miou
-
mirage-dns
< "2.7.0"
- vpnkit
Conflicts (4)
-
mirage-kv-lwt
>= "2.0.0"
-
lwt
< "2.4.7" | >= "3.0.0"
-
async
< "112.24.00"
-
mirage-types-lwt
< "3.0.0"