Late last week, I made a fairly large checkin that consisted of the
following types of changes:
1) Clean up from new PKCS #11 initialization code: There were several
places where new functions were added, or signatures where changed.
These functions initially did not have matching prototypes in header
files. The most notable external changes was the change to the new
exported functions used to load PKCS #11 modules.
SECMOD_Module *
SECMOD_LoadModule(char *moduleSpecString, SECMOD_Module *parent, PRBool
recurse)
Load a PKCS #11 module specified by 'moduleSpecString'. If the
moduleSpecString came from some 'loadable' module database source, that
source is specified by 'parent'. If recurse is true, and
moduleSpecString specifies a 'loadable' module database source, then the
modules specified in that database are also loaded. A pointer to the
requested module is returned
char **
SECMOD_GetModuleSpecList(SECMOD_Module *module);
Return a NULL terminated array of moduleSpecStrings's for the
modules specified in 'databaseModule'.
SECMOD_FreeModuleSpecList(char **moduleSpecList);
Free the list returned above.
SECMOD_UpdateModule(SECMOD_Module *module);
Sync any changes to the module and it's slots back to it's parent
module database.
Note: These functions are still operating on NSS 3.x data structures
hand have 3.x prefixes, not 4.x style prefixes.
2) To identify those locations, compiler warnings were used. There were
several places where code was changes to remove 'spurious' compilier
warnings. There were also places where real bugs where identified by
compilier warnings and fixed (mostly unitialized variables in error
paths). To common forms of warnings were as follows:
DataStruct *dataPtr;
if (failure) goto loser;
dataPtr = Port_Alloc();