Module Dns.Tsig_op

Signature operations and their errors.

type e = [
| `Bad_key of [ `raw ] Domain_name.t * Tsig.t
| `Bad_timestamp of [ `raw ] Domain_name.t * Tsig.t * Dnskey.t
| `Bad_truncation of [ `raw ] Domain_name.t * Tsig.t
| `Invalid_mac of [ `raw ] Domain_name.t * Tsig.t
]

The type of a verification error.

val pp_e : e Fmt.t

pp_e ppf e pretty-prints the verification error e on ppf.

type verify = ?⁠mac:Cstruct.t -> Ptime.t -> Packet.t -> [ `raw ] Domain_name.t -> ?⁠key:Dnskey.t -> Tsig.t -> Cstruct.t -> (Tsig.t * Cstruct.t * Dnskey.te * Cstruct.t option) Stdlib.result

The type of a verification function. The mac contains data for a reply to a signed request.

val no_verify : verify

no_verify always returns an error.

type sign = ?⁠mac:Cstruct.t -> ?⁠max_size:int -> [ `raw ] Domain_name.t -> Tsig.t -> key:Dnskey.t -> Packet.t -> Cstruct.t -> (Cstruct.t * Cstruct.t) option

The type of a signature function. The mac contains data for a reply to a signed request.

val no_sign : sign

no_sign always returns None.