Password check plug-ins register a password checking function, SLAPI_PLUGIN_PASSWDCHECK_FN, during initialization with the server.
#include "slapi-plugin.h"
int
pwdcheck_init(Slapi_PBlock * pb)
{
int rc = 0;
rc |= slapi_pblock_set(
pb,
SLAPI_PLUGIN_VERSION,
SLAPI_PLUGIN_CURRENT_VERSION
);
rc |= slapi_pblock_set(
pb,
SLAPI_PLUGIN_DESCRIPTION,
(void *) &pwd_desc; /* See the code for pwd_desc. */
);
rc |= slapi_pblock_set(
pb,
SLAPI_PLUGIN_PASSWDCHECK_FN,
(void *) check_pwd
);
return rc;
}
You can implement your own dictionary check that caches the dictionary content from a large file. In this case, load the dictionary as part of a plug-in start function rather than part of plug-in initialization. Thus, you avoid blocking startup of the server while the cache is constructed.