install_update_dovecot.sh: add service post-login.
This commit is contained in:
parent
04629f7d9b
commit
d1d806d085
@ -2524,6 +2524,7 @@ else
|
|||||||
fatal "Adjusting file /usr/local/dovecot-${_version}/etc/dovecot/conf.d/10-master.conf failed"
|
fatal "Adjusting file /usr/local/dovecot-${_version}/etc/dovecot/conf.d/10-master.conf failed"
|
||||||
fi
|
fi
|
||||||
|
|
||||||
|
|
||||||
## - edit /usr/local/dovecot/etc/dovecot/dovecot.conf
|
## - edit /usr/local/dovecot/etc/dovecot/dovecot.conf
|
||||||
## -
|
## -
|
||||||
## - add:
|
## - add:
|
||||||
@ -2877,6 +2878,66 @@ EOF
|
|||||||
fi
|
fi
|
||||||
|
|
||||||
|
|
||||||
|
## - configure post-login service (10-master.conf)
|
||||||
|
## -
|
||||||
|
## - see also: https://wiki.dovecot.org/PostLoginScripting
|
||||||
|
## -
|
||||||
|
echononl "\tAdd script '/usr/local/dovecot-${_version}/bin/post-login.sh'.."
|
||||||
|
cat <<EOF > /usr/local/dovecot-${_version}/bin/post-login.sh
|
||||||
|
#!/usr/bin/env bash
|
||||||
|
|
||||||
|
touch ~/.last_login
|
||||||
|
|
||||||
|
exec "\$@"
|
||||||
|
EOF
|
||||||
|
if [[ $? -gt 0 ]] ; then
|
||||||
|
echo -e "$rc_failed"
|
||||||
|
error "Adding script '/usr/local/dovecot-${_version}/bin/post-login.sh' failed!"
|
||||||
|
else
|
||||||
|
echo -e "$rc_done"
|
||||||
|
fi
|
||||||
|
|
||||||
|
echononl "\tSet Permissions of 'post-login.sh' .."
|
||||||
|
chmod 755 "/usr/local/dovecot-${_version}/bin/post-login.sh" > /dev/null 2>&1
|
||||||
|
if [[ $? -gt 0 ]] ; then
|
||||||
|
echo -e "$rc_failed"
|
||||||
|
error "Setting permissions to '/usr/local/dovecot-${_version}/bin/post-login.sh' failed!"
|
||||||
|
else
|
||||||
|
echo -e "$rc_done"
|
||||||
|
fi
|
||||||
|
|
||||||
|
_failed=false
|
||||||
|
echononl "\tConfigure post-login service (10-master.conf)"
|
||||||
|
perl -i -n -p -e "s#^(\s*)(service\s+imap\s+{.*)#\1\2\n\1 \# tell imap to do post-login lookup using a socket called \"imap-postlogin\"\n\1 executable = imap post-login\n#g" \
|
||||||
|
/usr/local/dovecot-${_version}/etc/dovecot/conf.d/10-master.conf || _failed=true
|
||||||
|
perl -i -n -p -e "s#^(\s*)(service\s+pop3\s+{.*)#\1\2\n\1 \# tell imap to do post-login lookup using a socket called \"imap-postlogin\"\n\1 executable = pop3 post-login\n#g" \
|
||||||
|
/usr/local/dovecot-${_version}/etc/dovecot/conf.d/10-master.conf || _failed=true
|
||||||
|
cat <<EOF >> /usr/local/dovecot-${_version}/etc/dovecot/conf.d/10-master.conf
|
||||||
|
|
||||||
|
service post-login {
|
||||||
|
# all post-login scripts are executed via script-login binary
|
||||||
|
executable = script-login /usr/local/dovecot/bin/post-login.sh
|
||||||
|
|
||||||
|
# the script process runs as the user specified here:
|
||||||
|
user = vmail
|
||||||
|
|
||||||
|
# this UNIX socket listener must use the same name as given to imap executable
|
||||||
|
unix_listener post-login {
|
||||||
|
}
|
||||||
|
}
|
||||||
|
EOF
|
||||||
|
if [[ $? -gt 0 ]] ; then
|
||||||
|
_failed=true
|
||||||
|
fi
|
||||||
|
|
||||||
|
if ! $_failed ; then
|
||||||
|
echo -e "$rc_done"
|
||||||
|
else
|
||||||
|
echo -e "$rc_failed"
|
||||||
|
fatal "Configuring 'post-login' service failed!"
|
||||||
|
fi
|
||||||
|
|
||||||
|
|
||||||
## - edit /usr/local/dovecot/etc/dovecot/conf.d/90-quota.conf
|
## - edit /usr/local/dovecot/etc/dovecot/conf.d/90-quota.conf
|
||||||
## -
|
## -
|
||||||
## - add to the end of file or in seperate plugin-blocks
|
## - add to the end of file or in seperate plugin-blocks
|
||||||
|
Loading…
Reference in New Issue
Block a user