public
nobgit
read
NobMail
Based on mailcow: dockerized
Languages
Repository composition by tracked source files.
PHP
49%
JavaScript
35%
HTML
9%
CSS
4%
Shell
2%
Python
1%
Lua
0%
Perl
0%
Ruby
0%
SCSS
0%
Create file
Wiki Documentation
Clone
https://nobgit.com/orgs/nobgit/nobmail.git
ssh://[email protected]:2222/orgs/nobgit/nobmail.git
Commit
[Web] fix set_tfa for ldap users
3a1dcb3a
data/web/inc/functions.inc.php | 12 +++++++++---
1 file changed, 9 insertions(+), 3 deletions(-)
Diff
diff --git a/data/web/inc/functions.inc.php b/data/web/inc/functions.inc.php
index f63d5046..1e9f3507 100644
--- a/data/web/inc/functions.inc.php
+++ b/data/web/inc/functions.inc.php
@@ -1065,13 +1065,19 @@ function set_tfa($_data) {
// check mailbox confirm password
if ($access_denied === null) {
- $stmt = $pdo->prepare("SELECT `password` FROM `mailbox`
+ $stmt = $pdo->prepare("SELECT `password`, `authsource` FROM `mailbox`
WHERE `username` = :username");
$stmt->execute(array(':username' => $username));
$row = $stmt->fetch(PDO::FETCH_ASSOC);
if ($row) {
- if (!verify_hash($row['password'], $_data["confirm_password"])) $access_denied = true;
- else $access_denied = false;
+ if ($row['authsource'] == 'ldap'){
+ $iam_settings = identity_provider('get');
+ if (!ldap_mbox_login($username, $row['password'], $iam_settings)) $access_denied = true;
+ else $access_denied = false;
+ } else {
+ if (!verify_hash($row['password'], $_data["confirm_password"])) $access_denied = true;
+ else $access_denied = false;
+ }
}
}