X-Git-Url: http://ftp.carnet.hr/carnet-debian/scm?a=blobdiff_plain;f=debian%2Fpostinst;h=085160479ee40b9f54ca58728865104efa703dd4;hb=33c0a5216a41594b74bc60a3350266dc2ffbfd27;hp=cadf94cb17d663d8fe9d35569584c80af8790ead;hpb=9a85463cbe781bb6cfee3253c025be17b3223148;p=postfix-cn.git diff --git a/debian/postinst b/debian/postinst index cadf94c..0851604 100755 --- a/debian/postinst +++ b/debian/postinst @@ -5,7 +5,7 @@ set -e [ "$1" = "configure" ] || exit 0 [ "$DEBIAN_SCRIPT_DEBUG" ] && set -vx -# Load CARNet Tools +# Load CARNET Tools . /usr/share/carnet-tools/functions.sh # Load Debconf @@ -41,6 +41,16 @@ if echo $rbl | grep -q dnsbl.njabl.org; then db_set postfix-cn/rbl "$rbl" || true fi +# zelja, 2021-04-29 +# ako je spamhaus.org ovdje, postavi eta.cert.hr, a sam +# spamhaus je nepotreban, jer imamo zen.dnsbl-sh.carnet.hr +if echo $rbl | grep -q zen.spamhaus.org; then + rbl="`echo $rbl | sed 's/zen.spamhaus.org, /eta.cert.hr, /g'`" + # za svaki slucaj, ako je na kraju + rbl="`echo $rbl | sed 's/zen.spamhaus.org/eta.cert.hr/g'`" + db_set postfix-cn/rbl "$rbl" || true +fi + db_get postfix-cn/matchgecos || true matchgecos="$RET" @@ -94,6 +104,14 @@ if [ -f /etc/postfix/master.cf ]; then "s/# $option/$option/g" \ /etc/postfix/master.cf || true done + + for option in "o smtpd_client_restrictions=" \ + "o smtpd_helo_restrictions=" \ + "o smtpd_sender_restrictions="; do + cp_check_and_sed "$option" \ + "s/.*$option/# -$option/g" \ + /etc/postfix/master.cf || true + done fi # ovo manje/vise uzima kao default, ali u slucaju da je multihomed stroj, @@ -107,10 +125,11 @@ postconf -e append_dot_mydomain="yes" postconf -e append_at_myorigin="yes" # dodaj 127.0.0.0/8, netaddr i ipv6-localhost +# dodaje izlazne servere za webmail --zelja mynetworks="`postconf -h mynetworks`" -for i in "127.0.0.0/8" "$netaddr" "[::1]/128"; do +for i in "127.0.0.0/8" "\[::1\]/128" "$netaddr" "193.198.233.95" "193.198.233.96"; do if ! echo $mynetworks | grep -q $i; then - mynetworks="$mynetworks $i" + mynetworks="$mynetworks, $i" fi done postconf -e mynetworks="$mynetworks" @@ -198,7 +217,11 @@ smtpd_recipient_restrictions="reject_invalid_hostname, \ reject_unauth_pipelining, \ permit_sasl_authenticated, \ permit_mynetworks, \ - reject_unauth_destination" + reject_unauth_destination, \ + check_client_access hash:/etc/postfix/cn-client-access, \ + check_helo_access hash:/etc/postfix/cn-helo-access, \ + check_sender_access hash:/etc/postfix/cn-sender-access, \ + check_recipient_access hash:/etc/postfix/cn-recipient-access" # dodaj samo rbl-ove iz debconfa if [ "$rbl" ]; then @@ -211,6 +234,14 @@ fi smtpd_recipient_restrictions="$smtpd_recipient_restrictions, permit" postconf -e smtpd_recipient_restrictions="$smtpd_recipient_restrictions" +# Header & body checks + +postconf -e header_checks="pcre:/etc/postfix/cn-header-checks" +postconf -e mime_header_checks="pcre:/etc/postfix/cn-mime-header-checks" +postconf -e nested_header_checks="pcre:/etc/postfix/cn-nested-header-checks" +postconf -e body_checks="pcre:/etc/postfix/cn-body-checks" + + # SASL stuff postconf -e smtpd_sasl_auth_enable="yes" postconf -e smtpd_sasl_security_options="noanonymous" @@ -375,15 +406,36 @@ rm -f /etc/postfix/main.cf.dpkg-tmp.$$ #fi # kreiraj aliases_gecos -if [ -x /usr/share/postfix-cn/make-aliases-gecos.sh ]; then +if [ -x /usr/sbin/newaliases-gecos ]; then if [ "$matchgecos" = "true" ]; then echo "CN: Creating GECOS alias map..." - /usr/share/postfix-cn/make-aliases-gecos.sh + /usr/sbin/newaliases-gecos fi fi # rjesava gresku using backwards-compatible default setting chroot=y -postconf -F smtp/inet/chroot=y && restart_postfix="yes" + +for service in smtps/inet smtp/inet smtp/unix submission/inet pickup/fifo cleanup/unix qmgr/fifo rewrite/unix bounce/unix defer/unix trace/unix verify/unix flush/unix relay/unix showq/unix error/unix scache/unix discard/unix retry/unix +do + postconf -F $service/chroot=y +done +restart_postfix="yes" + + +# obavijest za webmail + +cp-update -t postfix-cn /etc/postfix/main.cf <