diff --git a/mail/postfix/Makefile b/mail/postfix/Makefile index bb75cbb40..36c0f76f5 100644 --- a/mail/postfix/Makefile +++ b/mail/postfix/Makefile @@ -8,10 +8,10 @@ include $(TOPDIR)/rules.mk PKG_NAME:=postfix -PKG_RELEASE:=2 +PKG_RELEASE:=1 PKG_SOURCE_URL:=ftp://ftp.porcupine.org/mirrors/postfix-release/official/ -PKG_VERSION:=2.11.3 -PKG_MD5SUM:=c3f0f51d8865559b40e9350eb3816011 +PKG_VERSION:=3.0.0 +PKG_MD5SUM:=a4a83f8d729f31c803bf9c2277701d56 PKG_SOURCE:=$(PKG_NAME)-$(PKG_VERSION).tar.gz PKG_MAINTAINER:=Denis Shulyaka PKG_LICENSE:=IPL-1.0 @@ -62,7 +62,7 @@ define Package/postfix/config endmenu endef -CCARGS=-DNO_EPOLL -DNO_SIGSETJMP -DNO_NIS +CCARGS=-DNO_EPOLL -DNO_SIGSETJMP -DNO_NIS -DNO_EAI AUXLIBS=-L$(STAGING_DIR)/usr/lib default_database_type=cdb @@ -111,6 +111,8 @@ readme_directory=no sendmail_path=/usr/sbin/sendmail newaliases_path=/usr/bin/newaliases mailq_path=/usr/bin/mailq +shlib_directory=/usr/lib/postfix +meta_directory=/etc/postfix ln_suffix=.postfix ln_old_suffix=.old @@ -130,6 +132,17 @@ define Build/Configure cd $(PKG_BUILD_DIR); $(MAKE) makefiles CCARGS='$(CCARGS)' $(TARGET_CONFIGURE_OPTS) AUXLIBS="$(AUXLIBS)" endef +# Steps to regenerate files/main.cf.default: +# +# 1. Compile the package with current file +# 2. Execute the following command on target device: +# postconf -d > /tmp/main.cf.new +# 3. Transfer /tmp/main.cf.new file to the build system +# 4. Execute the following command: +# cat /tmp/main.cf.new | ( echo '# DO NOT EDIT THIS FILE. EDIT THE MAIN.CF FILE INSTEAD. THE'; echo '# TEXT HERE JUST SHOWS DEFAULT SETTINGS BUILT INTO POSTFIX.'; echo '#'; grep -v ^alias_maps\ = |grep -v ^alias_database\ = |grep -v ^command_directory\ = |grep -v ^config_directory\ = |grep -v ^daemon_directory\ = |grep -v ^data_directory\ = |grep -v ^default_database_type\ = |grep -v ^html_directory\ = |grep -v ^mail_spool_directory\ = |grep -v ^mailq_path\ = |grep -v ^manpage_directory\ = |grep -v ^meta_directory\ = |grep -v ^mydomain\ = |grep -v ^myhostname\ = |grep -v ^mynetworks\ = |grep -v ^mynetworks_style\ = |grep -v ^newaliases_path\ = |grep -v ^queue_directory\ = |grep -v ^readme_directory\ = |grep -v ^sample_directory\ = |grep -v ^sendmail_path\ = |grep -v ^shlib_directory\ = |grep -v ^smtputf8_enable\ = ) > files/main.cf.default +# 5. Done. Now you can rebuild the package with new main.cf.default. +# + define Build/Compile # Currently postfix has a bug with Makefiles that CCARGS are not passed to the compiler, so we are copying them to CC cd $(PKG_BUILD_DIR); $(MAKE) $(TARGET_CONFIGURE_OPTS) CC='$(TARGET_CC) $(CCARGS)' @@ -150,10 +163,13 @@ define Build/Compile echo "queue_directory = $(queue_directory)" >> $(PKG_BUILD_DIR)/conf/main.cf.default echo "config_directory = $(config_directory)" >> $(PKG_BUILD_DIR)/conf/main.cf.default echo "mail_spool_directory = $(mail_spool_directory)" >> $(PKG_BUILD_DIR)/conf/main.cf.default + echo "shlib_directory = $(shlib_directory)" >> $(PKG_BUILD_DIR)/conf/main.cf.default + echo "meta_directory = $(meta_directory)" >> $(PKG_BUILD_DIR)/conf/main.cf.default + echo "smtputf8_enable = no" >> $(PKG_BUILD_DIR)/conf/main.cf.default endef define Package/postfix/install - cd $(PKG_BUILD_DIR); $(MAKE) install_root=$(1) command_directory=$(command_directory) daemon_directory=$(daemon_directory) data_directory=$(data_directory) html_directory=$(html_directory) mail_owner=postfix mailq_path=$(mailq_path)$(ln_suffix) manpage_directory=$(manpage_directory) newaliases_path=$(newaliases_path)$(ln_suffix) queue_directory=$(queue_directory) readme_directory=$(readme_directory) sendmail_path=$(sendmail_path)$(ln_suffix) setgid_group=postdrop sample_directory=$(sample_directory) config_directory=$(config_directory) non-interactive-package + cd $(PKG_BUILD_DIR); $(MAKE) install_root=$(1) command_directory=$(command_directory) daemon_directory=$(daemon_directory) data_directory=$(data_directory) html_directory=$(html_directory) mail_owner=postfix mailq_path=$(mailq_path)$(ln_suffix) manpage_directory=$(manpage_directory) newaliases_path=$(newaliases_path)$(ln_suffix) queue_directory=$(queue_directory) readme_directory=$(readme_directory) sendmail_path=$(sendmail_path)$(ln_suffix) setgid_group=postdrop sample_directory=$(sample_directory) config_directory=$(config_directory) shlib_directory=$(shlib_directory) meta_directory=$(meta_directory) mail_version=$(PKG_VERSION) non-interactive-package $(INSTALL_DIR) $(1)$(mail_spool_directory) $(INSTALL_DIR) $(1)/etc/init.d/ $(INSTALL_BIN) ./files/postfix.init $(1)/etc/init.d/postfix diff --git a/mail/postfix/files/main.cf.default b/mail/postfix/files/main.cf.default index 7947dbc30..d9eec99eb 100644 --- a/mail/postfix/files/main.cf.default +++ b/mail/postfix/files/main.cf.default @@ -11,7 +11,7 @@ address_verify_map = btree:$data_directory/verify_cache address_verify_negative_cache = yes address_verify_negative_expire_time = 3d address_verify_negative_refresh_time = 3h -address_verify_poll_count = ${stress?1}${stress:3} +address_verify_poll_count = ${stress?{1}:{3}} address_verify_poll_delay = 3s address_verify_positive_expire_time = 31d address_verify_positive_refresh_time = 7d @@ -35,7 +35,7 @@ always_bcc = anvil_rate_time_unit = 60s anvil_status_update_time = 600s append_at_myorigin = yes -append_dot_mydomain = yes +append_dot_mydomain = ${{$compatibility_level} < {1} ? {yes} : {no}} application_event_drain_time = 100s authorized_flush_users = static:anyone authorized_mailq_users = static:anyone @@ -59,6 +59,8 @@ cleanup_service_name = cleanup command_execution_directory = command_expansion_filter = 1234567890!@%-_=+:,./abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ command_time_limit = 1000s +compatibility_level = 0 +confirm_delay_cleared = no connection_cache_protocol_timeout = 5s connection_cache_service_name = scache connection_cache_status_update_time = 600s @@ -73,6 +75,7 @@ debugger_command = default_delivery_slot_cost = 5 default_delivery_slot_discount = 50 default_delivery_slot_loan = 3 +default_delivery_status_filter = default_destination_concurrency_failed_cohort_limit = 1 default_destination_concurrency_limit = 20 default_destination_concurrency_negative_feedback = 1 @@ -169,6 +172,7 @@ ipc_ttl = 1000s line_length_limit = 2048 lmdb_map_size = 16777216 lmtp_address_preference = any +lmtp_address_verify_target = rcpt lmtp_assume_final = no lmtp_bind_address = lmtp_bind_address6 = @@ -187,6 +191,7 @@ lmtp_defer_if_no_mx_address_found = no lmtp_delivery_slot_cost = $default_delivery_slot_cost lmtp_delivery_slot_discount = $default_delivery_slot_discount lmtp_delivery_slot_loan = $default_delivery_slot_loan +lmtp_delivery_status_filter = $default_delivery_status_filter lmtp_destination_concurrency_failed_cohort_limit = $default_destination_concurrency_failed_cohort_limit lmtp_destination_concurrency_limit = $default_destination_concurrency_limit lmtp_destination_concurrency_negative_feedback = $default_destination_concurrency_negative_feedback @@ -195,6 +200,7 @@ lmtp_destination_rate_delay = $default_destination_rate_delay lmtp_destination_recipient_limit = $default_destination_recipient_limit lmtp_discard_lhlo_keyword_address_maps = lmtp_discard_lhlo_keywords = +lmtp_dns_reply_filter = lmtp_dns_resolver_options = lmtp_dns_support_level = lmtp_enforce_tls = no @@ -274,12 +280,14 @@ lmtp_tls_session_cache_database = lmtp_tls_session_cache_timeout = 3600s lmtp_tls_trust_anchor_file = lmtp_tls_verify_cert_match = hostname +lmtp_tls_wrappermode = no lmtp_use_tls = no lmtp_xforward_timeout = 300s local_command_shell = local_delivery_slot_cost = $default_delivery_slot_cost local_delivery_slot_discount = $default_delivery_slot_discount local_delivery_slot_loan = $default_delivery_slot_loan +local_delivery_status_filter = $default_delivery_status_filter local_destination_concurrency_failed_cohort_limit = $default_destination_concurrency_failed_cohort_limit local_destination_concurrency_limit = 2 local_destination_concurrency_negative_feedback = $default_destination_concurrency_negative_feedback @@ -298,8 +306,8 @@ local_transport = local:$myhostname luser_relay = mail_name = Postfix mail_owner = postfix -mail_release_date = 20140507 -mail_version = 2.11.1 +mail_release_date = 20150208 +mail_version = 3.0.0 mailbox_command = mailbox_command_maps = mailbox_delivery_lock = fcntl, dotlock @@ -316,6 +324,7 @@ max_idle = 100s max_use = 100 maximal_backoff_time = 4000s maximal_queue_lifetime = 5d +message_drop_headers = bcc, content-length, resent-bcc, return-path message_reject_characters = message_size_limit = 10240000 message_strip_characters = @@ -346,7 +355,6 @@ multi_instance_name = multi_instance_wrapper = multi_recipient_bounce_reject_code = 550 mydestination = $myhostname, localhost.$mydomain, localhost -mynetworks_style = subnet myorigin = $myhostname nested_header_checks = $header_checks non_fqdn_reject_code = 504 @@ -356,6 +364,7 @@ owner_request_special = yes parent_domain_matches_subdomains = debug_peer_list,fast_flush_domains,mynetworks,permit_mx_backup_networks,qmqpd_authorized_clients,relay_domains,smtpd_access_maps permit_mx_backup_networks = pickup_service_name = pickup +pipe_delivery_status_filter = $default_delivery_status_filter plaintext_reject_code = 450 postmulti_control_commands = reload flush postmulti_start_commands = start @@ -371,7 +380,7 @@ postscreen_cache_retention_time = 7d postscreen_client_connection_count_limit = $smtpd_client_connection_count_limit postscreen_command_count_limit = 20 postscreen_command_filter = -postscreen_command_time_limit = ${stress?10}${stress:300}s +postscreen_command_time_limit = ${stress?{10}:{300}}s postscreen_disable_vrfy_command = $disable_vrfy_command postscreen_discard_ehlo_keyword_address_maps = $smtpd_discard_ehlo_keyword_address_maps postscreen_discard_ehlo_keywords = $smtpd_discard_ehlo_keywords @@ -379,6 +388,7 @@ postscreen_dnsbl_action = ignore postscreen_dnsbl_reply_map = postscreen_dnsbl_sites = postscreen_dnsbl_threshold = 1 +postscreen_dnsbl_timeout = 10s postscreen_dnsbl_ttl = 1h postscreen_dnsbl_whitelist_threshold = 0 postscreen_enforce_tls = $smtpd_enforce_tls @@ -387,7 +397,7 @@ postscreen_forbidden_commands = $smtpd_forbidden_commands postscreen_greet_action = ignore postscreen_greet_banner = $smtpd_banner postscreen_greet_ttl = 1d -postscreen_greet_wait = ${stress?2}${stress:6}s +postscreen_greet_wait = ${stress?{2}:{6}}s postscreen_helo_required = $smtpd_helo_required postscreen_non_smtp_command_action = drop postscreen_non_smtp_command_enable = no @@ -405,12 +415,12 @@ postscreen_use_tls = $smtpd_use_tls postscreen_watchdog_timeout = 10s postscreen_whitelist_interfaces = static:all prepend_delivered_header = command, file, forward -process_id = 6537 +process_id = 25939 process_id_directory = pid process_name = postconf propagate_unmatched_extensions = canonical, virtual proxy_interfaces = -proxy_read_maps = $local_recipient_maps $mydestination $virtual_alias_maps $virtual_alias_domains $virtual_mailbox_maps $virtual_mailbox_domains $relay_recipient_maps $relay_domains $canonical_maps $sender_canonical_maps $recipient_canonical_maps $relocated_maps $transport_maps $mynetworks $smtpd_sender_login_maps $sender_bcc_maps $recipient_bcc_maps $smtp_generic_maps $lmtp_generic_maps $alias_maps +proxy_read_maps = $local_recipient_maps $mydestination $virtual_alias_maps $virtual_alias_domains $virtual_mailbox_maps $virtual_mailbox_domains $relay_recipient_maps $relay_domains $canonical_maps $sender_canonical_maps $recipient_canonical_maps $relocated_maps $transport_maps $mynetworks $smtpd_sender_login_maps $sender_bcc_maps $recipient_bcc_maps $smtp_generic_maps $lmtp_generic_maps $alias_maps $smtpd_client_restrictions $smtpd_helo_restrictions $smtpd_sender_restrictions $smtpd_relay_restrictions $smtpd_recipient_restrictions proxy_write_maps = $smtp_sasl_auth_cache_name $lmtp_sasl_auth_cache_name $address_verify_map $postscreen_cache_map proxymap_service_name = proxymap proxywrite_service_name = proxywrite @@ -447,7 +457,7 @@ relay_destination_concurrency_negative_feedback = $default_destination_concurren relay_destination_concurrency_positive_feedback = $default_destination_concurrency_positive_feedback relay_destination_rate_delay = $default_destination_rate_delay relay_destination_recipient_limit = $default_destination_recipient_limit -relay_domains = $mydestination +relay_domains = ${{$compatibility_level} < {2} ? {$mydestination} : {}} relay_domains_reject_code = 554 relay_extra_recipient_limit = $default_extra_recipient_limit relay_initial_destination_concurrency = $initial_destination_concurrency @@ -493,6 +503,7 @@ setgid_group = postdrop show_user_unknown_table_name = yes showq_service_name = showq smtp_address_preference = any +smtp_address_verify_target = rcpt smtp_always_send_ehlo = yes smtp_bind_address = smtp_bind_address6 = @@ -511,6 +522,7 @@ smtp_defer_if_no_mx_address_found = no smtp_delivery_slot_cost = $default_delivery_slot_cost smtp_delivery_slot_discount = $default_delivery_slot_discount smtp_delivery_slot_loan = $default_delivery_slot_loan +smtp_delivery_status_filter = $default_delivery_status_filter smtp_destination_concurrency_failed_cohort_limit = $default_destination_concurrency_failed_cohort_limit smtp_destination_concurrency_limit = $default_destination_concurrency_limit smtp_destination_concurrency_negative_feedback = $default_destination_concurrency_negative_feedback @@ -519,6 +531,7 @@ smtp_destination_rate_delay = $default_destination_rate_delay smtp_destination_recipient_limit = $default_destination_recipient_limit smtp_discard_ehlo_keyword_address_maps = smtp_discard_ehlo_keywords = +smtp_dns_reply_filter = smtp_dns_resolver_options = smtp_dns_support_level = smtp_enforce_tls = no @@ -599,6 +612,7 @@ smtp_tls_session_cache_database = smtp_tls_session_cache_timeout = 3600s smtp_tls_trust_anchor_file = smtp_tls_verify_cert_match = hostname +smtp_tls_wrappermode = no smtp_use_tls = no smtp_xforward_timeout = 300s smtpd_authorized_verp_clients = $authorized_verp_clients @@ -619,26 +633,31 @@ smtpd_delay_open_until_valid_rcpt = yes smtpd_delay_reject = yes smtpd_discard_ehlo_keyword_address_maps = smtpd_discard_ehlo_keywords = +smtpd_dns_reply_filter = smtpd_end_of_data_restrictions = smtpd_enforce_tls = no smtpd_error_sleep_time = 1s smtpd_etrn_restrictions = smtpd_expansion_filter = \t\40!"#$%&'()*+,-./0123456789:;<=>?@ABCDEFGHIJKLMNOPQRSTUVWXYZ[\\]^_`abcdefghijklmnopqrstuvwxyz{|}~ smtpd_forbidden_commands = CONNECT GET POST -smtpd_hard_error_limit = ${stress?1}${stress:20} +smtpd_hard_error_limit = ${stress?{1}:{20}} smtpd_helo_required = no smtpd_helo_restrictions = smtpd_history_flush_threshold = 100 -smtpd_junk_command_limit = ${stress?1}${stress:100} +smtpd_junk_command_limit = ${stress?{1}:{100}} smtpd_log_access_permit_actions = smtpd_milters = smtpd_noop_commands = smtpd_null_access_lookup_key = <> smtpd_peername_lookup = yes -smtpd_per_record_deadline = ${stress?yes}${stress:no} +smtpd_per_record_deadline = ${stress?{yes}:{no}} +smtpd_policy_service_default_action = 451 4.3.5 Server configuration problem smtpd_policy_service_max_idle = 300s smtpd_policy_service_max_ttl = 1000s +smtpd_policy_service_request_limit = 0 +smtpd_policy_service_retry_delay = 1s smtpd_policy_service_timeout = 100s +smtpd_policy_service_try_limit = 2 smtpd_proxy_ehlo = $myhostname smtpd_proxy_filter = smtpd_proxy_options = @@ -664,8 +683,8 @@ smtpd_sender_login_maps = smtpd_sender_restrictions = smtpd_service_name = smtpd smtpd_soft_error_limit = 10 -smtpd_starttls_timeout = ${stress?10}${stress:300}s -smtpd_timeout = ${stress?10}${stress:300}s +smtpd_starttls_timeout = ${stress?{10}:{300}}s +smtpd_timeout = ${stress?{10}:{300}}s smtpd_tls_CAfile = smtpd_tls_CApath = smtpd_tls_always_issue_session_ids = yes @@ -698,6 +717,7 @@ smtpd_tls_wrappermode = no smtpd_upstream_proxy_protocol = smtpd_upstream_proxy_timeout = 5s smtpd_use_tls = no +smtputf8_autodetect_classes = sendmail, verify soft_bounce = no stale_lock_time = 500s stress = @@ -707,10 +727,11 @@ strict_8bitmime_body = no strict_mailbox_ownership = yes strict_mime_encoding_domain = no strict_rfc821_envelopes = no +strict_smtputf8 = no sun_mailtool_compatibility = no swap_bangpath = yes syslog_facility = mail -syslog_name = ${multi_instance_name:postfix}${multi_instance_name?$multi_instance_name} +syslog_name = ${multi_instance_name?{$multi_instance_name}:{postfix}} tcp_windowsize = 0 tls_append_default_CA = no tls_daemon_random_bytes = 32 @@ -720,11 +741,11 @@ tls_dane_trust_anchor_digest_enable = yes tls_disable_workarounds = tls_eecdh_strong_curve = prime256v1 tls_eecdh_ultra_curve = secp384r1 -tls_export_cipherlist = ALL:+RC4:@STRENGTH -tls_high_cipherlist = ALL:!EXPORT:!LOW:!MEDIUM:+RC4:@STRENGTH +tls_export_cipherlist = aNULL:-aNULL:ALL:+RC4:@STRENGTH +tls_high_cipherlist = aNULL:-aNULL:ALL:!EXPORT:!LOW:!MEDIUM:+RC4:@STRENGTH tls_legacy_public_key_fingerprints = no -tls_low_cipherlist = ALL:!EXPORT:+RC4:@STRENGTH -tls_medium_cipherlist = ALL:!EXPORT:!LOW:+RC4:@STRENGTH +tls_low_cipherlist = aNULL:-aNULL:ALL:!EXPORT:+RC4:@STRENGTH +tls_medium_cipherlist = aNULL:-aNULL:ALL:!EXPORT:!LOW:+RC4:@STRENGTH tls_null_cipherlist = eNULL:!aNULL tls_preempt_cipherlist = no tls_random_bytes = 32 @@ -732,6 +753,7 @@ tls_random_exchange_name = ${data_directory}/prng_exch tls_random_prng_update_period = 3600s tls_random_reseed_period = 3600s tls_random_source = dev:/dev/urandom +tls_session_ticket_cipher = aes-128-cbc tls_ssl_options = tls_wildcard_matches_multiple_labels = yes tlsmgr_service_name = tlsmgr @@ -786,6 +808,7 @@ unverified_sender_reject_code = 450 unverified_sender_reject_reason = unverified_sender_tempfail_action = $reject_tempfail_action verp_delimiter_filter = -=+ +virtual_alias_address_length_limit = 1000 virtual_alias_domains = $virtual_alias_maps virtual_alias_expansion_limit = 1000 virtual_alias_maps = $virtual_maps @@ -793,6 +816,7 @@ virtual_alias_recursion_limit = 1000 virtual_delivery_slot_cost = $default_delivery_slot_cost virtual_delivery_slot_discount = $default_delivery_slot_discount virtual_delivery_slot_loan = $default_delivery_slot_loan +virtual_delivery_status_filter = $default_delivery_status_filter virtual_destination_concurrency_failed_cohort_limit = $default_destination_concurrency_failed_cohort_limit virtual_destination_concurrency_limit = $default_destination_concurrency_limit virtual_destination_concurrency_negative_feedback = $default_destination_concurrency_negative_feedback diff --git a/mail/postfix/files/postfix.init b/mail/postfix/files/postfix.init index 1ed48dce5..1f3bc5e8b 100644 --- a/mail/postfix/files/postfix.init +++ b/mail/postfix/files/postfix.init @@ -17,25 +17,30 @@ upgrade() { echo "myhostname = $(uci get system.@system[0].hostname)" >> "$config_directory"/main.cf.default echo "mydomain = $(uci get system.@system[0].hostname|sed -e "s/[^\.]*\.\(.*\)/\1/")" >> "$config_directory"/main.cf.default ifconfig | grep "inet addr" | sed -e "s/.*inet addr:\([0-9.]*\).*Mask:/\1 /" | while read IP NETMASK; do eval "$(ipcalc.sh $IP $NETMASK)"; echo "$NETWORK/$PREFIX"; done | xargs echo "mynetworks =" >> "$config_directory"/main.cf.default + echo "mynetworks_style = subnet" >> "$config_directory"/main.cf.default - grep -qc "^sendmail_path" "$config_directory"/main.cf >/dev/null || postconf -e "$(grep "^sendmail_path =" "$config_directory"/main.cf.default)" - grep -qc "^newaliases_path" "$config_directory"/main.cf >/dev/null || postconf -e "$(grep "^newaliases_path =" "$config_directory"/main.cf.default)" - grep -qc "^mailq_path" "$config_directory"/main.cf >/dev/null || postconf -e "$(grep "^mailq_path =" "$config_directory"/main.cf.default)" - grep -qc "^html_directory" "$config_directory"/main.cf >/dev/null || postconf -e "$(grep "^html_directory =" "$config_directory"/main.cf.default)" - grep -qc "^manpage_directory" "$config_directory"/main.cf >/dev/null || postconf -e "$(grep "^manpage_directory =" "$config_directory"/main.cf.default)" - grep -qc "^sample_directory" "$config_directory"/main.cf >/dev/null || postconf -e "$(grep "^sample_directory =" "$config_directory"/main.cf.default)" - grep -qc "^readme_directory" "$config_directory"/main.cf >/dev/null || postconf -e "$(grep "^readme_directory =" "$config_directory"/main.cf.default)" - grep -qc "^command_directory" "$config_directory"/main.cf >/dev/null || postconf -e "$(grep "^command_directory =" "$config_directory"/main.cf.default)" - grep -qc "^daemon_directory" "$config_directory"/main.cf >/dev/null || postconf -e "$(grep "^daemon_directory =" "$config_directory"/main.cf.default)" - grep -qc "^data_directory" "$config_directory"/main.cf >/dev/null || postconf -e "$(grep "^data_directory =" "$config_directory"/main.cf.default)" - grep -qc "^queue_directory" "$config_directory"/main.cf >/dev/null || postconf -e "$(grep "^queue_directory =" "$config_directory"/main.cf.default)" - grep -qc "^config_directory" "$config_directory"/main.cf >/dev/null || postconf -e "$(grep "^config_directory =" "$config_directory"/main.cf.default)" - grep -qc "^mail_spool_directory" "$config_directory"/main.cf >/dev/null || postconf -e "$(grep "^mail_spool_directory =" "$config_directory"/main.cf.default)" - grep -qc "^mail_owner" "$config_directory"/main.cf >/dev/null || postconf -e "$(grep "^mail_owner =" "$config_directory"/main.cf.default)" - grep -qc "^setgid_group" "$config_directory"/main.cf >/dev/null || postconf -e "$(grep "^setgid_group =" "$config_directory"/main.cf.default)" - grep -qc "^myhostname" "$config_directory"/main.cf >/dev/null || postconf -e "$(grep "^myhostname =" "$config_directory"/main.cf.default)" - grep -qc "^mydomain" "$config_directory"/main.cf >/dev/null || postconf -e "$(grep "^mydomain =" "$config_directory"/main.cf.default)" - grep -qc "^mynetworks" "$config_directory"/main.cf >/dev/null || postconf -e "$(grep "^mynetworks =" "$config_directory"/main.cf.default)" + grep -qc "^sendmail_path[^_]" "$config_directory"/main.cf >/dev/null || postconf -e "$(grep "^sendmail_path =" "$config_directory"/main.cf.default)" + grep -qc "^newaliases_path[^_]" "$config_directory"/main.cf >/dev/null || postconf -e "$(grep "^newaliases_path =" "$config_directory"/main.cf.default)" + grep -qc "^mailq_path[^_]" "$config_directory"/main.cf >/dev/null || postconf -e "$(grep "^mailq_path =" "$config_directory"/main.cf.default)" + grep -qc "^html_directory[^_]" "$config_directory"/main.cf >/dev/null || postconf -e "$(grep "^html_directory =" "$config_directory"/main.cf.default)" + grep -qc "^manpage_directory[^_]" "$config_directory"/main.cf >/dev/null || postconf -e "$(grep "^manpage_directory =" "$config_directory"/main.cf.default)" + grep -qc "^sample_directory[^_]" "$config_directory"/main.cf >/dev/null || postconf -e "$(grep "^sample_directory =" "$config_directory"/main.cf.default)" + grep -qc "^readme_directory[^_]" "$config_directory"/main.cf >/dev/null || postconf -e "$(grep "^readme_directory =" "$config_directory"/main.cf.default)" + grep -qc "^command_directory[^_]" "$config_directory"/main.cf >/dev/null || postconf -e "$(grep "^command_directory =" "$config_directory"/main.cf.default)" + grep -qc "^daemon_directory[^_]" "$config_directory"/main.cf >/dev/null || postconf -e "$(grep "^daemon_directory =" "$config_directory"/main.cf.default)" + grep -qc "^data_directory[^_]" "$config_directory"/main.cf >/dev/null || postconf -e "$(grep "^data_directory =" "$config_directory"/main.cf.default)" + grep -qc "^queue_directory[^_]" "$config_directory"/main.cf >/dev/null || postconf -e "$(grep "^queue_directory =" "$config_directory"/main.cf.default)" + grep -qc "^config_directory[^_]" "$config_directory"/main.cf >/dev/null || postconf -e "$(grep "^config_directory =" "$config_directory"/main.cf.default)" + grep -qc "^mail_spool_directory[^_]" "$config_directory"/main.cf >/dev/null || postconf -e "$(grep "^mail_spool_directory =" "$config_directory"/main.cf.default)" + grep -qc "^mail_owner[^_]" "$config_directory"/main.cf >/dev/null || postconf -e "$(grep "^mail_owner =" "$config_directory"/main.cf.default)" + grep -qc "^setgid_group[^_]" "$config_directory"/main.cf >/dev/null || postconf -e "$(grep "^setgid_group =" "$config_directory"/main.cf.default)" + grep -qc "^myhostname[^_]" "$config_directory"/main.cf >/dev/null || postconf -e "$(grep "^myhostname =" "$config_directory"/main.cf.default)" + grep -qc "^mydomain[^_]" "$config_directory"/main.cf >/dev/null || postconf -e "$(grep "^mydomain =" "$config_directory"/main.cf.default)" + grep -qc "^mynetworks[^_]" "$config_directory"/main.cf >/dev/null || postconf -e "$(grep "^mynetworks =" "$config_directory"/main.cf.default)" + grep -qc "^mynetworks_style[^_]" "$config_directory"/main.cf >/dev/null || postconf -e "$(grep "^mynetworks_style =" "$config_directory"/main.cf.default)" + grep -qc "^shlib_directory[^_]" "$config_directory"/main.cf >/dev/null || postconf -e "$(grep "^shlib_directory =" "$config_directory"/main.cf.default)" + grep -qc "^meta_directory[^_]" "$config_directory"/main.cf >/dev/null || postconf -e "$(grep "^meta_directory =" "$config_directory"/main.cf.default)" + grep -qc "^smtputf8_enable[^_]" "$config_directory"/main.cf >/dev/null || postconf -e "$(grep "^smtputf8_enable =" "$config_directory"/main.cf.default)" postfix set-permissions postfix post-install upgrade-source diff --git a/mail/postfix/patches/100-fsstat.patch b/mail/postfix/patches/100-fsstat.patch index c91acca7a..ca43025c1 100644 --- a/mail/postfix/patches/100-fsstat.patch +++ b/mail/postfix/patches/100-fsstat.patch @@ -1,7 +1,7 @@ diff -rupN postfix-2.8.1/src/smtpd/smtpd_check.c postfix-2.8.1_patched/src/smtpd/smtpd_check.c --- postfix-2.8.1/src/smtpd/smtpd_check.c 2011-01-04 22:03:50.000000000 +0300 +++ postfix-2.8.1_patched/src/smtpd/smtpd_check.c 2011-03-06 19:35:39.000000000 +0300 -@@ -4894,7 +4894,7 @@ char *smtpd_check_queue(SMTPD_STATE *s +@@ -5277,7 +5277,7 @@ char *smtpd_check_queue(SMTPD_STATE *s */ #define BLOCKS(x) ((x) / fsbuf.block_size) diff --git a/mail/postfix/patches/200-manpages.patch b/mail/postfix/patches/200-manpages.patch index 948376c51..6344e93ba 100644 --- a/mail/postfix/patches/200-manpages.patch +++ b/mail/postfix/patches/200-manpages.patch @@ -1,7 +1,7 @@ diff -Naur postfix-2.10.2/conf/post-install postfix-2.10.2_patched/conf/post-install --- postfix-2.10.2/conf/post-install 2013-06-13 18:07:46.000000000 +0400 +++ postfix-2.10.2_patched/conf/post-install 2013-11-19 21:17:49.572820573 +0400 -@@ -350,10 +350,10 @@ +@@ -359,10 +359,10 @@ # Sanity checks @@ -16,28 +16,28 @@ diff -Naur postfix-2.10.2/conf/post-install postfix-2.10.2_patched/conf/post-ins case $setgid_group in no) echo $0: Error: setgid_group no longer accepts \"no\" values. 1>&2 -@@ -361,7 +361,7 @@ +@@ -370,7 +370,7 @@ esac for path in "$daemon_directory" "$command_directory" "$queue_directory" \ -- "$sendmail_path" "$newaliases_path" "$mailq_path" "$manpage_directory" -+ "$sendmail_path" "$newaliases_path" "$mailq_path" +- "$sendmail_path" "$newaliases_path" "$mailq_path" "$manpage_directory" \ ++ "$sendmail_path" "$newaliases_path" "$mailq_path" \ + "$meta_directory" do case "$path" in - /*) ;; -@@ -369,7 +369,7 @@ +@@ -379,7 +379,7 @@ esac done --for path in "$html_directory" "$readme_directory" -+for path in "$html_directory" "$readme_directory" "$manpage_directory" +-for path in "$html_directory" "$readme_directory" "$shlib_directory" ++for path in "$html_directory" "$readme_directory" "$shlib_directory" "$manpage_directory" do case "$path" in /*) ;; diff -Naur postfix-2.10.2/postfix-install postfix-2.10.2_patched/postfix-install --- postfix-2.10.2/postfix-install 2012-05-22 23:40:29.000000000 +0400 +++ postfix-2.10.2_patched/postfix-install 2013-11-19 21:12:20.694160734 +0400 -@@ -481,13 +481,13 @@ +@@ -543,13 +543,13 @@ exit 1;; esac @@ -56,18 +56,18 @@ diff -Naur postfix-2.10.2/postfix-install postfix-2.10.2_patched/postfix-install +# exit 1;; +#esac - for path in "$html_directory" "$readme_directory" + for path in "$html_directory" "$readme_directory" "$shlib_directory" do -@@ -500,7 +500,7 @@ +@@ -562,7 +562,7 @@ done for path in "$daemon_directory" "$data_directory" "$command_directory" "$queue_directory" \ -- "$sendmail_path" "$newaliases_path" "$mailq_path" "$manpage_directory" -+ "$sendmail_path" "$newaliases_path" "$mailq_path" +- "$sendmail_path" "$newaliases_path" "$mailq_path" "$manpage_directory" \ ++ "$sendmail_path" "$newaliases_path" "$mailq_path" \ + "$meta_directory" do case "$path" in - /*) ;; -@@ -680,8 +680,8 @@ +@@ -758,8 +758,8 @@ compare_or_replace $mode "$owner" "$group" html/$file \ $HTML_DIRECTORY/$file || exit 1;; '$manpage_directory') diff --git a/mail/postfix/patches/300-bdb_hash_segfault.patch b/mail/postfix/patches/300-bdb_hash_segfault.patch index c7f0df095..1a9d8e9d5 100644 --- a/mail/postfix/patches/300-bdb_hash_segfault.patch +++ b/mail/postfix/patches/300-bdb_hash_segfault.patch @@ -1,7 +1,7 @@ diff -Naur postfix-2.11.3/src/util/dict_db.c postfix-2.11.3_patched/src/util/dict_db.c --- postfix-2.11.3/src/util/dict_db.c 2012-01-25 04:41:08.000000000 +0400 +++ postfix-2.11.3_patched/src/util/dict_db.c 2014-11-01 12:36:44.287641712 +0300 -@@ -691,8 +691,8 @@ +@@ -687,8 +687,8 @@ msg_panic("db_create null result"); if ((errno = db->set_cachesize(db, 0, dict_db_cache_size, 0)) != 0) msg_fatal("set DB cache size %d: %m", dict_db_cache_size); @@ -9,6 +9,6 @@ diff -Naur postfix-2.11.3/src/util/dict_db.c postfix-2.11.3_patched/src/util/dic - msg_fatal("set DB hash element count %d: %m", DICT_DB_NELM); +// if (type == DB_HASH && db->set_h_nelem(db, DICT_DB_NELM) != 0) +// msg_fatal("set DB hash element count %d: %m", DICT_DB_NELM); - #if DB_VERSION_MAJOR == 5 || (DB_VERSION_MAJOR == 4 && DB_VERSION_MINOR > 0) + #if DB_VERSION_MAJOR == 6 || DB_VERSION_MAJOR == 5 || \ + (DB_VERSION_MAJOR == 4 && DB_VERSION_MINOR > 0) if ((errno = db->open(db, 0, db_path, 0, type, db_flags, 0644)) != 0) - FREE_RETURN(dict_surrogate(class, path, open_flags, dict_flags, diff --git a/mail/postfix/patches/400-cdb.patch b/mail/postfix/patches/400-cdb.patch index cc04cd17e..8aeaea5e4 100644 --- a/mail/postfix/patches/400-cdb.patch +++ b/mail/postfix/patches/400-cdb.patch @@ -1,7 +1,7 @@ diff -Naur postfix-2.11.1/src/util/sys_defs.h postfix-2.11.1.patched/src/util/sys_defs.h --- postfix-2.11.1/src/util/sys_defs.h 2013-09-30 00:51:55.000000000 +0400 +++ postfix-2.11.1.patched/src/util/sys_defs.h 2014-09-29 03:11:48.962277971 +0400 -@@ -767,9 +767,8 @@ +@@ -768,9 +768,8 @@ #define INTERNAL_LOCK MYFLOCK_STYLE_FLOCK #define DEF_MAILBOX_LOCK "fcntl, dotlock" /* RedHat >= 4.x */ #define HAS_FSYNC diff --git a/mail/postfix/patches/500-crosscompile.patch b/mail/postfix/patches/500-crosscompile.patch index abd3f7d98..e4123ef00 100644 --- a/mail/postfix/patches/500-crosscompile.patch +++ b/mail/postfix/patches/500-crosscompile.patch @@ -1,6 +1,6 @@ --- postfix-2.10.2/makedefs 2013-02-04 05:33:13.000000000 +0400 +++ postfix-2.10.2_patched/makedefs 2013-11-19 22:48:50.528560454 +0400 -@@ -107,9 +107,9 @@ +@@ -190,9 +190,9 @@ case $# in # Officially supported usage. @@ -13,7 +13,7 @@ case "$VERSION" in dcosx*) SYSTEM=$VERSION;; esac;; -@@ -384,9 +384,9 @@ +@@ -522,9 +522,9 @@ esac for name in nsl resolv do diff --git a/mail/postfix/patches/600-nopostconf.patch b/mail/postfix/patches/600-nopostconf.patch index 78248c74f..6140e23fa 100644 --- a/mail/postfix/patches/600-nopostconf.patch +++ b/mail/postfix/patches/600-nopostconf.patch @@ -1,9 +1,9 @@ diff -Naur postfix-2.11.1/postfix-install postfix-2.11.1.patched/postfix-install --- postfix-2.11.1/postfix-install 2014-10-05 20:43:58.598876904 +0400 +++ postfix-2.11.1.patched/postfix-install 2014-10-05 20:47:36.076700082 +0400 -@@ -729,21 +729,21 @@ - # Postfix releases, and software should not suddenly be installed in - # the wrong place when Postfix is being upgraded. +@@ -830,23 +830,23 @@ + esac + done -bin/postconf -c $CONFIG_DIRECTORY -e \ - "daemon_directory = $daemon_directory" \ @@ -19,6 +19,8 @@ diff -Naur postfix-2.11.1/postfix-install postfix-2.11.1.patched/postfix-install - "manpage_directory = $manpage_directory" \ - "sample_directory = $sample_directory" \ - "readme_directory = $readme_directory" \ +- "shlib_directory = $shlib_directory" \ +- "meta_directory = $meta_directory" \ -|| exit 1 +#bin/postconf -c $CONFIG_DIRECTORY -e \ +# "daemon_directory = $daemon_directory" \ @@ -34,6 +36,8 @@ diff -Naur postfix-2.11.1/postfix-install postfix-2.11.1.patched/postfix-install +# "manpage_directory = $manpage_directory" \ +# "sample_directory = $sample_directory" \ +# "readme_directory = $readme_directory" \ ++# "shlib_directory = $shlib_directory" \ ++# "meta_directory = $meta_directory" \ +#|| exit 1 # If Postfix is being installed locally from source code, do the diff --git a/mail/postfix/patches/700-defaultconfig.patch b/mail/postfix/patches/700-defaultconfig.patch index 2f3dc3b1c..99088d19c 100644 --- a/mail/postfix/patches/700-defaultconfig.patch +++ b/mail/postfix/patches/700-defaultconfig.patch @@ -1,7 +1,7 @@ diff -Naur postfix-2.11.1/conf/main.cf postfix-2.11.1.patched/conf/main.cf --- postfix-2.11.1/conf/main.cf 2013-12-24 18:57:25.000000000 +0400 +++ postfix-2.11.1.patched/conf/main.cf 2014-10-05 21:35:53.427534410 +0400 -@@ -21,43 +21,8 @@ +@@ -40,43 +40,8 @@ # #soft_bounce = no @@ -45,7 +45,7 @@ diff -Naur postfix-2.11.1/conf/main.cf postfix-2.11.1.patched/conf/main.cf # The default_privs parameter specifies the default rights used by # the local delivery agent for delivery to external file or command. # These rights are used in the absence of a recipient user context. -@@ -613,45 +578,4 @@ +@@ -632,45 +597,4 @@ # -dmS $process_name gdb $daemon_directory/$process_name # $process_id & sleep 1 diff --git a/mail/postfix/patches/800-fmt.patch b/mail/postfix/patches/800-fmt.patch index 7739e24bd..97a165c3d 100644 --- a/mail/postfix/patches/800-fmt.patch +++ b/mail/postfix/patches/800-fmt.patch @@ -1,7 +1,7 @@ diff -Naur postfix-2.11.1/conf/post-install postfix-2.11.1.patched/conf/post-install --- postfix-2.11.1/conf/post-install 2014-10-05 20:43:58.597876946 +0400 +++ postfix-2.11.1.patched/conf/post-install 2014-10-11 16:28:01.258874097 +0400 -@@ -310,7 +310,7 @@ +@@ -319,7 +319,7 @@ case `uname -s` in HP-UX*) FMT=cat;; SunOS*) FMT=fake_fmt;;