]> git.ipfire.org Git - thirdparty/dovecot/core.git/commitdiff
auth: Update deprecated passdb_pass checks to check also passdb_result_success=continue
authorTimo Sirainen <timo.sirainen@open-xchange.com>
Thu, 11 Jan 2024 15:33:25 +0000 (10:33 -0500)
committerAki Tuomi <aki.tuomi@open-xchange.com>
Wed, 12 Feb 2025 10:34:11 +0000 (12:34 +0200)
src/auth/auth.c

index f086d57d065bdf3167197968b86a28fcfeadb4a7..3f99d5ac1f1d5f1f32ddfd2cd8db4121348f6d14 100644 (file)
@@ -291,8 +291,10 @@ auth_preinit(const struct auth_settings *set, const char *protocol,
                passdb_count++;
                last_passdb = i;
        }
-       if (passdb_count != 0 && passdbs[last_passdb]->pass)
-               i_fatal("Last passdb can't have pass=yes");
+       if (passdb_count != 0 &&
+           (passdbs[last_passdb]->pass ||
+            strcmp(passdbs[last_passdb]->result_success, "continue") == 0))
+               i_fatal("Last passdb can't have result_success=continue");
 
        for (i = 0; i < db_count; i++) {
                if (!passdbs[i]->master)
@@ -305,8 +307,10 @@ auth_preinit(const struct auth_settings *set, const char *protocol,
 
                if (passdbs[i]->deny)
                        i_fatal("Master passdb can't have deny=yes");
-               if (passdbs[i]->pass && passdb_count == 0) {
-                       i_fatal("Master passdb can't have pass=yes "
+               if (passdb_count == 0 &&
+                   (passdbs[i]->pass ||
+                    strcmp(passdbs[i]->result_success, "continue") == 0)) {
+                       i_fatal("Master passdb can't have result_success=continue "
                                "if there are no passdbs");
                }
                auth_passdb_preinit(auth, passdbs[i], &auth->masterdbs);