LDAP: don't validate unconfigured (new) LDAP server configs, fixes #5518
This commit is contained in:
parent
7fa418c81a
commit
c48157e3b8
|
@ -39,6 +39,8 @@ class Connection extends LDAPUtility {
|
||||||
//settings handler
|
//settings handler
|
||||||
protected $configuration;
|
protected $configuration;
|
||||||
|
|
||||||
|
protected $doNotValidate = false;
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* @brief Constructor
|
* @brief Constructor
|
||||||
* @param $configPrefix a string with the prefix for the configkey column (appconfig table)
|
* @param $configPrefix a string with the prefix for the configkey column (appconfig table)
|
||||||
|
@ -57,6 +59,8 @@ class Connection extends LDAPUtility {
|
||||||
}
|
}
|
||||||
$this->hasPagedResultSupport =
|
$this->hasPagedResultSupport =
|
||||||
$this->ldap->hasPagedResultSupport();
|
$this->ldap->hasPagedResultSupport();
|
||||||
|
$this->doNotValidate = !in_array($this->configPrefix,
|
||||||
|
Helper::getServerConfigurationPrefixes());
|
||||||
}
|
}
|
||||||
|
|
||||||
public function __destruct() {
|
public function __destruct() {
|
||||||
|
@ -88,6 +92,7 @@ class Connection extends LDAPUtility {
|
||||||
}
|
}
|
||||||
|
|
||||||
public function __set($name, $value) {
|
public function __set($name, $value) {
|
||||||
|
$this->doNotValidate = false;
|
||||||
$before = $this->configuration->$name;
|
$before = $this->configuration->$name;
|
||||||
$this->configuration->$name = $value;
|
$this->configuration->$name = $value;
|
||||||
$after = $this->configuration->$name;
|
$after = $this->configuration->$name;
|
||||||
|
@ -201,11 +206,13 @@ class Connection extends LDAPUtility {
|
||||||
if(is_null($setParameters)) {
|
if(is_null($setParameters)) {
|
||||||
$setParameters = array();
|
$setParameters = array();
|
||||||
}
|
}
|
||||||
|
$this->doNotValidate = false;
|
||||||
$this->configuration->setConfiguration($config, $setParameters);
|
$this->configuration->setConfiguration($config, $setParameters);
|
||||||
if(count($setParameters) > 0) {
|
if(count($setParameters) > 0) {
|
||||||
$this->configured = $this->validateConfiguration();
|
$this->configured = $this->validateConfiguration();
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
return $this->configured;
|
return $this->configured;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -401,6 +408,14 @@ class Connection extends LDAPUtility {
|
||||||
* @returns true if configuration seems OK, false otherwise
|
* @returns true if configuration seems OK, false otherwise
|
||||||
*/
|
*/
|
||||||
private function validateConfiguration() {
|
private function validateConfiguration() {
|
||||||
|
|
||||||
|
if($this->doNotValidate) {
|
||||||
|
//don't do a validation if it is a new configuration with pure
|
||||||
|
//default values. Will be allowed on changes via __set or
|
||||||
|
//setConfiguration
|
||||||
|
return false;
|
||||||
|
}
|
||||||
|
|
||||||
// first step: "soft" checks: settings that are not really
|
// first step: "soft" checks: settings that are not really
|
||||||
// necessary, but advisable. If left empty, give an info message
|
// necessary, but advisable. If left empty, give an info message
|
||||||
$this->doSoftValidation();
|
$this->doSoftValidation();
|
||||||
|
|
Loading…
Reference in New Issue