DnssecSourcetype pub = [ | `P256 of Mirage_crypto_ec.P256.Dsa.pub| `P384 of Mirage_crypto_ec.P384.Dsa.pub| `ED25519 of Mirage_crypto_ec.Ed25519.pub| `RSA of Mirage_crypto_pk.Rsa.pub ]val pp_pub :
Format.formatter ->
[< `ED25519 of 'a
| `P256 of 'b
| `P384 of 'c
| `RSA of Mirage_crypto_pk.Rsa.pub ] ->
unitval digest :
Dns.Ds.digest_type ->
[ `raw ] Domain_name.t ->
Dns.Dnskey.t ->
(string, [> `Extended of [> `Unsupported_Ds_digest ] * string option ])
resultval dnskey_to_pk :
'a Domain_name.t ->
Dns.Dnskey.t ->
([> `ED25519 of Mirage_crypto_ec.Ed25519.pub
| `P256 of Mirage_crypto_ec.P256.Dsa.pub
| `P384 of Mirage_crypto_ec.P384.Dsa.pub
| `RSA of Mirage_crypto_pk.Rsa.pub ],
[> `Extended of [> `Unsupported_Dnskey_algorithm ] * string option
| `Msg of string ])
resultval verify :
'a. Ptime.t ->
pub ->
[ `raw ] Domain_name.t ->
Dns.Rrsig.t ->
'a Dns.Rr_map.key ->
'a ->
([ `raw ] Domain_name.t * [ `raw ] Domain_name.t,
[> `Extended of Dns.Extended_error.t | `Msg of string ])
resultval validate_ds :
[ `raw ] Domain_name.t ->
Dns.Rr_map.Dnskey_set.t ->
Dns.Ds.t ->
(Dns.Rr_map.Dnskey_set.elt,
[> `Extended of [> `Unsupported_Ds_digest ] * string option
| `Msg of string ])
resultval validate_rrsig_keys :
Ptime.t ->
Dns.Rr_map.Dnskey_set.t ->
Dns.Rr_map.Rrsig_set.t ->
[ `raw ] Domain_name.t ->
'a Dns.Rr_map.key ->
'a ->
([ `raw ] Domain_name.t * [ `raw ] Domain_name.t,
[> `Extended of Dns.Extended_error.t | `Msg of string ])
resultval find_soa :
(Dns.Rr_map.t * 'a Domain_name.t KM.t) Domain_name.Map.t ->
([ `raw ] Domain_name.t * Dns.Soa.t, [> `Msg of string ]) resultval is_name_in_chain :
soa_name:'a Domain_name.t ->
name:'b Domain_name.t ->
owner:'c Domain_name.t ->
('d * Dns.Nsec.t) ->
boolval name_in_chain :
soa_name:'a Domain_name.t ->
name:'b Domain_name.t ->
owner:'c Domain_name.t ->
('d * Dns.Nsec.t) ->
(unit, [> `Msg of string ]) resultval nsec_chain :
soa_name:'a Domain_name.t ->
'b Domain_name.t ->
(Dns.Rr_map.t * 'c Domain_name.t KM.t) Domain_name.Map.t ->
(Domain_name.Map.key * Dns.Nsec.t Dns.Rr_map.with_ttl, [> `Msg of string ])
resultval wildcard_non_existence :
soa_name:'a Domain_name.t ->
[ `raw ] Domain_name.t ->
(Dns.Rr_map.t * 'b Domain_name.t KM.t) Domain_name.Map.t ->
(unit, [> `Msg of string ]) resultval nsec3_hashed_name :
string ->
int ->
soa_name:'a Domain_name.t ->
[ `raw ] Domain_name.t ->
[ `raw ] Domain_name.tval nsec3_rrs :
(Dns.Rr_map.t * 'a Domain_name.t KM.t) Domain_name.Map.t ->
((Dns.Rr_map.t * 'a Domain_name.t KM.t) Domain_name.Map.t * string * int,
[> `Msg of string ])
resultval nsec3_closest_encloser :
(Dns.Rr_map.t * 'a) Domain_name.Map.t ->
string ->
int ->
soa_name:'b Domain_name.t ->
[ `raw ] Domain_name.t ->
([ `raw ] Domain_name.t * [ `raw ] Domain_name.t * [ `raw ] Domain_name.t,
[> `Msg of string ])
resultval nsec3_between :
(Dns.Rr_map.t * 'a) Domain_name.Map.t ->
soa_name:'b Domain_name.t ->
'c Domain_name.t ->
(Domain_name.Map.key * (Dns.Rr_map.t * 'a), [> `Msg of string ]) resultval nsec3_non_existence :
[ `raw ] Domain_name.t ->
soa_name:'a Domain_name.t ->
(Dns.Rr_map.t * 'b Domain_name.t KM.t) Domain_name.Map.t ->
(Dns.Nsec3.t Dns.Rr_map.with_ttl, [> `Msg of string ]) resultval nsec3_chain :
soa_name:'a Domain_name.t ->
wc_name:'b Domain_name.t ->
name:'c Domain_name.t ->
(Dns.Rr_map.t * 'd Domain_name.t KM.t) Domain_name.Map.t ->
(Domain_name.Map.key * (Dns.Rr_map.t * 'd Domain_name.t KM.t),
[> `Msg of string ])
resultval nsec_non_existence :
[ `raw ] Domain_name.t ->
soa_name:'a Domain_name.t ->
(Dns.Rr_map.t * 'b Domain_name.t KM.t) Domain_name.Map.t ->
(unit, [> `Msg of string ]) resultval no_domain :
[ `raw ] Domain_name.t ->
(Dns.Rr_map.t * 'a Domain_name.t KM.t) Domain_name.Map.t ->
([ `raw ] Domain_name.t * Dns.Soa.t, [> `Msg of string ]) resultval nsec_no_data :
soa_name:'a Domain_name.t ->
Domain_name.Map.key ->
'b Dns.Rr_map.key ->
(Dns.Rr_map.t * 'c Domain_name.t KM.t) Domain_name.Map.t ->
(unit, [> `Msg of string ]) resultval nsec3_no_data :
soa_name:'a Domain_name.t ->
[ `raw ] Domain_name.t ->
'b Dns.Rr_map.key ->
(Dns.Rr_map.t * 'c Domain_name.t KM.t) Domain_name.Map.t ->
(unit, [> `Msg of string ]) resultval no_data :
Domain_name.Map.key ->
'a Dns.Rr_map.key ->
(Dns.Rr_map.t * 'b Domain_name.t KM.t) Domain_name.Map.t ->
([ `raw ] Domain_name.t * Dns.Soa.t, [> `Msg of string ]) resultval has_delegation :
Dns.Name_rr_map.t ->
'a Domain_name.t ->
(Domain_name.Map.key * Dns.Rr_map.t) optionval validate_delegation :
[ `raw ] Domain_name.t option ->
(Dns.Rr_map.t * 'a Domain_name.t KM.t) Domain_name.Map.t ->
(Domain_name.Map.key * Dns.Rr_map.t) ->
([> `Signed_delegation of
Domain_name.Map.key * Domain_name.Host_set.t * Dns.Rr_map.Ds_set.t
| `Unsigned_delegation of Domain_name.Map.key * Domain_name.Host_set.t ],
[> `Msg of string ])
resultval maybe_validate_wildcard_answer :
[ `raw ] Domain_name.t option ->
(Dns.Rr_map.t * 'a Domain_name.t KM.t) Domain_name.Map.t ->
'b Domain_name.t KM.t ->
'c Domain_name.t ->
'd Dns.Rr_map.key ->
(unit, [> `Msg of string ]) resultval validate_answer :
'a. ?signer_name:??? ->
[ `raw ] Domain_name.t ->
'a Dns.Rr_map.rr ->
(Dns.Rr_map.t * [ `raw ] Domain_name.t KM.t) Domain_name.Map.t ->
(Dns.Rr_map.t * [ `raw ] Domain_name.t KM.t) Domain_name.Map.t ->
Dns.Name_rr_map.t ->
('a,
[> `Cname of [ `raw ] Domain_name.t
| `Msg of string
| `No_data of [ `raw ] Domain_name.t * Dns.Soa.t
| `Signed_delegation of
[ `raw ] Domain_name.t * Domain_name.Host_set.t * Dns.Rr_map.Ds_set.t
| `Unsigned_delegation of [ `raw ] Domain_name.t * Domain_name.Host_set.t ])
resulttype err = [ | `Cname of [ `raw ] Domain_name.t| `Unsigned_delegation of [ `raw ] Domain_name.t * Domain_name.Host_set.t| `Signed_delegation of
[ `raw ] Domain_name.t * Domain_name.Host_set.t * Dns.Rr_map.Ds_set.t| `No_data of [ `raw ] Domain_name.t * Dns.Soa.t| `No_domain of [ `raw ] Domain_name.t * Dns.Soa.t| `Msg of string ]val pp_err :
Format.formatter ->
[< `Cname of 'a Domain_name.t
| `Msg of string
| `No_data of 'b Domain_name.t * Dns.Soa.t
| `No_domain of 'c Domain_name.t * Dns.Soa.t
| `Signed_delegation of
'd Domain_name.t * Domain_name.Host_set.t * Dns.Rr_map.Ds_set.t
| `Unsigned_delegation of 'e Domain_name.t * Domain_name.Host_set.t ] ->
unitval fold_option :
'a Domain_name.t option ->
'a Domain_name.t option ->
'a Domain_name.t optionval check_signatures :
Ptime.t ->
Dns.Rr_map.Dnskey_set.t ->
Dns.Rr_map.t Domain_name.Map.t ->
[ `raw ] Domain_name.t option
* (Dns.Rr_map.t * [ `raw ] Domain_name.t KM.t) Domain_name.Map.tval verify_reply :
'a. ?fuel:??? ->
?follow_cname:??? ->
Ptime.t ->
Dns.Rr_map.Dnskey_set.t ->
[ `raw ] Domain_name.t ->
'a Dns.Rr_map.rr ->
Dns.Packet.reply ->
('a,
[> `Cname of [ `raw ] Domain_name.t
| `Msg of string
| `No_data of [ `raw ] Domain_name.t * Dns.Soa.t
| `No_domain of [ `raw ] Domain_name.t * Dns.Soa.t
| `Signed_delegation of
[ `raw ] Domain_name.t * Domain_name.Host_set.t * Dns.Rr_map.Ds_set.t
| `Unsigned_delegation of [ `raw ] Domain_name.t * Domain_name.Host_set.t ])
resultval verify_packet :
Ptime.t ->
Dns.Rr_map.Dnskey_set.t ->
Dns.Packet.t ->
(Dns.Packet.t, [> `Msg of string ]) result