diff options
author | Frank Bergkemper <frank.bergkemper@dass-it.de> | 2015-03-05 19:06:32 +0300 |
---|---|---|
committer | Frank Bergkemper <frank.bergkemper@dass-it.de> | 2015-03-05 19:06:32 +0300 |
commit | 1e768e36e65ff2bc60087e200b4c48b7457a116a (patch) | |
tree | 72ca3f02ea99b5197e24cd8b834fa63a6bf089b7 | |
parent | 25bfb0aeff1d4b8892d1069b6299b41ffb7d73b1 (diff) |
Fixes a bug in config reader
Wrong array keys in config reader lead to confusion and not being
able to use a catalog db running on a host other than the director host.
Fixes #429: New Webui fails to connect to database
-rw-r--r-- | config/autoload/global.php | 81 | ||||
-rw-r--r-- | module/Auth/src/Auth/Form/LoginForm.php | 5 |
2 files changed, 43 insertions, 43 deletions
diff --git a/config/autoload/global.php b/config/autoload/global.php index 2484e8f..56b99bc 100644 --- a/config/autoload/global.php +++ b/config/autoload/global.php @@ -5,7 +5,7 @@ * bareos-webui - Bareos Web-Frontend * * @link https://github.com/bareos/bareos-webui for the canonical source repository - * @copyright Copyright (c) 2013-2014 Bareos GmbH & Co. KG (http://www.bareos.org/) + * @copyright Copyright (c) 2013-2015 Bareos GmbH & Co. KG (http://www.bareos.org/) * @license GNU Affero General Public License (http://www.gnu.org/licenses/) * @author Frank Bergkemper * @@ -62,11 +62,11 @@ function read_db_config($config, $file) else { if(array_key_exists('dbaddress', $instance) && isset($instance['dbaddress'])) { - $arr['adapters'][$instance['dbaddress']] = array(); + $arr['adapters'][key($config)] = array(); } else { if(array_key_exists('diraddress', $instance) && isset($instance['diraddress'])) { - $arr['adapters'][$instance['diraddress']] = array(); + $arr['adapters'][key($config)] = array(); $instance['dbaddress'] = $instance['diraddress']; } else { @@ -77,10 +77,10 @@ function read_db_config($config, $file) if(array_key_exists('dbdriver', $instance) && isset($instance['dbdriver'])) { if(strtolower($instance['dbdriver']) == "postgresql") { - $arr['adapters'][$instance['dbaddress']]['driver'] = "Pdo_Pgsql"; + $arr['adapters'][key($config)]['driver'] = "Pdo_Pgsql"; } elseif(strtolower($instance['dbdriver']) == "mysql") { - $arr['adapters'][$instance['dbaddress']]['driver'] = "Pdo_Mysql"; + $arr['adapters'][key($config)]['driver'] = "Pdo_Mysql"; } else { echo "Error: Mispelled value for parameter 'dbdriver' in ".$file.", section ".key($config)."."; @@ -88,51 +88,51 @@ function read_db_config($config, $file) } } else { - $arr['adapters'][$instance['dbaddress']]['driver'] = "Pdo_Pgsql"; + $arr['adapters'][key($config)]['driver'] = "Pdo_Pgsql"; } if(array_key_exists('dbname', $instance) && isset($instance['dbname'])) { - $arr['adapters'][$instance['dbaddress']]['dbname'] = $instance['dbname']; + $arr['adapters'][key($config)]['dbname'] = $instance['dbname']; } else { - $arr['adapters'][$instance['dbaddress']]['dbname'] = "bareos"; + $arr['adapters'][key($config)]['dbname'] = "bareos"; } if(array_key_exists('dbaddress', $instance) && isset($instance['dbaddress'])) { - $arr['adapters'][$instance['dbaddress']]['host'] = $instance['dbaddress']; + $arr['adapters'][key($config)]['host'] = $instance['dbaddress']; } else { - $arr['adapters'][$instance['dbaddress']]['host'] = "127.0.0.1"; + $arr['adapters'][key($config)]['host'] = "127.0.0.1"; } if(array_key_exists('dbport', $instance) && isset($instance['dbport'])) { - $arr['adapters'][$instance['dbaddress']]['port'] = $instance['dbport']; + $arr['adapters'][key($config)]['port'] = $instance['dbport']; } else { if($arr['adapters'][$instance['dbaddress']]['driver'] == "Pdo_Pgsql") { - $arr['adapters'][$instance['dbaddress']]['port'] = 5432; + $arr['adapters'][key($config)]['port'] = 5432; } else { - $arr['adapters'][$instance['dbaddress']]['port'] = 3306; + $arr['adapters'][key($config)]['port'] = 3306; } } if(array_key_exists('dbuser', $instance) && isset($instance['dbuser'])) { - $arr['adapters'][$instance['dbaddress']]['username'] = $instance['dbuser']; + $arr['adapters'][key($config)]['username'] = $instance['dbuser']; } else { - $arr['adapters'][$instance['dbaddress']]['username'] = "bareos"; + $arr['adapters'][key($config)]['username'] = "bareos"; } if(array_key_exists('dbpassword', $instance) && isset($instance['dbpassword'])) { - $arr['adapters'][$instance['dbaddress']]['password'] = $instance['dbpassword']; + $arr['adapters'][key($config)]['password'] = $instance['dbpassword']; } else { - $arr['adapters'][$instance['dbaddress']]['password'] = ""; + $arr['adapters'][key($config)]['password'] = ""; } } - + next($config); } return $arr; @@ -154,8 +154,8 @@ function read_dir_config($config, $file) else { if(array_key_exists('diraddress', $instance) && isset($instance['diraddress'])) { - $arr[$instance['diraddress']] = array(); - $arr[$instance['diraddress']]['host'] = $instance['diraddress']; + $arr[key($config)] = array(); + $arr[key($config)]['host'] = $instance['diraddress']; } else { echo "Error: Missing parameter 'diraddress' in ".$file.", section ".key($config)."."; @@ -163,77 +163,76 @@ function read_dir_config($config, $file) } if(array_key_exists('dirport', $instance) && isset($instance['dirport'])) { - $arr[$instance['diraddress']]['port'] = $instance['dirport']; + $arr[key($config)]['port'] = $instance['dirport']; } else { - $arr[$instance['diraddress']]['port'] = 9101; + $arr[key($config)]['port'] = 9101; } if(array_key_exists('tls_verify_peer', $instance) && isset($instance['tls_verify_peer'])) { - $arr[$instance['diraddress']]['tls_verify_peer'] = $instance['tls_verify_peer']; + $arr[key($config)]['tls_verify_peer'] = $instance['tls_verify_peer']; } else { - $arr[$instance['diraddress']]['tls_verify_peer'] = false; + $arr[key($config)]['tls_verify_peer'] = false; } if(array_key_exists('server_can_do_tls', $instance) && isset($instance['server_can_do_tls'])) { - $arr[$instance['diraddress']]['server_can_do_tls'] = $instance['server_can_do_tls']; + $arr[key($config)]['server_can_do_tls'] = $instance['server_can_do_tls']; } else { - $arr[$instance['diraddress']]['server_can_do_tls'] = false; } if(array_key_exists('server_requires_tls', $instance) && isset($instance['server_requires_tls'])) { - $arr[$instance['diraddress']]['server_requires_tls'] = $instance['server_requires_tls']; + $arr[key($config)]['server_requires_tls'] = $instance['server_requires_tls']; } else { - $arr[$instance['diraddress']]['server_requires_tls'] = false; + $arr[key($config)]['server_requires_tls'] = false; } if(array_key_exists('client_can_do_tls', $instance) && isset($instance['client_can_do_tls'])) { - $arr[$instance['diraddress']]['client_can_do_tls'] = $instance['client_can_do_tls']; + $arr[key($config)]['client_can_do_tls'] = $instance['client_can_do_tls']; } else { - $arr[$instance['diraddress']]['client_can_do_tls'] = false; + $arr[key($config)]['client_can_do_tls'] = false; } if(array_key_exists('client_requires_tls', $instance) && isset($instance['client_requires_tls'])) { - $arr[$instance['diraddress']]['client_requires_tls'] = $instance['client_requires_tls']; + $arr[key($config)]['client_requires_tls'] = $instance['client_requires_tls']; } else { - $arr[$instance['diraddress']]['client_requires_tls'] = false; + $arr[key($config)]['client_requires_tls'] = false; } if(array_key_exists('ca_file', $instance) && isset($instance['ca_file'])) { - $arr[$instance['diraddress']]['ca_file'] = $instance['ca_file']; + $arr[key($config)]['ca_file'] = $instance['ca_file']; } else { - $arr[$instance['diraddress']]['ca_file'] = ""; + $arr[key($config)]['ca_file'] = ""; } if(array_key_exists('cert_file', $instance) && isset($instance['cert_file'])) { - $arr[$instance['diraddress']]['cert_file'] = $instance['cert_file']; + $arr[key($config)]['cert_file'] = $instance['cert_file']; } else { - $arr[$instance['diraddress']]['cert_file'] = ""; + $arr[key($config)]['cert_file'] = ""; } if(array_key_exists('cert_file_passphrase', $instance) && isset($instance['cert_file_passphrase'])) { - $arr[$instance['diraddress']]['cert_file_passphrase'] = $instance['cert_file_passphrase']; + $arr[key($config)]['cert_file_passphrase'] = $instance['cert_file_passphrase']; } else { - $arr[$instance['diraddress']]['cert_file_passphrase'] = ""; + $arr[key($config)]['cert_file_passphrase'] = ""; } if(array_key_exists('allowed_cns', $instance) && isset($instance['allowed_cns'])) { - $arr[$instance['diraddress']]['allowed_cns'] = $instance['allowed_cns']; + $arr[key($config)]['allowed_cns'] = $instance['allowed_cns']; } else { - $arr[$instance['diraddress']]['allowed_cns'] = ""; + $arr[key($config)]['allowed_cns'] = ""; } } - + next($config); } return $arr; diff --git a/module/Auth/src/Auth/Form/LoginForm.php b/module/Auth/src/Auth/Form/LoginForm.php index c87e44c..e8ef85a 100644 --- a/module/Auth/src/Auth/Form/LoginForm.php +++ b/module/Auth/src/Auth/Form/LoginForm.php @@ -5,7 +5,7 @@ * bareos-webui - Bareos Web-Frontend * * @link https://github.com/bareos/bareos-webui for the canonical source repository - * @copyright Copyright (c) 2013-2014 Bareos GmbH & Co. KG (http://www.bareos.org/) + * @copyright Copyright (c) 2013-2015 Bareos GmbH & Co. KG (http://www.bareos.org/) * @license GNU Affero General Public License (http://www.gnu.org/licenses/) * * This program is free software: you can redistribute it and/or modify @@ -92,7 +92,8 @@ class LoginForm extends Form $selectData = array(); foreach($this->config as $dird) { - $selectData[$dird['host']] = $dird['host']; + $selectData[key($this->config)] = key($this->config); + next($this->config); } return $selectData; |