From 5049080b7ef50b47bf50bf2cdf3f4c22b1f9394d Mon Sep 17 00:00:00 2001
From: Till Brehm <tbrehm@ispconfig.org>
Date: Thu, 16 Oct 2014 06:03:52 -0400
Subject: [PATCH] Implemented: FS#3707 - apps_instance_setting database storing details in plain text
---
server/mods-available/monitor_core_module.inc.php | 17 +++++++++++++++++
1 files changed, 17 insertions(+), 0 deletions(-)
diff --git a/server/mods-available/monitor_core_module.inc.php b/server/mods-available/monitor_core_module.inc.php
index d6d28ca..fc5dd79 100644
--- a/server/mods-available/monitor_core_module.inc.php
+++ b/server/mods-available/monitor_core_module.inc.php
@@ -121,6 +121,7 @@
$this->_monitorFail2ban();
$this->_monitorIPTables();
$this->_monitorSysLog();
+ $this->_cleanupAPS();
}
private function _monitorEmailQuota() {
@@ -844,6 +845,22 @@
' server_id = ' . $serverId;
$app->dbmaster->query($sql);
}
+
+ private function _cleanupAPS() {
+ global $app, $conf;
+
+ // run this only on the master
+ if($conf['server_id'] == 1) {
+ $records = $app->db->queryAllRecords("SELECT s.instance_id, s.name, s.value FROM `aps_instances_settings` as s INNER JOIN `aps_instances` as i ON (i.id = s.instance_id) WHERE s.value != '' AND s.name IN ('main_database_password', 'admin_password') AND i.instance_status > 1");
+ if(is_array($records)) {
+ foreach($records as $rec) {
+ $tmp = $app->db->queryOneRecord("SELECT id FROM aps_instances_settings WHERE instance_id = '".$app->db->quote($rec['instance_id'])."' AND name = '".$app->db->quote($rec['name'])."'");
+ $app->db->datalogUpdate('aps_instances_settings', "value = ''", 'id', $tmp['id']);
+ }
+ }
+ }
+
+ }
}
--
Gitblit v1.9.1