Welcome to mirror list, hosted at ThFree Co, Russian Federation.

github.com/nextcloud/server.git - Unnamed repository; edit this file 'description' to name the repository.
summaryrefslogtreecommitdiff
path: root/apps
diff options
context:
space:
mode:
authorCarl Schwan <carl@carlschwan.eu>2022-05-02 22:46:42 +0300
committerbackportbot-nextcloud[bot] <backportbot-nextcloud[bot]@users.noreply.github.com>2022-05-05 19:59:42 +0300
commite3021049f4727f8b9a2ca6c23efa140b53efb817 (patch)
tree0012043a98e4fba574ca2cd4a09c33f931b5851d /apps
parent5bc5989b3df06a0afadbcbe95776d59fd32adf44 (diff)
Don't use slow hashing to check the LDAP bindingbackport/32246/stable22
Using password_hash is expensive and should be used for hashing passwords when saving them in the database. Here we just want to see if the bind was already done with the given password, so use a fast hashing algorythm. Signed-off-by: Carl Schwan <carl@carlschwan.eu>
Diffstat (limited to 'apps')
-rw-r--r--apps/user_ldap/lib/Connection.php11
1 files changed, 3 insertions, 8 deletions
diff --git a/apps/user_ldap/lib/Connection.php b/apps/user_ldap/lib/Connection.php
index 4abea708a0d..bfddee56658 100644
--- a/apps/user_ldap/lib/Connection.php
+++ b/apps/user_ldap/lib/Connection.php
@@ -125,7 +125,7 @@ class Connection extends LDAPUtility {
protected $ignoreValidation = false;
/**
- * @var array{dn?: mixed, hash?: string, result?: bool}
+ * @var array{sum?: string, result?: bool}
*/
protected $bindResult = [];
@@ -669,11 +669,7 @@ class Connection extends LDAPUtility {
if (
count($this->bindResult) !== 0
- && $this->bindResult['dn'] === $this->configuration->ldapAgentName
- && \OC::$server->getHasher()->verify(
- $this->configPrefix . $this->configuration->ldapAgentPassword,
- $this->bindResult['hash']
- )
+ && $this->bindResult['sum'] === md5($this->configuration->ldapAgentName . $this->configPrefix . $this->configuration->ldapAgentPassword)
) {
// don't attempt to bind again with the same data as before
// bind might have been invoked via getConnectionResource(),
@@ -686,8 +682,7 @@ class Connection extends LDAPUtility {
$this->configuration->ldapAgentPassword);
$this->bindResult = [
- 'dn' => $this->configuration->ldapAgentName,
- 'hash' => \OC::$server->getHasher()->hash($this->configPrefix . $this->configuration->ldapAgentPassword),
+ 'sum' => md5($this->configuration->ldapAgentName . $this->configPrefix . $this->configuration->ldapAgentPassword),
'result' => $ldapLogin,
];