.\" Automatically generated by Pod::Man 2.25 (Pod::Simple 3.16) .\" .\" 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" '' '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. .ie \nF \{\ . de IX . tm Index:\\$1\t\\n%\t"\\$2" .. . nr % 0 . rr F .\} .el \{\ . de IX .. .\} .\" .\" 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 "ROLLCHK 1p" .TH ROLLCHK 1p "2012-06-21" "perl v5.14.2" "User Contributed Perl Documentation" .\" 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" rollchk \- Check a DNSSEC\-Tools rollrec file for problems and inconsistencies. .SH "SYNOPSIS" .IX Header "SYNOPSIS" .Vb 1 \& rollchk [\-roll | \-skip] [\-count] [\-quiet] [\-verbose] [\-help] rollrec\-file .Ve .SH "DESCRIPTION" .IX Header "DESCRIPTION" This script checks the \fIrollrec\fR file specified by \fIrollrec-file\fR for problems and inconsistencies. .SH "TYPES OF CHECKS" .IX Header "TYPES OF CHECKS" There are three types of checks performed by \fBrollchk\fR: file checks, \&\*(L"raw\*(R" file checks, and \fIrollrec\fR checks. The checks are performed in that order, and if any of the group checks fail then \fBrollchk\fR exits. .SS "File Checks" .IX Subsection "File Checks" These checks determine basic information about the \fIrollrec\fR file itself. Recognized problems are: .IP "\(bu" 4 non-existent rollrec file .Sp The specified \fIrollrec\fR file does not exist. .IP "\(bu" 4 non-regular rollrec file .Sp The specified \fIrollrec\fR file is not a regular file. .SS "Raw File Checks" .IX Subsection "Raw File Checks" These checks are performed directly on the file contents, rather than by using the \fIrollrec.pm\fR interfaces. Recognized problems are: .IP "\(bu" 4 duplicated rollrec names .Sp A \fIrollrec\fR name is not unique. .SS "Rollrec Checks" .IX Subsection "Rollrec Checks" These checks are performed after referencing the file contents with the the \fIrollrec.pm\fR interfaces. Recognized problems are: .IP "\(bu" 4 no zones defined .Sp No zones are defined in the specified \fIrollrec\fR file. .IP "\(bu" 4 invalid \s-1KSK\s0 rollover phase .Sp A zone has an invalid \s-1KSK\s0 rollover phase. These phases may be 0, 1, 2, 3, 4, 5, 6, or 7; any other value is invalid. .IP "\(bu" 4 mismatch in \s-1KSK\s0 timestamp data .Sp A zone's \s-1KSK\s0 roll-seconds timestamp does not translate into the date stored in its roll-date string. .IP "\(bu" 4 invalid \s-1ZSK\s0 rollover phase .Sp A zone has an invalid \s-1ZSK\s0 rollover phase. These phases may be 0, 1, 2, 3, or 4; any other value is invalid. .IP "\(bu" 4 mismatch in \s-1ZSK\s0 timestamp data .Sp A zone's \s-1ZSK\s0 roll-seconds timestamp does not translate into the date stored in its roll-date string. .IP "\(bu" 4 contemporaneous \s-1KSK\s0 and \s-1ZSK\s0 rollovers .Sp A zone has a \s-1KSK\s0 rollover occurring at the same time as a \s-1ZSK\s0 rollover. A zone may only have one rollover phase be non-zero at a time. .IP "\(bu" 4 in rollover without a phasestart .Sp A zone is currently in rollover, but its \fIrollrec\fR record does not have a \fIphasestart\fR field. .IP "\(bu" 4 empty administrator .Sp A zone has an empty administrator field. This field must contain a non-empty data value. The value itself is not parsed for accuracy. .IP "\(bu" 4 non-existent directory .Sp Several checks are made for a zone's directory. If the zone has a directory specified, the directory must exist and it must be an actual directory. .IP "\(bu" 4 invalid display flag .Sp A zone has an invalid display flag. This flag may be 0 or 1; any other value is invalid. .IP "\(bu" 4 non-positive maxttl .Sp The maximum \s-1TTL\s0 value must be greater than zero. .IP "\(bu" 4 zone file checks .Sp Several checks are made for a zone's zone file. The zone file must exist, it must be a regular file, and it must not be of zero length. .Sp If the file is not an absolute path and the file's \fIrollrec\fR has a \&\fIdirectory\fR entry, then the directory is prepended to the filename prior to performing any checks. .IP "\(bu" 4 keyrec file checks .Sp Several checks are made for a zone's \fIkeyrec\fR file. The \fIkeyrec\fR file must exist, it must be a regular file, and it must not be of zero length. .Sp If the file is not an absolute path and the file's \fIrollrec\fR has a \&\fIdirectory\fR entry, then the directory is prepended to the filename prior to performing any checks. .IP "\(bu" 4 zonename checks .Sp Several checks are made for zonename. The zonename must maatch the \s-1SOA\s0 name in the zone file, and the zonename's \fIkeyrec\fR record in its \fIkeyrec\fR file must be a zone record. .IP "\(bu" 4 empty zsargs .Sp A zone has an empty zonesigner-arguments field. If this field exists, it must contain a non-empty data value. The value itself is not parsed for accuracy. .SH "OPTIONS" .IX Header "OPTIONS" .IP "\fB\-roll\fR" 4 .IX Item "-roll" Only display \fIrollrec\fRs that are active (\*(L"roll\*(R") records. This option is mutually exclusive of the \fB\-skip\fR option. .IP "\fB\-skip\fR" 4 .IX Item "-skip" Only display \fIrollrec\fRs that are inactive (\*(L"skip\*(R") records. This option is mutually exclusive of the \fB\-roll\fR option. .IP "\fB\-count\fR" 4 .IX Item "-count" Display a final count of errors. .IP "\fB\-quiet\fR" 4 .IX Item "-quiet" Do not display messages. This option supersedes the setting of the \&\fB\-verbose\fR option. .IP "\fB\-verbose\fR" 4 .IX Item "-verbose" Display many messages. This option is subordinate to the \fB\-quiet\fR option. .IP "\fB\-Version\fR" 4 .IX Item "-Version" Displays the version information for \fBrollchk\fR and the DNSSEC-Tools package. .IP "\fB\-help\fR" 4 .IX Item "-help" Display a usage message. .SH "COPYRIGHT" .IX Header "COPYRIGHT" Copyright 2006\-2012 \s-1SPARTA\s0, Inc. All rights reserved. See the \s-1COPYING\s0 file included with the DNSSEC-Tools package for details. .SH "AUTHOR" .IX Header "AUTHOR" Wayne Morrison, tewok@tislabs.com .SH "SEE ALSO" .IX Header "SEE ALSO" \&\fB\f(BIlsroll\fB\|(8)\fR, \&\fB\f(BIrollerd\fB\|(8)\fR, \&\fB\f(BIrollinit\fB\|(8)\fR .PP \&\fB\f(BINet::DNS::SEC::Tools::rollrec.pm\fB\|(3)\fR .PP \&\fB\f(BIfile\-rollrec\fB\|(5)\fR, \&\fB\f(BIkeyrec\fB\|(8)\fR