uawdijnntqw1x1x1
IP : 13.59.51.100
Hostname : axolotl
Kernel : Linux axolotl 4.9.0-13-amd64 #1 SMP Debian 4.9.228-1 (2020-07-05) x86_64
Disable Function : pcntl_alarm,pcntl_fork,pcntl_waitpid,pcntl_wait,pcntl_wifexited,pcntl_wifstopped,pcntl_wifsignaled,pcntl_wexitstatus,pcntl_wtermsig,pcntl_wstopsig,pcntl_signal,pcntl_signal_dispatch,pcntl_get_last_error,pcntl_strerror,pcntl_sigprocmask,pcntl_sigwaitinfo,pcntl_sigtimedwait,pcntl_exec,pcntl_getpriority,pcntl_setpriority,
OS : Linux
PATH:
/
var
/
lib
/
dpkg
/
info
/
ispmanager-pkg-exim.postinst
/
/
#!/bin/bash # postinst script for coremanager # # see: dh_installdeb(1) #set -e # summary of how this script can be called: # * <postinst> `configure' <most-recently-configured-version> # * <old-postinst> `abort-upgrade' <new version> # * <conflictor's-postinst> `abort-remove' `in-favour' <package> # <new-version> # * <postinst> `abort-remove' # * <deconfigured's-postinst> `abort-deconfigure' `in-favour' # <failed-install-package> <version> `removing' # <conflicting-package> <version> # for details, see http://www.debian.org/doc/debian-policy/ or # the debian-policy package COREDIR=/usr/local/mgr5 CONFNAME=mta.conf . ${COREDIR}/lib/pkgsh/core_pkg_funcs.sh . ${COREDIR}/lib/pkgsh/ispmgr_pkg_funcs.sh CONFFILE=${COREDIR}/etc/conf.d/exim.conf EximFile() { if [ ! -f /etc/exim4/$1 ]; then touch /etc/exim4/$1 chown Debian-exim:Debian-exim /etc/exim4/$1 chmod 600 /etc/exim4/$1 fi echo /etc/exim4/$1 } case "$1" in configure) if [ -z ${2} ]; then if [ "#${ISPCONVERT}" = "#yes" ]; then PATHLIST="exim-passwd exim-domains exim-aliases exim-pipe-aliases exim-whitelist exim-blacklist exim-domainips exim-ratelimits exim-config exim-restart" PARAMLIST="MTA EmailAuth" PathConvert ${COREDIR}/etc/conf.d/exim.conf ParamConvert ${COREDIR}/etc/conf.d/exim.conf MakeConfigLink mta exim ReloadMgr ${ISPMGR} else ## Backuping test -f /etc/exim4/exim4.conf.template || cp -af /etc/exim4/exim4.conf.template /etc/exim4/exim4.conf.template.orig ## Config file ## exim.conf cp /etc/exim4/isp/exim.config /etc/exim4/exim4.conf.template chmod 644 /etc/exim4/exim4.conf.template chown root:mail /etc/exim4/exim4.conf.template ## Get ip DEV=$(ip route | awk '$1=="default" {print $5}') IPADDR=$(ip addr show dev ${DEV} | awk '$1=="inet" {print $2}'| cut -d/ -f1) sed -i -r "s|__LOCAL_IP__|${IPADDR}|g" /etc/exim4/exim4.conf.template ## User/Group sed -i -r "s|__ISP_USER__|Debian-exim|g" /etc/exim4/exim4.conf.template sed -i -r "s|__ISP_GROUP__|Debian-exim|g" /etc/exim4/exim4.conf.template sed -i -r "s|__ISP_WWW_USER__|www-data|g" /etc/exim4/exim4.conf.template ## Domains sed -i -r "s|__ISP_DOMAINS__|$(EximFile domains)|g" /etc/exim4/exim4.conf.template ## Ratelimits sed -i -r "s|__ISP_RATELIMITS__|$(EximFile ratelimits)|g" /etc/exim4/exim4.conf.template ## Whitelist/Blacklist sed -i -r "s|__ISP_WHITEL__|$(EximFile whitelist)|g" /etc/exim4/exim4.conf.template sed -i -r "s|__ISP_BLACKL__|$(EximFile blacklist)|g" /etc/exim4/exim4.conf.template ## Passwd sed -i -r "s|__ISP_PASSWD__|$(EximFile passwd)|g" /etc/exim4/exim4.conf.template ## Aliases sed -i -r "s|__ISP_ALIASES__|$(EximFile aliases)|g" /etc/exim4/exim4.conf.template ## LDA sed -i -r "s|__ISP_LDA__|dovecot_deliver|g" /etc/exim4/exim4.conf.template sed -i -r "s|__ISP_LDA_BIN__|/usr/lib/dovecot/dovecot-lda -d \$local_part@\$domain -f \$sender_address|g" /etc/exim4/exim4.conf.template ## Domain_ips sed -i -r "s|__ISP_DOMAINIPS__|$(EximFile domainips)|g" /etc/exim4/exim4.conf.template ## DNSBL sed -i -r "s|__ISP_DNSBL__|$(EximFile dnsbllist)|g" /etc/exim4/exim4.conf.template grep -qE "path\s+exim-dnsbllist" ${CONFFILE} || echo "path exim-dnsbllist $(EximFile dnsbllist)" >> ${CONFFILE} ## Certificates mkdir -p /etc/exim4/ssl chmod 750 /etc/exim4/ssl chown Debian-exim:Debian-exim /etc/exim4/ssl /usr/bin/openssl req -newkey rsa:1024 -nodes -keyout /etc/exim4/ssl/exim.key -out /etc/exim4/ssl/exim.crt -x509 -days 3650 -subj "/C=XX/ST=XX/L=XX/O=XX/OU=XX/CN=$(hostname)/emailAddress="root@$(hostname -f) >/dev/null 2>&1 chown Debian-exim:Debian-exim /etc/exim4/ssl/* chmod 0444 /etc/exim4/ssl/exim.crt chmod 0400 /etc/exim4/ssl/exim.key sed -i -r "s|__SSL_DIR__|/etc/exim4/ssl|g" /etc/exim4/exim4.conf.template export EXIM_SNI=yes sed -i -r "s|__SSL_CRTFILE__|/etc/exim4/ssl/exim.crt|g" /etc/exim4/exim4.conf.template sed -i -r "s|__SSL_KEYFILE__|/etc/exim4/ssl/exim.key|g" /etc/exim4/exim4.conf.template if ! grep -Pzq "server_socket = /var/run/dovecot/auth-client" /etc/exim4/exim4.conf.template ; then cat >> /etc/exim4/exim4.conf.template << EOF auth_plain: driver = dovecot public_name = PLAIN server_socket = /var/run/dovecot/auth-client server_set_id = \$auth1 auth_login: driver = dovecot public_name = LOGIN server_socket = /var/run/dovecot/auth-client server_set_id = \$auth1 auth_cram_md5: driver = dovecot public_name = CRAM-MD5 server_socket = /var/run/dovecot/auth-client server_set_id = \$auth1 EOF fi # patching dovecot if ! grep -Pzq "unix_listener auth-client {\n\s*mode = 0660\n\s*user = Debian-exim\n\s*}" /etc/dovecot/conf.d/10-master.conf ; then test -f /etc/dovecot/conf.d/10-master.conf.orig || cp -f /etc/dovecot/conf.d/10-master.conf /etc/dovecot/conf.d/10-master.conf.orig # Далее обязательно перенос строки, иначе fail. Страшное колдунство sed -i -r "/^service auth \{/,/^\}/{/^\}/i \ \ #SASL\n unix_listener auth-client \{\n mode = 0660\n user = Debian-exim\n \} }" /etc/dovecot/conf.d/10-master.conf # Настраиваем ssl для dovecot на использование тех же сертификатов, что и exim test -d /etc/dovecot/certs || mkdir -p /etc/dovecot/certs if ! grep -qE '!include_try /etc/dovecot/certs/*.conf' /etc/dovecot/conf.d/10-ssl.conf ; then echo "!include_try /etc/dovecot/certs/*.conf" >> /etc/dovecot/conf.d/10-ssl.conf fi if grep -qE '^ssl\s*=' /etc/dovecot/conf.d/10-ssl.conf ; then sed -i -r 's/^ssl\s*=.+/ssl = yes/' /etc/dovecot/conf.d/10-ssl.conf else echo "ssl = yes" >> /etc/dovecot/conf.d/10-ssl.conf fi if grep -qE '^ssl_cert\s*=' /etc/dovecot/conf.d/10-ssl.conf ; then sed -i -r 's|^ssl_cert\s*=.*|ssl_cert = </etc/exim4/ssl/exim.crt|' /etc/dovecot/conf.d/10-ssl.conf else echo "ssl_cert = </etc/exim4/ssl/exim.crt" >> /etc/dovecot/conf.d/10-ssl.conf fi if grep -qE '^ssl_key\s*=' /etc/dovecot/conf.d/10-ssl.conf ; then sed -i -r 's|^ssl_key\s*=.*|ssl_key = </etc/exim4/ssl/exim.key|' /etc/dovecot/conf.d/10-ssl.conf else echo "ssl_key = </etc/exim4/ssl/exim.key" >> /etc/dovecot/conf.d/10-ssl.conf fi ReloadService dovecot fi DisableService postfix DisableService sendmail EnableService exim4 test -f ${COREDIR}/etc/${ISPMGR}.conf.d/${CONFNAME} || ln -sf ../conf.d/exim.conf ${COREDIR}/etc/${ISPMGR}.conf.d/${CONFNAME} ReloadMgr ${ISPMGR} ServiceAddmon exim4 # Afterinstall AfterinstallModule ${ISPMGR} mta fi fi if [ "${ISPMGR}" = "ispmgrnode" ]; then # Fix ratelimits if grep -qE 'warn\s+set\s+acl_c9\s+=\s+\$sender_address_local_part' /etc/exim4/exim4.conf.template ; then sed -i -r '/# check ratelimits/,/deny\s+ratelimit/s/\$sender_address_local_part/\$sender_address/g' /etc/exim4/exim4.conf.template EXIM_RELOAD=true fi if ! grep -A1 -E 'accept\s+hosts\s+=\s+\+relay_from_hosts' /etc/exim4/exim4.conf.template | grep -q authenticated ; then sed -i -r '/accept\s+hosts\s+=\s+\+relay_from_hosts/{n;/authenticated/!s/(.*)/\t\t\t!authenticated = *\n\1/}' /etc/exim4/exim4.conf.template EXIM_RELOAD=true fi CONFFILE=${COREDIR}/etc/conf.d/exim.conf if ! grep -qE "^path\s+exim-ratelimits\s" ${CONFFILE} ; then echo "path exim-ratelimits $(EximFile ratelimits)" >> ${CONFFILE} fi if ! grep -qE "^path\s+exim-reload\s" ${CONFFILE} ; then echo "path exim-reload service exim4 restart" >> ${CONFFILE} fi if [ "${EXIM_RELOAD}" = "true" ]; then ReloadService exim4 fi fi AddKeepEnvironment() { if ! grep -qE '^keep_environment =' /etc/exim4/exim4.conf.template ; then sed -i -r "/trusted_users = /a\\\nkeep_environment =" /etc/exim4/exim4.conf.template ReloadService exim4 fi } if ! grep -qE '^keep_environment =' /etc/exim4/exim4.conf.template ; then # If param exist do not any checks EXIM_VERSION=$(dpkg -s exim4-daemon-heavy | awk '$1 == "Version:" {print $2}') echo "Detected exim version: ${EXIM_VERSION}" if [ "$(lsb_release -s -c)" = "wheezy" ]; then if dpkg --compare-versions ${EXIM_VERSION} ge 4.80-7+deb7u2 ; then AddKeepEnvironment fi elif [ "$(lsb_release -s -c)" = "jessie" ]; then if dpkg --compare-versions ${EXIM_VERSION} ge 4.84.2-1 ; then AddKeepEnvironment fi elif [ "$(lsb_release -s -c)" = "trusty" ]; then if dpkg --compare-versions ${EXIM_VERSION} ge 4.82-3ubuntu2.1 ; then AddKeepEnvironment fi elif [ "$(lsb_release -s -c)" = "xenial" ]; then if dpkg --compare-versions ${EXIM_VERSION} ge 4.86.2-2ubuntu1 ; then AddKeepEnvironment fi else AddKeepEnvironment fi fi # Disabled if false ; then # checking if log_selector tls_sni is enabled if ! sed -r -n '/^log_selector/,/^\s*$/p' /etc/exim4/exim4.conf.template | grep -q tls_sni ; then # enable log_selector tls_sni sed -i -r '/^log_selector/,/^\s*$/{/tls/s/\\/ +tls_sni \\/}' /etc/exim4/exim4.conf.template fi if grep -qE "^tls_certificate\s*=\s*\/etc\/exim" /etc/exim4/exim4.conf.template ; then sed -i -r '/^tls_certificate\s*=\s*\/etc\/exim/s|(^tls_certificate\s*)=.+|\1 = ${if exists{/etc/exim4/ssl/${tls_sni}.crt}{/etc/exim4/ssl/${tls_sni}.crt}{/etc/exim4/ssl/exim.crt}}|' /etc/exim4/exim4.conf.template fi if grep -qE "^tls_privatekey\s*=\s*\/etc\/exim" /etc/exim4/exim4.conf.template ; then sed -i -r '/^tls_privatekey\s*=\s*\/etc\/exim/s|(^tls_privatekey\s*)=.+|\1 = ${if exists{/etc/exim4/ssl/${tls_sni}.key}{/etc/exim4/ssl/${tls_sni}.key}{/etc/exim4/ssl/exim.key}}|' /etc/exim4/exim4.conf.template fi export EXIM_SNI=yes fi # Bug ISP-89. Fix dkim_selector if grep -qE "dkim_selector\s*=\s*dkim$" /etc/exim4/exim4.conf.template ; then sed -i -r 's|(dkim_selector\s*=\s*)dkim$|\1${if exists{/etc/exim4/ssl/$sender_address_domain.txt}{${extract{1}{.}{${readfile{/etc/exim4/ssl/$sender_address_domain.txt}}}}}{dkim}}|' /etc/exim4/exim4.conf.template && Service exim reload fi AddPath exim-tlscert /etc/exim4/ssl/exim.crt exim AddPath exim-tlskey /etc/exim4/ssl/exim.key exim if [ -n "${EXIM_SNI}" ]; then AddPath exim-certdir /etc/exim4/ssl exim AddPath dovecot-certconf /etc/dovecot/certs dovecot fi AddPath exim-pid /var/run/exim4/exim.pid exim ReloadMgr ${ISPMGR} ;; abort-upgrade|abort-remove|abort-deconfigure) ;; *) echo "postinst called with unknown argument \`$1'" >&2 exit 1 ;; esac # dh_installdeb will replace this with shell code automatically # generated by other debhelper scripts. exit 0
/var/lib/dpkg/info/ispmanager-pkg-exim.postinst