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