fix u postinstu
[postfix-cn.git] / debian / postinst
index cadf94c..0851604 100755 (executable)
@@ -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 <<EOF
+
+# Posluzitelji "193.198.233.95" "193.198.233.96" su odlazni posluzitelji za webmail.carnet.hr
+# Ukoliko koristite uslugu CARNET-ovog Webmaila, nemojte ih brisati iz "mynetworks"!
+
+EOF
+
+test -f /etc/postfix/cn-client-access && /usr/sbin/postmap /etc/postfix/cn-client-access
+test -f /etc/postfix/cn-recipient-access && /usr/sbin/postmap /etc/postfix/cn-recipient
+test -f /etc/postfix/cn-sender-access && /usr/sbin/postmap /etc/postfix/cn-sender-access
+test -f /etc/postfix/cn-helo-access && /usr/sbin/postmap /etc/postfix/cn-helo-access
+
 
 # restart 
 if [ "$restart_postfix" = "yes" ]; then