ROLLCHK(1)

πŸ“¦
version 2.2.3 Β· 2 versions
, in fedora 43

πŸ’– ROLLCHK(1) β€” the rollrec vibe check πŸ’–

okay so this is rollchk, a User Contributed Perl Documentation page, section 1 of the manual, and bestie it is literally here to tell you if your DNSSEC-Tools rollrec file is a mess or not. πŸ¦‹


✨ NAME ✨

rollchk β€” check a DNSSEC-Tools rollrec file for problems and inconsistencies.

it's giving "quality control but make it cute" πŸ’…


🌸 SYNOPSIS 🌸

rollchk [-roll | -skip] [-count] [-quiet] [-verbose] [-help] rollrec-file

πŸŽ€ DESCRIPTION πŸŽ€

So this script goes and checks the rollrec file you named in rollrec-file for problems and inconsistencies. That's it. That's the whole job. And it does it thoroughly. πŸ”₯


πŸ‘‘ TYPES OF CHECKS πŸ‘‘

There are four kinds of checks that rollchk does, and here they are in order:

  1. file checks
  2. "raw" file checks
  3. info rollrec checks
  4. rollrec checks

And heads up: the checks run in that exact order, and if any of the group checks fail, rollchk exits. Bye. 🫢


πŸ“ File Checks

These ones figure out the basic tea about the rollrec file itself. The problems it recognizes are:

  • non-existent rollrec file β€” the rollrec file you specified does not exist. 😭
  • non-regular rollrec file β€” the rollrec file you specified is not a regular file.

πŸ“„ Raw File Checks

These get done directly on the file contents, not through the rollrec.pm interfaces. Sneaky but valid. The problem it recognizes is:

  • duplicated rollrec names β€” a rollrec name is not unique. two of the same name?? not the moment. πŸ’€

🧚 Info Rollrec Checks

These exist to make sure the info rollrec is valid, periodt. The problems it recognizes are:

  • negative version β€” the version number in the info rollrec is less than 0.
  • overly large version β€” the version number in the info rollrec is greater than 2.
  • invalid version β€” the version number in the info rollrec is not 0, 1, or 2.

the way that version number needs to be exactly 0, 1, or 2 and nothing else… πŸ‘‘


🌈 Rollrec Checks

These run after the file contents have been referenced with the rollrec.pm interfaces. The problems it recognizes are:

  • no zones defined β€” no zones are defined in the specified rollrec file.
  • invalid KSK rollover phase β€” 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.
  • mismatch in KSK timestamp data β€” a zone's KSK roll-seconds timestamp does not translate into the date stored in its roll-date string. 😭
  • invalid ZSK rollover phase β€” a zone has an invalid ZSK rollover phase. These phases may be 0, 1, 2, 3, or 4; any other value is invalid.
  • mismatch in ZSK timestamp data β€” a zone's ZSK roll-seconds timestamp does not translate into the date stored in its roll-date string. 😭
  • contemporaneous KSK and ZSK rollovers β€” a zone has a KSK rollover happening at the same time as a ZSK rollover. A zone may only have one rollover phase be non-zero at a time. pick a lane bestie πŸ’…
  • in rollover without a phasestart β€” a zone is currently in rollover, but its rollrec record does not have a phasestart field.
  • empty administrator β€” a zone has an empty administrator field. This field must contain a non-empty data value. (the value itself is not parsed for accuracy, so don't panic about that part)
  • non-existent directory β€” 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. 🫢
  • invalid display flag β€” a zone has an invalid display flag. This flag may be 0 or 1; any other value is invalid.
  • non-positive maxttl β€” the maximum TTL value must be greater than zero.
  • zone file checks β€” 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.
    • If the file is not an absolute path and the file's rollrec has a directory entry, then the directory is prepended to the filename prior to performing any checks.
  • keyrec file checks β€” several checks are made for a zone's keyrec file. The keyrec file must exist, it must be a regular file, and it must not be of zero length.
    • If the file is not an absolute path and the file's rollrec has a directory entry, then the directory is prepended to the filename prior to performing any checks.
  • zonename checks β€” several checks are made for zonename. The zonename must match the SOA name in the zone file, and the zonename's keyrec record in its keyrec file must be a zone record.
  • empty zsargs β€” a zone has an empty zonesigner-arguments field. If this field exists, it must contain a non-empty data value. (again, the value itself is not parsed for accuracy)

πŸ’… OPTIONS πŸ’…

  • -roll β€” only display rollrecs that are active ("roll") records. This option is mutually exclusive of the -skip option.
  • -skip β€” only display rollrecs that are inactive ("skip") records. This option is mutually exclusive of the -roll option.
  • -count β€” display a final count of errors. πŸ”’
  • -quiet β€” do not display messages. This option supersedes the setting of the -verbose option.
  • -verbose β€” display many messages. This option is subordinate to the -quiet option.
  • -Version β€” displays the version information for rollchk and the DNSSEC-Tools package.
  • -help β€” display a usage message. 🫢

Copyright 2006-2014 SPARTA, Inc. All rights reserved. See the COPYING file included with the DNSSEC-Tools package for details.


πŸ¦‹ AUTHOR πŸ¦‹

Wayne Morrison, tewok@tislabs.com


πŸ”₯ SEE ALSO πŸ”₯

  • lsroll(8), rollerd(8), rollinit(8)
  • Net::DNS::SEC::Tools::rollrec.pm(3)
  • file-rollrec(5), keyrec(8)

and that's the whole page bestie, no cap. this one's from perl v5.42.0, dated 2025-07-23 β€” go forth and check those rollrecs, mwah πŸ’–

πŸ“¦ where this page comes from