1 #!/bin/sh 2 3 # Reports parameters that are documented in the postconf(5 mapage), 4 # but not implemented according to postconf(1) output. 5 6 LANG=C; export LANG 7 LC_ALL=C; export LC_ALL 8 9 bin/postconf mail_version >/dev/null || exit 1 10 11 trap 'rm -f have.tmp want.tmp stoplist.tmp 2>/dev/null' 0 1 2 3 15 12 13 # Extract the implemented parameter names from postconf(1) output, using 14 # the stock configurations. 15 16 bin/postconf -dHc conf | sort >have.tmp || exit 1 17 18 # Build a stoplist for postconf(5) output. 19 20 # Eliminate dynamic parameter names for delivery agents. These are 21 # documented as transport_mumble. 22 23 cat <<EOF >stoplist.tmp 24 transport_delivery_slot_cost 25 transport_delivery_slot_discount 26 transport_delivery_slot_loan 27 transport_destination_concurrency_failed_cohort_limit 28 transport_destination_concurrency_limit 29 transport_destination_concurrency_negative_feedback 30 transport_destination_concurrency_positive_feedback 31 transport_destination_rate_delay 32 transport_destination_recipient_limit 33 transport_extra_recipient_limit 34 transport_initial_destination_concurrency 35 transport_minimum_delivery_slots 36 transport_recipient_limit 37 transport_recipient_refill_delay 38 transport_recipient_refill_limit 39 transport_transport_rate_delay 40 EOF 41 42 # Eliminate other per-service transport_mumble parameters. 43 44 cat <<EOF >>stoplist.tmp 45 transport_time_limit 46 EOF 47 48 # Eliminate obsolete parameters. These are no longer implemented, but 49 # still documented. 50 51 cat >>stoplist.tmp <<'EOF' 52 authorized_verp_clients 53 enable_errors_to 54 extract_recipient_limit 55 fallback_relay 56 lmtp_cache_connection 57 lmtp_per_record_deadline 58 postscreen_blacklist_action 59 postscreen_dnsbl_ttl 60 postscreen_dnsbl_whitelist_threshold 61 postscreen_whitelist_interfaces 62 sender_based_routing 63 smtp_per_record_deadline 64 smtp_skip_4xx_greeting 65 smtp_tls_cipherlist 66 smtpd_per_record_deadline 67 smtpd_sasl_application_name 68 smtpd_tls_cipherlist 69 tls_dane_digest_agility 70 tls_dane_trust_anchor_digest_enable 71 tlsproxy_client_level 72 tlsproxy_client_policy 73 tlsproxy_tls_session_cache_timeout 74 virtual_maps 75 EOF 76 77 # Extract parameters from the postconf(5) manpage. 78 79 awk '/^%PARAM/ { print $2 }' proto/postconf.proto | 80 grep -F -vx -f stoplist.tmp | sort > want.tmp || exit 1 81 82 # Report names from the postconf(5) manpage that have no implementation. 83 84 comm -23 want.tmp have.tmp 85