Hello,
I’m encountering a reproducible parsing issue in Dovecot 2.4 on Debian 13 (Trixie). Even when /etc/dovecot/conf.d/auth-sql.conf.ext contains a valid passdb block, Dovecot reports that the block is empty.
Environment:
- Debian 13 (Trixie)
- Dovecot 2.4 (from Debian repository)
- Clean install, no custom patches
Error: doveconf: Fatal: Error in configuration file /etc/dovecot/conf.d/auth-sql.conf.ext line 1: passdb { } is missing section name
Steps to reproduce:
Remove the file: rm -f /etc/dovecot/conf.d/auth-sql.conf.ext
Recreate it cleanly: cat > /etc/dovecot/conf.d/auth-sql.conf.ext <<'EOF' passdb { driver = sql args = /etc/dovecot/sql.conf.ext }
userdb { driver = sql args = /etc/dovecot/sql.conf.ext } EOF
Verify the file contents: sed -n '1,20p' /etc/dovecot/conf.d/auth-sql.conf.ext | cat -A
Output: passdb {$ driver = sql$ args = /etc/dovecot/sql.conf.ext$ }$ $ userdb {$ driver = sql$ args = /etc/dovecot/sql.conf.ext$ }$
Run: doveconf
Actual result: Dovecot still reports that the passdb block is empty, even though the file is valid.
Expected result: Dovecot should accept the passdb block and load SQL authentication normally.
Additional notes:
- No BOM (ef bb bf) present.
- No CRLF (^M) present.
- No stray characters.
- File is not a symlink.
- No duplicate auth-sql.conf.ext files exist.
- The include line in 10-auth.conf is correct.
- The error persists even after full deletion and recreation of the file.
This appears to be a parser or include-path issue in Dovecot 2.4.
Any guidance or confirmation would be appreciated.