Releases: mirage/ocaml-dns
Releases · mirage/ocaml-dns
Mirage DNS resolver support and more examples
- Add
Dns_resolver_mirage
module for making stub resolution requests
using the Mirage module types. Dns.Resolvconf
parses/etc/resolv.conf
entries usingIpaddr.t
instead ofstring
values now.- Adapt
Dns_resolver
andDns_resolver_unix
to useIpaddr.t
more. - Improve
mldig
to useIpaddr
more and add more RR printing to
match the conventionaldig
tool behaviour. - Expose
Dns.Packet.Not_implemented
exception rather than a pattern
match failure. - Depend on external
Base64
package instead of bundling one inside
theDns
packed module. - Add a local
opam
file for easier pinning. - Add an
examples/
directory with a DNS forwarder sample (#21).
Fix file descriptor leak in resolver
Fixes for Xen/Mirage backend
- Ensure that all
Dns.Buf.t
buffers are page-aligned, viaIo_page
. - Remove a Unix dependency that snuck into the
Dns_resolver
portable core, by adding a timeout argument to thecommfn
type. - Improve ocamldoc in
Dns_resolver_unix
.
Support multiple zonefiles per server
- Add
process_of_zonebufs
to handle multiple zone files. - Adapt
Dns_server_unix
to expose multiple zonebuf functions.
IPv6 support and better portability
- Use
Ipaddr.V6
to restore IPv6/AAAA RR support. process_query
now takes an output buffer so it doesn't have to
overwrite the input buffer it just parsed.- Add Travis continuous integration scripts.
- Regenerate with OASIS 0.4.1
- Split the
dns.lwt
into a portabledns.lwt-core
that doesn't
require Unix (from which a Mirage version can be built). The only
change to existing applications is that Unix-specific functions
have shifted intoDns_resolver_unix
orDns_server_unix
, with
the module types forPROCESSOR
andCLIENT
unchanged.
Use Ipaddr and functional processor interfaces
- Add path argument to `Resolv_conf in Dns_resolver.config.
Dns_resolver.t
is now a record type rather than a first-class module.- Fix
mldig
server and port options. - Change
Zone.load_zone
toZone.load
and make it functional overLoader.db
. - Use
Ipaddr.V4.t
addresses in favor of Cstruct or Uri_IP representations. - Fix
RRSIG
signed type to be of the answer rather than the question. - Fix
ANY
queries. - Add
Buf
to provide a nickname forchar Bigarray
s. - Change
Packet.{parse,marshal}
to use Buf.t rather than exposing Cstruct.t - Change
Packet.parse
to remove name map parameter - Factor protocol modules into
Protocol
with default DNS implementations - Add first-class
PROCESSOR
module toDns_server
for contextual
protocol extensions - Change
Dns_server.listen
to accept processor - Rename
Dns_server.listen_with_zonebuf
andDns_server.listen_with_zonefile
toDns_server.serve_with_zonebuf
andDns_server.serve_with_zonefile
resp. - Add
processor_of_process
,process_of_zonebuf
,
eventual_process_of_zonefile
, andserve_with_processor
toDns_server
- Rename
Query.query_answer
toQuery.answer
- Add
Query.response_of_answer
andQuery.answer_of_response
- Move
Dns_resolver.build_query
toQuery.create
- By default, DNS packet IDs are randomly generated with Random
Dns_resolver
now supports simultaneous resolver protocol requests- Fix reversed multiple TXT parse bug
- Move DNSSEC implementation to <//github.com/dsheets/ocaml-dnssec>