~ubuntu-branches/ubuntu/precise/dovecot/precise-proposed

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
#!/bin/sh

set -e

POSTFIX_BCKFILE="/var/backups/mail-stack-delivery/main.cf-backup"

set_postfix_option() {
	opt="$1"
	# Backup the existion value of the option
	postconf $(echo ${opt} | cut -d= -f1) >> ${POSTFIX_BCKFILE} || true
	# Set the new value of the option
       	postconf -e "${opt}"
	echo -n '.'
}

if [ "$1" = "configure" ]; then
	# Create initial symlinks for certificates
       	if [ ! -e "/etc/ssl/private/ssl-mail.key" ]; then
       	        ln -s /etc/ssl/private/ssl-cert-snakeoil.key /etc/ssl/private/ssl-mail.key
       	fi
       	if [ ! -e "/etc/ssl/certs/ssl-mail.pem" ]; then
       	        ln -s /etc/ssl/certs/ssl-cert-snakeoil.pem /etc/ssl/certs/ssl-mail.pem
       	fi
	# Configure postfix either on new install 
	# or if the postfix backup file is no longer there 
	# (only deleted when the pkg is removed)
	if [ -f "/etc/postfix/main.cf" ]; then
                if [ -e "$POSTFIX_BCKFILE" ]; then
                        cp $POSTFIX_BCKFILE ${POSTFIX_BCKFILE}-$(date +%Y%m%d%H%M)
                fi
       		if [ -z "$2" -o ! -e "$POSTFIX_BCKFILE" ]; then
			if which postconf >/dev/null; then
				# Setup postfix
				echo 'Mail stack delivery changes some postfix settings.'
				echo 'Old values are stored in '$POSTFIX_BCKFILE'.'
				echo 'Feel free to revert any of them when the process is done.'
				echo -n 'Configuring postfix for mail-stack-delivery integration: '
        			set_postfix_option "home_mailbox = Maildir/"
        	      		set_postfix_option "smtpd_sasl_auth_enable = yes"
        	       		set_postfix_option "smtpd_sasl_type = dovecot"
        	       		set_postfix_option "smtpd_sasl_path = private/dovecot-auth"
        	       		set_postfix_option "smtpd_sasl_authenticated_header = yes"
        	       		set_postfix_option "smtpd_sasl_security_options = noanonymous"
        	       		set_postfix_option "smtpd_sasl_local_domain = \$myhostname"
        	      		set_postfix_option "broken_sasl_auth_clients = yes"
        	       		set_postfix_option "smtpd_recipient_restrictions = reject_unknown_sender_domain, reject_unknown_recipient_domain, reject_unauth_pipelining, permit_mynetworks, permit_sasl_authenticated, reject_unauth_destination"
        	       		set_postfix_option "smtpd_sender_restrictions = reject_unknown_sender_domain"
        	       		set_postfix_option "mailbox_command = /usr/lib/dovecot/deliver -c /etc/dovecot/conf.d/01-mail-stack-delivery.conf -m \"\${EXTENSION}\""
        	       		set_postfix_option "smtpd_tls_cert_file = /etc/ssl/certs/ssl-mail.pem"
        	       		set_postfix_option "smtpd_tls_key_file = /etc/ssl/private/ssl-mail.key"
        	       		set_postfix_option "smtpd_use_tls = yes"
        	       		set_postfix_option "smtp_use_tls = yes"
        	       		set_postfix_option "smtpd_tls_received_header = yes"
        	       		set_postfix_option "smtpd_tls_mandatory_protocols = SSLv3, TLSv1"
        	       		set_postfix_option "smtpd_tls_mandatory_ciphers = medium"
        	       		set_postfix_option "smtpd_tls_auth_only = yes"
        	       		set_postfix_option "tls_random_source = dev:/dev/urandom"
				echo ' done.'
			fi
		fi
	else
		echo ""
		echo "Postfix not configured. Run"
		echo "sudo dpkg-reconfigure postfix and choose"
		echo "the type of mail server. Then run"
		echo "sudo dpkg-reconfigure mail-stack-delivery to"
		echo "finish mail-stack-delivery installation."
		echo ""
	fi

    if [ -x "/etc/init.d/dovecot" ]; then
        if [ -x /usr/sbin/invoke-rc.d ]; then
            invoke-rc.d dovecot restart
        else
            service dovecot restart
        fi
    fi
	if [ -x "/etc/init.d/postfix" ]; then
		if [ -x /usr/sbin/invoke-rc.d ]; then
			invoke-rc.d postfix restart
		else
			service postfix restart
		fi
	fi

fi

#DEBHELPER#