<div dir="ltr">Hi,<div><br></div><div>we are using dovecot --version: 2.3.9.3 (9f41b88fa) with LDAP integration</div><div><br></div><div>Just discovered the the config which was working for a while is not working now. (we are constantly upgrading dovecot).</div><div>we have smtp/imap/pop3/sieveEnabled field in our LDAP directory to control which user is able to use witch services.</div><div>The pass filter was used for control the usage for years now with %LsEnabled filter (see below at config dump)</div><div>We just discovered that this filter is not working anymore! We not even see any pass_filter queries in LDAP.</div><div>We see user_filter queries but no pass_filter queries.</div><div>Did we miss something in the changelog?</div><div><br></div><div><b>LDAP configuration:</b></div><div>grep -v '^ *\(#.*\)\?$' dovecot-ldap.conf.ext<br>uris = ldap://ldap.services/<br>dn = cn=administrator,dc=top<br>dnpass = ************<br>debug_level = 1<br>auth_bind = yes<br>auth_bind_userdn = mail=%u,ou=service_mail,dc=top<br>ldap_version = 3<br>base = ou=service_mail,dc=top<br>deref = never<br>scope = subtree<br>user_attrs = mailQuota=quota_rule=*:bytes=%$,mailLocation=mail<br>user_filter = (&(objectClass=customMail)(!(mailEnabled=FALSE))(mail=%u))<br>pass_attrs = =user=%{ldap:mail}<br>pass_filter = (&(objectClass=customMail)(!(mailEnabled=FALSE))(mail=%u)(%LsEnabled=TRUE))<br>iterate_attrs = mail=user<br>iterate_filter = (objectClass=demonMail)<br>default_pass_scheme = SSHA<br></div><div><br></div><div><b>Dovecot main config:</b></div><div>dovecot -n<br># 2.3.9.3 (9f41b88fa): /etc/dovecot/dovecot.conf<br># Pigeonhole version 0.5.9 (db4e9a2f)<br># OS: Linux 4.19.87-1.ph3-esx x86_64  xfs<br># Hostname: 26feef366ef9<br>auth_cache_negative_ttl = 1 mins<br>auth_cache_size = 10 M<br>auth_cache_ttl = 1 mins<br>auth_debug = yes<br>auth_master_user_separator = *<br>auth_mechanisms = login plain<br>auth_verbose = yes<br>default_vsz_limit = 512 M<br>disable_plaintext_auth = no<br>doveadm_api_key = # hidden, use -P to show it<br>first_valid_gid = 901<br>first_valid_uid = 901<br>hostname = mail.****.**<br>imap_client_workarounds = tb-extra-mailbox-sep<br>imapc_features = rfc822.size fetch-headers<br>imapc_host = x.x.x.x<br>imapc_master_user = masteruser<br>imapc_password = # hidden, use -P to show it<br>imapc_user = %u<br>last_valid_gid = 901<br>last_valid_uid = 901<br>lda_mailbox_autocreate = yes<br>lda_mailbox_autosubscribe = yes<br>mail_gid = 901<br>mail_home = /vmail/%d/%n/<br>mail_location = maildir:/vmail/%d/%n/<br>mail_plugins = " quota zlib trash fts fts_solr"<br>mail_prefetch_count = 20<br>mail_privileged_group = mail<br>mail_uid = 901<br>managesieve_notify_capability = mailto<br>managesieve_sieve_capability = fileinto reject envelope encoded-character vacation subaddress comparator-i;ascii-numeric relational regex imap4flags copy include variables body enotify environment mailbox date index ihave duplicate mime foreverypart extracttext<br>namespace inbox {<br>  inbox = yes<br>  location =<br>  mailbox Drafts {<br>    special_use = \Drafts<br>  }<br>  mailbox Junk {<br>    special_use = \Junk<br>  }<br>  mailbox Sent {<br>    auto = subscribe<br>    special_use = \Sent<br>  }<br>  mailbox "Sent Messages" {<br>    special_use = \Sent<br>  }<br>  mailbox Trash {<br>    special_use = \Trash<br>  }<br>  prefix =<br>  separator = /<br>  type = private<br>}<br>passdb {<br>  args = /etc/dovecot/master-users<br>  driver = passwd-file<br>  master = yes<br>}<br>passdb {<br>  args = /etc/dovecot/dovecot-ldap-userdb.conf.ext<br>  driver = ldap<br>}<br>plugin {<br>  fts = solr<br>  fts_autoindex = yes<br>  fts_solr = url=<a href="http://hostname:8983/solr/dovecot/">http://hostname:8983/solr/dovecot/</a><br>  quota = dict:user::file:/vmail/%d/%n/dovecot.quota<br>  quota_exceeded_message = The quota of the recipient is full, please try it again later<br>  sieve = /vmail/%d/%n/dovecot.sieve<br>  sieve_dir = /vmail/.sieve/%u<br>  sieve_max_redirects = 20<br>  trash = /etc/dovecot/dovecot-trash.conf.ext<br>  zlib_save = gz<br>  zlib_save_level = 6<br>}<br>pop3_client_workarounds = outlook-no-nuls<br>postmaster_address = <a href="mailto:postmaster@hostname.com">postmaster@hostname.com</a><br>protocols = imap pop3 lmtp sieve<br>service auth {<br>  unix_listener /var/spool/postfix/private/auth {<br>    group = postfix<br>    mode = 0660<br>    user = postfix<br>  }<br>  unix_listener auth-userdb {<br>    group = vmail<br>    mode = 0660<br>    user = vmail<br>  }<br>}<br>service doveadm {<br>  inet_listener http {<br>    port = 8099<br>  }<br>}<br>service imap-login {<br>  inet_listener imap {<br>    port = 143<br>  }<br>  inet_listener imaps {<br>    port = 993<br>    ssl = yes<br>  }<br>  process_min_avail = 4<br>  service_count = 0<br>  vsz_limit = 2 G<br>}<br>service pop3-login {<br>  inet_listener pop3 {<br>    port = 110<br>  }<br>  inet_listener pop3s {<br>    port = 995<br>    ssl = yes<br>  }<br>}<br>service stats {<br>  unix_listener stats-reader {<br>    group = mail<br>    mode = 0666<br>    user =<br>  }<br>  unix_listener stats-writer {<br>    group = mail<br>    mode = 0666<br>    user =<br>  }<br>}<br>ssl_ca = </etc/ssl/certs/ca-certificates.crt<br>ssl_cert = </ssl/cert.pem<br>ssl_cipher_list = ALL:!LOW:!SSLv2:!EXP:!aNULL<br>ssl_dh = # hidden, use -P to show it<br>ssl_key = # hidden, use -P to show it<br>userdb {<br>  args = /etc/dovecot/dovecot-ldap.conf.ext<br>  driver = ldap<br>}<br>protocol lda {<br>  mail_plugins = " quota zlib trash fts fts_solr sieve quota zlib"<br>}<br>protocol imap {<br>  mail_max_userip_connections = 50<br>  mail_plugins = " quota zlib trash fts fts_solr imap_quota zlib"<br>}<br>protocol pop3 {<br>  mail_plugins = " quota zlib trash fts fts_solr quota"<br>}<br></div><div><br></div><div>Regards Balazs</div></div>