1#!/bin/sh 2 3# Look for missing parameter names in postlink 4 5trap 'rm -f postlink.tmp postconf.tmp check-postlink.tmp 2>/dev/null' 0 1 2 3 15 6 7# Extract parameters from postconf.5.html hyperlinks. 8 9sed -n '/[ ].*href="postconf\.5\.html#/{ 10 s/^[^#]*#// 11 s/".*// 12 p 13}' mantools/postlink | sort > postlink.tmp 14# 15# Extract parameters from postlink script. This also produces names 16# of obsolete parameters, and non-parameter names such as SMTPD 17# access restrictions and mask names. 18 19postconf -d | sed 's/ =.*//' | sort >postconf.tmp 20 21# Filter the output through a whitelist. 22 23cat >check-postlink.tmp <<'EOF' 24lmtp_body_checks 25lmtp_cname_overrides_servername 26lmtp_destination_concurrency_failed_cohort_limit 27lmtp_destination_concurrency_negative_feedback 28lmtp_destination_concurrency_positive_feedback 29lmtp_destination_rate_delay 30lmtp_header_checks 31lmtp_initial_destination_concurrency 32lmtp_mime_header_checks 33lmtp_nested_header_checks 34local_destination_concurrency_failed_cohort_limit 35local_destination_concurrency_negative_feedback 36local_destination_concurrency_positive_feedback 37local_destination_rate_delay 38local_initial_destination_concurrency 39relay_destination_concurrency_failed_cohort_limit 40relay_destination_concurrency_negative_feedback 41relay_destination_concurrency_positive_feedback 42relay_destination_rate_delay 43relay_initial_destination_concurrency 44smtp_destination_concurrency_failed_cohort_limit 45smtp_destination_concurrency_negative_feedback 46smtp_destination_concurrency_positive_feedback 47smtp_destination_rate_delay 48smtp_initial_destination_concurrency 49stress 50virtual_destination_concurrency_failed_cohort_limit 51virtual_destination_concurrency_negative_feedback 52virtual_destination_concurrency_positive_feedback 53virtual_destination_rate_delay 54virtual_initial_destination_concurrency 55EOF 56 57comm -23 postconf.tmp postlink.tmp | fgrep -vx -f check-postlink.tmp 58