Return-Path: Delivered-To: apmail-harmony-commits-archive@www.apache.org Received: (qmail 9991 invoked from network); 6 Jan 2010 02:29:27 -0000 Received: from hermes.apache.org (HELO mail.apache.org) (140.211.11.3) by minotaur.apache.org with SMTP; 6 Jan 2010 02:29:27 -0000 Received: (qmail 48255 invoked by uid 500); 6 Jan 2010 02:29:27 -0000 Delivered-To: apmail-harmony-commits-archive@harmony.apache.org Received: (qmail 48218 invoked by uid 500); 6 Jan 2010 02:29:27 -0000 Mailing-List: contact commits-help@harmony.apache.org; run by ezmlm Precedence: bulk List-Help: List-Unsubscribe: List-Post: List-Id: Reply-To: dev@harmony.apache.org Delivered-To: mailing list commits@harmony.apache.org Received: (qmail 48209 invoked by uid 99); 6 Jan 2010 02:29:27 -0000 Received: from athena.apache.org (HELO athena.apache.org) (140.211.11.136) by apache.org (qpsmtpd/0.29) with ESMTP; Wed, 06 Jan 2010 02:29:27 +0000 X-ASF-Spam-Status: No, hits=-2000.0 required=10.0 tests=ALL_TRUSTED X-Spam-Check-By: apache.org Received: from [140.211.11.4] (HELO eris.apache.org) (140.211.11.4) by apache.org (qpsmtpd/0.29) with ESMTP; Wed, 06 Jan 2010 02:29:26 +0000 Received: by eris.apache.org (Postfix, from userid 65534) id 217A923889F7; Wed, 6 Jan 2010 02:29:06 +0000 (UTC) Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit Subject: svn commit: r896308 - in /harmony/enhanced/classlib/trunk/modules/security/src: main/java/common/org/apache/harmony/security/ test/api/java/org/apache/harmony/security/tests/java/security/ test/resources/ Date: Wed, 06 Jan 2010 02:29:05 -0000 To: commits@harmony.apache.org From: regisxu@apache.org X-Mailer: svnmailer-1.0.8 Message-Id: <20100106022906.217A923889F7@eris.apache.org> Author: regisxu Date: Wed Jan 6 02:29:04 2010 New Revision: 896308 URL: http://svn.apache.org/viewvc?rev=896308&view=rev Log: Apply patch for HARMONY-6415: [classlib][Security] policy file content parcing is different from RI Added: harmony/enhanced/classlib/trunk/modules/security/src/test/resources/policyTest2.txt Modified: harmony/enhanced/classlib/trunk/modules/security/src/main/java/common/org/apache/harmony/security/DefaultPolicyScanner.java harmony/enhanced/classlib/trunk/modules/security/src/test/api/java/org/apache/harmony/security/tests/java/security/AccessController2Test.java Modified: harmony/enhanced/classlib/trunk/modules/security/src/main/java/common/org/apache/harmony/security/DefaultPolicyScanner.java URL: http://svn.apache.org/viewvc/harmony/enhanced/classlib/trunk/modules/security/src/main/java/common/org/apache/harmony/security/DefaultPolicyScanner.java?rev=896308&r1=896307&r2=896308&view=diff ============================================================================== --- harmony/enhanced/classlib/trunk/modules/security/src/main/java/common/org/apache/harmony/security/DefaultPolicyScanner.java (original) +++ harmony/enhanced/classlib/trunk/modules/security/src/main/java/common/org/apache/harmony/security/DefaultPolicyScanner.java Wed Jan 6 02:29:04 2010 @@ -309,7 +309,8 @@ case StreamTokenizer.TT_WORD: if (Util.equalsIgnoreCase("permission", st.sval)) { //$NON-NLS-1$ PermissionEntry pe = new PermissionEntry(); - if (st.nextToken() == StreamTokenizer.TT_WORD) { + int tok = st.nextToken(); + if (tok == StreamTokenizer.TT_WORD || tok == '"') { pe.klass = st.sval; if (st.nextToken() == '"') { pe.name = st.sval; Modified: harmony/enhanced/classlib/trunk/modules/security/src/test/api/java/org/apache/harmony/security/tests/java/security/AccessController2Test.java URL: http://svn.apache.org/viewvc/harmony/enhanced/classlib/trunk/modules/security/src/test/api/java/org/apache/harmony/security/tests/java/security/AccessController2Test.java?rev=896308&r1=896307&r2=896308&view=diff ============================================================================== --- harmony/enhanced/classlib/trunk/modules/security/src/test/api/java/org/apache/harmony/security/tests/java/security/AccessController2Test.java (original) +++ harmony/enhanced/classlib/trunk/modules/security/src/test/api/java/org/apache/harmony/security/tests/java/security/AccessController2Test.java Wed Jan 6 02:29:04 2010 @@ -76,4 +76,35 @@ } } -} \ No newline at end of file + + /** + * Test method tests the policy file with one of the entrie's + * permission_class_name surrounded with quotes. + * + */ + public void test_policyFileEntry_contains_Quotes1() throws Exception{ + System.setProperty("java.security.policy", "resources/policyTest2.txt"); + AccessController.checkPermission(new RuntimePermission("setSecurityManager")); + } + + /** + * Test method tests the policy file, one of the entrie's + * permission_class_name surrounded with quotes. + * + */ + public void test_policyFileEntry_contains_Quotes2() throws Exception{ + class CustomSecurityMgr extends SecurityManager{ + CustomSecurityMgr(){ } + } + + System.setProperty("java.security.policy", "resources/policyTest2.txt"); + SecurityManager security = System.getSecurityManager(); + System.setSecurityManager(security); + + // Setting the CustomSecurity Manager + SecurityManager customsecurity = new CustomSecurityMgr(); + System.setSecurityManager(customsecurity); + customsecurity = System.getSecurityManager(); + System.setSecurityManager(security); + } +} Added: harmony/enhanced/classlib/trunk/modules/security/src/test/resources/policyTest2.txt URL: http://svn.apache.org/viewvc/harmony/enhanced/classlib/trunk/modules/security/src/test/resources/policyTest2.txt?rev=896308&view=auto ============================================================================== --- harmony/enhanced/classlib/trunk/modules/security/src/test/resources/policyTest2.txt (added) +++ harmony/enhanced/classlib/trunk/modules/security/src/test/resources/policyTest2.txt Wed Jan 6 02:29:04 2010 @@ -0,0 +1,10 @@ +grant { +permission java.util.PropertyPermission "user.dir", "read"; +permission java.lang.RuntimePermission "createClassLoader"; +permission java.io.FilePermission "<>", "delete"; +permission java.io.FilePermission "<>", "read"; +permission "java.util.PropertyPermission" "java.security.policy", "write"; +permission "java.lang.RuntimePermission" "setSecurityManager"; +permission "java.util.PropertyPermission" "java.security.policy", "read"; +permission "java.lang.RuntimePermission" "setIO"; +};