.\" Automatically generated by Pod::Man 2.27 (Pod::Simple 3.28) .\" .\" 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 turned on, 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 "dnsval.conf 3" .TH dnsval.conf 3 "2013-01-02" "perl v5.18.1" "Programmer's Manual" .\" 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" dnsval.conf, resolv.conf, root.hints \- Configuration policy for the DNSSEC validator library libval(3). val_add_valpolicy \- Dynamically add a new policy to the validator context val_remove_valpolicy \- Remove a dynamically added policy from the validator context .SH "SYNOPSIS" .IX Header "SYNOPSIS" .Vb 3 \& int val_add_valpolicy(val_context_t *context, \& void *policy_definition, \& val_policy_entry_t **pol); \& \& int val_remove_valpolicy(val_context_t *context, \& val_policy_entry_t *pol); \& \& typedef struct { \& char *keyword; \& char *zone; \& char *value; \& long ttl; \& } libval_policy_definition_t; .Ve .SH "DESCRIPTION" .IX Header "DESCRIPTION" Applications can use local policy to influence the validation outcome. Examples of local policy elements include trust anchors for different zones and untrusted algorithms for cryptographic keys and hashes. Local policy may vary for different applications and operating scenarios. .PP The \fI\fIval_add_valpolicy()\fI\fR function can be used to dynamically add a new policy for a given context (the policies are not added persistently to the system configuration). The policy_definition field contains an implementation-specific definition of the validator policy to be added. For the libval library this is represented by the libval_policy_definition_t structure, which contains four fields: \fIkeyword\fR, \fIzone\fR and \fIvalue\fR arguments are identical to \fIkeyword\fR, \fIzone\fR and \fIadditional-data\fR defined below for \&\fBdnsval.conf\fR. \fIttl\fR specifies the duration in seconds for which the policy is kept in effect. A \fItt\fR value of \fB\-1\fR adds to policy to the context indefinitely. A handle to the newly added policy is returned in \fI*pol\fR. This structure is opaque to the applications; applications must not modify the contents of the memory returned in \fI*pol\fR. .PP Applications may also revoke the effects of a newly added policy, \fIpol\fR, before the expiry of its timeout interval using the \&\fI\fIval_remove_valpolicy()\fI\fR policy. .PP The validator library reads configuration information from three separate files, \fBresolv.conf\fR, \fBroot.hints\fR, and \fBdnsval.conf\fR. .IP "resolv.conf" 4 .IX Item "resolv.conf" The \fInameserver\fR and \fIsearch\fR options are supported in the \fBresolv.conf\fR file. .Sp This \fInameserver\fR option is used to specify the \s-1IP\s0 address of the name server to which queries must be sent by default. For example, .Sp .Vb 1 \& nameserver 10.0.0.1 .Ve .Sp This \fIsearch\fR option is used to specify the search path for issuing queries. For example, .Sp .Vb 1 \& search test.dnssec\-tools.org dnssec\-tools.org .Ve .Sp The \fIforward\fR option is used to redirect queries for names that match a given zone name to the provided name server. For example, .Sp .Vb 1 \& forward 76.216.12.217 test.dnssec\-tools.org .Ve .Sp If the \fBresolv.conf\fR file contains no name servers, the validator tries to recursively answer the query using information present in \fBroot.hints\fR. .IP "root.hints" 4 .IX Item "root.hints" The \fBroot.hints\fR file contains bootstrapping information for the resolver while it attempts to recursively answer queries. The contents of this file may be generated by the following command: .Sp .Vb 1 \& dig @e.root\-servers.net . ns > root.hints .Ve .IP "dnsval.conf" 4 .IX Item "dnsval.conf" The \fBdnsval.conf\fR file contains the validator policy. It consists of a sequence of the following \*(L"policy-fragments\*(R": .Sp .Vb 1 \&