From 3487a95e2c60650818685609454920c3e5c69858 Mon Sep 17 00:00:00 2001 From: Benjamin Sonntag Date: Mon, 29 Sep 2014 17:37:13 +0200 Subject: [PATCH] fixing dovecot quotas, phpmyadmin special user, opendkim missing key at upgrade time --- install/upgrades/3.4.0.sh | 15 +++++ src/alternc_fix_myadm_users.php | 102 ++++++++++++++++++++++++++++++++ src/alternc_fix_opendkim.php | 91 ++++++++++++++++++++++++++++ src/quota-warning.sh | 0 4 files changed, 208 insertions(+) create mode 100755 install/upgrades/3.4.0.sh create mode 100755 src/alternc_fix_myadm_users.php create mode 100755 src/alternc_fix_opendkim.php mode change 100644 => 100755 src/quota-warning.sh diff --git a/install/upgrades/3.4.0.sh b/install/upgrades/3.4.0.sh new file mode 100755 index 00000000..43932eed --- /dev/null +++ b/install/upgrades/3.4.0.sh @@ -0,0 +1,15 @@ +#!/bin/bash + +# this script is for 3.1.2 or 3.2.2 +# we named it 3.4.0.sh since some of us had a 3.3.0~rc1.sh installed at some point in time +# which means the alternc_status table have this number in mind. +# so we need to have a bigger one + +echo "Fix OpenDKIM key generation" +/usr/lib/alternc/alternc_fix_opendkim.php + +echo "Fix phpmyadmin special user" +/usr/lib/alternc/alternc_fix_myadm_users.php + +echo "Fix of dovecot quotas" +/usr/lib/alternc/update_quota_mail.sh diff --git a/src/alternc_fix_myadm_users.php b/src/alternc_fix_myadm_users.php new file mode 100755 index 00000000..2abbd421 --- /dev/null +++ b/src/alternc_fix_myadm_users.php @@ -0,0 +1,102 @@ +#!/usr/bin/php + $data) { + $membre=$data[0]; + $srvid=$data[1]; + $ok=@mysql_fetch_array(mysql_query("SELECT * FROM dbusers WHERE uid=$uid AND NAME='".$uid."_myadm';",$res)); + if (!$ok) { + echo "Creating user ".$uid."_myadm for login ".$membre."\n"; + $pass=create_pass(8); + mysql_query("INSERT INTO dbusers SET uid=$uid, name='".$uid."_myadm', password='$pass', enable='ADMIN';",$res); + echo mysql_error(); + } else { + $pass=$ok["password"]; + } + echo "Granting rights to user ".$uid."_myadm for login ".$membre." ... "; + // Now granting him access to all user's databases + mysql_query("GRANT USAGE ON *.* TO '".$uid."_myadm'@'".$client[$srvid]."' IDENTIFIED BY '$pass';",$srv[$srvid]); + echo mysql_error(); + $t=mysql_query("SELECT * FROM db WHERE uid=$uid;",$res); + echo mysql_error(); + while ($d=mysql_fetch_array($t)) { + mysql_query("GRANT ALL ON ".$d["db"].".* TO '".$uid."_myadm'@'".$client[$srvid]."';",$srv[$srvid]); + echo " ".$d["db"]; + echo mysql_error(); + } + echo "\n"; +} + diff --git a/src/alternc_fix_opendkim.php b/src/alternc_fix_opendkim.php new file mode 100755 index 00000000..6ceb4e72 --- /dev/null +++ b/src/alternc_fix_opendkim.php @@ -0,0 +1,91 @@ +#!/usr/bin/php +&1"); + passthru("chown opendkim:opendkim alternc.private 2>&1"); + mysql_query("UPDATE domaines SET dns_action='UPDATE' WHERE domaine='".$c["domaine"]."';"); + $hasdoneone=true; + } +} + +if ($hasdoneone) { + echo "I created some keys, launching update_domaines...\n"; + passthru("/usr/lib/alternc/update_domains.sh 2>&1"); +} else { + echo "I did nothing, opendkim seems fine...\n"; +} + diff --git a/src/quota-warning.sh b/src/quota-warning.sh old mode 100644 new mode 100755