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_client_connection_limit_exceptions 67 smtpd_per_record_deadline 68 smtpd_sasl_application_name 69 smtpd_tls_cipherlist 70 tls_dane_digest_agility 71 tls_dane_trust_anchor_digest_enable 72 tls_legacy_public_key_fingerprints 73 tlsproxy_client_level 74 tlsproxy_client_policy 75 tlsproxy_tls_session_cache_timeout 76 virtual_maps 77 EOF 78 79 # Eliminate config functions. The are documented in the postconf(5) 80 # manpage, but have no parameter name. 81 82 cat >>stoplist.tmp <<'EOF' 83 domain_to_ascii 84 domain_to_utf8 85 EOF 86 87 # Extract parameters from the postconf(5) manpage. 88 89 awk '/^%PARAM/ { print $2 }' proto/postconf.proto | 90 grep -F -vx -f stoplist.tmp | sort > want.tmp || exit 1 91 92 # Report names from the postconf(5) manpage that have no implementation. 93 94 comm -23 want.tmp have.tmp 95