The crack module defines check functions and parameters used to test passwords' strength.
First, it always returns the given passwd. If it is found to be weak ValueError exception is raised with parameter set to the reason returned by cracklib's FascistCheck.
Second, dictpath parameter is optional. If it is not specified the default one, determined at build time, is used. See default_dictpath variable.
If the optional old_password is provided additional checks for minimum distance between the two passwords, for similarity, for change of case only and for rotation are performed.
Exception ValueError is raised in case of weak password.
dictpath parameter is used only for the inner call to FascistCheck, hence it has the same signification it has for FascistCheck.
It is used automatically if dictpath parameter is not specified when calling FascistCheck or VeryFascistCheck.