--- old/src/share/classes/sun/security/pkcs11/Secmod.java 2013-06-14 16:30:03.273184617 +0100 +++ new/src/share/classes/sun/security/pkcs11/Secmod.java 2013-06-14 16:30:02.843879405 +0100 @@ -161,8 +161,15 @@ initialize(DbMode.READ_WRITE, configDir, nssLibDir); } - public synchronized void initialize(DbMode dbMode, String configDir, String nssLibDir) + public void initialize(DbMode dbMode, String configDir, String nssLibDir) throws IOException { + initialize(dbMode, configDir, nssLibDir, false); + } + + public synchronized void initialize(DbMode dbMode, String configDir, + String nssLibDir, boolean nssUseOptimizeSpace) throws IOException { + + if (isInitialized()) { throw new IOException("NSS is already initialized"); } @@ -211,7 +218,8 @@ } if (DEBUG) System.out.println("dir: " + configDir); - boolean initok = nssInit(dbMode.functionName, nssHandle, configDir); + boolean initok = nssInit(dbMode.functionName, nssHandle, configDir, + nssUseOptimizeSpace); if (DEBUG) System.out.println("init: " + initok); if (initok == false) { throw new IOException("NSS initialization failed"); @@ -766,6 +774,8 @@ private static native boolean nssInit(String functionName, long handle, String configDir); + private static native boolean nssInit(String functionName, long handle, String configDir, boolean nssUseOptimizeSpace); + private static native Object nssGetModuleList(long handle, String libDir); }