SECStatus SECMOD_AddNewModule(const char* moduleName, const char* dllPath, unsigned long defaultMechanismFlags, unsigned long cipherEnableFlags) { return SECMOD_AddNewModuleEx(moduleName, dllPath, defaultMechanismFlags, cipherEnableFlags, NULL, NULL); /* don't pass module or nss params */ }
/********************************************************************** * * A d d M o d u l e * * Add the named module, with the given library file, ciphers, and * default mechanism flags */ Error AddModule(char *moduleName, char *libFile, char *cipherString, char *mechanismString, char *modparms) { unsigned long ciphers; unsigned long mechanisms; SECStatus status; mechanisms = getFlagsFromString(mechanismString, mechanismStrings, numMechanismStrings); ciphers = getFlagsFromString(cipherString, cipherStrings, numCipherStrings); status = SECMOD_AddNewModuleEx(moduleName, libFile, SECMOD_PubMechFlagstoInternal(mechanisms), SECMOD_PubCipherFlagstoInternal(ciphers), modparms, NULL); if (status != SECSuccess) { char *errtxt = NULL; PRInt32 copied = 0; if (PR_GetErrorTextLength()) { errtxt = PR_Malloc(PR_GetErrorTextLength() + 1); copied = PR_GetErrorText(errtxt); } if (copied && errtxt) { PR_fprintf(PR_STDERR, errStrings[ADD_MODULE_FAILED_ERR], moduleName, errtxt); PR_Free(errtxt); } else { PR_fprintf(PR_STDERR, errStrings[ADD_MODULE_FAILED_ERR], moduleName, SECU_Strerror(PORT_GetError())); } return ADD_MODULE_FAILED_ERR; } else { PR_fprintf(PR_STDOUT, msgStrings[ADD_MODULE_SUCCESS_MSG], moduleName); return SUCCESS; } }