.\" Automatically generated by Pod::Man 4.10 (Pod::Simple 3.35) .\" .\" Standard preamble: .\" ======================================================================== .de Sp \" Vertical space (when we can't use .PP) .if t .sp .5v .if n .sp .. .de Vb \" Begin verbatim text .ft CW .nf .ne \\$1 .. .de Ve \" End verbatim text .ft R .fi .. .\" Set up some character translations and predefined strings. \*(-- will .\" give an unbreakable dash, \*(PI will give pi, \*(L" will give a left .\" double quote, and \*(R" will give a right double quote. \*(C+ will .\" give a nicer C++. Capital omega is used to do unbreakable dashes and .\" therefore won't be available. \*(C` and \*(C' expand to `' in nroff, .\" nothing in troff, for use with C<>. .tr \(*W- .ds C+ C\v'-.1v'\h'-1p'\s-2+\h'-1p'+\s0\v'.1v'\h'-1p' .ie n \{\ . ds -- \(*W- . ds PI pi . if (\n(.H=4u)&(1m=24u) .ds -- \(*W\h'-12u'\(*W\h'-12u'-\" diablo 10 pitch . if (\n(.H=4u)&(1m=20u) .ds -- \(*W\h'-12u'\(*W\h'-8u'-\" diablo 12 pitch . ds L" "" . ds R" "" . ds C` "" . ds C' "" 'br\} .el\{\ . ds -- \|\(em\| . ds PI \(*p . ds L" `` . ds R" '' . ds C` . ds C' 'br\} .\" .\" Escape single quotes in literal strings from groff's Unicode transform. .ie \n(.g .ds Aq \(aq .el .ds Aq ' .\" .\" If the F register is >0, we'll generate index entries on stderr for .\" titles (.TH), headers (.SH), subsections (.SS), items (.Ip), and index .\" entries marked with X<> in POD. Of course, you'll have to process the .\" output yourself in some meaningful fashion. .\" .\" Avoid warning from groff about undefined register 'F'. .de IX .. .nr rF 0 .if \n(.g .if rF .nr rF 1 .if (\n(rF:(\n(.g==0)) \{\ . if \nF \{\ . de IX . tm Index:\\$1\t\\n%\t"\\$2" .. . if !\nF==2 \{\ . nr % 0 . nr F 2 . \} . \} .\} .rr rF .\" .\" Accent mark definitions (@(#)ms.acc 1.5 88/02/08 SMI; from UCB 4.2). .\" Fear. Run. Save yourself. No user-serviceable parts. . \" fudge factors for nroff and troff .if n \{\ . ds #H 0 . ds #V .8m . ds #F .3m . ds #[ \f1 . ds #] \fP .\} .if t \{\ . ds #H ((1u-(\\\\n(.fu%2u))*.13m) . ds #V .6m . ds #F 0 . ds #[ \& . ds #] \& .\} . \" simple accents for nroff and troff .if n \{\ . ds ' \& . ds ` \& . ds ^ \& . ds , \& . ds ~ ~ . ds / .\} .if t \{\ . ds ' \\k:\h'-(\\n(.wu*8/10-\*(#H)'\'\h"|\\n:u" . ds ` \\k:\h'-(\\n(.wu*8/10-\*(#H)'\`\h'|\\n:u' . ds ^ \\k:\h'-(\\n(.wu*10/11-\*(#H)'^\h'|\\n:u' . ds , \\k:\h'-(\\n(.wu*8/10)',\h'|\\n:u' . ds ~ \\k:\h'-(\\n(.wu-\*(#H-.1m)'~\h'|\\n:u' . ds / \\k:\h'-(\\n(.wu*8/10-\*(#H)'\z\(sl\h'|\\n:u' .\} . \" troff and (daisy-wheel) nroff accents .ds : \\k:\h'-(\\n(.wu*8/10-\*(#H+.1m+\*(#F)'\v'-\*(#V'\z.\h'.2m+\*(#F'.\h'|\\n:u'\v'\*(#V' .ds 8 \h'\*(#H'\(*b\h'-\*(#H' .ds o \\k:\h'-(\\n(.wu+\w'\(de'u-\*(#H)/2u'\v'-.3n'\*(#[\z\(de\v'.3n'\h'|\\n:u'\*(#] .ds d- \h'\*(#H'\(pd\h'-\w'~'u'\v'-.25m'\f2\(hy\fP\v'.25m'\h'-\*(#H' .ds D- D\\k:\h'-\w'D'u'\v'-.11m'\z\(hy\v'.11m'\h'|\\n:u' .ds th \*(#[\v'.3m'\s+1I\s-1\v'-.3m'\h'-(\w'I'u*2/3)'\s-1o\s+1\*(#] .ds Th \*(#[\s+2I\s-2\h'-\w'I'u*3/5'\v'-.3m'o\v'.3m'\*(#] .ds ae a\h'-(\w'a'u*4/10)'e .ds Ae A\h'-(\w'A'u*4/10)'E . \" corrections for vroff .if v .ds ~ \\k:\h'-(\\n(.wu*9/10-\*(#H)'\s-2\u~\d\s+2\h'|\\n:u' .if v .ds ^ \\k:\h'-(\\n(.wu*10/11-\*(#H)'\v'-.4m'^\v'.4m'\h'|\\n:u' . \" for low resolution devices (crt and lpr) .if \n(.H>23 .if \n(.V>19 \ \{\ . ds : e . ds 8 ss . ds o a . ds d- d\h'-1'\(ga . ds D- D\h'-1'\(hy . ds th \o'bp' . ds Th \o'LP' . ds ae ae . ds Ae AE .\} .rm #[ #] #H #V #F C .\" ======================================================================== .\" .IX Title "GDNSD.DJBDNS 5" .TH GDNSD.DJBDNS 5 "2021-02-11" "gdnsd 2.4.3" "gdnsd" .\" For nroff, turn off justification. Always turn off hyphenation; it makes .\" way too many mistakes in technical documents. .if n .ad l .nh .SH "NAME" gdnsd.djbdns \- gdnsd support for the djbdns tinydns zone data format .SH "SYNOPSIS" .IX Header "SYNOPSIS" .Vb 5 \& /etc/gdnsd/djbdns/my\-djbdns\-datafile: \& Zexample.com:a.ns.example.com:hostmaster.example.com::::::86400 \& &example.com:192.0.2.1:a.ns.example.com.:86400 \& &example.com:192.0.2.2:b.ns.example.com.:86400 \& =foo.example.com:192.0.2.100:86400 .Ve .SH "DESCRIPTION" .IX Header "DESCRIPTION" This zone data backend implements the tinydns format described in . .PP As of this writing, djbdns file format support is considered \&\s-1EXPERIMENTAL.\s0 Feel free to submit issues and/or pull requests to make the implementation and documentation more correct and complete! There are probably many legal djbdns zone datasets that do not load correctly (or at all) yet. However, there are users loading data from this in production. .PP The djbdns zone data backend loads all files found within the \fIdjbdns\fR subdirectory of the daemon config directory, default \fI/etc/gdnsd/djbdns/\fR. Each file can contain multiple zones (identified by \f(CW\*(C`Z\*(C'\fR records). .PP At this time, unlike the \s-1RFC1035\s0 zone data backend, the djbdns backend does not support automatic reloading of updates based on filesystem notification. It only explicitly reloads any changed data on \f(CW\*(C`SIGUSR1\*(C'\fR / \f(CW\*(C`gdnsd reload\-zones\*(C'\fR. .SH "SUPPORTED RECORD TYPES" .IX Header "SUPPORTED RECORD TYPES" The following record types are implemented in the parser: .IP "\fBZ\fR \- \s-1SOA\s0" 4 .IX Item "Z - SOA" The \f(CW\*(C`Z\*(C'\fR type denotes the existence of a zone and defines its SOA-record. All records within a file must be contained within a zone defined by a \f(CW\*(C`Z\*(C'\fR entry. .IP "\fB&\fR \- \s-1NS\s0 (+ A)" 4 .IX Item "& - NS (+ A)" Implemented. .IP "\fB.\fR \- \s-1NS + SOA\s0 (+ A)" 4 .IX Item ". - NS + SOA (+ A)" The \f(CW\*(C`.\*(C'\fR type is meant to create an \s-1SOA\s0 along with the zone's \&\s-1NS\s0 records. At this time, gdnsd doesn't support this record for defining the \s-1SOA\s0 or a zone's existence, and treats it just like \f(CW\*(C`&\*(C'\fR above. .IP "\fB@\fR \- \s-1MX\s0 (+ A)" 4 .IX Item "@ - MX (+ A)" Implemented. .IP "\fB+\fR \- A" 4 .IX Item "+ - A" If the 5th field is \f(CW\*(C`~~\*(C'\fR, this can be used to create \f(CW\*(C`DYNA\*(C'\fR records as well, with the \f(CW\*(C`plugin!resource\*(C'\fR part in the 2nd field. .IP "\fB=\fR \- A + \s-1PTR\s0" 4 .IX Item "= - A + PTR" The autogeneration of \s-1PTR\s0 records for \f(CW\*(C`=\*(C'\fR is not implemented yet, so this is treated identically to \f(CW\*(C`+\*(C'\fR above. .IP "\fBC\fR \- \s-1CNAME\s0" 4 .IX Item "C - CNAME" If the 5th field is \f(CW\*(C`~~\*(C'\fR, this can be used to create \f(CW\*(C`DYNC\*(C'\fR records as well, with the \f(CW\*(C`plugin!resource\*(C'\fR part in the 2nd field. .IP "\fB\e\fR \- \s-1TXT\s0" 4 .IX Item " - TXT" Implemented. .IP "\fBS\fR \- \s-1SRV\s0" 4 .IX Item "S - SRV" Implemented. .IP "\fBN\fR \- \s-1NAPTR\s0" 4 .IX Item "N - NAPTR" Implemented. .IP "\fB3\fR \- \s-1AAAA\s0" 4 .IX Item "3 - AAAA" Not yet implemented. .IP "\fB6\fR \- \s-1AAAA + PTR\s0" 4 .IX Item "6 - AAAA + PTR" Not yet implemented. .IP "\fB^\fR \- \s-1PTR\s0" 4 .IX Item "^ - PTR" Not yet implemented. .IP "\fB:\fR \- Raw" 4 .IX Item ": - Raw" Not yet implemented. .SH "SEE ALSO" .IX Header "SEE ALSO" \&\fBgdnsd\fR\|(8), \fBgdnsd.config\fR\|(5), \fBgdnsd.zonefile\fR\|(8) .PP The gdnsd manual. .SH "COPYRIGHT AND LICENSE" .IX Header "COPYRIGHT AND LICENSE" Copyright (c) 2014 Brandon L Black .PP This file is part of gdnsd. .PP gdnsd is free software: you can redistribute it and/or modify it under the terms of the \s-1GNU\s0 General Public License as published by the Free Software Foundation, either version 3 of the License, or (at your option) any later version. .PP gdnsd is distributed in the hope that it will be useful, but \s-1WITHOUT ANY WARRANTY\s0; without even the implied warranty of \&\s-1MERCHANTABILITY\s0 or \s-1FITNESS FOR A PARTICULAR PURPOSE.\s0 See the \&\s-1GNU\s0 General Public License for more details. .PP You should have received a copy of the \s-1GNU\s0 General Public License along with gdnsd. If not, see .