30 lines
1 KiB
Text
30 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;
|
||
|
}
|