#!/bin/sh # Reports parameter names that have no postlink rules. LANG=C; export LANG LC_ALL=C; export LC_ALL trap 'rm -f postlink.tmp postconf.tmp stoplist.tmp 2>/dev/null' 0 1 2 3 15 # Extract parameters from postlink script. This also produces names # of obsolete parameters, and non-parameter names such as SMTPD # access restrictions and mask names. sed -n '/[ ].*href="postconf\.5\.html#/{ s/^[^#]*#// s/".*// p }' mantools/postlink | sort > postlink.tmp # Extract parameters from postconf output, using the stock configurations. bin/postconf -dHc conf | sort >postconf.tmp # Filter the postconf output through a stoplist. First, parameter # names prefixed by their service name. for xport in error lmtp local relay retry smtp virtual do cat <<EOF ${xport}_delivery_slot_cost ${xport}_delivery_slot_discount ${xport}_delivery_slot_loan ${xport}_destination_concurrency_failed_cohort_limit ${xport}_destination_concurrency_limit ${xport}_destination_concurrency_negative_feedback ${xport}_destination_concurrency_positive_feedback ${xport}_destination_rate_delay ${xport}_destination_recipient_limit ${xport}_extra_recipient_limit ${xport}_initial_destination_concurrency ${xport}_minimum_delivery_slots ${xport}_recipient_limit ${xport}_recipient_refill_delay ${xport}_recipient_refill_limit ${xport}_transport_rate_delay EOF done >stoplist.tmp # Second, pseudo parameters, read-only parameters, etc. cat >>stoplist.tmp <<'EOF' stress EOF # Report names from postconf that have no rule in mantools/postlink. comm -23 postconf.tmp postlink.tmp | fgrep -vx -f stoplist.tmp |