package dns
Install
Dune Dependency
Authors
Maintainers
Sources
sha256=27f83f6ef242df944b8b272eedbad736daa649f3b4efc77abf142ef3a7008e26
md5=d7f1801871de48f822871bfb728ca501
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
- ppx_cstruct
-
cstruct
>= "2.0.0" & < "3.4.0"
- base-bytes
- ppx_tools
-
topkg
build & >= "0.8.0"
-
ocamlbuild
build
-
ocamlfind
build
-
ocaml
>= "4.03.0" & < "5.0"
Dev Dependencies (10)
-
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 & >= "1.1.0" & < "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
< "3.0.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"