Hello,

I upgraded Dovecot from version 2.3.21 to 2.4.0. In version 2.3.21, I 
encountered issues with OAuth2 authentication that had worked correctly in 
earlier releases. Specifically, the active_attribute check was failing, even 
though Keycloak was sending the active value as true. After upgrading to 
Dovecot 2.4.0, the active attribute is now validated successfully, and token 
introspection completes as expected. However, I am now encountering the 
following error:

2025-10-30 14:43:41.438 Oct 30 13:43:41 auth: Panic: file 
expansion-statement.c: line 30 (var_expand_execute_stmt): assertion failed: 
(value != NULL) 
2025-10-30 14:43:41.444 Oct 30 13:43:41 auth-worker(354): Debug: conn 
unix:auth-worker (pid=113,uid=101): Disconnected: Connection closed (fd=-1) 
2025-10-30 14:43:41.443 Oct 30 13:43:41 auth: Error: Raw backtrace: #0 
test_subprocess_fork[0x7f03870fc510] -> #1 backtrace_append[0x7f03870fc7c0] -> 
#2 backtrace_get[0x7f03870fc960] -> #3 
event_filter_match_iter_init[0x7f0387106bc0] -> #4 
i_syslog_fatal_handler[0x7f0387106d00] -> #5 i_panic[0x7f0387033c8e] -> #6 
[unw_get_proc_name() failed: -10] -> #7 
var_expand_program_execute[0x7f0387070460] -> #8 
settings_file_get[0x7f0387083550] -> #9 
settings_parse_keyidx_value_nodup[0x7f0387085660] -> #10 
settings_parse_keyidx_value_nodup[0x7f0387085d70] -> #11 
settings_parse_keyidx_value_nodup[0x7f0387087180] -> #12 
settings_get[0x7f03870877b0] -> #13 
auth_worker_auth_request_new[0x558c60949050] -> #14 
auth_worker_auth_request_new[0x558c609496e0] -> #15 
oauth2_json_tree_build[0x7f03870432f0] -> #16 
oauth2_json_tree_build[0x7f03870433d0] -> #17 oauth
 2_request_parse_json[0x7f03870435a0] -> #18 
http_client_request_callback[0x7f0387091ee0] -> #19 
http_client_connection_lost_peer[0x7f0387094850] -> #20 
http_client_peer_connection_failure[0x7f038709a090] -> #21 
io_loop_call_io[0x7f0387122780] -> #22 
io_loop_handler_run_internal[0x7f0387123aa0] -> #23 
io_loop_handler_run[0x7f0387123c40] -> #24 io_loop_run[0x7f0387123e40] -> #25 
master_service_run[0x7f0387075720] -> #26 main[0x558c60931e80] -> #27 
__libc_init_first[0x7f0386dc9150] -> #28 __libc_start_main[0x7f0386dc9200] -> 
#29 _start[0x558c609323d0] 




Here is my current dovecot.conf. 

dovecot_config_version = 2.4.0
dovecot_storage_version = 2.4.0

protocols = imap pop3 lmtp

auth_mechanisms {
  oauthbearer = yes
  xoauth2 = yes
}
oauth2 {
  introspection_url = 
https://client-name:[email protected]/auth/realms/realm-name/protocol/openid-connect/token/introspect
  introspection_mode = post
  active_attribute = active
  active_value = true 
  username_attribute = preferred_username
}
userdb static {
  fields {
    uid = vmail
    gid = vmail
    home = /home/vmail/%{user | domain}/%{user | username}
  }
}


service lmtp {
  unix_listener /var/spool/postfix/private/dovecot-lmtp {
    mode = 0600
    user = postfix
    group = postfix
  }
}
service auth {
  unix_listener /var/spool/postfix/private/auth {
    mode = 0666
    user = postfix
    group = postfix
  }
  unix_listener auth-userdb {
    mode = 0600
    user = vmail
  }

  user = dovecot
}
service auth-worker {
  user = vmail
}


log_debug = category=auth
auth_verbose = yes
auth_debug_passwords = yes

mail_driver = maildir
mail_home = /home/vmail/%{user | domain}/%{user | username}
mail_path = ~

ssl_server_cert_file  = /etc/ssl/private/vmail.crt
ssl_server_key_file  = /etc/ssl/private/vmail.key
ssl_server_dh_file  = /etc/dovecot/dh.pem

mail_debug = yes

log_path = /dev/stdout
info_log_path = /dev/stdout
debug_log_path = /dev/stdout

Regards,
Sukanya Morbale
_______________________________________________
dovecot mailing list -- [email protected]
To unsubscribe send an email to [email protected]

Reply via email to