From 43c15970510ad305e2f67d7067b78967b32e0b7e Mon Sep 17 00:00:00 2001 From: FreddleSpl0it Date: Fri, 14 Mar 2025 09:19:39 +0100 Subject: [PATCH] [Web] Check if authsource is configured before adding or updating a mailbox --- data/web/inc/functions.mailbox.inc.php | 8 ++++++-- 1 file changed, 6 insertions(+), 2 deletions(-) diff --git a/data/web/inc/functions.mailbox.inc.php b/data/web/inc/functions.mailbox.inc.php index 6222e4aa9..54387f812 100644 --- a/data/web/inc/functions.mailbox.inc.php +++ b/data/web/inc/functions.mailbox.inc.php @@ -4,6 +4,8 @@ function mailbox($_action, $_type, $_data = null, $_extra = null) { global $redis; global $lang; global $MAILBOX_DEFAULT_ATTRIBUTES; + global $iam_settings; + $_data_log = $_data; !isset($_data_log['password']) ?: $_data_log['password'] = '*'; !isset($_data_log['password2']) ?: $_data_log['password2'] = '*'; @@ -1022,7 +1024,8 @@ function mailbox($_action, $_type, $_data = null, $_extra = null) { ); return false; } - if (in_array($_data['authsource'], array('mailcow', 'keycloak', 'generic-oidc', 'ldap'))){ + if (in_array($_data['authsource'], array('mailcow', 'keycloak', 'generic-oidc', 'ldap')) && + $iam_settings['authsource'] == $_data['authsource']){ $authsource = $_data['authsource']; } if (empty($name)) { @@ -2955,7 +2958,8 @@ function mailbox($_action, $_type, $_data = null, $_extra = null) { $tags = (is_array($_data['tags']) ? $_data['tags'] : array()); $attribute_hash = (!empty($_data['attribute_hash'])) ? $_data['attribute_hash'] : ''; $authsource = $is_now['authsource']; - if (in_array($_data['authsource'], array('mailcow', 'keycloak', 'generic-oidc', 'ldap'))){ + if (in_array($_data['authsource'], array('mailcow', 'keycloak', 'generic-oidc', 'ldap')) && + $iam_settings['authsource'] == $_data['authsource']){ $authsource = $_data['authsource']; } if (in_array($authsource, array('keycloak', 'generic-oidc', 'ldap'))){