29 lines
1 KiB
Text
29 lines
1 KiB
Text
auth: Fix handling passdbs with identical driver/args but different
|
|
mechanisms/username_filter
|
|
7bad6a24160e34bce8f10e73dbbf9e5fbbcd1904
|
|
|
|
Index: src/auth/passdb.c
|
|
--- src/auth/passdb.c.orig
|
|
+++ src/auth/passdb.c
|
|
@@ -224,19 +224,8 @@ passdb_preinit(pool_t pool, const struct auth_passdb_s
|
|
passdb->id = ++auth_passdb_id;
|
|
passdb->iface = *iface;
|
|
passdb->args = p_strdup(pool, set->args);
|
|
- if (*set->mechanisms == '\0') {
|
|
- passdb->mechanisms = NULL;
|
|
- } else if (strcasecmp(set->mechanisms, "none") == 0) {
|
|
- passdb->mechanisms = (const char *const[]){NULL};
|
|
- } else {
|
|
- passdb->mechanisms = (const char* const*)p_strsplit_spaces(pool, set->mechanisms, " ,");
|
|
- }
|
|
-
|
|
- if (*set->username_filter == '\0') {
|
|
- passdb->username_filter = NULL;
|
|
- } else {
|
|
- passdb->username_filter = (const char* const*)p_strsplit_spaces(pool, set->username_filter, " ,");
|
|
- }
|
|
+ /* NOTE: if anything else than driver & args are added here,
|
|
+ passdb_find() also needs to be updated. */
|
|
array_push_back(&passdb_modules, &passdb);
|
|
return passdb;
|
|
}
|