#!/bin/sh

PACKAGE_DEST=$SYNOPKG_PKGDEST
PRIVATE_LOCATION="/var/packages/MailPlus-Server/target"
PKG_TEXT_DIR="${PRIVATE_LOCATION}/UI/texts/"
PKG_LIB_DIR="${PRIVATE_LOCATION}/lib"

# links
LIB_SASL2_SRC="/lib/sasl2"
LIB_SASL2_LINK="${PRIVATE_LOCATION}/etc/sasl2"
SASLAUTHD_SRC="/usr/sbin/saslauthd"
SASLAUTHD_LINK="${PRIVATE_LOCATION}/sbin/saslauthd"
FEASIBILITY_FILE_DIR="${PRIVATE_LOCATION}/etc/feasibility"
FEASIBILITY_LINK_DIR="/usr/local/share/feasibilitycheck"

#hook
PKG_PRIVATE_DIR="/var/packages/MailPlus-Server/target"
PKG_HOOK_DIR="/usr/local/libexec/"

SERVICETOOL="/usr/syno/bin/servicetool"

#maillog utility config
VOLUME=`/usr/bin/readlink ${PRIVATE_LOCATION} | /usr/bin/cut -d'/' -f2`
LOG_CENTER_CONF_DEST_FOLDER="/usr/local/etc/syslog-ng/patterndb.d/synolog/"
MAILPLUS_SERVER_EVENT_LOG_CONF="${LOG_CENTER_CONF_DEST_FOLDER}/mailplus_server_event_log.conf"
ROTATE_CONF_DEST_FOLDER="/usr/local/etc/logrotate.d/"
MAILPLUS_SERVER_EVENT_LOG_ROTATE_CONF="${ROTATE_CONF_DEST_FOLDER}/mailplus_server_event_rotate.conf"

# creating symbolic link in non-preserved area

# create sasl2 and saslauthd link for smtp
ln -sf ${LIB_SASL2_SRC} ${LIB_SASL2_LINK}
ln -sf ${SASLAUTHD_SRC} ${SASLAUTHD_LINK}


#set permission
chgrp maildrop "/var/packages/MailPlus-Server/target/sbin/postqueue"
chgrp maildrop "/var/packages/MailPlus-Server/target/sbin/postdrop"
chmod g+s "/var/packages/MailPlus-Server/target/sbin/postqueue" "/var/packages/MailPlus-Server/target/sbin/postdrop"

#install maillog utility config file
#syslog-ng config
echo -e "destination d_mailplus_server { file(\"/${VOLUME}/@maillog/MailPlus_Server.log\" owner(\"MailPlus-Server\") group(\"system\") perm(0644) suppress(0) template(\"\$PRIORITY\\\t\$YEAR/\$MONTH/\$DAY \$HOUR:\$MIN:\$SEC\\\t\$MESSAGE\\\n\"));};
filter f_mailplus_server { program(\"^MailPlus-Server\") and level(warn..emerg); };
log { source(s_syno_syslog); filter(f_mailplus_server); destination(d_mailplus_server); };" > ${MAILPLUS_SERVER_EVENT_LOG_CONF}

#logrotated config
echo -e "/${VOLUME}/@maillog/MailPlus_Server.log
{
	size 5M
	missingok
    postrotate
	/usr/syno/sbin/synoservice --reload syslog-ng || true
	endscript
}" > ${MAILPLUS_SERVER_EVENT_LOG_ROTATE_CONF}
chown root:root ${MAILPLUS_SERVER_EVENT_LOG_ROTATE_CONF}
/usr/syno/sbin/synoservice --reload syslog-ng

#use DSM libsynopki.so.6 if version >= 6.1
DSM_MAJOR_VERSION="$(get_key_value /etc.defaults/VERSION majorversion)"
DSM_MINOR_VERSION="$(get_key_value /etc.defaults/VERSION minorversion)"
if [[ "${DSM_MAJOR_VERSION}" -gt 6 ]] || [[ ("${DSM_MAJOR_VERSION}" -eq 6) && ("${DSM_MINOR_VERSION}" -ge 1) ]]; then
	if [[ -e "${PKG_LIB_DIR}/libsynopki.so.6" ]]; then
		mv -f "${PKG_LIB_DIR}/libsynopki.so.6" "${PKG_LIB_DIR}/libsynopki.so.6.bak"
	fi
fi

exit 0
