Dns_zone
val parse : string -> (Dns.Name_rr_map.t, [> `Msg of string ]) Stdlib.result
parse data
attempts to parse the data
, given in zone file format
. It either returns the content as a map, or an error.
val decode_keys : 'a Domain_name.t -> string -> Dns.Dnskey.t Domain_name.Map.t
decode_keys zone data
decodes DNSKEY in data
, and ensure that all are within zone
. Errors are logged via the logs library.
val decode_zones : (string * string) list -> Domain_name.Set.t * Dns_trie.t
decode_zones (name, data)
parses the zones data
with the names name
, and constructs a trie that has been checked for consistency. The set of zones are returned, together with the constructed trie. Errors and inconsistencies are logged via the logs library, and the respective zone data is ignored.
val decode_zones_keys :
(string * string) list ->
Domain_name.Set.t * Dns_trie.t * ([ `raw ] Domain_name.t * Dns.Dnskey.t) list
decode_zones_keys (name, data)
is decode_zones
, but also if a name
ends with "_keys", the Dnskey records are decoded (using decode_keys
and are added to the last part of the return value.