From 03c979e41027d781caa2e815addeb969e0faaeda Mon Sep 17 00:00:00 2001
From: Noah Meyerhans <noahm@debian.org>
Date: Fri, 25 Apr 2025 08:27:20 -0400
Subject: [PATCH] tests: update dovecot config for 2.4.x

---
 tests/gsasl-dovecot-gssapi.sh | 28 ++++++++++++++++++----------
 1 file changed, 18 insertions(+), 10 deletions(-)

Index: gsasl/tests/gsasl-dovecot-gssapi.sh
===================================================================
--- gsasl.orig/tests/gsasl-dovecot-gssapi.sh
+++ gsasl/tests/gsasl-dovecot-gssapi.sh
@@ -93,27 +93,31 @@ cat<<EOF > $WORKDIR/k/krb5.conf
 EOF
 
 cat <<EOF > $WORKDIR/d/dovecot.conf
-protocols = imap
+dovecot_config_version = 2.4.0
+dovecot_storage_version = 2.4.0
 
-auth_gssapi_hostname = `hostname -f`
+protocols = imap
 
+auth_gssapi_hostname = $(hostname -f)
 auth_krb5_keytab = $WORKDIR/d/dovecot.keytab
 
 auth_verbose=yes
 auth_debug=yes
 
-disable_plaintext_auth=no
-auth_mechanisms = gssapi
+auth_allow_cleartext = yes
+auth_mechanisms {
+  gssapi = yes
+}
 base_dir = $WORKDIR/b
+state_dir = $WORKDIR/state
 
-passdb {
-  driver = static
-  args = password=pencil
+passdb static {
+  passdb_static_password=pencil
 }
 
 log_path = $WORKDIR/dovecot.log
 
-# https://wiki.dovecot.org/HowTo/Rootless
+# https://doc.dovecot.org/2.4.1/core/config/rootless.html
 
 default_internal_user = $USER
 default_internal_group = $GROUP
@@ -132,22 +136,29 @@ service imap-login {
     port = 0
   }
 }
+mail_driver = mbox
 EOF
 
 if test "$USER" = "root"; then
     cat <<EOF >> $WORKDIR/d/dovecot.conf
 default_login_user = nobody
-userdb {
-  driver = static
-  args = uid=4711 gid=4711 home=$WORKDIR mail=mbox:foo
+userdb static {
+  fields {
+    uid = 4711
+    gid = 4711
+    home = $WORKDIR
+  }
 }
 EOF
 else
     cat <<EOF >> $WORKDIR/d/dovecot.conf
 default_login_user = $USER
-userdb {
-  driver = static
-  args = uid=$USER gid=$GROUP home=$WORKDIR mail=mbox:foo
+userdb static {
+  fields {
+    uid = $USER
+    gid = $GROUP
+    home = $WORKDIR
+  }
 }
 EOF
 fi
