diff --git a/apps/user_ldap/lib/connection.php b/apps/user_ldap/lib/connection.php index a4b9d1ce4e4..01801ea8909 100644 --- a/apps/user_ldap/lib/connection.php +++ b/apps/user_ldap/lib/connection.php @@ -41,6 +41,8 @@ class Connection extends LDAPUtility { protected $doNotValidate = false; + protected $ignoreValidation = false; + /** * @brief Constructor * @param \OCA\user_ldap\lib\ILDAPWrapper $ldap @@ -108,6 +110,16 @@ class Connection extends LDAPUtility { } } + /** + * sets whether the result of the configuration validation shall + * be ignored when establishing the connection. Used by the Wizard + * in early configuration state. + * @param bool $state + */ + public function setIgnoreValidation($state) { + $this->ignoreValidation = (bool)$state; + } + /** * @brief initializes the LDAP backend * @param $force read the config settings no matter what @@ -441,7 +453,7 @@ class Connection extends LDAPUtility { if(!$phpLDAPinstalled) { return false; } - if(!$this->configured) { + if(!$this->ignoreValidation && !$this->configured) { \OCP\Util::writeLog('user_ldap', 'Configuration is invalid, cannot connect', \OCP\Util::WARN); diff --git a/apps/user_ldap/lib/wizard.php b/apps/user_ldap/lib/wizard.php index c5e9eb6118e..4766451fe63 100644 --- a/apps/user_ldap/lib/wizard.php +++ b/apps/user_ldap/lib/wizard.php @@ -1072,6 +1072,8 @@ class Wizard extends LDAPUtility { private function getAccess() { $con = new Connection($this->ldap, '', null); $con->setConfiguration($this->configuration->getConfiguration()); + $con->ldapConfigurationActive = true; + $con->setIgnoreValidation(true); $ldapAccess = new Access($con, $this->ldap); return $ldapAccess; }