/* Per-instance configuration information */
typedef struct pp_info {
struct berval def_policy; /* DN of default policy subentry */
+ int hide_lockout; /* omit AccountLocked result? */
} pp_info;
/* Our per-connection info - note, it is not per-instance, it is
be_entry_release_r( op, e );
if ( rc ) {
+ pp_info *pi = on->on_bi.bi_private;
/* This will be the Draft 8 response, Unwilling is bogus */
- ppb->pErr = PP_accountLocked;
+ if ( !pi->hide_lockout ) ppb->pErr = PP_accountLocked;
send_ldap_error( op, rs, LDAP_INVALID_CREDENTIALS, NULL );
return rs->sr_err;
}
return 1;
}
return 0;
+ } else if ( strcasecmp( argv[0], "ppolicy_hide_lockout" ) == 0 ) {
+ if ( argc != 1 ) {
+ fprintf( stderr, "%s: line %d: ppolicy_hide_lockout "
+ "takes no arguments\n", fname, lineno );
+ return ( 1 );
+ }
+ pi->hide_lockout = 1;
}
return SLAP_CONF_UNKNOWN;
}