package dns-server
Install
Dune Dependency
Authors
Maintainers
Sources
sha256=8f3ec95acf14f574219b5440a689eae1acc2a49cb1d8a066f9b23a7ac68f44f0
sha512=7bf2d099919a410f270d157a04a8d2e1c499269cca868e19a80396cdfc84a9b844c353267cf9183f585bb9b975445b8e2d0a6dd64d85b8de19e7752ec495cbe9
doc/dns-server.mirage/Dns_server_mirage/Make/index.html
Module Dns_server_mirage.Make
Source
Parameters
module P : Mirage_clock.PCLOCK
module M : Mirage_clock.MCLOCK
module T : Mirage_time.S
module S : Tcpip.Stack.V4V6
Signature
val primary :
?on_update:
(old:Dns_trie.t ->
authenticated_key:[ `raw ] Domain_name.t option ->
update_source:Ipaddr.t ->
Dns_server.Primary.s ->
unit Lwt.t) ->
?on_notify:
([ `Notify of Dns.Soa.t option | `Signed_notify of Dns.Soa.t option ] ->
Dns_server.Primary.s ->
(Dns_trie.t * ([ `raw ] Domain_name.t * Dns.Dnskey.t) list) option Lwt.t) ->
?timer:int ->
?port:int ->
S.t ->
Dns_server.Primary.s ->
unit
primary ~on_update ~timer ~port stack primary
starts a primary server on port
(default 53, both TCP and UDP) with the given primary
configuration. timer
is the DNS notify timer in seconds, and defaults to 2 seconds. on_update ~old ~authenticated_key ~update_source s
is a callback if the data served by the primary server s
got updated by a potentially authenticated nsupdate packet, the used authenticated_key
and source update_source
are passed to the callback. The on_notify notify s
callback is executed when a notify request is received by the primary DNS server (may be used for signaling of a (hidden) DNS secondary server).
val secondary :
?on_update:(old:Dns_trie.t -> Dns_server.Secondary.s -> unit Lwt.t) ->
?timer:int ->
?port:int ->
S.t ->
Dns_server.Secondary.s ->
unit
secondary ~on_update ~timer ~port stack secondary
starts a secondary server on port
(default 53). The on_update
callback is executed when the zone changes. The timer
(in seconds, defaults to 5 seconds) is used for refreshing zones.