dns

An opinionated Domain Name System (DNS) library
Library dns
Module Dns . Tlsa
type cert_usage =
| CA_constraint
| Service_certificate_constraint
| Trust_anchor_assertion
| Domain_issued_certificate
| Unknown of int(*

The type of the certificate usage field.

*)
val cert_usage_to_int : cert_usage -> int

cert_usage_to_int cu is the 8 bit integer representation of cu.

val int_to_cert_usage : int -> cert_usage

int_to_cert_usage i decodes i to a certificate usage constructor.

  • raises Invalid_argument

    if i does not fit in one octet.

val pp_cert_usage : cert_usage Fmt.t

pp_cert_usage ppf cu pretty-prints the certificate usage on ppf.

type selector =
| Full_certificate
| Subject_public_key_info
| Private
| Unknown of int(*

The type of the selector.

*)
val selector_to_int : selector -> int

selector_to_int s is the 8 bit integer representation of s.

val int_to_selector : int -> selector

int_to_selector i decodes i to a selector.

  • raises Invalid_argument

    if i does not fit in one octet.

val pp_selector : selector Fmt.t

pp_selector ppf s pretty-prints the selector s on ppf.

type matching_type =
| No_hash
| SHA256
| SHA512
| Unknown of int(*

The type of matching type.

*)
val matching_type_to_int : matching_type -> int

matching_type_to_int m is the 8 bit integer representation of m.

val int_to_matching_type : int -> matching_type

int_to_matching_type i decodes i to a matching type constructor.

  • raises Invalid_argument

    if i does not fit in one octet.

val pp_matching_type : matching_type Fmt.t

pp_matching_type ppf m pretty-prints the matching type m on ppf.

type t = {
cert_usage : cert_usage;
selector : selector;
matching_type : matching_type;
data : Cstruct.t;
}

The type of a TLSA record: certificate usage, selector, matching type, and data.

val pp : t Fmt.t

pp ppf t pretty-prints the TLSA record t on ppf.

val compare : t -> t -> int

compare a b compare the TLSA record a with b, comparing the integer representations of the individual fields in order.