Home | History | Annotate | Line # | Download | only in mantools
check-postconf-unimplemented revision 1.1.1.1.4.2
      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