# configured in /etc/nsswitch.conf. <doc/wiki/AuthDatabase.Passwd.txt>
#passdb {
#driver = passwd
- # [blocking=yes]
+ # [blocking=no]
#args =
#}
# <doc/wiki/PasswordDatabase.Shadow.txt>
#passdb {
#driver = shadow
- # [blocking=yes]
+ # [blocking=no]
#args =
#}
# <doc/wiki/PasswordDatabase.BSDAuth.txt>
#passdb {
#driver = bsdauth
- # [cache_key=<key>]
+ # [blocking=no] [cache_key=<key>]
#args =
#}
module = p_new(pool, struct passdb_module, 1);
module->default_pass_scheme = "PLAIN"; /* same reason as PAM */
+ module->blocking = TRUE;
- if (strncmp(args, "cache_key=", 10) == 0)
+ if (strcmp(module->args, "blocking=no") == 0)
+ module->blocking = FALSE;
+ else if (strncmp(args, "cache_key=", 10) == 0)
module->cache_key = auth_cache_parse_key(pool, args + 10);
else if (*args != '\0')
i_fatal("passdb bsdauth: Unknown setting: %s", args);
static void passwd_init(struct passdb_module *module)
{
- if (strcmp(module->args, "blocking=yes") == 0)
- module->blocking = TRUE;
+ module->blocking = TRUE;
+ if (strcmp(module->args, "blocking=no") == 0)
+ module->blocking = FALSE;
else if (*module->args != '\0')
i_fatal("passdb passwd: Unknown setting: %s", module->args);
static void shadow_init(struct passdb_module *module)
{
- if (strcmp(module->args, "blocking=yes") == 0)
- module->blocking = TRUE;
+ module->blocking = TRUE;
+ if (strcmp(module->args, "blocking=no") == 0)
+ module->blocking = FALSE;
else if (*module->args != '\0')
i_fatal("passdb shadow: Unknown setting: %s", module->args);