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] Check app password before user password on web login
62f816e6
data/web/inc/functions.auth.inc.php | 21 +++++++++++----------
1 file changed, 11 insertions(+), 10 deletions(-)
Diff
diff --git a/data/web/inc/functions.auth.inc.php b/data/web/inc/functions.auth.inc.php
index 30d5943c..994915ef 100644
--- a/data/web/inc/functions.auth.inc.php
+++ b/data/web/inc/functions.auth.inc.php
@@ -22,36 +22,37 @@ function check_login($user, $pass, $app_passwd_data = false, $extra = null) {
}
}
- // Try validate user
- if (!isset($role) || $role == "user") {
- $result = user_login($user, $pass);
+
+ // Try validate app password
+ if (!isset($role) || $role == "app") {
+ $result = apppass_login($user, $pass, $app_passwd_data);
if ($result !== false) {
if ($app_passwd_data['eas'] === true) {
$service = 'EAS';
} elseif ($app_passwd_data['dav'] === true) {
$service = 'DAV';
} else {
- $service = 'MAILCOWUI';
+ $service = 'NONE';
}
$real_rip = ($_SERVER['HTTP_X_REAL_IP'] ?? $_SERVER['REMOTE_ADDR']);
- set_sasl_log($user, $real_rip, $service);
+ set_sasl_log($user, $real_rip, $service, $pass);
return $result;
}
}
- // Try validate app password
- if (!isset($role) || $role == "app") {
- $result = apppass_login($user, $pass, $app_passwd_data);
+ // Try validate user
+ if (!isset($role) || $role == "user") {
+ $result = user_login($user, $pass);
if ($result !== false) {
if ($app_passwd_data['eas'] === true) {
$service = 'EAS';
} elseif ($app_passwd_data['dav'] === true) {
$service = 'DAV';
} else {
- $service = 'NONE';
+ $service = 'MAILCOWUI';
}
$real_rip = ($_SERVER['HTTP_X_REAL_IP'] ?? $_SERVER['REMOTE_ADDR']);
- set_sasl_log($user, $real_rip, $service, $pass);
+ set_sasl_log($user, $real_rip, $service);
return $result;
}
}