changeset 3480:d4c2d2d72cfc

6581254: pkcs11 provider fails to parse configuration file contains windows short path Summary: Modified configuration parsing code to support "~". Reviewed-by: weijun
author valeriep
date Wed, 22 Dec 2010 18:30:34 -0800
parents 0d826185a92e
children 6acd81baf2c7 adff75ebdc00
files src/share/classes/sun/security/pkcs11/Config.java test/sun/security/pkcs11/Provider/ConfigShortPath.java test/sun/security/pkcs11/Provider/csp.cfg
diffstat 3 files changed, 54 insertions(+), 0 deletions(-) [+]
line wrap: on
line diff
--- a/src/share/classes/sun/security/pkcs11/Config.java	Wed Dec 22 06:28:46 2010 -0800
+++ b/src/share/classes/sun/security/pkcs11/Config.java	Wed Dec 22 18:30:34 2010 -0800
@@ -343,6 +343,7 @@
         st.wordChars('{', '{'); // need {} for property subst
         st.wordChars('}', '}');
         st.wordChars('*', '*');
+        st.wordChars('~', '~');
         // XXX check ASCII table and add all other characters except special
 
         // special: #="(),
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/test/sun/security/pkcs11/Provider/ConfigShortPath.java	Wed Dec 22 18:30:34 2010 -0800
@@ -0,0 +1,49 @@
+/*
+ * Copyright (c) 2010, Oracle and/or its affiliates. All rights reserved.
+ * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
+ *
+ * This code is free software; you can redistribute it and/or modify it
+ * under the terms of the GNU General Public License version 2 only, as
+ * published by the Free Software Foundation.
+ *
+ * This code is distributed in the hope that it will be useful, but WITHOUT
+ * ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or
+ * FITNESS FOR A PARTICULAR PURPOSE.  See the GNU General Public License
+ * version 2 for more details (a copy is included in the LICENSE file that
+ * accompanied this code).
+ *
+ * You should have received a copy of the GNU General Public License version
+ * 2 along with this work; if not, write to the Free Software Foundation,
+ * Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA.
+ *
+ * Please contact Oracle, 500 Oracle Parkway, Redwood Shores, CA 94065 USA
+ * or visit www.oracle.com if you need additional information or have any
+ * questions.
+ */
+/**
+ * @test
+ * @bug 6581254
+ * @summary Allow "~" in config to support windows short path
+ * @author Valerie Peng
+ */
+
+import java.security.*;
+import java.io.*;
+
+public class ConfigShortPath {
+
+    public static void main(String[] args) {
+        String testSrc = System.getProperty("test.src", ".");
+        String configFile = testSrc + File.separator + "csp.cfg";
+        System.out.println("Testing against " + configFile);
+        try {
+            Provider p = new sun.security.pkcs11.SunPKCS11(configFile);
+        } catch (ProviderException pe) {
+            String cause = pe.getCause().getMessage();
+            if (cause.indexOf("Unexpected token") != -1) {
+                // re-throw to indicate test failure
+                throw pe;
+            }
+        }
+    }
+}
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/test/sun/security/pkcs11/Provider/csp.cfg	Wed Dec 22 18:30:34 2010 -0800
@@ -0,0 +1,4 @@
+showInfo = false 
+name = NSSTrust 
+nssSecmodDirectory = C:/DOCUME~1/dtftest/LOCALS~1/Temp/Work/exec/jsn_7.0_int-7.0_nightly_sec_win_32_part2-2007-07-16-09-06-04-0209/dtftest.Windows_2003.x86/NSS//db
+nssLibraryDirectory = Y:/xml/CC_DTF/knight_ws/suites/jsn_7.0_int/security/tools/lib/nss/WINNT/