package dnssec
DNSSec support for OCaml-DNS
Install
Dune Dependency
Authors
Maintainers
Sources
dns-9.1.0.tbz
sha256=8f3ec95acf14f574219b5440a689eae1acc2a49cb1d8a066f9b23a7ac68f44f0
sha512=7bf2d099919a410f270d157a04a8d2e1c499269cca868e19a80396cdfc84a9b844c353267cf9183f585bb9b975445b8e2d0a6dd64d85b8de19e7752ec495cbe9
doc/dnssec/Dnssec/index.html
Module Dnssec
Source
Source
type 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
]
Source
val pp_pub :
Format.formatter ->
[< `ED25519 of 'a
| `P256 of 'b
| `P384 of 'c
| `RSA of Mirage_crypto_pk.Rsa.pub ] ->
unit
Source
val digest :
Dns.Ds.digest_type ->
[ `raw ] Domain_name.t ->
Dns.Dnskey.t ->
(string, [> `Msg of string ]) result
Source
val dnskey_to_pk :
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 ],
[> `Msg of string ])
result
Source
val 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, [ `Msg of string ]) result
Source
val validate_ds :
[ `raw ] Domain_name.t ->
Dns.Rr_map.Dnskey_set.t ->
Dns.Ds.t ->
(Dns.Rr_map.Dnskey_set.elt, [> `Msg of string ]) result
Source
val 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, [> `Msg of string ]) result
Source
val 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 ]) result
Source
val is_name_in_chain :
soa_name:'a Domain_name.t ->
name:'b Domain_name.t ->
owner:'c Domain_name.t ->
('d * Dns.Nsec.t) ->
bool
Source
val 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 ]) result
Source
val 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 ])
result
Source
val 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 ]) result
Source
val nsec3_hashed_name :
string ->
int ->
soa_name:'a Domain_name.t ->
[ `raw ] Domain_name.t ->
[ `raw ] Domain_name.t
Source
val 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 ])
result
Source
val 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 ])
result
Source
val 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 ]) result
Source
val 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 ]) result
Source
val 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 ])
result
Source
val 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 ]) result
Source
val 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 ]) result
Source
val 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 ]) result
Source
val 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 ]) result
Source
val 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 ]) result
Source
val has_delegation :
Dns.Name_rr_map.t ->
'a Domain_name.t ->
(Domain_name.Map.key * Dns.Rr_map.t) option
Source
val 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 ])
result
Source
val 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 ]) result
Source
val validate_answer :
'a. ?signer_name:[ `raw ] Domain_name.t ->
[ `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 ])
result
Source
type 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
]
Source
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 ] ->
unit
Source
val fold_option :
'a Domain_name.t option ->
'a Domain_name.t option ->
'a Domain_name.t option
Source
val 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.t
Source
val verify_reply :
'a. ?fuel:int ->
?follow_cname:bool ->
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 ])
result
Source
val verify_packet :
Ptime.t ->
Dns.Rr_map.Dnskey_set.t ->
Dns.Packet.t ->
(Dns.Packet.t, [> `Msg of string ]) result
sectionYPositions = computeSectionYPositions($el), 10)"
x-init="setTimeout(() => sectionYPositions = computeSectionYPositions($el), 10)"
>