diff --git a/debian/alternc.config b/debian/alternc.config index 3e9bd097..51d85ead 100644 --- a/debian/alternc.config +++ b/debian/alternc.config @@ -1,4 +1,4 @@ -#! /bin/bash +#!/bin/bash set -e @@ -8,61 +8,61 @@ set -e db_capb backup -#Return if everything is good, exit error number otherwise +#Return if everything is good, exit error number otherwise function valid_ip() { - local ip=$1 - local stat=1 + local ip=$1 + local stat=1 - if [[ $ip =~ ^[0-9]{1,3}\.[0-9]{1,3}\.[0-9]{1,3}\.[0-9]{1,3}$ ]]; then - OIFS=$IFS - IFS='.' - ip=($ip) - IFS=$OIFS - [[ ${ip[0]} -le 255 && ${ip[1]} -le 255 \ - && ${ip[2]} -le 255 && ${ip[3]} -le 255 ]] - stat=$? - fi - return $stat + if [[ $ip =~ ^[0-9]{1,3}\.[0-9]{1,3}\.[0-9]{1,3}\.[0-9]{1,3}$ ]]; then + OIFS=$IFS + IFS='.' + ip=($ip) + IFS=$OIFS + [[ ${ip[0]} -le 255 && ${ip[1]} -le 255 \ + && ${ip[2]} -le 255 && ${ip[3]} -le 255 ]] + stat=$? + fi + return $stat } #checking mysql connectivity and updating local.sh variables accordingly -check_mysql(){ - +check_mysql() +{ STATE=0 - while [ "$STATE" -eq 0 ]; do - db_input high alternc/mysql/host || true - db_go - db_get alternc/mysql/host || true - MYSQL_HOST="$RET" - db_input high alternc/mysql/remote_user || true - db_go - db_get alternc/mysql/remote_user || true - MYSQL_USER="$RET" - db_input high alternc/mysql/remote_password || true - db_go - db_get alternc/mysql/remote_password || true - MYSQL_PASSWORD="$RET" - db_input high alternc/mysql/client || true - db_go - db_get alternc/mysql/client || true - MYSQL_CLIENT="$RET" - if [ "`mysql -u"$MYSQL_USER" -p"$MYSQL_PASSWORD" -h"$MYSQL_HOST" -Bse 'SELECT "OK";' 2>/dev/null`" = "OK" ]; then - STATE=`expr $STATE + 1` - else - db_input high alternc/remote_mysql_error || true - db_go - db_get alternc/remote_mysql_error || true - if [ "$RET" = "false" ]; then - exit 4 - fi - fi - done - + while [ "$STATE" -eq 0 ]; do + db_input high alternc/mysql/host || true + db_go + db_get alternc/mysql/host || true + MYSQL_HOST="$RET" + db_input high alternc/mysql/remote_user || true + db_go + db_get alternc/mysql/remote_user || true + MYSQL_USER="$RET" + db_input high alternc/mysql/remote_password || true + db_go + db_get alternc/mysql/remote_password || true + MYSQL_PASSWORD="$RET" + db_input high alternc/mysql/client || true + db_go + db_get alternc/mysql/client || true + MYSQL_CLIENT="$RET" + if [ "`mysql -u"$MYSQL_USER" -p"$MYSQL_PASSWORD" -h"$MYSQL_HOST" -Bse 'SELECT "OK";' 2>/dev/null`" = "OK" ]; then + STATE=`expr $STATE + 1` + else + db_input high alternc/remote_mysql_error || true + db_go + db_get alternc/remote_mysql_error || true + if [ "$RET" = "false" ]; then + exit 4 + fi + fi + done } -function get_first_existing_dir() { +function get_first_existing_dir() +{ # Prend en premier parametre un chemin # Retourne le répertoire parent existant le plus "proche" # Exemple: on lui donne /var/www/alternc/gerard/dupont/ mais @@ -79,7 +79,6 @@ function get_first_existing_dir() { } - # default values for local.sh MYSQL_HOST=127.0.0.1 MYSQL_DATABASE=alternc @@ -106,14 +105,13 @@ while [ "$QUEST_STATE" != 0 -a "$QUEST_STATE" != 13 ]; do case "$QUEST_STATE" in 1) if [ -r /etc/alternc/local.sh ]; then - # source the current config - . /etc/alternc/local.sh + # source the current config + . /etc/alternc/local.sh fi # upgrade <= 3.0 to >= 3.1 - if [ "x$ALTERNC_LOC" != "x" ] - then - ALTERNC_HTML="$ALTERNC_LOC/html" - ALTERNC_MAIL="$ALTERNC_LOC/mail" + if [ "x$ALTERNC_LOC" != "x" ]; then + ALTERNC_HTML="$ALTERNC_LOC/html" + ALTERNC_MAIL="$ALTERNC_LOC/mail" fi #We ask for the hosting name and the FQDN @@ -136,19 +134,19 @@ while [ "$QUEST_STATE" != 0 -a "$QUEST_STATE" != 13 ]; do while [ $STATE -eq 0 ]; do db_input high alternc/public_ip || true db_go - db_get alternc/public_ip + db_get alternc/public_ip ip="$RET" - if valid_ip $ip ; then + if valid_ip $ip ; then if [ $(echo $ip |egrep '(^127\.)|(^192\.168\.)|(^10\.)|(^172\.1[6-9]\.)|(^172\.2[0-9]\.)|(^172\.3[0-1]\.)|(^::1)$') ]; then db_input high alternc/use_private_ip || true db_go db_get alternc/use_private_ip - if [ "$RET" = "true" ]; then - STATE=1 - else - db_reset alternc/use_private_ip || true - db_fset alternc/use_private_ip "seen" "false" || true - fi + if [ "$RET" = "true" ]; then + STATE=1 + else + db_reset alternc/use_private_ip || true + db_fset alternc/use_private_ip "seen" "false" || true + fi else STATE=1 fi @@ -166,11 +164,11 @@ while [ "$QUEST_STATE" != 0 -a "$QUEST_STATE" != 13 ]; do while [ $STATE -eq 0 ]; do db_input high alternc/internal_ip || true db_go - db_get alternc/internal_ip + db_get alternc/internal_ip ip="$RET" - if valid_ip $ip ; then + if valid_ip $ip ; then STATE=1 - fi + fi done ;; 5) @@ -202,10 +200,10 @@ while [ "$QUEST_STATE" != 0 -a "$QUEST_STATE" != 13 ]; do fi ;; 10) - # We need to set the alternc_location here because we have to test for quotas and acls + # We need to set the alternc_location here because we have to test for quotas and acls db_get alternc/alternc_html - if [ -z "$RET" ];then + if [ -z "$RET" ]; then db_set alternc/alternc_html $ALTERNC_HTML db_input high alternc/alternc_html fi @@ -219,28 +217,28 @@ while [ "$QUEST_STATE" != 0 -a "$QUEST_STATE" != 13 ]; do aclcheckfile="$basedir/test-acl" touch "$aclcheckfile" setfacl -m u:root:rwx "$aclcheckfile" 2>/dev/null || ( - test -e "$aclcheckfile" && rm -f "$aclcheckfile" || true - db_input critical alternc/acluninstalled || true - db_go - db_reset alternc/acluninstalled || true - db_fset alternc/acluninstalled "seen" "false" || true - exit 2 + test -e "$aclcheckfile" && rm -f "$aclcheckfile" || true + db_input critical alternc/acluninstalled || true + db_go + db_reset alternc/acluninstalled || true + db_fset alternc/acluninstalled "seen" "false" || true + exit 2 ) test -e "$aclcheckfile" && rm -f "$aclcheckfile" || true quota -gA -f $MOUNT_POINT 2>/dev/null || ( - db_get alternc/quotauninstalled - if [ -z "$RET" ]; then - db_input critical alternc/quotauninstalled || true - db_go - #db_reset alternc/quotauninstalled || true - db_set alternc/quotauninstalled "false" || true - fi + db_get alternc/quotauninstalled + if [ -z "$RET" ]; then + db_input critical alternc/quotauninstalled || true + db_go + #db_reset alternc/quotauninstalled || true + db_set alternc/quotauninstalled "false" || true + fi ) ;; 11) db_get alternc/alternc_mail - if [ -z "$RET" ];then + if [ -z "$RET" ]; then db_set alternc/alternc_mail $ALTERNC_MAIL db_input high alternc/alternc_mail fi @@ -255,31 +253,31 @@ while [ "$QUEST_STATE" != 0 -a "$QUEST_STATE" != 13 ]; do esac if db_go; then QUEST_STATE=$(($QUEST_STATE + 1)) - else + else QUEST_STATE=$(($QUEST_STATE - 1)) fi done if [ -r /etc/alternc/my.cnf ]; then - # make mysql configuration available as shell variables - # to convert from .cnf to shell syntax, we: - # * match only lines with "equal" in them (/=/) - # * remove whitespace around the = and add a left quote operator ' (;s) - # * add a right quote operator at the end of line (;s) - # * convert mysql variables into our MYSQL_ naming convention (;s) - # * print the result (;p) - eval `sed -n -e "/=/{s/ *= *\"\?/='/;s/\"\?\$/'/;s/host/MYSQL_HOST/;s/user/MYSQL_USER/;s/password/MYSQL_PASS/;s/database/MYSQL_DATABASE/;p}" /etc/alternc/my.cnf` + # make mysql configuration available as shell variables + # to convert from .cnf to shell syntax, we: + # * match only lines with "equal" in them (/=/) + # * remove whitespace around the = and add a left quote operator ' (;s) + # * add a right quote operator at the end of line (;s) + # * convert mysql variables into our MYSQL_ naming convention (;s) + # * print the result (;p) + eval `sed -n -e "/=/{s/ *= *\"\?/='/;s/\"\?\$/'/;s/host/MYSQL_HOST/;s/user/MYSQL_USER/;s/password/MYSQL_PASS/;s/database/MYSQL_DATABASE/;p}" /etc/alternc/my.cnf` fi if [ -r /etc/alternc/my_mail.cnf ]; then - # make mysql configuration available as shell variables - # to convert from .cnf to shell syntax, we: - # * match only lines with "equal" in them (/=/) - # * remove whitespace around the = and add a left quote operator ' (;s) - # * add a right quote operator at the end of line (;s) - # * convert mysql variables into our MYSQL_ naming convention (;s) - # * print the result (;p) - eval `sed -n -e "/=/{s/ *= *\"\?/='/;s/\"\?\$/'/;s/host/MYSQL_HOST/;s/user/MYSQL_MAIL_USER/;s/password/MYSQL_MAIL_PASS/;s/database/MYSQL_DATABASE/;p}" /etc/alternc/my_mail.cnf` + # make mysql configuration available as shell variables + # to convert from .cnf to shell syntax, we: + # * match only lines with "equal" in them (/=/) + # * remove whitespace around the = and add a left quote operator ' (;s) + # * add a right quote operator at the end of line (;s) + # * convert mysql variables into our MYSQL_ naming convention (;s) + # * print the result (;p) + eval `sed -n -e "/=/{s/ *= *\"\?/='/;s/\"\?\$/'/;s/host/MYSQL_HOST/;s/user/MYSQL_MAIL_USER/;s/password/MYSQL_MAIL_PASS/;s/database/MYSQL_DATABASE/;p}" /etc/alternc/my_mail.cnf` fi @@ -297,9 +295,8 @@ fi db_get alternc/monitor_ip -if [ -z "$RET" ] - then -db_set alternc/monitor_ip "$MONITOR_IP" +if [ -z "$RET" ]; then + db_set alternc/monitor_ip "$MONITOR_IP" fi db_get alternc/ns2 @@ -309,31 +306,26 @@ db_set alternc/ns2 "$NS2_HOSTNAME" fi db_get alternc/default_mx2 -if [ -z "$RET" ] - then -db_set alternc/default_mx2 "$DEFAULT_SECONDARY_MX" +if [ -z "$RET" ]; then + db_set alternc/default_mx2 "$DEFAULT_SECONDARY_MX" fi db_get alternc/mysql/host -if [ -z "$RET" ] - then -db_set alternc/mysql/host "$MYSQL_HOST" +if [ -z "$RET" ]; then + db_set alternc/mysql/host "$MYSQL_HOST" fi #Even if we asked the question concerning the database earlier in the process #those calls are needed to pass the variable of remote sql server to AlternC db_get alternc/mysql/db -if [ -z "$RET" ] - then -db_set alternc/mysql/db "$MYSQL_DATABASE" +if [ -z "$RET" ]; then + db_set alternc/mysql/db "$MYSQL_DATABASE" fi db_get alternc/mysql/user -if [ -z "$RET" ] - then +if [ -z "$RET" ]; then db_get alternc/mysql/remote_user - if [ -z "$RET" ] - then + if [ -z "$RET" ]; then db_set alternc/mysql/user "$MYSQL_USER" else db_set alternc/mysql/user "$RET" @@ -341,11 +333,9 @@ if [ -z "$RET" ] fi db_get alternc/mysql/password -if [ -z "$RET" ] - then +if [ -z "$RET" ]; then db_get alternc/mysql/remote_password - if [ -z "$RET" ] - then + if [ -z "$RET" ]; then db_set alternc/mysql/password "$MYSQL_PASS" else db_set alternc/mysql/password "$RET" @@ -353,33 +343,28 @@ if [ -z "$RET" ] fi db_get alternc/mysql/client -if [ -z "$RET" ] - then - db_set alternc/mysql/client "$MYSQL_CLIENT" +if [ -z "$RET" ]; then + db_set alternc/mysql/client "$MYSQL_CLIENT" fi db_get alternc/sql/backup_type -if [ -z "$RET" ] - then -db_set alternc/sql/backup_type "$SQLBACKUP_TYPE" +if [ -z "$RET" ]; then + db_set alternc/sql/backup_type "$SQLBACKUP_TYPE" fi db_get alternc/sql/backup_overwrite -if [ -z "$RET" ] - then -db_set alternc/sql/backup_overwrite "$SQLBACKUP_OVERWRITE" +if [ -z "$RET" ]; then + db_set alternc/sql/backup_overwrite "$SQLBACKUP_OVERWRITE" fi db_get alternc/mysql/alternc_mail_user -if [ -z "$RET" ] - then -db_set alternc/mysql/alternc_mail_user "$MYSQL_MAIL_USER" +if [ -z "$RET" ]; then + db_set alternc/mysql/alternc_mail_user "$MYSQL_MAIL_USER" fi db_get alternc/mysql/alternc_mail_password -if [ -z "$RET" ] - then -db_set alternc/mysql/alternc_mail_password "$MYSQL_MAIL_PASS" +if [ -z "$RET" ]; then + db_set alternc/mysql/alternc_mail_password "$MYSQL_MAIL_PASS" fi db_input low alternc/default_mx2 || true