Add default values if no configuration file is present or value not given.

This commit is contained in:
Christoph 2018-10-24 14:08:19 +02:00
parent ccc627932e
commit 3412f37824

View File

@ -1,7 +1,13 @@
#!/usr/bin/env bash
_QUARANTINE_ADMIN='postmaster\@$mydomain'
QUARANTINE_ADMIN=$_QUARANTINE_ADMIN
script_dir="$(realpath $(dirname $0))"
script_name="$(basename "$0")"
conf_file="${script_dir}/conf/install_amavis.conf"
backup_date="$(date +%Y-%m-%d-%H%M)"
crontab_backup_file="${script_dir}/crontab-root-${backup_date}.install_amavis.lst"
# -------------
@ -90,6 +96,29 @@ detect_os_1 () {
}
# -------------
# --- Some default settings
# -------------
DEFAULT_QUARANTINE_DIR="/var/QUARANTINE"
DEFAULT_QUARANTINE_ADMIN='postmaster\@$mydomain'
DEFAULT_DB_IN_USE=false
DEFAULT_INSTALL_CLAMAV_UNOFFICIAL_SIGS=true
DEFAULT_MALWARE_PATROL_IN_USE=true
DEFAULT_MALWERE_PATROL_FREE=false
DEFAULT_MP_RECEIPT_NUMBER=106015125438
DEFAULT_SECURITE_INFO_IN_USE=true
DEFAULT_SI_AUTHORISATION_SIGNATURE_WF=76ed7ca6670dbee497e1a0397a7e178c4caa25888bc26d7327d1eab0195342a4cfa522dcf10382623d57dbc2a79bd37627b9a52def4d4bfe617d26e35405ce3b
DEFAULT_SI_AUTHORISATION_SIGNATURE_OOPEN=b0b7e94d3fcc8f3b1f128edd5830392361868cf0174723a9924ac25bf8b1b588cb974b50234e1bc1d9839dfe0ca6e1627733d90daf1399347b1046d20c2e3a89
# - This parameter will be not asked, so setting it here
# -
QUARANTINE_ADMIN=$DEFAULT_QUARANTINE_ADMIN
# - Is this a systemd system?
# -
if [[ "X`which systemd`" = "X" ]]; then
@ -107,17 +136,34 @@ detect_os_1
echo ""
script_dir="$(realpath $(dirname $0))"
conf_file="${script_dir}/conf/install_amavis.conf"
backup_date="$(date +%Y-%m-%d-%H%M)"
crontab_backup_file="${script_dir}/crontab-root-${backup_date}.install_amavis.lst"
if [[ -f "$conf_file" ]]; then
source $conf_file
fi
# -------------
# --- Set default values for some non existent variables (i.e. no configuration file is present)
# -------------
if [[ -z "$_HOSTNAME" ]] ; then
_HOSTNAME="$(hostname -f)"
_HOSTNAME_SHORT="$(hostname)"
[[ "$_HOSTNAME" = "$_HOSTNAME_SHORT" ]] && _HOSTNAME=""
fi
[[ -z "$_QUARANTINE_DIR" ]] && _QUARANTINE_DIR="$DEFAULT_QUARANTINE_DIR"
[[ -z "$_DB_IN_USE" ]] && _DB_IN_USE=$DEFAULT_DB_IN_USE
[[ -z "$_INSTALL_CLAMAV_UNOFFICIAL_SIGS" ]] && _INSTALL_CLAMAV_UNOFFICIAL_SIGS=$DEFAULT_INSTALL_CLAMAV_UNOFFICIAL_SIGS
[[ -z "$_MALWARE_PATROL_IN_USE" ]] && _MALWARE_PATROL_IN_USE=$DEFAULT_MALWARE_PATROL_IN_USE
[[ -z "$_MALWERE_PATROL_FREE" ]] && _MALWERE_PATROL_FREE=$DEFAULT_MALWERE_PATROL_FREE
[[ -z "$_SECURITE_INFO_IN_USE" ]] && _SECURITE_INFO_IN_USE=$DEFAULT_SECURITE_INFO_IN_USE
#clear
#echo ""
#echo -e "\033[32m--\033[m"
@ -190,6 +236,43 @@ else
fi
# -------------
# --- Some further default values depending on Hostname
# -------------
if [[ -z "$_HOSTNAME" ]] ; then
_HOSTNAME="$(hostname -f)"
_HOSTNAME_SHORT="$(hostname)"
[[ "$_HOSTNAME" = "$_HOSTNAME_SHORT" ]] && _HOSTNAME=""
fi
# - Set default values for ipv4- and ipv6-address
# -
if [[ -z $_IPV4 ]] && [[ -n "$_HOSTNAME" ]] && [[ -x "$(which dig)" ]]; then
_IPV4="$(dig +short "$_HOSTNAME" A)"
fi
if [[ -z $_IPV6 ]] && [[ -n "$_HOSTNAME" ]] && [[ -x "$(which dig)" ]]; then
_IPV6="$(dig +short "$_HOSTNAME" AAAA)"
fi
# - Set defaul value for securite signature
# -
if [[ -z "$_SI_AUTHORISATION_SIGNATURE" ]]; then
[[ "$HOSTNAME" =~ warenform.de$ ]] && _SI_AUTHORISATION_SIGNATURE=$DEFAULT_SI_AUTHORISATION_SIGNATURE_WF
# - For all this take O.OPEN's Signature
# -
[[ "$HOSTNAME" =~ oopen.de$ ]] && _SI_AUTHORISATION_SIGNATURE=$DEFAULT_SI_AUTHORISATION_SIGNATURE_OOPEN
[[ "$HOSTNAME" =~ cadus.org$ ]] && _SI_AUTHORISATION_SIGNATURE=$DEFAULT_SI_AUTHORISATION_SIGNATURE_OOPEN
[[ "$HOSTNAME" =~ so36.net$ ]] && _SI_AUTHORISATION_SIGNATURE=$DEFAULT_SI_AUTHORISATION_SIGNATURE_OOPEN
[[ "$HOSTNAME" =~ interventionistische-linke.org$ ]] && _SI_AUTHORISATION_SIGNATURE=$DEFAULT_SI_AUTHORISATION_SIGNATURE_OOPEN
fi
IPV4=
echo ""
echo -e "\033[32m--\033[m"
@ -404,6 +487,11 @@ if $INSTALL_CLAMAV_UNOFFICIAL_SIGS ; then
MALWERE_PATROL_FREE=false
fi
# - Set default Value for Malware Patrol serial number (if non free account in use)
# -
if ! $MALWERE_PATROL_FREE ; then
[[ -z "$_MP_RECEIPT_NUMBER" ]] && _MP_RECEIPT_NUMBER="$DEFAULT_MP_RECEIPT_NUMBER"
fi
echo ""
echo -e "\033[32m--\033[m"
@ -730,7 +818,7 @@ echo ""
echononl " Save Configuration"
cat << EOF > $conf_file
# ---
# - Parametersettins postfix bases system
# - Parametersettings for installscript $script_name
# ---
_HOSTNAME=$HOSTNAME
@ -748,11 +836,31 @@ _DB_USER=$DB_USER
_DB_PASS=$DB_PASS
_INSTALL_CLAMAV_UNOFFICIAL_SIGS=$INSTALL_CLAMAV_UNOFFICIAL_SIGS
_MALWARE_PATROL_IN_USE=$MALWARE_PATROL_IN_USE
EOF
if $MALWARE_PATROL_IN_USE ; then
cat << EOF >> $conf_file
_MALWERE_PATROL_FREE=$MALWERE_PATROL_FREE
_MP_RECEIPT_NUMBER=$MP_RECEIPT_NUMBER
EOF
else
cat << EOF >> $conf_file
_MALWERE_PATROL_FREE=
_MP_RECEIPT_NUMBER=
EOF
fi
if $SECURITE_INFO_IN_USE ; then
cat << EOF >> $conf_file
_SECURITE_INFO_IN_USE=$SECURITE_INFO_IN_USE
_SI_AUTHORISATION_SIGNATURE=$SI_AUTHORISATION_SIGNATURE
EOF
else
cat << EOF >> $conf_file
_SECURITE_INFO_IN_USE=$SECURITE_INFO_IN_USE
_SI_AUTHORISATION_SIGNATURE=
EOF
fi
if [[ $? -eq 0 ]] ; then
echo_ok
else