.\" -*- mode: troff; coding: utf-8 -*- .\" Automatically generated by Pod::Man 5.01 (Pod::Simple 3.43) .\" .\" 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 .. .\" \*(C` and \*(C' are quotes in nroff, nothing in troff, for use with C<>. .ie n \{\ . ds C` "" . ds C' "" 'br\} .el\{\ . 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 .\" ======================================================================== .\" .IX Title "ROLLCHK 1" .TH ROLLCHK 1 2023-07-29 "perl v5.38.0" "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 four types of checks performed by \fBrollchk\fR: file checks, "raw" file checks, \fIinfo rollrec\fR 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 "Info Rollrec Checks" .IX Subsection "Info Rollrec Checks" These checks are performed to ensure the \fIinfo rollrec\fR is valid. Recognized problems are: .IP \(bu 4 negative version .Sp The version number in the \fIinfo rollrec\fR is less than 0. .IP \(bu 4 overly large version .Sp The version number in the \fIinfo rollrec\fR is greater than 2. .IP \(bu 4 invalid version .Sp The version number in the \fIinfo rollrec\fR is not 0, 1, or 2. .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 KSK rollover phase .Sp A zone has an invalid KSK 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 KSK timestamp data .Sp A zone's KSK roll-seconds timestamp does not translate into the date stored in its roll-date string. .IP \(bu 4 invalid ZSK rollover phase .Sp A zone has an invalid ZSK rollover phase. These phases may be 0, 1, 2, 3, or 4; any other value is invalid. .IP \(bu 4 mismatch in ZSK timestamp data .Sp A zone's ZSK roll-seconds timestamp does not translate into the date stored in its roll-date string. .IP \(bu 4 contemporaneous KSK and ZSK rollovers .Sp A zone has a KSK rollover occurring at the same time as a ZSK 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 TTL 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 SOA 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 ("roll") 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 ("skip") 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\-2014 SPARTA, Inc. All rights reserved. See the COPYING 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" \&\fBlsroll\|(8)\fR, \&\fBrollerd\|(8)\fR, \&\fBrollinit\|(8)\fR .PP \&\fBNet::DNS::SEC::Tools::rollrec.pm\|(3)\fR .PP \&\fBfile\-rollrec\|(5)\fR, \&\fBkeyrec\|(8)\fR