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();

Reply via email to