X-Git-Url: https://git.hcoop.net/hcoop/domtool2.git/blobdiff_plain/728f70338362f7c59b62dd3e0b66d6583808d877..58f4ce3bac23ceef3d84ab97144d1b4b50f27606:/lib/domain.dtl diff --git a/lib/domain.dtl b/lib/domain.dtl index f7e8a74..08606a6 100644 --- a/lib/domain.dtl +++ b/lib/domain.dtl @@ -8,6 +8,12 @@ extern type no_newlines; extern type ip; {{An IP address}} +extern type ipv6; +{{An IPv6 address}} + +extern type your_ip; +extern val your_ip_to_ip : your_ip -> ip; +{{An IP address that you're authorized to use; e.g., for an SSL web host}} extern type host; {{A hostname; that is, (more or less) an alphanumeric string}} @@ -36,9 +42,15 @@ extern type your_group; {{UNIX users and groups that you're allowed to run as}} extern type your_path; -{{A filesystem path that you're allowed to use. +{{A filesystem path that you're allowed to write to. The set of permitted values is generated from a set of roots by closing it under the subdirectory relation.}} +extern val end_in_slash : your_path -> your_path; +{{Add a slash at the end of a path, if there isn't one already.}} + +extern type readable_path; +{{Like [your_path], but also includes some paths that everyone is allowed to + read.}} context Domain; {{Configuration directives specific to an Internet domain}} @@ -54,7 +66,7 @@ extern type soa; {{DNS start-of-authority record}} extern val soa : domain -> serial -> int -> int -> int -> int -> soa; -val defaultSoa = soa "deleuze.hcoop.net" serialAuto 172800 900 1209600 3600; +val defaultSoa = soa "deleuze.hcoop.net" serialAuto 86400 1800 1209600 3600; extern type dns_node; {{A node offering DNS services}} @@ -80,4 +92,7 @@ extern val domain : your_domain -> Domain => [Root] {Aliases : [your_domain], DN extern type mail_node; {{A node offering SMTP services}} -extern val mail_node_to_node : mail_node -> node; \ No newline at end of file +extern val mail_node_to_node : mail_node -> node; + +extern val domainHost : host -> [Domain] {} => { Hostname : domain }; +{{Appends the current domain onto a host.}}