#!/usr/bin/perl # Copyright (C) Internet Systems Consortium, Inc. ("ISC") # # SPDX-License-Identifier: MPL-2.0 # # This Source Code Form is subject to the terms of the Mozilla Public # License, v. 2.0. If a copy of the MPL was not distributed with this # file, you can obtain one at https://mozilla.org/MPL/2.0/. # # See the COPYRIGHT file distributed with this work for additional # information regarding copyright ownership. use warnings; use strict; if (@ARGV < 1) { print STDERR <<'END'; usage: perl rst-options.pl options_file >named.conf.rst END exit 1; } my $FILE = shift; open (FH, "<", $FILE) or die "Can't open $FILE"; print <) { if (m{^\s*$}) { last if $preamble > 0; } else { $preamble++; } } my $blank = 0; while () { if (m{// not.*implemented} || m{// obsolete} || m{// ancient} || m{// test.*only}) { next; } s{ // not configured}{}; s{ // non-operational}{}; s{ (// )*may occur multiple times}{}; s{<([a-z0-9_-]+)>}{$1}g; s{ // deprecated,*}{// deprecated}; s{[[]}{[}g; s{[]]}{]}g; s{ }{\t}g; if (m{^([a-z0-9-]+) }) { my $HEADING = uc $1; my $UNDERLINE = $HEADING; $UNDERLINE =~ s/./^/g; print $HEADING . "\n"; print $UNDERLINE . "\n\n"; if ($HEADING eq "TRUSTED-KEYS") { print "Deprecated - see DNSSEC-KEYS.\n\n"; } if ($HEADING eq "MANAGED-KEYS") { print "See DNSSEC-KEYS.\n\n" ; } print "::\n\n"; } if (m{^\s*$}) { if (!$blank) { print "\n"; $blank = 1; } next; } else { $blank = 0; } print " " . $_; } print <