dnscurve

DNSCurve protocol for DNS queries over a secure channel
Library dnscurve
Module Dnscurve
exception Protocol_error of string
val get_key : string list -> Sodium.public Sodium.Box.key option
val encode_streamlined_query : ?alloc:( unit -> Dns.Buf.t ) -> ?keyring:keyring -> Sodium.Box.keypair -> Sodium.public Sodium.Box.key -> Dns.Buf.t -> channel * Sodium.Box.Bigbytes.storage
val decode_streamlined_query : ?keyring:keyring -> Sodium.secret Sodium.Box.key -> Sodium.Box.Bigbytes.storage -> channel * Dns.Buf.t

Raises Protocol_error , Sodium.VerificationFailure

val encode_streamlined_response : ?alloc:( unit -> Dns.Buf.t ) -> channel -> Dns.Buf.t -> Sodium.Box.Bigbytes.storage
val decode_streamlined_response : channel -> Sodium.Box.Bigbytes.storage -> Dns.Buf.t

Raises Protocol_error , Sodium.VerificationFailure

val encode_txt_query : ?keyring:keyring -> id:int -> Sodium.Box.keypair -> Sodium.public Sodium.Box.key -> string list -> Dns.Buf.t -> channel * Dns.Packet.t
val decode_txt_query : ?keyring:keyring -> Sodium.secret Sodium.Box.key -> Dns.Packet.t -> channel * Dns.Buf.t

Raises Protocol_error , Base32.Decode_error , Sodium.VerificationFailure

val encode_txt_response : channel -> Dns.Packet.t -> Dns.Buf.t -> Dns.Packet.t
val decode_txt_response : channel -> Dns.Packet.t -> Dns.Buf.t

Raises Protocol_error, Sodium.VerificationFailure