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.