odvajanje samo razmakom (radi i s zarezom, ali defaultna konfiguracija koristi razmak)
[postfix-cn.git] / debian / postinst
index df8fdbf..89372df 100755 (executable)
@@ -31,6 +31,17 @@ if echo $rbl | grep -q opm.blitzed.org; then
   db_set postfix-cn/rbl "$rbl" || true
 fi
 
+# Wed, 12 Jun 2013 15:15:28 +0200
+# dnsbl.njabl.org je ugasen 2013-03
+if echo $rbl | grep -q dnsbl.njabl.org; then
+  rbl="`echo $rbl | sed 's/dnsbl.njabl.org, //g'`"
+  # za svaki slucaj, ako je na kraju
+  rbl="`echo $rbl | sed 's/dnsbl.njabl.org//g'`"
+  db_set postfix-cn/rbl "$rbl" || true
+fi
+
+db_get postfix-cn/matchgecos || true
+
 db_get postfix-cn/matchgecos || true
 matchgecos="$RET"
 
@@ -60,7 +71,7 @@ if [ -f /etc/postfix/master.cf ]; then
                    /etc/postfix/master.cf || true
 fi
 
-# ovo  manje/vise uzima kao default, ali u slucaju da je multihomed stroj,
+# ovo manje/vise uzima kao default, ali u slucaju da je multihomed stroj,
 # i eventualno je sprckan, mozda nesto nece raditi kako spada pa cemo konfigurirati
 postconf -e myhostname="$fqdn"
 postconf -e mydomain="$domain"
@@ -70,11 +81,11 @@ postconf -e myorigin="$mailname"
 postconf -e append_dot_mydomain="yes"
 postconf -e append_at_myorigin="yes"
 
-# dodaj 127.0.0.0/8 i netaddr
+# dodaj 127.0.0.0/8, netaddr i ipv6-localhost
 mynetworks="`postconf -h mynetworks`"
-for i in "127.0.0.0/8" "$netaddr"; do
+for i in "127.0.0.0/8" "$netaddr" "[::1]/128"; do
   if ! echo $mynetworks | grep -q $i; then
-   mynetworks="$mynetworks, $i"
+   mynetworks="$mynetworks $i"
   fi
 done
 postconf -e mynetworks="$mynetworks"
@@ -107,10 +118,10 @@ if [ "$mx_domain" != "$fqdn" ]; then
   postconf -e relay_domains="\$mydestination"
   if [ "$mx_domain" != "$domain" ]; then
     if dpkg --compare-versions "$2" lt 2.1.5-8; then
-      cp_echo "CN: This host is MX for more than one domain!  postfix-cn package will"
-      cp_echo "CN  only set up $mx_domain, you HAVE TO add the other domains manually"
-      cp_echo "CN  to mydestination variable in /etc/postfix/main.cf, if you haven't"
-      cp_echo "CN  done that already or you may lose mail."
+      cp_echo "CN: This host is MX for more than one domain! postfix-cn package will"
+      cp_echo "CN: only set up $mx_domain, you HAVE TO add the other domains manually"
+      cp_echo "CN: to mydestination variable in /etc/postfix/main.cf, if you haven't"
+      cp_echo "CN: done that already or you may lose mail."
     fi
   fi
 fi
@@ -203,22 +214,17 @@ if [ -f /etc/default/saslauthd ]; then
     echo "START=yes" >> /etc/default/saslauthd
     restart_saslauthd="yes"
   fi
-  if ! grep -q "^PARAMS.*/var/spool/postfix/var/run/saslauthd" /etc/default/saslauthd; then
-    echo "PARAMS=\"-m /var/spool/postfix/var/run/saslauthd\"" >> /etc/default/saslauthd
-    restart_saslauthd="yes"
-  fi
-  if ! grep -q "^PIDFILE.*/var/spool/postfix/var/run/saslauthd/saslauthd.pid" /etc/default/saslauthd; then
-    echo "PIDFILE=\"/var/spool/postfix/var/run/saslauthd/saslauthd.pid\"" >> /etc/default/saslauthd
-    restart_saslauthd="yes"
-  fi
-  if ! grep -q "^PWDIR.*/var/spool/postfix/var/run/saslauthd" /etc/default/saslauthd; then
-    echo "PWDIR=\"/var/spool/postfix/var/run/saslauthd\"" >> /etc/default/saslauthd
+
+  if ! grep -q "^OPTIONS.*/var/spool/postfix/var/run/saslauthd" /etc/default/saslauthd; then
+    echo "OPTIONS=\"-c -m /var/spool/postfix/var/run/saslauthd\"" >> /etc/default/saslauthd
     restart_saslauthd="yes"
   fi
+
   if ! grep -q "&& ln -s" /etc/default/saslauthd; then
     echo "[ ! -L /var/run/saslauthd -a -d /var/spool/postfix/var/run/saslauthd -a ! -d /var/run/saslauthd ] && ln -s /var/spool/postfix/var/run/saslauthd /var/run/saslauthd || true" >> /etc/default/saslauthd
     restart_saslauthd="yes"
   fi
+
   if [ ! -L /var/run/saslauthd ]; then
     mkdir -p /var/spool/postfix/var/run/
     if [ -d /var/run/saslauthd -a ! -d /var/spool/postfix/var/run/saslauthd ]; then
@@ -226,18 +232,18 @@ if [ -f /etc/default/saslauthd ]; then
     elif [ -d /var/run/saslauthd -a -d /var/spool/postfix/var/run/saslauthd ]; then
       rm -rf /var/run/saslauthd/
     fi
-
     # XXX jos kad bi ln -s u /var/run/ radio (bootclean.sh)
     if [ -d /var/spool/postfix/var/run/saslauthd -a ! -d /var/run/saslauthd ]; then
       ln -s /var/spool/postfix/var/run/saslauthd /var/run/saslauthd
     fi
-
     restart_saslauthd="yes"
   fi
+
   if [ ! -d /var/spool/postfix/var/run/saslauthd ]; then
     mkdir -p /var/spool/postfix/var/run/saslauthd
     restart_saslauthd="yes"
   fi
+
   if ! dpkg-statoverride --list /var/spool/postfix/var/run/saslauthd > /dev/null; then
     dpkg-statoverride --update --add root sasl 710 /var/spool/postfix/var/run/saslauthd
   fi
@@ -252,60 +258,35 @@ if [ "$restart_saslauthd" = "yes" ]; then
   fi
 fi
 
-# izgenerirati certifikate
-cert="postfix"   # basename of certificate
-description="Postfix SMTP daemon"      # descriptive text
-cd /etc/ssl/certs
-PATH=$PATH:/usr/bin/ssl
-if [ -f "$cert.pem" ]; then
-  echo "CN: You already have /etc/ssl/certs/$cert.pem"
-else
-  echo "CN: Creating generic self-signed certificate: /etc/ssl/certs/$cert.pem"
-  echo "CN: (replace with hand-crafted or authorized one if needed)."
-  HOSTNAME=`hostname -s`
-  FQDN=`hostname -f`
-        openssl req -new -x509 -days 365 -nodes -out "$cert.pem" -keyout "$cert.pem" > /dev/null 2>&1 <<+
-.
-.
-.
-$description
-$hostname
-$fqdn
-root@$mailname
-+
-  ln -sf "$cert.pem" `openssl x509 -noout -hash < "$cert.pem"`.0
-  chown root.root "/etc/ssl/certs/$cert.pem"
-  chmod 0640 "/etc/ssl/certs/$cert.pem"
-fi
-
 # TLS stuff
-postconf -e smtp_use_tls="yes"
+postconf -e smtp_tls_security_level="may"
 postconf -e smtp_tls_session_cache_database="sdbm:/var/lib/postfix/smtp_scache"
 postconf -e smtp_tls_session_cache_timeout="3600s"
-postconf -e smtpd_use_tls="yes"
+postconf -e smtpd_tls_security_level="may"
 postconf -e smtpd_tls_session_cache_database="sdbm:/var/lib/postfix/smtpd_scache"
 postconf -e smtpd_tls_session_cache_timeout="3600s"
 postconf -e tls_random_source="dev:/dev/urandom"
-postconf -e smtpd_tls_mandatory_protocols="SSLv3, TLSv1"
-postconf -e smtpd_tls_mandatory_ciphers="medium, high"
 postconf -e smtpd_tls_exclude_ciphers="aNULL"
 postconf -e smtpd_tls_mandatory_exclude_ciphers="aNULL"
-# ako je postavljen neki drugi certifikat, ne diraj
-smtp_tls_cert_file="`postconf -h smtp_tls_cert_file`"
-if [ -z "$smtp_tls_cert_file" ]; then
-  postconf -e smtp_tls_cert_file="/etc/ssl/certs/$cert.pem"
+
+# nije potrebno generiranje certifikata jer postfix koristi paket ssl-cert
+# ako je postavljen snakeoil certifikat za smtpd_tls_* postavi isti za smtp_tls_*
+smtpd_tls_cert_file="`postconf -h smtpd_tls_cert_file`"
+if [ "$smtpd_tls_cert_file" = "/etc/ssl/certs/ssl-cert-snakeoil.pem" ]; then
+  postconf -e smtp_tls_cert_file="/etc/ssl/certs/ssl-cert-snakeoil.pem"
+  postconf -e smtp_tls_key_file="/etc/ssl/private/ssl-cert-snakeoil.key"
 fi
+
+# ako je prazan, postavi na defaultni iz paketa ssl-cert
 smtpd_tls_cert_file="`postconf -h smtpd_tls_cert_file`"
 if [ -z "$smtpd_tls_cert_file" ]; then
-  postconf -e smtpd_tls_cert_file="/etc/ssl/certs/$cert.pem"
-fi
-smtp_tls_key_file="`postconf -h smtp_tls_key_file`"
-if [ -z "$smtp_tls_key_file" ]; then
-  postconf -e smtp_tls_key_file="\$smtp_tls_cert_file"
+  postconf -e smtpd_tls_cert_file="/etc/ssl/certs/ssl-cert-snakeoil.pem"
+  postconf -e smtpd_tls_key_file="/etc/ssl/private/ssl-cert-snakeoil.key"
 fi
-smtpd_tls_key_file="`postconf -h smtpd_tls_key_file`"
-if [ -z "$smtpd_tls_key_file" ]; then
-  postconf -e smtpd_tls_key_file="\$smtpd_tls_cert_file"
+smtp_tls_cert_file="`postconf -h smtp_tls_cert_file`"
+if [ -z "$smtp_tls_cert_file" ]; then
+  postconf -e smtp_tls_cert_file="/etc/ssl/certs/ssl-cert-snakeoil.pem"
+  postconf -e smtp_tls_key_file="/etc/ssl/private/ssl-cert-snakeoil.key"
 fi
 
 # prije bilo u /etc/postfix/, od verzije 2.1.5-2 je u /var/spool/postfix
@@ -389,3 +370,5 @@ if [ "$restart_postfix" = "yes" ]; then
   fi
 fi
 cp_mail postfix-cn
+
+#DEBHELPER#