99 lines
2.8 KiB
Bash
Executable file
99 lines
2.8 KiB
Bash
Executable file
#!/bin/sh
|
|
|
|
# Reports parameters that exist in postconf(1) output, but that are not
|
|
# documented in the postconf(5) manpage.
|
|
|
|
LANG=C; export LANG
|
|
LC_ALL=C; export LC_ALL
|
|
|
|
bin/postconf mail_version >/dev/null || exit 1
|
|
|
|
trap 'rm -f want.tmp have.tmp stoplist.tmp 2>/dev/null' 0 1 2 3 15
|
|
|
|
# Extract parameters from the postconf(5) manpage.
|
|
|
|
awk '/^%PARAM/ { print $2 }' proto/postconf.proto | sort > have.tmp || exit 1
|
|
|
|
# Build a stoplist for postconf(1) output.
|
|
|
|
# Eliminate unwanted dynamic parameter names for delivery agents. These
|
|
# names are prefixed by their master.cf service name (they must instead
|
|
# be documented with fake names that have the "transport_" prefix; that
|
|
# is implemented later in this script).
|
|
|
|
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
|
|
|
|
# Eliminate other unwanted per-service parameters.
|
|
|
|
#cat >>stoplist.tmp <<EOF
|
|
#EOF
|
|
|
|
# Eliminate unwanted auto-generated parameters that make no sense.
|
|
|
|
cat >>stoplist.tmp <<'EOF'
|
|
lmtp_tlsrpt_enable
|
|
lmtp_tlsrpt_skip_reused_handshakes
|
|
lmtp_tlsrpt_socket_name
|
|
EOF
|
|
|
|
# Build the list of parameter names that must have an entry in the
|
|
# postconf(5) manpage.
|
|
|
|
(
|
|
# First, extract parameters from postconf(1) output, using the stock
|
|
# configurations.
|
|
|
|
bin/postconf -dHc conf | grep -F -vx -f stoplist.tmp
|
|
|
|
# Next, require that all dynamically-generated parameter names for delivery
|
|
# agents are documented as transport_mumble.
|
|
|
|
cat <<EOF
|
|
transport_delivery_slot_cost
|
|
transport_delivery_slot_discount
|
|
transport_delivery_slot_loan
|
|
transport_destination_concurrency_failed_cohort_limit
|
|
transport_destination_concurrency_limit
|
|
transport_destination_concurrency_negative_feedback
|
|
transport_destination_concurrency_positive_feedback
|
|
transport_destination_rate_delay
|
|
transport_destination_recipient_limit
|
|
transport_extra_recipient_limit
|
|
transport_initial_destination_concurrency
|
|
transport_minimum_delivery_slots
|
|
transport_recipient_limit
|
|
transport_recipient_refill_delay
|
|
transport_recipient_refill_limit
|
|
transport_transport_rate_delay
|
|
EOF
|
|
|
|
# Require that other per-service parameters are documented.
|
|
|
|
cat <<EOF
|
|
transport_time_limit
|
|
EOF
|
|
) | sort >want.tmp || exit 1
|
|
|
|
# Report parameter names that have an implementation but no documentation.
|
|
|
|
comm -23 want.tmp have.tmp
|