From 5d9410cadf66e44f8f1f18c49d19832b50867f15 Mon Sep 17 00:00:00 2001 From: Kapetanakis Giannis Date: Thu, 13 Jul 2023 15:51:55 +0300 Subject: [PATCH 01/10] Allow eFa to connect to remote MySQL databases, apart from localhost. localhost becomes the default. Next commits will update scripts and configuration files in rest of software, in order to respect sql host name from /etc/eFa/* config files. --- .../eFa/CustomAction.pm | 7 +- .../eFa/eFa-Backup-cron | 3 +- .../eFa/eFa-Backup.cron | 0 .../eFa/eFa-Configure | 0 .../eFa/eFa-Daily-DMARC | 2 +- .../{eFa-4.0.4 => eFa-4.0.5}/eFa/eFa-Expand | 0 .../{eFa-4.0.4 => eFa-4.0.5}/eFa/eFa-Monitor | 0 .../eFa/eFa-Monitor-cron | 0 .../eFa/eFa-Tokens.cron | 5 +- .../eFa/eFa-Weekly-DMARC | 0 .../eFa/eFa-learn.php | 15 ++-- .../eFa/eFa-logrotate | 0 .../eFa/eFa-release.php | 13 +++- .../{eFa-4.0.4 => eFa-4.0.5}/eFa/eFa.fc | 0 .../{eFa-4.0.4 => eFa-4.0.5}/eFa/eFa.te | 0 .../{eFa-4.0.4 => eFa-4.0.5}/eFa/eFa8.te | 0 .../{eFa-4.0.4 => eFa-4.0.5}/eFa/eFahyperv.te | 0 .../{eFa-4.0.4 => eFa-4.0.5}/eFa/eFaqemu.te | 0 .../eFa/eFavmtools.te | 0 .../eFa/efatokens.sql | 0 .../eFa/efatokens_update.sql | 0 .../eFa/lib-eFa-Configure/func_apachesettings | 0 .../lib-eFa-Configure/func_askcleandeliver | 0 .../eFa/lib-eFa-Configure/func_askdccservers | 0 .../func_askhighspammailwatch | 0 .../lib-eFa-Configure/func_askmalwarepatrol | 0 .../eFa/lib-eFa-Configure/func_askmaxsize | 0 .../func_askmaxsizemailwatch | 0 .../eFa/lib-eFa-Configure/func_asknonspam | 0 .../eFa/lib-eFa-Configure/func_asksigrules | 0 .../eFa/lib-eFa-Configure/func_askspam | 0 .../eFa/lib-eFa-Configure/func_backup | 0 .../eFa/lib-eFa-Configure/func_dkim_dmarc | 0 .../eFa/lib-eFa-Configure/func_fail2ban | 0 .../eFa/lib-eFa-Configure/func_getipsettings | 0 .../eFa/lib-eFa-Configure/func_greylisting | 0 .../eFa/lib-eFa-Configure/func_ipsettings | 0 .../eFa/lib-eFa-Configure/func_letsencrypt | 0 .../eFa/lib-eFa-Configure/func_mailsettings | 0 .../lib-eFa-Configure/func_mailwatchsettings | 0 .../eFa/lib-eFa-Configure/func_maintenance | 0 .../eFa/lib-eFa-Configure/func_maxmind | 0 .../eFa/lib-eFa-Configure/func_peruser | 0 .../eFa/lib-eFa-Configure/func_recovermariadb | 0 .../eFa/lib-eFa-Configure/func_resetadmin | 0 .../eFa/lib-eFa-Configure/func_retention | 0 .../eFa/lib-eFa-Configure/func_setipsettings | 0 .../eFa/lib-eFa-Configure/func_spamsettings | 0 .../eFa/lib-eFa-Configure/func_systemrestore | 0 .../lib-eFa-Configure/func_trustednetworks | 0 .../eFa/lib-eFa-Configure/func_tunables | 0 .../lib-eFa-Configure/func_tunables_children | 0 .../lib-eFa-Configure/func_tunables_procdb | 0 .../eFa/lib-eFa-Configure/func_virussettings | 0 .../eFa/lib-eFa-Configure/func_webmin | 0 .../eFa/mysqltuner.pl | 0 .../{eFa-4.0.4 => eFa-4.0.5}/eFa/schema.mysql | 0 .../eFa/schema_update_1.4.1.mysql | 0 .../updates/update-4.0.0.sh | 0 .../updates/update-4.0.1.sh | 0 .../updates/update-4.0.2.sh | 0 .../updates/update-4.0.3.sh | 0 .../updates/update-4.0.4.sh | 0 .../SOURCES/eFa-4.0.5/updates/update-4.0.5.sh | 68 +++++++++++++++++++ rpmbuild/SPECS/build_eFa4.sh | 4 +- rpmbuild/SPECS/eFa4.spec | 13 +++- 66 files changed, 113 insertions(+), 17 deletions(-) rename rpmbuild/SOURCES/{eFa-4.0.4 => eFa-4.0.5}/eFa/CustomAction.pm (99%) rename rpmbuild/SOURCES/{eFa-4.0.4 => eFa-4.0.5}/eFa/eFa-Backup-cron (97%) rename rpmbuild/SOURCES/{eFa-4.0.4 => eFa-4.0.5}/eFa/eFa-Backup.cron (100%) rename rpmbuild/SOURCES/{eFa-4.0.4 => eFa-4.0.5}/eFa/eFa-Configure (100%) rename rpmbuild/SOURCES/{eFa-4.0.4 => eFa-4.0.5}/eFa/eFa-Daily-DMARC (96%) rename rpmbuild/SOURCES/{eFa-4.0.4 => eFa-4.0.5}/eFa/eFa-Expand (100%) rename rpmbuild/SOURCES/{eFa-4.0.4 => eFa-4.0.5}/eFa/eFa-Monitor (100%) rename rpmbuild/SOURCES/{eFa-4.0.4 => eFa-4.0.5}/eFa/eFa-Monitor-cron (100%) rename rpmbuild/SOURCES/{eFa-4.0.4 => eFa-4.0.5}/eFa/eFa-Tokens.cron (95%) rename rpmbuild/SOURCES/{eFa-4.0.4 => eFa-4.0.5}/eFa/eFa-Weekly-DMARC (100%) rename rpmbuild/SOURCES/{eFa-4.0.4 => eFa-4.0.5}/eFa/eFa-learn.php (97%) rename rpmbuild/SOURCES/{eFa-4.0.4 => eFa-4.0.5}/eFa/eFa-logrotate (100%) rename rpmbuild/SOURCES/{eFa-4.0.4 => eFa-4.0.5}/eFa/eFa-release.php (92%) rename rpmbuild/SOURCES/{eFa-4.0.4 => eFa-4.0.5}/eFa/eFa.fc (100%) rename rpmbuild/SOURCES/{eFa-4.0.4 => eFa-4.0.5}/eFa/eFa.te (100%) rename rpmbuild/SOURCES/{eFa-4.0.4 => eFa-4.0.5}/eFa/eFa8.te (100%) rename rpmbuild/SOURCES/{eFa-4.0.4 => eFa-4.0.5}/eFa/eFahyperv.te (100%) rename rpmbuild/SOURCES/{eFa-4.0.4 => eFa-4.0.5}/eFa/eFaqemu.te (100%) rename rpmbuild/SOURCES/{eFa-4.0.4 => eFa-4.0.5}/eFa/eFavmtools.te (100%) rename rpmbuild/SOURCES/{eFa-4.0.4 => eFa-4.0.5}/eFa/efatokens.sql (100%) rename rpmbuild/SOURCES/{eFa-4.0.4 => eFa-4.0.5}/eFa/efatokens_update.sql (100%) rename rpmbuild/SOURCES/{eFa-4.0.4 => eFa-4.0.5}/eFa/lib-eFa-Configure/func_apachesettings (100%) rename rpmbuild/SOURCES/{eFa-4.0.4 => eFa-4.0.5}/eFa/lib-eFa-Configure/func_askcleandeliver (100%) rename rpmbuild/SOURCES/{eFa-4.0.4 => eFa-4.0.5}/eFa/lib-eFa-Configure/func_askdccservers (100%) rename rpmbuild/SOURCES/{eFa-4.0.4 => eFa-4.0.5}/eFa/lib-eFa-Configure/func_askhighspammailwatch (100%) rename rpmbuild/SOURCES/{eFa-4.0.4 => eFa-4.0.5}/eFa/lib-eFa-Configure/func_askmalwarepatrol (100%) rename rpmbuild/SOURCES/{eFa-4.0.4 => eFa-4.0.5}/eFa/lib-eFa-Configure/func_askmaxsize (100%) rename rpmbuild/SOURCES/{eFa-4.0.4 => eFa-4.0.5}/eFa/lib-eFa-Configure/func_askmaxsizemailwatch (100%) rename rpmbuild/SOURCES/{eFa-4.0.4 => eFa-4.0.5}/eFa/lib-eFa-Configure/func_asknonspam (100%) rename rpmbuild/SOURCES/{eFa-4.0.4 => eFa-4.0.5}/eFa/lib-eFa-Configure/func_asksigrules (100%) rename rpmbuild/SOURCES/{eFa-4.0.4 => eFa-4.0.5}/eFa/lib-eFa-Configure/func_askspam (100%) rename rpmbuild/SOURCES/{eFa-4.0.4 => eFa-4.0.5}/eFa/lib-eFa-Configure/func_backup (100%) rename rpmbuild/SOURCES/{eFa-4.0.4 => eFa-4.0.5}/eFa/lib-eFa-Configure/func_dkim_dmarc (100%) rename rpmbuild/SOURCES/{eFa-4.0.4 => eFa-4.0.5}/eFa/lib-eFa-Configure/func_fail2ban (100%) rename rpmbuild/SOURCES/{eFa-4.0.4 => eFa-4.0.5}/eFa/lib-eFa-Configure/func_getipsettings (100%) rename rpmbuild/SOURCES/{eFa-4.0.4 => eFa-4.0.5}/eFa/lib-eFa-Configure/func_greylisting (100%) rename rpmbuild/SOURCES/{eFa-4.0.4 => eFa-4.0.5}/eFa/lib-eFa-Configure/func_ipsettings (100%) rename rpmbuild/SOURCES/{eFa-4.0.4 => eFa-4.0.5}/eFa/lib-eFa-Configure/func_letsencrypt (100%) rename rpmbuild/SOURCES/{eFa-4.0.4 => eFa-4.0.5}/eFa/lib-eFa-Configure/func_mailsettings (100%) rename rpmbuild/SOURCES/{eFa-4.0.4 => eFa-4.0.5}/eFa/lib-eFa-Configure/func_mailwatchsettings (100%) rename rpmbuild/SOURCES/{eFa-4.0.4 => eFa-4.0.5}/eFa/lib-eFa-Configure/func_maintenance (100%) rename rpmbuild/SOURCES/{eFa-4.0.4 => eFa-4.0.5}/eFa/lib-eFa-Configure/func_maxmind (100%) rename rpmbuild/SOURCES/{eFa-4.0.4 => eFa-4.0.5}/eFa/lib-eFa-Configure/func_peruser (100%) rename rpmbuild/SOURCES/{eFa-4.0.4 => eFa-4.0.5}/eFa/lib-eFa-Configure/func_recovermariadb (100%) rename rpmbuild/SOURCES/{eFa-4.0.4 => eFa-4.0.5}/eFa/lib-eFa-Configure/func_resetadmin (100%) rename rpmbuild/SOURCES/{eFa-4.0.4 => eFa-4.0.5}/eFa/lib-eFa-Configure/func_retention (100%) rename rpmbuild/SOURCES/{eFa-4.0.4 => eFa-4.0.5}/eFa/lib-eFa-Configure/func_setipsettings (100%) rename rpmbuild/SOURCES/{eFa-4.0.4 => eFa-4.0.5}/eFa/lib-eFa-Configure/func_spamsettings (100%) rename rpmbuild/SOURCES/{eFa-4.0.4 => eFa-4.0.5}/eFa/lib-eFa-Configure/func_systemrestore (100%) rename rpmbuild/SOURCES/{eFa-4.0.4 => eFa-4.0.5}/eFa/lib-eFa-Configure/func_trustednetworks (100%) rename rpmbuild/SOURCES/{eFa-4.0.4 => eFa-4.0.5}/eFa/lib-eFa-Configure/func_tunables (100%) rename rpmbuild/SOURCES/{eFa-4.0.4 => eFa-4.0.5}/eFa/lib-eFa-Configure/func_tunables_children (100%) rename rpmbuild/SOURCES/{eFa-4.0.4 => eFa-4.0.5}/eFa/lib-eFa-Configure/func_tunables_procdb (100%) rename rpmbuild/SOURCES/{eFa-4.0.4 => eFa-4.0.5}/eFa/lib-eFa-Configure/func_virussettings (100%) rename rpmbuild/SOURCES/{eFa-4.0.4 => eFa-4.0.5}/eFa/lib-eFa-Configure/func_webmin (100%) rename rpmbuild/SOURCES/{eFa-4.0.4 => eFa-4.0.5}/eFa/mysqltuner.pl (100%) rename rpmbuild/SOURCES/{eFa-4.0.4 => eFa-4.0.5}/eFa/schema.mysql (100%) rename rpmbuild/SOURCES/{eFa-4.0.4 => eFa-4.0.5}/eFa/schema_update_1.4.1.mysql (100%) rename rpmbuild/SOURCES/{eFa-4.0.4 => eFa-4.0.5}/updates/update-4.0.0.sh (100%) rename rpmbuild/SOURCES/{eFa-4.0.4 => eFa-4.0.5}/updates/update-4.0.1.sh (100%) rename rpmbuild/SOURCES/{eFa-4.0.4 => eFa-4.0.5}/updates/update-4.0.2.sh (100%) rename rpmbuild/SOURCES/{eFa-4.0.4 => eFa-4.0.5}/updates/update-4.0.3.sh (100%) rename rpmbuild/SOURCES/{eFa-4.0.4 => eFa-4.0.5}/updates/update-4.0.4.sh (100%) create mode 100644 rpmbuild/SOURCES/eFa-4.0.5/updates/update-4.0.5.sh diff --git a/rpmbuild/SOURCES/eFa-4.0.4/eFa/CustomAction.pm b/rpmbuild/SOURCES/eFa-4.0.5/eFa/CustomAction.pm similarity index 99% rename from rpmbuild/SOURCES/eFa-4.0.4/eFa/CustomAction.pm rename to rpmbuild/SOURCES/eFa-4.0.5/eFa/CustomAction.pm index 343561d2..e9a9289e 100644 --- a/rpmbuild/SOURCES/eFa-4.0.4/eFa/CustomAction.pm +++ b/rpmbuild/SOURCES/eFa-4.0.5/eFa/CustomAction.pm @@ -1,6 +1,6 @@ # # CustomAction.pm -# Version 20210130 +# Version 20230713 # +--------------------------------------------------------------------+ # Copyright (C) 2012~2022 http://www.efa-project.org # @@ -86,7 +86,6 @@ sub EFACreateToken { my ($message) = @_; my($dbh, $sth, $sql); my($db_name) = 'efa'; - my($db_host) = 'localhost'; my($db_user) = 'efa'; my($fh); my($pw_config) = '/etc/eFa/eFa-Config'; @@ -98,6 +97,10 @@ sub EFACreateToken { my($db_pass) = grep(/^EFASQLPWD/,<$fh>); $db_pass =~ s/EFASQLPWD://; $db_pass =~ s/\n//; + seek $fh, 0, 0; + my($db_host) = grep(/^EFASQLHOST/,<$fh>); + $db_host =~ s/EFASQLHOST://; + $db_host =~ s/\n//; close($fh); # Connect to the database $dbh = DBI->connect("DBI:mysql:database=$db_name;host=$db_host", diff --git a/rpmbuild/SOURCES/eFa-4.0.4/eFa/eFa-Backup-cron b/rpmbuild/SOURCES/eFa-4.0.5/eFa/eFa-Backup-cron similarity index 97% rename from rpmbuild/SOURCES/eFa-4.0.4/eFa/eFa-Backup-cron rename to rpmbuild/SOURCES/eFa-4.0.5/eFa/eFa-Backup-cron index e732f3e5..5bccf73a 100644 --- a/rpmbuild/SOURCES/eFa-4.0.4/eFa/eFa-Backup-cron +++ b/rpmbuild/SOURCES/eFa-4.0.5/eFa/eFa-Backup-cron @@ -24,6 +24,7 @@ action="$1" # Variables #----------------------------------------------------------------# BACKUPDIR="/var/eFa/backup" +MYSQLHOST="`grep MYSQLHOST /etc/eFa/MySQL-Config | sed 's/.*://'`" MYSQLROOTPWD="`grep MYSQLROOTPWD /etc/eFa/MySQL-Config | sed 's/.*://'`" TMPDIR="/var/eFa/backup/tmp" DAYSTOKEEP=5 @@ -64,7 +65,7 @@ function start_backup() # Perform SQL Dump mkdir -p $WORKINGDIR/sql - mysqldump --user=root --password=$MYSQLROOTPWD --all-databases --events > $WORKINGDIR/sql/backup.sql + mysqldump --user=root --host=$MYSQLHOST --password=$MYSQLROOTPWD --all-databases --events --result-file=$WORKINGDIR/sql/backup.sql # Backup Postfix Settings mkdir -p $WORKINGDIR/etc/postfix/ssl diff --git a/rpmbuild/SOURCES/eFa-4.0.4/eFa/eFa-Backup.cron b/rpmbuild/SOURCES/eFa-4.0.5/eFa/eFa-Backup.cron similarity index 100% rename from rpmbuild/SOURCES/eFa-4.0.4/eFa/eFa-Backup.cron rename to rpmbuild/SOURCES/eFa-4.0.5/eFa/eFa-Backup.cron diff --git a/rpmbuild/SOURCES/eFa-4.0.4/eFa/eFa-Configure b/rpmbuild/SOURCES/eFa-4.0.5/eFa/eFa-Configure similarity index 100% rename from rpmbuild/SOURCES/eFa-4.0.4/eFa/eFa-Configure rename to rpmbuild/SOURCES/eFa-4.0.5/eFa/eFa-Configure diff --git a/rpmbuild/SOURCES/eFa-4.0.4/eFa/eFa-Daily-DMARC b/rpmbuild/SOURCES/eFa-4.0.5/eFa/eFa-Daily-DMARC similarity index 96% rename from rpmbuild/SOURCES/eFa-4.0.4/eFa/eFa-Daily-DMARC rename to rpmbuild/SOURCES/eFa-4.0.5/eFa/eFa-Daily-DMARC index 99074dc2..8099a97f 100644 --- a/rpmbuild/SOURCES/eFa-4.0.4/eFa/eFa-Daily-DMARC +++ b/rpmbuild/SOURCES/eFa-4.0.5/eFa/eFa-Daily-DMARC @@ -20,7 +20,7 @@ set -e # Database and History File Info -DBHOST='localhost' +DBHOST="`grep ^DMARCSQLHOST /etc/eFa/openDMARC-Config | sed 's/^.*://'`" DBUSER='opendmarc' DBPASS="`grep ^DMARCSQLPWD /etc/eFa/openDMARC-Config | sed 's/^.*://'`" DBNAME='opendmarc' diff --git a/rpmbuild/SOURCES/eFa-4.0.4/eFa/eFa-Expand b/rpmbuild/SOURCES/eFa-4.0.5/eFa/eFa-Expand similarity index 100% rename from rpmbuild/SOURCES/eFa-4.0.4/eFa/eFa-Expand rename to rpmbuild/SOURCES/eFa-4.0.5/eFa/eFa-Expand diff --git a/rpmbuild/SOURCES/eFa-4.0.4/eFa/eFa-Monitor b/rpmbuild/SOURCES/eFa-4.0.5/eFa/eFa-Monitor similarity index 100% rename from rpmbuild/SOURCES/eFa-4.0.4/eFa/eFa-Monitor rename to rpmbuild/SOURCES/eFa-4.0.5/eFa/eFa-Monitor diff --git a/rpmbuild/SOURCES/eFa-4.0.4/eFa/eFa-Monitor-cron b/rpmbuild/SOURCES/eFa-4.0.5/eFa/eFa-Monitor-cron similarity index 100% rename from rpmbuild/SOURCES/eFa-4.0.4/eFa/eFa-Monitor-cron rename to rpmbuild/SOURCES/eFa-4.0.5/eFa/eFa-Monitor-cron diff --git a/rpmbuild/SOURCES/eFa-4.0.4/eFa/eFa-Tokens.cron b/rpmbuild/SOURCES/eFa-4.0.5/eFa/eFa-Tokens.cron similarity index 95% rename from rpmbuild/SOURCES/eFa-4.0.4/eFa/eFa-Tokens.cron rename to rpmbuild/SOURCES/eFa-4.0.5/eFa/eFa-Tokens.cron index e89832ba..0eeaedcb 100644 --- a/rpmbuild/SOURCES/eFa-4.0.4/eFa/eFa-Tokens.cron +++ b/rpmbuild/SOURCES/eFa-4.0.5/eFa/eFa-Tokens.cron @@ -30,7 +30,6 @@ my($user) = $ENV{'USER'}; setlogsock('unix'); my($db_name) = 'efa'; -my($db_host) = 'localhost'; my($db_user) = 'efa'; # Issue #66 Grab Passwords from eFa-Config my($fh); @@ -45,6 +44,10 @@ if (!$fh) { my($db_pass) = grep(/^EFASQLPWD/,<$fh>); $db_pass =~ s/EFASQLPWD://; $db_pass =~ s/\n//; +seek $fh, 0, 0; +my($db_host) = grep(/^EFASQLHOST/,<$fh>); +$db_host =~ s/EFASQLHOST://; +$db_host =~ s/\n//; close($fh); my($sql,$sth,$dbh); diff --git a/rpmbuild/SOURCES/eFa-4.0.4/eFa/eFa-Weekly-DMARC b/rpmbuild/SOURCES/eFa-4.0.5/eFa/eFa-Weekly-DMARC similarity index 100% rename from rpmbuild/SOURCES/eFa-4.0.4/eFa/eFa-Weekly-DMARC rename to rpmbuild/SOURCES/eFa-4.0.5/eFa/eFa-Weekly-DMARC diff --git a/rpmbuild/SOURCES/eFa-4.0.4/eFa/eFa-learn.php b/rpmbuild/SOURCES/eFa-4.0.5/eFa/eFa-learn.php similarity index 97% rename from rpmbuild/SOURCES/eFa-4.0.4/eFa/eFa-learn.php rename to rpmbuild/SOURCES/eFa-4.0.5/eFa/eFa-learn.php index 3a6bf406..9ce6cb6d 100644 --- a/rpmbuild/SOURCES/eFa-4.0.4/eFa/eFa-learn.php +++ b/rpmbuild/SOURCES/eFa-4.0.5/eFa/eFa-learn.php @@ -79,13 +79,20 @@ } } - $efa_config = preg_grep('/^EFASQLPWD/', file('/etc/eFa/eFa-Config')); + $efa_config = preg_grep('/^EFASQL/', file('/etc/eFa/eFa-Config')); + $efa_pattern = array( + 0 => '/^EFASQLPWD:(.*)/', + 1 => '/^EFASQLHOST:(.*)/', + ); + $tmp = array(); foreach($efa_config as $num => $line) { if ($line) { - $db_pass_tmp = chop(preg_replace('/^EFASQLPWD:(.*)/','$1', $line)); + $tmp[] = chop(preg_replace($efa_pattern, '$1', $line)); } } - $efadb = new mysqli('localhost', 'efa', $db_pass_tmp, 'efa'); + $db_pass_tmp = $tmp[0]; + $db_host_tmp = $tmp[1]; + $efadb = new mysqli($db_host_tmp, 'efa', $db_pass_tmp, 'efa'); mysqli_report(MYSQLI_REPORT_ERROR | MYSQLI_REPORT_STRICT); $sql = "SELECT id,token FROM tokens WHERE mid = '$mid'"; $result = $efadb->query($sql); @@ -402,4 +409,4 @@ function gmp_convert($num, $base_a, $base_b) function expandIPv6($ip) { $hex = bin2hex(inet_pton($ip)); return implode(':', str_split($hex, 4)); -} \ No newline at end of file +} diff --git a/rpmbuild/SOURCES/eFa-4.0.4/eFa/eFa-logrotate b/rpmbuild/SOURCES/eFa-4.0.5/eFa/eFa-logrotate similarity index 100% rename from rpmbuild/SOURCES/eFa-4.0.4/eFa/eFa-logrotate rename to rpmbuild/SOURCES/eFa-4.0.5/eFa/eFa-logrotate diff --git a/rpmbuild/SOURCES/eFa-4.0.4/eFa/eFa-release.php b/rpmbuild/SOURCES/eFa-4.0.5/eFa/eFa-release.php similarity index 92% rename from rpmbuild/SOURCES/eFa-4.0.4/eFa/eFa-release.php rename to rpmbuild/SOURCES/eFa-4.0.5/eFa/eFa-release.php index 87e65943..67b32b75 100644 --- a/rpmbuild/SOURCES/eFa-4.0.4/eFa/eFa-release.php +++ b/rpmbuild/SOURCES/eFa-4.0.5/eFa/eFa-release.php @@ -46,13 +46,20 @@ header('Location: login.php?error=pagetimeout'); die(); } - $efa_config = preg_grep('/^EFASQLPWD/', file('/etc/eFa/eFa-Config')); + $efa_config = preg_grep('/^EFASQL/', file('/etc/eFa/eFa-Config')); + $efa_pattern = array( + 0 => '/^EFASQLPWD:(.*)/', + 1 => '/^EFASQLHOST:(.*)/', + ); + $tmp = array(); foreach($efa_config as $num => $line) { if ($line) { - $db_pass_tmp = chop(preg_replace('/^EFASQLPWD:(.*)/','$1', $line)); + $tmp[] = chop(preg_replace($efa_pattern, '$1', $line)); } } - $efadb = new mysqli('localhost', 'efa', $db_pass_tmp, 'efa'); + $db_pass_tmp = $tmp[0]; + $db_host_tmp = $tmp[1]; + $efadb = new mysqli($db_host_tmp, 'efa', $db_pass_tmp, 'efa'); mysqli_report(MYSQLI_REPORT_ERROR | MYSQLI_REPORT_STRICT); $sql = "SELECT id,token FROM tokens WHERE mid = '$mid'"; $result = $efadb->query($sql); diff --git a/rpmbuild/SOURCES/eFa-4.0.4/eFa/eFa.fc b/rpmbuild/SOURCES/eFa-4.0.5/eFa/eFa.fc similarity index 100% rename from rpmbuild/SOURCES/eFa-4.0.4/eFa/eFa.fc rename to rpmbuild/SOURCES/eFa-4.0.5/eFa/eFa.fc diff --git a/rpmbuild/SOURCES/eFa-4.0.4/eFa/eFa.te b/rpmbuild/SOURCES/eFa-4.0.5/eFa/eFa.te similarity index 100% rename from rpmbuild/SOURCES/eFa-4.0.4/eFa/eFa.te rename to rpmbuild/SOURCES/eFa-4.0.5/eFa/eFa.te diff --git a/rpmbuild/SOURCES/eFa-4.0.4/eFa/eFa8.te b/rpmbuild/SOURCES/eFa-4.0.5/eFa/eFa8.te similarity index 100% rename from rpmbuild/SOURCES/eFa-4.0.4/eFa/eFa8.te rename to rpmbuild/SOURCES/eFa-4.0.5/eFa/eFa8.te diff --git a/rpmbuild/SOURCES/eFa-4.0.4/eFa/eFahyperv.te b/rpmbuild/SOURCES/eFa-4.0.5/eFa/eFahyperv.te similarity index 100% rename from rpmbuild/SOURCES/eFa-4.0.4/eFa/eFahyperv.te rename to rpmbuild/SOURCES/eFa-4.0.5/eFa/eFahyperv.te diff --git a/rpmbuild/SOURCES/eFa-4.0.4/eFa/eFaqemu.te b/rpmbuild/SOURCES/eFa-4.0.5/eFa/eFaqemu.te similarity index 100% rename from rpmbuild/SOURCES/eFa-4.0.4/eFa/eFaqemu.te rename to rpmbuild/SOURCES/eFa-4.0.5/eFa/eFaqemu.te diff --git a/rpmbuild/SOURCES/eFa-4.0.4/eFa/eFavmtools.te b/rpmbuild/SOURCES/eFa-4.0.5/eFa/eFavmtools.te similarity index 100% rename from rpmbuild/SOURCES/eFa-4.0.4/eFa/eFavmtools.te rename to rpmbuild/SOURCES/eFa-4.0.5/eFa/eFavmtools.te diff --git a/rpmbuild/SOURCES/eFa-4.0.4/eFa/efatokens.sql b/rpmbuild/SOURCES/eFa-4.0.5/eFa/efatokens.sql similarity index 100% rename from rpmbuild/SOURCES/eFa-4.0.4/eFa/efatokens.sql rename to rpmbuild/SOURCES/eFa-4.0.5/eFa/efatokens.sql diff --git a/rpmbuild/SOURCES/eFa-4.0.4/eFa/efatokens_update.sql b/rpmbuild/SOURCES/eFa-4.0.5/eFa/efatokens_update.sql similarity index 100% rename from rpmbuild/SOURCES/eFa-4.0.4/eFa/efatokens_update.sql rename to rpmbuild/SOURCES/eFa-4.0.5/eFa/efatokens_update.sql diff --git a/rpmbuild/SOURCES/eFa-4.0.4/eFa/lib-eFa-Configure/func_apachesettings b/rpmbuild/SOURCES/eFa-4.0.5/eFa/lib-eFa-Configure/func_apachesettings similarity index 100% rename from rpmbuild/SOURCES/eFa-4.0.4/eFa/lib-eFa-Configure/func_apachesettings rename to rpmbuild/SOURCES/eFa-4.0.5/eFa/lib-eFa-Configure/func_apachesettings diff --git a/rpmbuild/SOURCES/eFa-4.0.4/eFa/lib-eFa-Configure/func_askcleandeliver b/rpmbuild/SOURCES/eFa-4.0.5/eFa/lib-eFa-Configure/func_askcleandeliver similarity index 100% rename from rpmbuild/SOURCES/eFa-4.0.4/eFa/lib-eFa-Configure/func_askcleandeliver rename to rpmbuild/SOURCES/eFa-4.0.5/eFa/lib-eFa-Configure/func_askcleandeliver diff --git a/rpmbuild/SOURCES/eFa-4.0.4/eFa/lib-eFa-Configure/func_askdccservers b/rpmbuild/SOURCES/eFa-4.0.5/eFa/lib-eFa-Configure/func_askdccservers similarity index 100% rename from rpmbuild/SOURCES/eFa-4.0.4/eFa/lib-eFa-Configure/func_askdccservers rename to rpmbuild/SOURCES/eFa-4.0.5/eFa/lib-eFa-Configure/func_askdccservers diff --git a/rpmbuild/SOURCES/eFa-4.0.4/eFa/lib-eFa-Configure/func_askhighspammailwatch b/rpmbuild/SOURCES/eFa-4.0.5/eFa/lib-eFa-Configure/func_askhighspammailwatch similarity index 100% rename from rpmbuild/SOURCES/eFa-4.0.4/eFa/lib-eFa-Configure/func_askhighspammailwatch rename to rpmbuild/SOURCES/eFa-4.0.5/eFa/lib-eFa-Configure/func_askhighspammailwatch diff --git a/rpmbuild/SOURCES/eFa-4.0.4/eFa/lib-eFa-Configure/func_askmalwarepatrol b/rpmbuild/SOURCES/eFa-4.0.5/eFa/lib-eFa-Configure/func_askmalwarepatrol similarity index 100% rename from rpmbuild/SOURCES/eFa-4.0.4/eFa/lib-eFa-Configure/func_askmalwarepatrol rename to rpmbuild/SOURCES/eFa-4.0.5/eFa/lib-eFa-Configure/func_askmalwarepatrol diff --git a/rpmbuild/SOURCES/eFa-4.0.4/eFa/lib-eFa-Configure/func_askmaxsize b/rpmbuild/SOURCES/eFa-4.0.5/eFa/lib-eFa-Configure/func_askmaxsize similarity index 100% rename from rpmbuild/SOURCES/eFa-4.0.4/eFa/lib-eFa-Configure/func_askmaxsize rename to rpmbuild/SOURCES/eFa-4.0.5/eFa/lib-eFa-Configure/func_askmaxsize diff --git a/rpmbuild/SOURCES/eFa-4.0.4/eFa/lib-eFa-Configure/func_askmaxsizemailwatch b/rpmbuild/SOURCES/eFa-4.0.5/eFa/lib-eFa-Configure/func_askmaxsizemailwatch similarity index 100% rename from rpmbuild/SOURCES/eFa-4.0.4/eFa/lib-eFa-Configure/func_askmaxsizemailwatch rename to rpmbuild/SOURCES/eFa-4.0.5/eFa/lib-eFa-Configure/func_askmaxsizemailwatch diff --git a/rpmbuild/SOURCES/eFa-4.0.4/eFa/lib-eFa-Configure/func_asknonspam b/rpmbuild/SOURCES/eFa-4.0.5/eFa/lib-eFa-Configure/func_asknonspam similarity index 100% rename from rpmbuild/SOURCES/eFa-4.0.4/eFa/lib-eFa-Configure/func_asknonspam rename to rpmbuild/SOURCES/eFa-4.0.5/eFa/lib-eFa-Configure/func_asknonspam diff --git a/rpmbuild/SOURCES/eFa-4.0.4/eFa/lib-eFa-Configure/func_asksigrules b/rpmbuild/SOURCES/eFa-4.0.5/eFa/lib-eFa-Configure/func_asksigrules similarity index 100% rename from rpmbuild/SOURCES/eFa-4.0.4/eFa/lib-eFa-Configure/func_asksigrules rename to rpmbuild/SOURCES/eFa-4.0.5/eFa/lib-eFa-Configure/func_asksigrules diff --git a/rpmbuild/SOURCES/eFa-4.0.4/eFa/lib-eFa-Configure/func_askspam b/rpmbuild/SOURCES/eFa-4.0.5/eFa/lib-eFa-Configure/func_askspam similarity index 100% rename from rpmbuild/SOURCES/eFa-4.0.4/eFa/lib-eFa-Configure/func_askspam rename to rpmbuild/SOURCES/eFa-4.0.5/eFa/lib-eFa-Configure/func_askspam diff --git a/rpmbuild/SOURCES/eFa-4.0.4/eFa/lib-eFa-Configure/func_backup b/rpmbuild/SOURCES/eFa-4.0.5/eFa/lib-eFa-Configure/func_backup similarity index 100% rename from rpmbuild/SOURCES/eFa-4.0.4/eFa/lib-eFa-Configure/func_backup rename to rpmbuild/SOURCES/eFa-4.0.5/eFa/lib-eFa-Configure/func_backup diff --git a/rpmbuild/SOURCES/eFa-4.0.4/eFa/lib-eFa-Configure/func_dkim_dmarc b/rpmbuild/SOURCES/eFa-4.0.5/eFa/lib-eFa-Configure/func_dkim_dmarc similarity index 100% rename from rpmbuild/SOURCES/eFa-4.0.4/eFa/lib-eFa-Configure/func_dkim_dmarc rename to rpmbuild/SOURCES/eFa-4.0.5/eFa/lib-eFa-Configure/func_dkim_dmarc diff --git a/rpmbuild/SOURCES/eFa-4.0.4/eFa/lib-eFa-Configure/func_fail2ban b/rpmbuild/SOURCES/eFa-4.0.5/eFa/lib-eFa-Configure/func_fail2ban similarity index 100% rename from rpmbuild/SOURCES/eFa-4.0.4/eFa/lib-eFa-Configure/func_fail2ban rename to rpmbuild/SOURCES/eFa-4.0.5/eFa/lib-eFa-Configure/func_fail2ban diff --git a/rpmbuild/SOURCES/eFa-4.0.4/eFa/lib-eFa-Configure/func_getipsettings b/rpmbuild/SOURCES/eFa-4.0.5/eFa/lib-eFa-Configure/func_getipsettings similarity index 100% rename from rpmbuild/SOURCES/eFa-4.0.4/eFa/lib-eFa-Configure/func_getipsettings rename to rpmbuild/SOURCES/eFa-4.0.5/eFa/lib-eFa-Configure/func_getipsettings diff --git a/rpmbuild/SOURCES/eFa-4.0.4/eFa/lib-eFa-Configure/func_greylisting b/rpmbuild/SOURCES/eFa-4.0.5/eFa/lib-eFa-Configure/func_greylisting similarity index 100% rename from rpmbuild/SOURCES/eFa-4.0.4/eFa/lib-eFa-Configure/func_greylisting rename to rpmbuild/SOURCES/eFa-4.0.5/eFa/lib-eFa-Configure/func_greylisting diff --git a/rpmbuild/SOURCES/eFa-4.0.4/eFa/lib-eFa-Configure/func_ipsettings b/rpmbuild/SOURCES/eFa-4.0.5/eFa/lib-eFa-Configure/func_ipsettings similarity index 100% rename from rpmbuild/SOURCES/eFa-4.0.4/eFa/lib-eFa-Configure/func_ipsettings rename to rpmbuild/SOURCES/eFa-4.0.5/eFa/lib-eFa-Configure/func_ipsettings diff --git a/rpmbuild/SOURCES/eFa-4.0.4/eFa/lib-eFa-Configure/func_letsencrypt b/rpmbuild/SOURCES/eFa-4.0.5/eFa/lib-eFa-Configure/func_letsencrypt similarity index 100% rename from rpmbuild/SOURCES/eFa-4.0.4/eFa/lib-eFa-Configure/func_letsencrypt rename to rpmbuild/SOURCES/eFa-4.0.5/eFa/lib-eFa-Configure/func_letsencrypt diff --git a/rpmbuild/SOURCES/eFa-4.0.4/eFa/lib-eFa-Configure/func_mailsettings b/rpmbuild/SOURCES/eFa-4.0.5/eFa/lib-eFa-Configure/func_mailsettings similarity index 100% rename from rpmbuild/SOURCES/eFa-4.0.4/eFa/lib-eFa-Configure/func_mailsettings rename to rpmbuild/SOURCES/eFa-4.0.5/eFa/lib-eFa-Configure/func_mailsettings diff --git a/rpmbuild/SOURCES/eFa-4.0.4/eFa/lib-eFa-Configure/func_mailwatchsettings b/rpmbuild/SOURCES/eFa-4.0.5/eFa/lib-eFa-Configure/func_mailwatchsettings similarity index 100% rename from rpmbuild/SOURCES/eFa-4.0.4/eFa/lib-eFa-Configure/func_mailwatchsettings rename to rpmbuild/SOURCES/eFa-4.0.5/eFa/lib-eFa-Configure/func_mailwatchsettings diff --git a/rpmbuild/SOURCES/eFa-4.0.4/eFa/lib-eFa-Configure/func_maintenance b/rpmbuild/SOURCES/eFa-4.0.5/eFa/lib-eFa-Configure/func_maintenance similarity index 100% rename from rpmbuild/SOURCES/eFa-4.0.4/eFa/lib-eFa-Configure/func_maintenance rename to rpmbuild/SOURCES/eFa-4.0.5/eFa/lib-eFa-Configure/func_maintenance diff --git a/rpmbuild/SOURCES/eFa-4.0.4/eFa/lib-eFa-Configure/func_maxmind b/rpmbuild/SOURCES/eFa-4.0.5/eFa/lib-eFa-Configure/func_maxmind similarity index 100% rename from rpmbuild/SOURCES/eFa-4.0.4/eFa/lib-eFa-Configure/func_maxmind rename to rpmbuild/SOURCES/eFa-4.0.5/eFa/lib-eFa-Configure/func_maxmind diff --git a/rpmbuild/SOURCES/eFa-4.0.4/eFa/lib-eFa-Configure/func_peruser b/rpmbuild/SOURCES/eFa-4.0.5/eFa/lib-eFa-Configure/func_peruser similarity index 100% rename from rpmbuild/SOURCES/eFa-4.0.4/eFa/lib-eFa-Configure/func_peruser rename to rpmbuild/SOURCES/eFa-4.0.5/eFa/lib-eFa-Configure/func_peruser diff --git a/rpmbuild/SOURCES/eFa-4.0.4/eFa/lib-eFa-Configure/func_recovermariadb b/rpmbuild/SOURCES/eFa-4.0.5/eFa/lib-eFa-Configure/func_recovermariadb similarity index 100% rename from rpmbuild/SOURCES/eFa-4.0.4/eFa/lib-eFa-Configure/func_recovermariadb rename to rpmbuild/SOURCES/eFa-4.0.5/eFa/lib-eFa-Configure/func_recovermariadb diff --git a/rpmbuild/SOURCES/eFa-4.0.4/eFa/lib-eFa-Configure/func_resetadmin b/rpmbuild/SOURCES/eFa-4.0.5/eFa/lib-eFa-Configure/func_resetadmin similarity index 100% rename from rpmbuild/SOURCES/eFa-4.0.4/eFa/lib-eFa-Configure/func_resetadmin rename to rpmbuild/SOURCES/eFa-4.0.5/eFa/lib-eFa-Configure/func_resetadmin diff --git a/rpmbuild/SOURCES/eFa-4.0.4/eFa/lib-eFa-Configure/func_retention b/rpmbuild/SOURCES/eFa-4.0.5/eFa/lib-eFa-Configure/func_retention similarity index 100% rename from rpmbuild/SOURCES/eFa-4.0.4/eFa/lib-eFa-Configure/func_retention rename to rpmbuild/SOURCES/eFa-4.0.5/eFa/lib-eFa-Configure/func_retention diff --git a/rpmbuild/SOURCES/eFa-4.0.4/eFa/lib-eFa-Configure/func_setipsettings b/rpmbuild/SOURCES/eFa-4.0.5/eFa/lib-eFa-Configure/func_setipsettings similarity index 100% rename from rpmbuild/SOURCES/eFa-4.0.4/eFa/lib-eFa-Configure/func_setipsettings rename to rpmbuild/SOURCES/eFa-4.0.5/eFa/lib-eFa-Configure/func_setipsettings diff --git a/rpmbuild/SOURCES/eFa-4.0.4/eFa/lib-eFa-Configure/func_spamsettings b/rpmbuild/SOURCES/eFa-4.0.5/eFa/lib-eFa-Configure/func_spamsettings similarity index 100% rename from rpmbuild/SOURCES/eFa-4.0.4/eFa/lib-eFa-Configure/func_spamsettings rename to rpmbuild/SOURCES/eFa-4.0.5/eFa/lib-eFa-Configure/func_spamsettings diff --git a/rpmbuild/SOURCES/eFa-4.0.4/eFa/lib-eFa-Configure/func_systemrestore b/rpmbuild/SOURCES/eFa-4.0.5/eFa/lib-eFa-Configure/func_systemrestore similarity index 100% rename from rpmbuild/SOURCES/eFa-4.0.4/eFa/lib-eFa-Configure/func_systemrestore rename to rpmbuild/SOURCES/eFa-4.0.5/eFa/lib-eFa-Configure/func_systemrestore diff --git a/rpmbuild/SOURCES/eFa-4.0.4/eFa/lib-eFa-Configure/func_trustednetworks b/rpmbuild/SOURCES/eFa-4.0.5/eFa/lib-eFa-Configure/func_trustednetworks similarity index 100% rename from rpmbuild/SOURCES/eFa-4.0.4/eFa/lib-eFa-Configure/func_trustednetworks rename to rpmbuild/SOURCES/eFa-4.0.5/eFa/lib-eFa-Configure/func_trustednetworks diff --git a/rpmbuild/SOURCES/eFa-4.0.4/eFa/lib-eFa-Configure/func_tunables b/rpmbuild/SOURCES/eFa-4.0.5/eFa/lib-eFa-Configure/func_tunables similarity index 100% rename from rpmbuild/SOURCES/eFa-4.0.4/eFa/lib-eFa-Configure/func_tunables rename to rpmbuild/SOURCES/eFa-4.0.5/eFa/lib-eFa-Configure/func_tunables diff --git a/rpmbuild/SOURCES/eFa-4.0.4/eFa/lib-eFa-Configure/func_tunables_children b/rpmbuild/SOURCES/eFa-4.0.5/eFa/lib-eFa-Configure/func_tunables_children similarity index 100% rename from rpmbuild/SOURCES/eFa-4.0.4/eFa/lib-eFa-Configure/func_tunables_children rename to rpmbuild/SOURCES/eFa-4.0.5/eFa/lib-eFa-Configure/func_tunables_children diff --git a/rpmbuild/SOURCES/eFa-4.0.4/eFa/lib-eFa-Configure/func_tunables_procdb b/rpmbuild/SOURCES/eFa-4.0.5/eFa/lib-eFa-Configure/func_tunables_procdb similarity index 100% rename from rpmbuild/SOURCES/eFa-4.0.4/eFa/lib-eFa-Configure/func_tunables_procdb rename to rpmbuild/SOURCES/eFa-4.0.5/eFa/lib-eFa-Configure/func_tunables_procdb diff --git a/rpmbuild/SOURCES/eFa-4.0.4/eFa/lib-eFa-Configure/func_virussettings b/rpmbuild/SOURCES/eFa-4.0.5/eFa/lib-eFa-Configure/func_virussettings similarity index 100% rename from rpmbuild/SOURCES/eFa-4.0.4/eFa/lib-eFa-Configure/func_virussettings rename to rpmbuild/SOURCES/eFa-4.0.5/eFa/lib-eFa-Configure/func_virussettings diff --git a/rpmbuild/SOURCES/eFa-4.0.4/eFa/lib-eFa-Configure/func_webmin b/rpmbuild/SOURCES/eFa-4.0.5/eFa/lib-eFa-Configure/func_webmin similarity index 100% rename from rpmbuild/SOURCES/eFa-4.0.4/eFa/lib-eFa-Configure/func_webmin rename to rpmbuild/SOURCES/eFa-4.0.5/eFa/lib-eFa-Configure/func_webmin diff --git a/rpmbuild/SOURCES/eFa-4.0.4/eFa/mysqltuner.pl b/rpmbuild/SOURCES/eFa-4.0.5/eFa/mysqltuner.pl similarity index 100% rename from rpmbuild/SOURCES/eFa-4.0.4/eFa/mysqltuner.pl rename to rpmbuild/SOURCES/eFa-4.0.5/eFa/mysqltuner.pl diff --git a/rpmbuild/SOURCES/eFa-4.0.4/eFa/schema.mysql b/rpmbuild/SOURCES/eFa-4.0.5/eFa/schema.mysql similarity index 100% rename from rpmbuild/SOURCES/eFa-4.0.4/eFa/schema.mysql rename to rpmbuild/SOURCES/eFa-4.0.5/eFa/schema.mysql diff --git a/rpmbuild/SOURCES/eFa-4.0.4/eFa/schema_update_1.4.1.mysql b/rpmbuild/SOURCES/eFa-4.0.5/eFa/schema_update_1.4.1.mysql similarity index 100% rename from rpmbuild/SOURCES/eFa-4.0.4/eFa/schema_update_1.4.1.mysql rename to rpmbuild/SOURCES/eFa-4.0.5/eFa/schema_update_1.4.1.mysql diff --git a/rpmbuild/SOURCES/eFa-4.0.4/updates/update-4.0.0.sh b/rpmbuild/SOURCES/eFa-4.0.5/updates/update-4.0.0.sh similarity index 100% rename from rpmbuild/SOURCES/eFa-4.0.4/updates/update-4.0.0.sh rename to rpmbuild/SOURCES/eFa-4.0.5/updates/update-4.0.0.sh diff --git a/rpmbuild/SOURCES/eFa-4.0.4/updates/update-4.0.1.sh b/rpmbuild/SOURCES/eFa-4.0.5/updates/update-4.0.1.sh similarity index 100% rename from rpmbuild/SOURCES/eFa-4.0.4/updates/update-4.0.1.sh rename to rpmbuild/SOURCES/eFa-4.0.5/updates/update-4.0.1.sh diff --git a/rpmbuild/SOURCES/eFa-4.0.4/updates/update-4.0.2.sh b/rpmbuild/SOURCES/eFa-4.0.5/updates/update-4.0.2.sh similarity index 100% rename from rpmbuild/SOURCES/eFa-4.0.4/updates/update-4.0.2.sh rename to rpmbuild/SOURCES/eFa-4.0.5/updates/update-4.0.2.sh diff --git a/rpmbuild/SOURCES/eFa-4.0.4/updates/update-4.0.3.sh b/rpmbuild/SOURCES/eFa-4.0.5/updates/update-4.0.3.sh similarity index 100% rename from rpmbuild/SOURCES/eFa-4.0.4/updates/update-4.0.3.sh rename to rpmbuild/SOURCES/eFa-4.0.5/updates/update-4.0.3.sh diff --git a/rpmbuild/SOURCES/eFa-4.0.4/updates/update-4.0.4.sh b/rpmbuild/SOURCES/eFa-4.0.5/updates/update-4.0.4.sh similarity index 100% rename from rpmbuild/SOURCES/eFa-4.0.4/updates/update-4.0.4.sh rename to rpmbuild/SOURCES/eFa-4.0.5/updates/update-4.0.4.sh diff --git a/rpmbuild/SOURCES/eFa-4.0.5/updates/update-4.0.5.sh b/rpmbuild/SOURCES/eFa-4.0.5/updates/update-4.0.5.sh new file mode 100644 index 00000000..9b64f22f --- /dev/null +++ b/rpmbuild/SOURCES/eFa-4.0.5/updates/update-4.0.5.sh @@ -0,0 +1,68 @@ +#!/bin/sh +#-----------------------------------------------------------------------------# +# eFa 4.0.5-x cumulative updates script +#-----------------------------------------------------------------------------# +# Copyright (C) 2013~2023 https://efa-project.org +# +# This program is free software: you can redistribute it and/or modify +# it under the terms of the GNU General Public License as published by +# the Free Software Foundation, either version 3 of the License, or +# (at your option) any later version. +# +# This program is distributed in the hope that it will be useful, +# but WITHOUT ANY WARRANTY; without even the implied warranty of +# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the +# GNU General Public License for more details. +# +# You should have received a copy of the GNU General Public License +# along with this program. If not, see . +#-----------------------------------------------------------------------------# +instancetype=$(/sbin/virt-what) +centosver=$(cat /etc/centos-release | awk -F'[^0-9]*' '{print $2}') + +retval=0 + +function execcmd() +{ +eval $cmd && [[ $? -ne 0 ]] && echo "$cmd" && retval=1 +} + +# +---------------------------------------------------+ + +# make eFa able to connect to remote database other than localhost +# localhost becomes the default +if [[ -z $(grep ^EFASQLHOST /etc/eFa/eFa-Config) ]]; then + echo "EFASQLHOST:localhost" >> /etc/eFa/eFa-Config +fi + +if [[ -z $(grep ^MYSQLHOST /etc/eFa/MySQL-Config) ]]; then + echo "MYSQLHOST:localhost" >> /etc/eFa/MySQL-Config +fi + +if [[ -z $(grep ^MAILWATCHSQLHOST /etc/eFa/MailWatch-Config) ]]; then + echo "MAILWATCHSQLHOST:localhost" >> /etc/eFa/MailWatch-Config +fi + +if [[ -z $(grep ^SQLGREYSQLHOST /etc/eFa/SQLGrey-Config) ]]; then + echo "SQLGREYSQLHOST:localhost" >> /etc/eFa/SQLGrey-Config +fi + +if [[ -z $(grep ^SAUSERSQLHOST /etc/eFa/SA-Config) ]]; then + echo "SAUSERSQLHOST:localhost" >> /etc/eFa/SA-Config +fi + +if [[ -z $(grep ^DMARCSQLHOST /etc/eFa/openDMARC-Config) ]]; then + echo "DMARCSQLHOST:localhost" >> /etc/eFa/openDMARC-Config +fi + +# Refresh CustomAction.pm +if [[ -f /var/eFa/backup/CustomAction.pm.old ]]; then + rm -f /var/eFa/backup/CustomAction.pm.old +fi +if [[ -f /var/eFa/backup/CustomAction.pm ]]; then + mv /var/eFa/backup/CustomAction.pm /var/eFa/backup/CustomAction.pm.old +fi +mv /usr/share/MailScanner/perl/custom/CustomAction.pm /var/eFa/backup/CustomAction.pm +cp /var/eFa/lib/token/CustomAction.pm /usr/share/MailScanner/perl/custom/CustomAction.pm + +exit $retval diff --git a/rpmbuild/SPECS/build_eFa4.sh b/rpmbuild/SPECS/build_eFa4.sh index ac02d582..418aef8c 100755 --- a/rpmbuild/SPECS/build_eFa4.sh +++ b/rpmbuild/SPECS/build_eFa4.sh @@ -1,7 +1,7 @@ #!/bin/bash cd ../SOURCES/ -rm -f eFa-4.0.4.tar.gz -tar czvf eFa-4.0.4.tar.gz eFa-4.0.4 +rm -f eFa-4.0.5.tar.gz +tar czvf eFa-4.0.5.tar.gz eFa-4.0.5 cd ../SPECS rpmbuild -ba eFa4.spec diff --git a/rpmbuild/SPECS/eFa4.spec b/rpmbuild/SPECS/eFa4.spec index 5a264b01..36cf6b13 100644 --- a/rpmbuild/SPECS/eFa4.spec +++ b/rpmbuild/SPECS/eFa4.spec @@ -1,7 +1,7 @@ #-----------------------------------------------------------------------------# # eFa SPEC file definition #-----------------------------------------------------------------------------# -# Copyright (C) 2013~2022 https://efa-project.org +# Copyright (C) 2013~2023 https://efa-project.org # # This SPEC is free software: you can redistribute it and/or modify # it under the terms of the GNU General Public License as published by @@ -25,8 +25,8 @@ Name: eFa Summary: eFa Maintenance rpm -Version: 4.0.4 -Release: 40.eFa%{?dist} +Version: 4.0.5 +Release: 4.eFa%{?dist} Epoch: 1 Group: Applications/System URL: https://efa-project.org @@ -529,6 +529,13 @@ if [[ "$1" == "2" || "$flag" == "1" ]]; then } 2>&1 | tee -a /var/log/eFa/update.log fi + if [[ %{version} == "4.0.5" || "$flag" == "1" ]]; then + { + /bin/sh %{_usrsrc}/eFa/updates/update-4.0.5.sh + [[ $? -ne 0 ]] && echo "Error while updating eFa, Please visit https://efa-project.org to report the commands executed above." && exit 0 + } 2>&1 | tee -a /var/log/eFa/update.log + fi + # cleanup if sucessful rm -rf /usr/src/eFa echo "eFa-%{version}" > %{_sysconfdir}/eFa-Version From d58ed47c117ccda4614edb915b66d38f36f6cc4d Mon Sep 17 00:00:00 2001 From: Kapetanakis Giannis Date: Thu, 13 Jul 2023 17:31:29 +0300 Subject: [PATCH 02/10] Add support from remote MySQL database in MailWatch --- .../SOURCES/eFa-4.0.5/eFa/MailWatchConf.pm | 47 +++++++++++++++++++ .../SOURCES/eFa-4.0.5/updates/update-4.0.5.sh | 15 ++++++ rpmbuild/SPECS/eFa4.spec | 8 +++- 3 files changed, 69 insertions(+), 1 deletion(-) create mode 100644 rpmbuild/SOURCES/eFa-4.0.5/eFa/MailWatchConf.pm diff --git a/rpmbuild/SOURCES/eFa-4.0.5/eFa/MailWatchConf.pm b/rpmbuild/SOURCES/eFa-4.0.5/eFa/MailWatchConf.pm new file mode 100644 index 00000000..210abf68 --- /dev/null +++ b/rpmbuild/SOURCES/eFa-4.0.5/eFa/MailWatchConf.pm @@ -0,0 +1,47 @@ +# +# MailWatch for MailScanner +# + +package MailScanner::CustomConfig; + +use warnings; +use strict; + +# Change the values below to match the MailWatch database settings as set in conf.php +my ($db_name) = 'mailscanner'; +my ($db_user) = 'mailwatch'; +my ($fh); +my ($db_config) = '/etc/eFa/MailWatch-Config'; +open($fh, "<", $db_config); +if(!$fh) { + MailScanner::Log::WarnLog("Unable to open %s to retrieve db settings", $db_config); + return; +} +my ($db_pass) = grep(/^MAILWATCHSQLPWD/,<$fh>); +$db_pass =~ s/MAILWATCHSQLPWD://; +$db_pass =~ s/\n//; +seek $fh, 0, 0; +my ($db_host) = grep(/^MAILWATCHSQLHOST/,<$fh>); +$db_host =~ s/MAILWATCHSQLHOST://; +$db_host =~ s/\n//; +close($fh); + +# Change the value below for SQLSpamSettings.pm (default = 15) +my ($ss_refresh_time) = 15; # Time in minutes before lists are refreshed + +# Change the value below for SQLBlackWhiteList.pm (default = 15) +my ($bwl_refresh_time) = 15; # Time in minutes before lists are refreshed + + +############################### +# don't touch below this line # +############################### + +sub mailwatch_get_db_name { return $db_name }; +sub mailwatch_get_db_host { return $db_host }; +sub mailwatch_get_db_user { return $db_user }; +sub mailwatch_get_db_password { return $db_pass }; +sub mailwatch_get_BWL_refresh_time { return $bwl_refresh_time }; +sub mailwatch_get_SS_refresh_time { return $ss_refresh_time }; + +1; diff --git a/rpmbuild/SOURCES/eFa-4.0.5/updates/update-4.0.5.sh b/rpmbuild/SOURCES/eFa-4.0.5/updates/update-4.0.5.sh index 9b64f22f..fd137882 100644 --- a/rpmbuild/SOURCES/eFa-4.0.5/updates/update-4.0.5.sh +++ b/rpmbuild/SOURCES/eFa-4.0.5/updates/update-4.0.5.sh @@ -65,4 +65,19 @@ fi mv /usr/share/MailScanner/perl/custom/CustomAction.pm /var/eFa/backup/CustomAction.pm cp /var/eFa/lib/token/CustomAction.pm /usr/share/MailScanner/perl/custom/CustomAction.pm +# Refresh MailWatchConf.pm +if [[ -f /var/eFa/backup/MailWatchConf.pm.old ]]; then + rm -f /var/eFa/backup/MailWatchConf.pm.old +fi +if [[ -f /var/eFa/backup/MailWatchConf.pm ]]; then + mv /var/eFa/backup/MailWatchConf.pm /var/eFa/backup/MailWatchConf.pm.old +fi +mv /usr/share/MailScanner/perl/custom/MailWatchConf.pm /var/eFa/backup/MailWatchConf.pm +cp /var/eFa/lib/token/MailWatchConf.pm /usr/share/MailScanner/perl/custom/MailWatchConf.pm + +# Update DB_HOST in conf.php to read from /etc/eFa/MailWatch-Config +if [[ -z $(grep -w MAILWATCHSQLHOST /var/www/html/mailscanner/conf.php) ]]; then + sed -i "/^define('DB_HOST'/ c\$efa_config = preg_grep('\/^MAILWATCHSQLHOST\/', file('\/etc\/eFa/MailWatch-Config'));\nforeach(\$efa_config as \$num => \$line) {\n if (\$line) {\n \$db_host_tmp = chop(preg_replace('\/^MAILWATCHSQLHOST:(.*)\/','\$1', \$line));\n }\n}\ndefine('DB_HOST', \$db_host_tmp);" /var/www/html/mailscanner/conf.php +fi + exit $retval diff --git a/rpmbuild/SPECS/eFa4.spec b/rpmbuild/SPECS/eFa4.spec index 36cf6b13..b2c68cff 100644 --- a/rpmbuild/SPECS/eFa4.spec +++ b/rpmbuild/SPECS/eFa4.spec @@ -26,7 +26,7 @@ Name: eFa Summary: eFa Maintenance rpm Version: 4.0.5 -Release: 4.eFa%{?dist} +Release: 1.eFa%{?dist} Epoch: 1 Group: Applications/System URL: https://efa-project.org @@ -418,6 +418,7 @@ mkdir -p $RPM_BUILD_ROOT%{_localstatedir}/www/html/mailscanner/ mv eFa/eFa-release.php $RPM_BUILD_ROOT%{_localstatedir}/www/html/mailscanner/ mv eFa/eFa-learn.php $RPM_BUILD_ROOT%{_localstatedir}/www/html/mailscanner/ mv eFa/CustomAction.pm $RPM_BUILD_ROOT%{_localstatedir}/eFa/lib/token +mv eFa/MailWatchConf.pm $RPM_BUILD_ROOT%{_localstatedir}/eFa/lib/token mv eFa/efatokens.sql $RPM_BUILD_ROOT%{_localstatedir}/eFa/lib/token mv eFa/efatokens_update.sql $RPM_BUILD_ROOT%{_localstatedir}/eFa/lib/token mv eFa/eFavmtools.te $RPM_BUILD_ROOT%{_localstatedir}/eFa/lib/selinux @@ -566,6 +567,7 @@ rm -rf $RPM_BUILD_ROOT %attr(0755, root, root) %{_localstatedir}/eFa/lib/token/efatokens.sql %attr(0755, root, root) %{_localstatedir}/eFa/lib/token/efatokens_update.sql %attr(0644, root, root) %{_localstatedir}/eFa/lib/token/CustomAction.pm +%attr(0644, root, root) %{_localstatedir}/eFa/lib/token/MailWatchConf.pm %attr(0644, root, root) %{_localstatedir}/www/html/mailscanner/eFa-release.php %attr(0644, root, root) %{_localstatedir}/www/html/mailscanner/eFa-learn.php %attr(0755, root, root) %{_sysconfdir}/cron.daily/eFa-Backup.cron @@ -573,6 +575,10 @@ rm -rf $RPM_BUILD_ROOT %attr(0644, root, root) %{_sysconfdir}/logrotate.d/eFa-logrotate %changelog +* Thu Jul 13 2023 eFa Project - 4.0.5-1 +- Allow use of remote MySQL database +- Overwrite MailWatchConf.pm during update + * Sat Mar 04 2023 eFa Project - 4.0.4-40 - Add IUS Archive repo for centos7 hosts From 95b86a6360fedcf3e95f236474d405a2b4cc526f Mon Sep 17 00:00:00 2001 From: Kapetanakis Giannis Date: Thu, 13 Jul 2023 18:09:09 +0300 Subject: [PATCH 03/10] Add default localhost MySQL in eFa-Commit --- .../SOURCES/eFa-base-4.0.0/eFa/eFa-Commit | 20 +++++++++++++++++-- 1 file changed, 18 insertions(+), 2 deletions(-) diff --git a/rpmbuild/SOURCES/eFa-base-4.0.0/eFa/eFa-Commit b/rpmbuild/SOURCES/eFa-base-4.0.0/eFa/eFa-Commit index cd0ff635..2a470497 100644 --- a/rpmbuild/SOURCES/eFa-base-4.0.0/eFa/eFa-Commit +++ b/rpmbuild/SOURCES/eFa-base-4.0.0/eFa/eFa-Commit @@ -91,8 +91,11 @@ magenta='\E[00;35' cyan='\E[00;36m' clean='\e[00m' -if [[ -f /etc/eFa/MySQL-Config && -n $(grep MYSQLROOTPWD /etc/eFa/MySQL-Config) ]]; then - initpassword=$(grep MYSQLROOTPWD /etc/eFa/MySQL-Config | sed 's/^.*://') +if [[ -f /etc/eFa/MySQL-Config && -n $(grep -w ^MYSQLROOTPWD /etc/eFa/MySQL-Config) ]]; then + initpassword=$(grep -w ^MYSQLROOTPWD /etc/eFa/MySQL-Config | sed 's/^.*://') + if [[ -n $(grep ^MYSQLHOST /etc/eFa/MySQL-Config) ]]; then + mysqlhost=$(grep -w ^MYSQLHOST /etc/eFa/MySQL-Config | sed 's/^.*://') + fi else initpassword="eFaPr0j3ct" fi @@ -850,6 +853,7 @@ if [[ $configsa -eq 1 ]]; then sed -i "/user_awl_sql_password/ c\ user_awl_sql_password $SAUSERSQLPWD" /etc/MailScanner/spamassassin.conf [ $? -ne 0 ] && exit 1 echo "SAUSERSQLPWD:$SAUSERSQLPWD" > /etc/eFa/SA-Config + echo "SAUSERSQLHOST:localhost" >> /etc/eFa/SA-Config [ $? -ne 0 ] && exit 1 SAUSERSQLPWD= fi @@ -913,6 +917,7 @@ if [[ $configmailwatch -eq 1 ]]; then /usr/bin/mysql -u root -p"$initpassword" -e "FLUSH PRIVILEGES;" [ $? -ne 0 ] && exit 1 echo "MAILWATCHSQLPWD:$MAILWATCHSQLPWD" > /etc/eFa/MailWatch-Config + echo "MAILWATCHSQLHOST:localhost" >> /etc/eFa/MailWatch-Config MAILWATCHSQLPWD= # Upgrade database now @@ -926,11 +931,18 @@ if [[ $configmailwatch -eq 1 ]]; then cp /var/eFa/lib/token/CustomAction.pm /usr/share/MailScanner/perl/custom/CustomAction.pm [ $? -ne 0 ] && exit 1 + # Copy MailWatchConf.pm into position + rm -f /usr/share/MailScanner/perl/custom/MailWatchConf.pm + [ $? -ne 0 ] && exit 1 + cp /var/eFa/lib/token/MailWatchConf.pm /usr/share/MailScanner/perl/custom/MailWatchConf.pm + [ $? -ne 0 ] && exit 1 + # Initialize token user randompw EFASQLPWD=$PASSWD /usr/bin/mysql -u root -p"$initpassword" -e "ALTER USER 'efa'@'localhost' IDENTIFIED BY '$EFASQLPWD';" echo "EFASQLPWD:$EFASQLPWD" >> /etc/eFa/eFa-Config + echo "EFASQLHOST:localhost" >> /etc/eFa/eFa-Config fi if [[ $configsasl -eq 1 ]]; then @@ -952,6 +964,7 @@ if [[ $configsqlgrey -eq 1 ]]; then sed -i "/^db_pass =/ c\db_pass = $SQLGREYSQLPWD" /etc/sqlgrey/sqlgrey.conf [ $? -ne 0 ] && exit 1 echo "SQLGREYSQLPWD:$SQLGREYSQLPWD" > /etc/eFa/SQLGrey-Config + echo "SQLGREYSQLHOST:localhost" >> /etc/eFa/SQLGrey-Config [ $? -ne 0 ] && exit 1 SQLGREYSQLPWD= # Start sqlgrey to initialize db tables @@ -967,6 +980,7 @@ if [[ $configdmarc -eq 1 ]]; then /usr/bin/mysql -u root -p"$initpassword" -e "FLUSH PRIVILEGES;" [ $? -ne 0 ] && exit 1 echo "DMARCSQLPWD:$DMARCSQLPWD" > /etc/eFa/openDMARC-Config + echo "DMARCSQLHOST:localhost" >> /etc/eFa/openDMARC-Config [ $? -ne 0 ] && exit 1 DMARCSQLPWD= @@ -1048,6 +1062,8 @@ if [[ $configmysql -eq 1 ]]; then [ $? -ne 0 ] && exit 1 echo "MYSQLROOTPWD:$MYSQLROOTPWD" > /etc/eFa/MySQL-Config [ $? -ne 0 ] && exit 1 + echo "MYSQLHOST:localhost" >> /etc/eFa/MySQL-Config + [ $? -ne 0 ] && exit 1 echo "[client]" > /root/.my.cnf [ $? -ne 0 ] && exit 1 echo "user=root" >> /root/.my.cnf From 14fdfdda77ad1bd8930cd13c8a123cb49dc6272c Mon Sep 17 00:00:00 2001 From: Kapetanakis Giannis Date: Fri, 14 Jul 2023 13:28:36 +0300 Subject: [PATCH 04/10] Add support from remote MySQL database in sqlgreywebinterface --- debbuild/sqlgreywebinterface/debian/postinst | 1 + rpmbuild/SOURCES/eFa-base-4.0.0/eFa/eFa-Commit | 1 + rpmbuild/SPECS/sqlgreywebinterface.spec | 6 +++++- 3 files changed, 7 insertions(+), 1 deletion(-) diff --git a/debbuild/sqlgreywebinterface/debian/postinst b/debbuild/sqlgreywebinterface/debian/postinst index e350908b..212c70f6 100644 --- a/debbuild/sqlgreywebinterface/debian/postinst +++ b/debbuild/sqlgreywebinterface/debian/postinst @@ -9,6 +9,7 @@ case "$1" in configure) sed -i '/^$db_user/ c\$db_user = "sqlgrey";' /var/www/html/sgwi/includes/config.inc.php sed -i "/^\$db_pass/ c\$efa_array = preg_grep('/^SQLGREYSQLPWD/', file('/etc/eFa/SQLGrey-Config'));\nforeach(\$efa_array as \$num => \$line) {\n if (\$line) {\n \$db_pass = chop(preg_replace('/^SQLGREYSQLPWD:(.*)/','\$1',\$line));\n }\n}" /var/www/html/sgwi/includes/config.inc.php + sed -i "/^\$db_hostname/ c\$efa_array = preg_grep('/^SQLGREYSQLHOST/', file('/etc/eFa/SQLGrey-Config'));\nforeach(\$efa_array as \$num => \$line) {\n if (\$line) {\n \$db_hostname = chop(preg_replace('/^SQLGREYSQLHOST:(.*)/','\$1',\$line));\n }\n}" /var/www/html/sgwi/includes/config.inc.php ;; abort-upgrade|abort-remove|abort-deconfigure) diff --git a/rpmbuild/SOURCES/eFa-base-4.0.0/eFa/eFa-Commit b/rpmbuild/SOURCES/eFa-base-4.0.0/eFa/eFa-Commit index 2a470497..1fa85a83 100644 --- a/rpmbuild/SOURCES/eFa-base-4.0.0/eFa/eFa-Commit +++ b/rpmbuild/SOURCES/eFa-base-4.0.0/eFa/eFa-Commit @@ -962,6 +962,7 @@ if [[ $configsqlgrey -eq 1 ]]; then /usr/bin/mysql -u root -p"$initpassword" -e "FLUSH PRIVILEGES;" [ $? -ne 0 ] && exit 1 sed -i "/^db_pass =/ c\db_pass = $SQLGREYSQLPWD" /etc/sqlgrey/sqlgrey.conf + sed -i "/^db_host =/ c\db_host = $SQLGREYSQLHOST" /etc/sqlgrey/sqlgrey.conf [ $? -ne 0 ] && exit 1 echo "SQLGREYSQLPWD:$SQLGREYSQLPWD" > /etc/eFa/SQLGrey-Config echo "SQLGREYSQLHOST:localhost" >> /etc/eFa/SQLGrey-Config diff --git a/rpmbuild/SPECS/sqlgreywebinterface.spec b/rpmbuild/SPECS/sqlgreywebinterface.spec index 66df2d2e..186b34f2 100644 --- a/rpmbuild/SPECS/sqlgreywebinterface.spec +++ b/rpmbuild/SPECS/sqlgreywebinterface.spec @@ -26,7 +26,7 @@ Summary: SQLGrey Web Interface Legacy Name: sqlgreywebinterface Version: 1.1.9 Epoch: 1 -Release: 5.eFa%{?dist} +Release: 6.eFa%{?dist} License: GNU GPL v2 Group: Applications/Utilities URL: https://github.com/flok99/sgwi @@ -57,6 +57,7 @@ cp -ra * %{buildroot}%{_localstatedir}/www/html/sgwi # Add efa password retrieval sed -i '/^$db_user/ c\$db_user = "sqlgrey";' %{buildroot}%{_localstatedir}/www/html/sgwi/includes/config.inc.php sed -i "/^\$db_pass/ c\$efa_array = preg_grep('/^SQLGREYSQLPWD/', file('/etc/eFa/SQLGrey-Config'));\nforeach(\$efa_array as \$num => \$line) {\n if (\$line) {\n \$db_pass = chop(preg_replace('/^SQLGREYSQLPWD:(.*)/','\$1',\$line));\n }\n}" %{buildroot}%{_localstatedir}/www/html/sgwi/includes/config.inc.php +sed -i "/^\$db_hostname/ c\$efa_array = preg_grep('/^SQLGREYSQLHOST/', file('/etc/eFa/SQLGrey-Config'));\nforeach(\$efa_array as \$num => \$line) {\n if (\$line) {\n \$db_hostname = chop(preg_replace('/^SQLGREYSQLHOST:(.*)/','\$1',\$line));\n }\n}" %{buildroot}%{_localstatedir}/www/html/sgwi/includes/config.inc.php # Remove doc info rm %{buildroot}%{_localstatedir}/www/html/sgwi/{README.md,license.txt,readme.txt} @@ -86,6 +87,9 @@ rm %{buildroot}%{_localstatedir}/www/html/sgwi/{README.md,license.txt,readme.txt %{_localstatedir}/www/html/sgwi/includes/opt_in_out.inc.php %changelog +* Fri Jul 14 2022 Giannis Kapetanakis - 1.1.9-6 +- Allow interface to connect to remote MySQL server + * Mon Feb 15 2021 Shawn Iverson - 1.1.9-5 - Add eFa password retrieval for database access From 0ec6713f4d36b373fc9bd737f46cd1e93508e2b1 Mon Sep 17 00:00:00 2001 From: Kapetanakis Giannis Date: Fri, 14 Jul 2023 13:37:05 +0300 Subject: [PATCH 05/10] Add support from remote MySQL database in openDMARC --- .../eFa-4.0.5/eFa/lib-eFa-Configure/func_setipsettings | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/rpmbuild/SOURCES/eFa-4.0.5/eFa/lib-eFa-Configure/func_setipsettings b/rpmbuild/SOURCES/eFa-4.0.5/eFa/lib-eFa-Configure/func_setipsettings index 1aeae5b2..17544200 100644 --- a/rpmbuild/SOURCES/eFa-4.0.5/eFa/lib-eFa-Configure/func_setipsettings +++ b/rpmbuild/SOURCES/eFa-4.0.5/eFa/lib-eFa-Configure/func_setipsettings @@ -152,7 +152,7 @@ func_setipsettings(){ sed -i "/^ServerName\s/ c\ServerName $HOSTNAME.$DOMAINNAME:443" /etc/httpd/conf.d/ssl.conf # Issue #155 Change domainname in opendmarc reports - DBHOST='localhost' + DBHOST="`grep ^DMARCSQLHOST /etc/eFa/openDMARC-Config | sed 's/^.*://'`" DBUSER='opendmarc' DBPASS="`grep ^DMARCSQLPWD /etc/eFa/openDMARC-Config | sed 's/^.*://'`" DBNAME='opendmarc' @@ -178,4 +178,4 @@ func_setipsettings(){ echo -e "All done" pause } -# +---------------------------------------------------+ \ No newline at end of file +# +---------------------------------------------------+ From e1a3a1d7a49babb00745de8021fd48dd2fac94a5 Mon Sep 17 00:00:00 2001 From: Kapetanakis Giannis Date: Fri, 14 Jul 2023 14:02:10 +0300 Subject: [PATCH 06/10] Add support from remote MySQL database in Mailwatch part 2 --- .../eFa-4.0.5/eFa/lib-eFa-Configure/func_peruser | 14 +++++++++----- .../eFa/lib-eFa-Configure/func_resetadmin | 15 +++++++++------ .../eFa/lib-eFa-Configure/func_setipsettings | 3 ++- .../eFa-base-4.0.0/mailwatch-config-4.0.0.sh | 6 ++++-- 4 files changed, 24 insertions(+), 14 deletions(-) diff --git a/rpmbuild/SOURCES/eFa-4.0.5/eFa/lib-eFa-Configure/func_peruser b/rpmbuild/SOURCES/eFa-4.0.5/eFa/lib-eFa-Configure/func_peruser index ff435b8b..149a8166 100644 --- a/rpmbuild/SOURCES/eFa-4.0.5/eFa/lib-eFa-Configure/func_peruser +++ b/rpmbuild/SOURCES/eFa-4.0.5/eFa/lib-eFa-Configure/func_peruser @@ -89,13 +89,15 @@ func_peruser(){ while [ $FLAG2 != "0" ]; do if [[ "$SPAMSCORE" =~ ^[1-9]|[1-9][0-9]|100$ ]]; then MAILWATCHPW=`grep MAILWATCHSQLPWD /etc/eFa/MailWatch-Config | awk -F':' '{print $2}'` - /usr/bin/mysql -u mailwatch -p"$MAILWATCHPW" mailscanner -e "ALTER TABLE \`users\` ALTER COLUMN \`spamscore\` SET DEFAULT '$SPAMSCORE';" + MAILWATCHHOST=`grep MAILWATCHSQLHOST /etc/eFa/MailWatch-Config | awk -F':' '{print $2}'` + /usr/bin/mysql -u mailwatch -h "$MAILWATCHHOST" -p"$MAILWATCHPW" mailscanner -e "ALTER TABLE \`users\` ALTER COLUMN \`spamscore\` SET DEFAULT '$SPAMSCORE';" MAILWATCHPW='' sed -i "/^Required SpamAssassin Score =/ c\Required SpamAssassin Score = &SQLSpamScores" /etc/MailScanner/MailScanner.conf FLAG2=0 elif [[ -z "$SPAMSCORE" ]]; then MAILWATCHPW=`grep MAILWATCHSQLPWD /etc/eFa/MailWatch-Config | awk -F':' '{print $2}'` - /usr/bin/mysql -u mailwatch -p"$MAILWATCHPW" mailscanner -e 'ALTER TABLE `users` ALTER COLUMN `spamscore` SET DEFAULT '4';' + MAILWATCHHOST=`grep MAILWATCHSQLHOST /etc/eFa/MailWatch-Config | awk -F':' '{print $2}'` + /usr/bin/mysql -u mailwatch -h "$MAILWATCHHOST" -p"$MAILWATCHPW" mailscanner -e 'ALTER TABLE `users` ALTER COLUMN `spamscore` SET DEFAULT '4';' MAILWATCHPW='' sed -i "/^Required SpamAssassin Score =/ c\Required SpamAssassin Score = &SQLSpamScores" /etc/MailScanner/MailScanner.conf FLAG2=0 @@ -112,13 +114,15 @@ func_peruser(){ while [ $FLAG3 != "0" ]; do if [[ "$HIGHSPAMSCORE" =~ ^[1-9]|[1-9][0-9]|100$ ]]; then MAILWATCHPW=`grep MAILWATCHSQLPWD /etc/eFa/MailWatch-Config | awk -F':' '{print $2}'` - /usr/bin/mysql -u mailwatch -p"$MAILWATCHPW" mailscanner -e "ALTER TABLE \`users\` ALTER COLUMN \`highspamscore\` SET DEFAULT '$HIGHSPAMSCORE';" + MAILWATCHHOST=`grep MAILWATCHSQLHOST /etc/eFa/MailWatch-Config | awk -F':' '{print $2}'` + /usr/bin/mysql -u mailwatch -h "$MAILWATCHHOST" -p"$MAILWATCHPW" mailscanner -e "ALTER TABLE \`users\` ALTER COLUMN \`highspamscore\` SET DEFAULT '$HIGHSPAMSCORE';" MAILWATCHPW='' sed -i "/^High SpamAssassin Score =/ c\High SpamAssassin Score = &SQLHighSpamScores" /etc/MailScanner/MailScanner.conf FLAG3=0 elif [[ -z "$SPAMSCORE" ]]; then MAILWATCHPW=`grep MAILWATCHSQLPWD /etc/eFa/MailWatch-Config | awk -F':' '{print $2}'` - /usr/bin/mysql -u mailwatch -p"$MAILWATCHPW" mailscanner -e 'ALTER TABLE `users` ALTER COLUMN `highspamscore` SET DEFAULT '7';' + MAILWATCHHOST=`grep MAILWATCHSQLHOST /etc/eFa/MailWatch-Config | awk -F':' '{print $2}'` + /usr/bin/mysql -u mailwatch -h "$MAILWATCHHOST" -p"$MAILWATCHPW" mailscanner -e 'ALTER TABLE `users` ALTER COLUMN `highspamscore` SET DEFAULT '7';' MAILWATCHPW='' sed -i "/^High SpamAssassin Score =/ c\High SpamAssassin Score = &SQLHighSpamScores" /etc/MailScanner/MailScanner.conf FLAG3=0 @@ -150,4 +154,4 @@ func_peruser(){ done fi } -# +---------------------------------------------------+ \ No newline at end of file +# +---------------------------------------------------+ diff --git a/rpmbuild/SOURCES/eFa-4.0.5/eFa/lib-eFa-Configure/func_resetadmin b/rpmbuild/SOURCES/eFa-4.0.5/eFa/lib-eFa-Configure/func_resetadmin index a7cec913..b983e558 100644 --- a/rpmbuild/SOURCES/eFa-4.0.5/eFa/lib-eFa-Configure/func_resetadmin +++ b/rpmbuild/SOURCES/eFa-4.0.5/eFa/lib-eFa-Configure/func_resetadmin @@ -9,7 +9,10 @@ func_resetadmin() { echo -e "$green[eFa]$clean if it exists and give you the option to reset the password." echo -e "" - ADMINUSER=$(/usr/bin/mysql -s -N -u mailwatch -p`cat /etc/eFa/MailWatch-Config | grep MAILWATCHSQLPWD | sed 's/.*://'` mailscanner -e "select username from users where type = 'A' limit 1") + MAILWATCHPW=`grep MAILWATCHSQLPWD /etc/eFa/MailWatch-Config | awk -F':' '{print $2}'` + MAILWATCHHOST=`grep MAILWATCHSQLHOST /etc/eFa/MailWatch-Config | awk -F':' '{print $2}'` + + ADMINUSER=$(/usr/bin/mysql -s -N -u mailwatch -h $MAILWATCHHOST -p"$MAILWATCHPW" mailscanner -e "select username from users where type = 'A' limit 1") # What if there isn't an admin account? if [[ -z $ADMINUSER ]]; then @@ -24,10 +27,10 @@ func_resetadmin() { if [[ $ADMINUSER =~ ^[A-Za-z0-9]+$ ]]; then # Check for an existing user - CHECKDUPE=$(/usr/bin/mysql -s -N -u mailwatch -p`cat /etc/eFa/MailWatch-Config | grep MAILWATCHSQLPWD | sed 's/.*://'` mailscanner -e "select username from users where username = '$ADMINUSER'") + CHECKDUPE=$(/usr/bin/mysql -s -N -u mailwatch -h $MAILWATCHHOST -p"$MAILWATCHPW" mailscanner -e "select username from users where username = '$ADMINUSER'") if [[ -z $CHECKDUPE ]]; then # Create account - /usr/bin/mysql -u mailwatch -p`cat /etc/eFa/MailWatch-Config | grep MAILWATCHSQLPWD | sed 's/.*://'` mailscanner -e "INSERT into users (username,fullname,type) VALUES('$ADMINUSER','$ADMINUSER','A')" + /usr/bin/mysql -u mailwatch -h $MAILWATCHHOST -p"$MAILWATCHPW" mailscanner -e "INSERT into users (username,fullname,type) VALUES('$ADMINUSER','$ADMINUSER','A')" if [[ $? -ne 0 ]]; then echo -e "$red[ERROR]$cleanError creating new user, exiting..." pause @@ -42,7 +45,7 @@ func_resetadmin() { read YESNO if [[ $YESNO =~ ^[Yy]$ || -z $YESNO ]]; then # Promote user - /usr/bin/mysql -u mailwatch -p`cat /etc/eFa/MailWatch-Config | grep MAILWATCHSQLPWD | sed 's/.*://'` mailscanner -e "UPDATE users SET type = 'A' WHERE username='$ADMINUSER'" + /usr/bin/mysql -u mailwatch -h $MAILWATCHHOST -p"$MAILWATCHPW" mailscanner -e "UPDATE users SET type = 'A' WHERE username='$ADMINUSER'" if [[ $? -ne 0 ]]; then echo -e "$red[ERROR]$cleanError promoting new user, exiting..." pause @@ -95,7 +98,7 @@ func_resetadmin() { NEWPASS1=$(echo $NEWPASS1 | sed -e "s/'/''/g") - /usr/bin/mysql -u mailwatch -p`cat /etc/eFa/MailWatch-Config | grep MAILWATCHSQLPWD | sed 's/.*://'` mailscanner -e "UPDATE users SET password = md5('$NEWPASS1') WHERE username='$ADMINUSER'" + /usr/bin/mysql -u mailwatch -h $MAILWATCHHOST -p"$MAILWATCHPW" mailscanner -e "UPDATE users SET password = md5('$NEWPASS1') WHERE username='$ADMINUSER'" if [[ $? -ne 0 ]]; then echo -e "$red[ERROR]$cleanError resetting mailwatch password!" @@ -111,4 +114,4 @@ func_resetadmin() { pause } -# +---------------------------------------------------+ \ No newline at end of file +# +---------------------------------------------------+ diff --git a/rpmbuild/SOURCES/eFa-4.0.5/eFa/lib-eFa-Configure/func_setipsettings b/rpmbuild/SOURCES/eFa-4.0.5/eFa/lib-eFa-Configure/func_setipsettings index 17544200..3bf83e78 100644 --- a/rpmbuild/SOURCES/eFa-4.0.5/eFa/lib-eFa-Configure/func_setipsettings +++ b/rpmbuild/SOURCES/eFa-4.0.5/eFa/lib-eFa-Configure/func_setipsettings @@ -133,11 +133,12 @@ func_setipsettings(){ # Issue 195 -- Update MySQL database hostname fields MAILWATCHPWD=$(grep "^MAILWATCHSQLPWD" /etc/eFa/MailWatch-Config | sed 's/^.*://') + MAILWATCHHOST=$(grep "^MAILWATCHSQLHOST" /etc/eFa/MailWatch-Config | sed 's/^.*://') systemctl stop msmilter systemctl stop mailscanner - mysql -u mailwatch --password=$MAILWATCHPWD mailscanner -e "\ + mysql -u mailwatch -h $MAILWATCHHOST --password=$MAILWATCHPWD mailscanner -e "\ LOCK TABLES maillog WRITE; \ ALTER TABLE maillog MODIFY COLUMN \`last_update\` timestamp NOT NULL DEFAULT CURRENT_TIMESTAMP; \ UPDATE maillog SET hostname='$HOSTNAME.$DOMAINNAME' WHERE hostname='$OLDHOSTNAME.$OLDDOMAINNAME'; \ diff --git a/rpmbuild/SOURCES/eFa-base-4.0.0/mailwatch-config-4.0.0.sh b/rpmbuild/SOURCES/eFa-base-4.0.0/mailwatch-config-4.0.0.sh index 6bf51e58..89f7419b 100644 --- a/rpmbuild/SOURCES/eFa-base-4.0.0/mailwatch-config-4.0.0.sh +++ b/rpmbuild/SOURCES/eFa-base-4.0.0/mailwatch-config-4.0.0.sh @@ -33,10 +33,12 @@ echo "Configuring MailWatch..." sed -i '/^short_open_tag =/ c\short_open_tag = On' /etc/php.ini # Set up connection for MailWatch -sed -i "/^my (\$db_user) =/ c\my (\$db_user) = 'mailwatch';" /usr/share/MailScanner/perl/custom/MailWatchConf.pm -sed -i "/^my (\$db_pass) =/ c\my (\$fh);\nmy (\$pw_config) = '/etc/eFa/MailWatch-Config';\nopen(\$fh, \"<\", \$pw_config);\nif(\!\$fh) {\n MailScanner::Log::WarnLog(\"Unable to open %s to retrieve password\", \$pw_config);\n return;\n}\nmy (\$db_pass) = grep(/^MAILWATCHSQLPWD/,<\$fh>);\n\$db_pass =~ s/MAILWATCHSQLPWD://;\n\$db_pass =~ s/\\\n//;\nclose(\$fh);" /usr/share/MailScanner/perl/custom/MailWatchConf.pm +# moved in update-4.0.5.sh +#sed -i "/^my (\$db_user) =/ c\my (\$db_user) = 'mailwatch';" /usr/share/MailScanner/perl/custom/MailWatchConf.pm +#sed -i "/^my (\$db_pass) =/ c\my (\$fh);\nmy (\$pw_config) = '/etc/eFa/MailWatch-Config';\nopen(\$fh, \"<\", \$pw_config);\nif(\!\$fh) {\n MailScanner::Log::WarnLog(\"Unable to open %s to retrieve password\", \$pw_config);\n return;\n}\nmy (\$db_pass) = grep(/^MAILWATCHSQLPWD/,<\$fh>);\n\$db_pass =~ s/MAILWATCHSQLPWD://;\n\$db_pass =~ s/\\\n//;\nclose(\$fh);" /usr/share/MailScanner/perl/custom/MailWatchConf.pm sed -i "/^define('DB_PASS',/ c\$efa_config = preg_grep('/^MAILWATCHSQLPWD/', file('/etc/eFa/MailWatch-Config'));\nforeach(\$efa_config as \$num => \$line) {\n if (\$line) {\n \$db_pass_tmp = chop(preg_replace('/^MAILWATCHSQLPWD:(.*)/','\$1', \$line));\n }\n}\ndefine('DB_PASS', \$db_pass_tmp);" /var/www/html/mailscanner/conf.php +sed -i "/^define('DB_HOST',/ c\$efa_config = preg_grep('/^MAILWATCHSQLHOST/', file('/etc/eFa/MailWatch-Config'));\nforeach(\$efa_config as \$num => \$line) {\n if (\$line) {\n \$db_pass_tmp = chop(preg_replace('/^MAILWATCHSQLHOST:(.*)/','\$1', \$line));\n }\n}\ndefine('DB_HOST', \$db_pass_tmp);" /var/www/html/mailscanner/conf.php sed -i "/^define('DB_USER',/ c\define('DB_USER', 'mailwatch');" /var/www/html/mailscanner/conf.php sed -i "/^define('TIME_ZONE',/ c\define('TIME_ZONE', 'Etc/UTC');" /var/www/html/mailscanner/conf.php sed -i "/^define('QUARANTINE_USE_FLAG',/ c\define('QUARANTINE_USE_FLAG', true);" /var/www/html/mailscanner/conf.php From 1381054318a0c07d616252cce0f4e022643dded8 Mon Sep 17 00:00:00 2001 From: Kapetanakis Giannis Date: Fri, 14 Jul 2023 14:17:09 +0300 Subject: [PATCH 07/10] Add version for MailWatchConf.pm since is managed locally --- rpmbuild/SOURCES/eFa-4.0.5/eFa/MailWatchConf.pm | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/rpmbuild/SOURCES/eFa-4.0.5/eFa/MailWatchConf.pm b/rpmbuild/SOURCES/eFa-4.0.5/eFa/MailWatchConf.pm index 210abf68..f61132aa 100644 --- a/rpmbuild/SOURCES/eFa-4.0.5/eFa/MailWatchConf.pm +++ b/rpmbuild/SOURCES/eFa-4.0.5/eFa/MailWatchConf.pm @@ -1,6 +1,7 @@ # # MailWatch for MailScanner -# +# MailWatchConf.pm +# Version 20230714 package MailScanner::CustomConfig; From 94d2901fab6a25d954c8ab6204480c963b0334c9 Mon Sep 17 00:00:00 2001 From: Kapetanakis Giannis Date: Fri, 14 Jul 2023 14:23:13 +0300 Subject: [PATCH 08/10] Update eFa-base version and fix /etc/cron.daily/trim-txrep --- rpmbuild/SOURCES/eFa-base-4.0.0/spamassassin-config-4.0.0.sh | 5 +++-- rpmbuild/SPECS/eFa4-base.spec | 5 ++++- 2 files changed, 7 insertions(+), 3 deletions(-) diff --git a/rpmbuild/SOURCES/eFa-base-4.0.0/spamassassin-config-4.0.0.sh b/rpmbuild/SOURCES/eFa-base-4.0.0/spamassassin-config-4.0.0.sh index 2be66ffc..34f2376a 100644 --- a/rpmbuild/SOURCES/eFa-base-4.0.0/spamassassin-config-4.0.0.sh +++ b/rpmbuild/SOURCES/eFa-base-4.0.0/spamassassin-config-4.0.0.sh @@ -136,7 +136,8 @@ sed -i "/^# loadplugin Mail::SpamAssassin::Plugin::AntiVirus/ c\loadplugin Mail: cat > /etc/cron.daily/trim-txrep << 'EOF' #!/bin/sh password=$(grep ^SAUSERSQLPWD /etc/eFa/SA-Config | awk -F':' '{print $2}') -/usr/bin/mysql -usa_user -p$password -Dsa_bayes -e"DELETE FROM txrep WHERE last_hit <= (now() - INTERVAL 120 day);" +host=$(grep -w ^SAUSERSQLHOST /etc/eFa/SA-Config | awk -F':' '{print $2}') +/usr/bin/mysql -usa_user -h $host -p$password -Dsa_bayes -e"DELETE FROM txrep WHERE last_hit <= (now() - INTERVAL 120 day);" exit 0 EOF @@ -173,4 +174,4 @@ ln -s /etc/mail/spamassassin/v342.pre /etc/MailScanner/mcp/v342.pre mkdir -p /var/spool/postfix/.spamassassin chown postfix:mtagroup /var/spool/postfix/.spamassassin -echo "Configuring spamassassin...done" \ No newline at end of file +echo "Configuring spamassassin...done" diff --git a/rpmbuild/SPECS/eFa4-base.spec b/rpmbuild/SPECS/eFa4-base.spec index 27e8c246..d1b12033 100644 --- a/rpmbuild/SPECS/eFa4-base.spec +++ b/rpmbuild/SPECS/eFa4-base.spec @@ -20,7 +20,7 @@ Name: eFa-base Summary: eFa-base files rpm Version: 4.0.0 -Release: 1.eFa%{?dist} +Release: 2.eFa%{?dist} Epoch: 1 Group: Applications/System URL: https://efa-project.org @@ -117,5 +117,8 @@ rm -rf $RPM_BUILD_ROOT %attr(0755, root, root) %{_sbindir}/eFa-Post-Init %changelog +* Fri Jul 14 2023 Kapetanakis Giannis - 4.0.0-2 +- Add support for remote MySQL server + * Sat Jan 19 2019 eFa Project - 4.0.0-1 - Intitial Build From ca0e76c5fc56053cce9bd0fec7e6803510136e47 Mon Sep 17 00:00:00 2001 From: Kapetanakis Giannis Date: Fri, 14 Jul 2023 14:26:30 +0300 Subject: [PATCH 09/10] Update changelogs --- rpmbuild/SPECS/eFa4-base.spec | 2 +- rpmbuild/SPECS/eFa4.spec | 2 +- 2 files changed, 2 insertions(+), 2 deletions(-) diff --git a/rpmbuild/SPECS/eFa4-base.spec b/rpmbuild/SPECS/eFa4-base.spec index d1b12033..8134dd58 100644 --- a/rpmbuild/SPECS/eFa4-base.spec +++ b/rpmbuild/SPECS/eFa4-base.spec @@ -117,7 +117,7 @@ rm -rf $RPM_BUILD_ROOT %attr(0755, root, root) %{_sbindir}/eFa-Post-Init %changelog -* Fri Jul 14 2023 Kapetanakis Giannis - 4.0.0-2 +* Fri Jul 14 2023 Giannis Kapetanakis - 4.0.0-2 - Add support for remote MySQL server * Sat Jan 19 2019 eFa Project - 4.0.0-1 diff --git a/rpmbuild/SPECS/eFa4.spec b/rpmbuild/SPECS/eFa4.spec index b2c68cff..aff3653c 100644 --- a/rpmbuild/SPECS/eFa4.spec +++ b/rpmbuild/SPECS/eFa4.spec @@ -575,7 +575,7 @@ rm -rf $RPM_BUILD_ROOT %attr(0644, root, root) %{_sysconfdir}/logrotate.d/eFa-logrotate %changelog -* Thu Jul 13 2023 eFa Project - 4.0.5-1 +* Thu Jul 13 2023 Giannis Kapetanakis - 4.0.5-1 - Allow use of remote MySQL database - Overwrite MailWatchConf.pm during update From 0e90cbd83aa950b14ff0ba204acb203c1cf90389 Mon Sep 17 00:00:00 2001 From: Kapetanakis Giannis Date: Fri, 14 Jul 2023 14:52:00 +0300 Subject: [PATCH 10/10] Mention manual changes need to be done in config files --- rpmbuild/SOURCES/eFa-4.0.5/updates/update-4.0.5.sh | 2 ++ rpmbuild/SOURCES/eFa-base-4.0.0/eFa/eFa-Commit | 2 ++ 2 files changed, 4 insertions(+) diff --git a/rpmbuild/SOURCES/eFa-4.0.5/updates/update-4.0.5.sh b/rpmbuild/SOURCES/eFa-4.0.5/updates/update-4.0.5.sh index fd137882..439fb289 100644 --- a/rpmbuild/SOURCES/eFa-4.0.5/updates/update-4.0.5.sh +++ b/rpmbuild/SOURCES/eFa-4.0.5/updates/update-4.0.5.sh @@ -45,10 +45,12 @@ fi if [[ -z $(grep ^SQLGREYSQLHOST /etc/eFa/SQLGrey-Config) ]]; then echo "SQLGREYSQLHOST:localhost" >> /etc/eFa/SQLGrey-Config + echo "# if you change localhost, also update /etc/sqlgrey/sqlgrey.conf by hand" >> /etc/eFa/SQLGrey-Config fi if [[ -z $(grep ^SAUSERSQLHOST /etc/eFa/SA-Config) ]]; then echo "SAUSERSQLHOST:localhost" >> /etc/eFa/SA-Config + echo "# if you change localhost, also update /etc/mail/spamassassin/mailscanner.cf by hand" >> /etc/eFa/SA-Config fi if [[ -z $(grep ^DMARCSQLHOST /etc/eFa/openDMARC-Config) ]]; then diff --git a/rpmbuild/SOURCES/eFa-base-4.0.0/eFa/eFa-Commit b/rpmbuild/SOURCES/eFa-base-4.0.0/eFa/eFa-Commit index 1fa85a83..cb395e5d 100644 --- a/rpmbuild/SOURCES/eFa-base-4.0.0/eFa/eFa-Commit +++ b/rpmbuild/SOURCES/eFa-base-4.0.0/eFa/eFa-Commit @@ -854,6 +854,7 @@ if [[ $configsa -eq 1 ]]; then [ $? -ne 0 ] && exit 1 echo "SAUSERSQLPWD:$SAUSERSQLPWD" > /etc/eFa/SA-Config echo "SAUSERSQLHOST:localhost" >> /etc/eFa/SA-Config + echo "# if you change localhost, also update /etc/mail/spamassassin/mailscanner.cf by hand" >> /etc/eFa/SA-Config [ $? -ne 0 ] && exit 1 SAUSERSQLPWD= fi @@ -966,6 +967,7 @@ if [[ $configsqlgrey -eq 1 ]]; then [ $? -ne 0 ] && exit 1 echo "SQLGREYSQLPWD:$SQLGREYSQLPWD" > /etc/eFa/SQLGrey-Config echo "SQLGREYSQLHOST:localhost" >> /etc/eFa/SQLGrey-Config + echo "# if you update host, also update /etc/sqlgrey/sqlgrey.conf by hand" >> /etc/eFa/SQLGrey-Config [ $? -ne 0 ] && exit 1 SQLGREYSQLPWD= # Start sqlgrey to initialize db tables