[Web] Check if authsource is configured before adding or updating a mailbox

This commit is contained in:
FreddleSpl0it 2025-03-14 09:19:39 +01:00
parent c3aa4f7418
commit 43c1597051
No known key found for this signature in database
GPG Key ID: 00E14E7634F4BEC5

View File

@ -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'))){