/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"
# obrisati $mydomain, ako je upgrade sa starije verzije
# te srediti mydestination
-if dpkg --compare-versions "$2" lt 2.1.5-8; then
+if dpkg --compare-versions "$2" lt 2.3.8-2; then
mydestination="`postconf -h mydestination`"
if echo $mydestination | grep -q ", \$mydomain"; then
mydestination="`echo $mydestination | sed 's/, \$mydomain//g'`"
fi
+ if ! echo $mydestination | grep -q "localhost.\$mydomain"; then
+ mydestination="$mydestination, localhost.\$mydomain"
+ fi
+ if ! echo $mydestination | grep -q "\$myhostname"; then
+ mydestination="\$myhostname, $mydestination"
+ fi
postconf -e mydestination="$mydestination"
fi
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
done
fi
-# dodaj check_policy_service i permit na kraj
-smtpd_recipient_restrictions="$smtpd_recipient_restrictions, check_policy_service inet:127.0.0.1:60000, permit"
+# dodaj permit na kraj
+smtpd_recipient_restrictions="$smtpd_recipient_restrictions, permit"
postconf -e smtpd_recipient_restrictions="$smtpd_recipient_restrictions"
# SASL stuff
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
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
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_key_file="\$smtp_tls_cert_file"
-postconf -e smtp_tls_session_cache_database="sdbm:/var/spool/postfix/smtp_scache"
+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_key_file="\$smtpd_tls_cert_file"
-postconf -e smtpd_tls_session_cache_database="sdbm:/var/spool/postfix/smtpd_scache"
+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"
-# 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"
+postconf -e smtpd_tls_exclude_ciphers="aNULL"
+postconf -e smtpd_tls_mandatory_exclude_ciphers="aNULL"
+
+# 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"
+ 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
+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
[ -f /etc/postfix/smtp_scache.pag ] && rm -f /etc/postfix/smtp_scache.pag
[ -f /etc/postfix/smtpd_scache.dir ] && rm -f /etc/postfix/smtpd_scache.dir
[ -f /etc/postfix/smtpd_scache.pag ] && rm -f /etc/postfix/smtpd_scache.pag
+# prije bilo u /var/spool/postfix/, od verzije 2.5.5 je u /var/lib/postfix
+[ -f /var/spool/postfix/smtp_scache.dir ] && rm -f /var/spool/postfix/smtp_scache.dir
+[ -f /var/spool/postfix/smtp_scache.pag ] && rm -f /var/spool/postfix/smtp_scache.pag
+[ -f /var/spool/postfix/smtpd_scache.dir ] && rm -f /var/spool/postfix/smtpd_scache.dir
+[ -f /var/spool/postfix/smtpd_scache.pag ] && rm -f /var/spool/postfix/smtpd_scache.pag
# debconf stop
db_go || true
fi
rm -f /etc/postfix/main.cf.dpkg-tmp.$$
+if ! grep -q "retry unix - - - - - error" /etc/postfix/master.cf; then
+ echo "CN: Please, add this line in /etc/postfix/master.cf and restart Postfix."
+ echo "retry unix - - - - - error"
+ echo
+fi
+
# kreiraj aliases_gecos
if [ -x /usr/share/postfix-cn/make-aliases-gecos.sh ]; then
if [ "$matchgecos" = "true" ]; then
fi
fi
-if dpkg --compare-versions "$2" lt 2.1.5-6 && \
- [ -f /etc/postgrey/whitelist_clients ]; then
- # dodaj CARNet MX u /etc/postgrey/whitelist_clients
- cp-update postfix-cn /etc/postgrey/whitelist_clients < /usr/share/postfix-cn/carnet_whitelist_clients
- restart_postgrey="yes"
-fi
-
-if [ -f /etc/default/postgrey ]; then
- if ! grep -q "^POSTGREY_OPTS=.*--delay" /etc/default/postgrey; then
- cp_check_and_sed 'POSTGREY_OPTS=' \
- 's/^POSTGREY_OPTS="/POSTGREY_OPTS="--delay=58 /g' \
- /etc/default/postgrey || true
- restart_postgrey="yes"
- fi
-fi
-
-if [ "$restart_postgrey" = "yes" ]; then
- if [ -x /usr/sbin/invoke-rc.d ]; then
- [ -x /etc/init.d/postgrey ] && invoke-rc.d postgrey restart
- else
- [ -x /etc/init.d/postgrey ] && /etc/init.d/postgrey restart
- fi
-fi
-
# restart
if [ "$restart_postfix" = "yes" ]; then
if [ -x /usr/sbin/invoke-rc.d ]; then