File: /volume1/@appstore/MailPlus-Server/hook/MailPlusServerOvsChange.sh
#!/bin/bash
if [ ! -e "/var/packages/MailPlus-Server/target/" ]; then
exit 0
fi
. /var/packages/MailPlus-Server/target/scripts/DsmVersionUtil.sh
MAIL_SERVER_PKG="/var/packages/MailPlus-Server"
MAIL_SERVER_BACKEND="${MAIL_SERVER_PKG}/target/bin/syno_mailserver_backend"
SetInterface()
{
local HOST_IF="$(${MAIL_SERVER_BACKEND} --getHostIF)"
local HOST_ID="$(${MAIL_SERVER_BACKEND} --getHostID)"
local KEY="node_bind_if-${HOST_ID}"
local VALUE="${HOST_IF}"
if [ "${ACTION}" == "create" ]; then
if [[ ! "${HOST_IF}" =~ "ppp"[0-9] ]]; then
#not pppoe interface
VALUE="ovs_${HOST_IF}"
fi
elif [ "${ACTION}" == "delete" ]; then
if [[ "${HOST_IF}" =~ ^"ovs_" ]]; then
#not ovs interface
VALUE="${HOST_IF:4}"
fi
else
return 1
fi
${MAIL_SERVER_BACKEND} --setConfKeyVal "${KEY}" "${VALUE}"
return 0
}
case $1 in
--sdk-mod-ver)
#Print SDK support version
echo "1.0";
;;
--name)
#Print package name
echo "MailPlus-Server";
;;
--pkg-ver)
#Print package version
echo "1.0";
;;
--vendor)
#Print package vendor
echo "Synology";
;;
--pre)
;;
--post)
#check if the package is initialized
if ${MAIL_SERVER_BACKEND} --isClusterInit; then
SetInterface
fi
;;
*)
echo "Usage: $0 --sdk-mod-ver|--name|--pkg-ver|--vendor|--pre|--post"
;;
esac