# HG changeset patch # User juh # Date 1358347881 18000 # Node ID d815f9973d9716be8eff1cbcda7cae66c10c9001 # Parent c884f548a25f3574a3da9deb6ab95efe010d027c 8005389: Backout fix for JDK-6500133 Reviewed-by: mullan diff -r c884f548a25f -r d815f9973d97 jdk/src/share/classes/sun/security/x509/URIName.java --- a/jdk/src/share/classes/sun/security/x509/URIName.java Wed Jan 16 12:09:35 2013 +0000 +++ b/jdk/src/share/classes/sun/security/x509/URIName.java Wed Jan 16 09:51:21 2013 -0500 @@ -30,7 +30,6 @@ import java.net.URISyntaxException; import sun.security.util.*; -import sun.net.www.ParseUtil; /** * This class implements the URIName as required by the GeneralNames @@ -107,13 +106,7 @@ try { uri = new URI(name); } catch (URISyntaxException use) { - try { - // Try parsing the URI again after encoding/escaping - // any illegal characters - uri = new URI(ParseUtil.encodePath(name)); - } catch (URISyntaxException use2) { - throw new IOException("invalid URI name:" + name, use2); - } + throw new IOException("invalid URI name:" + name, use); } if (uri.getScheme() == null) { throw new IOException("URI name must include scheme:" + name); diff -r c884f548a25f -r d815f9973d97 jdk/test/sun/security/x509/URIName/Parse.java --- a/jdk/test/sun/security/x509/URIName/Parse.java Wed Jan 16 12:09:35 2013 +0000 +++ b/jdk/test/sun/security/x509/URIName/Parse.java Wed Jan 16 09:51:21 2013 -0500 @@ -1,5 +1,5 @@ /* - * Copyright (c) 2012, Oracle and/or its affiliates. All rights reserved. + * Copyright (c) 2013, 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 @@ -23,11 +23,12 @@ /* * @test - * @bug 6500133 - * @summary CRL Distribution Point URIs with spaces or backslashes should be - * parseable + * @bug 8005389 + * @summary CRL Distribution Point URIs with spaces or backslashes should + * not be parseable */ import java.io.ByteArrayInputStream; +import java.io.IOException; import java.security.cert.CertificateFactory; import java.security.cert.X509Certificate; import sun.security.util.DerValue; @@ -90,27 +91,45 @@ } public static void main(String[] args) throws Exception { - /* Parse a CRLDistributionPointsExtension URI with a space. */ - CRLDistributionPointsExtensionTest(certWithSpaceInCDPStr); - System.out.println("Parsed CRLDistributionPointsExtension uri with " - + "a space."); + /* Try to parse a CRLDistributionPointsExtension URI with a space. */ + try { + CRLDistributionPointsExtensionTest(certWithSpaceInCDPStr); + throw new RuntimeException("Illegally parsed a " + + "CRLDistributionPointsExtension uri with a space."); + } catch (IOException e) { + System.out.println("Caught the correct exception."); - /* Parse a CRLDistributionPointsExtension URI with backslashes. */ - CRLDistributionPointsExtensionTest(certWithBackslashesInCDPStr); - System.out.println("Parsed CRLDistributionPointsExtension uri with " - + "backslashes."); + } + + /* Try to parse a CRLDistributionPointsExtension URI with backslashes. */ + try { + CRLDistributionPointsExtensionTest(certWithBackslashesInCDPStr); + throw new RuntimeException("Illegally parsed a " + + "CRLDistributionPointsExtension uri with a backslashes."); + } catch (IOException e) { + System.out.println("Caught the correct exception."); + } - /* Constructor a URIName from a uri with a space. */ + /* Try to construct a URIName from a uri with a space. */ String uriWithSpace = "file://crl file.crl"; - URIName name = new URIName(uriWithSpace); - System.out.println("URI re-encoded from " + uriWithSpace - + " to " + name.getName()); + URIName name; + try { + name = new URIName(uriWithSpace); + throw new RuntimeException("Illegally created a URIName " + + "from a uri with a space."); + } catch (IOException e) { + System.out.println("Caught the correct exception."); + } - /* Construct a URIName from a uri with backslashes. */ + /* Try to construct a URIName from a uri with backslashes. */ String uriWithBackslashes = "file://\\\\CRL\\crl_file.crl"; - name = new URIName(uriWithBackslashes); - System.out.println("URI re-encoded from " + uriWithBackslashes - + " to " + name.getName()); + try { + name = new URIName(uriWithBackslashes); + throw new RuntimeException("Illegally created a URIName " + + "from a uri with backslashes."); + } catch (IOException e) { + System.out.println("Caught the correct exception."); + } System.out.println("Tests passed."); }