You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@harmony.apache.org by "Alexey Varlamov (JIRA)" <ji...@apache.org> on 2007/09/28 14:57:50 UTC

[jira] Commented: (HARMONY-2910) [classlib][security] Harmony cannot identify 'codeBase' feature in policy file

    [ https://issues.apache.org/jira/browse/HARMONY-2910?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel#action_12530999 ] 

Alexey Varlamov commented on HARMONY-2910:
------------------------------------------

Mikhail, Vasily, the last fix looks good. I have only minor concerns:
1) Shouldn't getCanonicalPath() be used instead of getAbsolutePath(), to normalize case of paths on Windows?
2) Normalizing incoming CodeSource on every call to PolicyEntry.impliesCodeSource() may affect performance, is it appropriate to normalize URLs in constructor of CodeSource()?

> [classlib][security] Harmony cannot identify 'codeBase' feature in policy file
> ------------------------------------------------------------------------------
>
>                 Key: HARMONY-2910
>                 URL: https://issues.apache.org/jira/browse/HARMONY-2910
>             Project: Harmony
>          Issue Type: Bug
>          Components: Classlib
>            Reporter: Ruth Cao
>            Assignee: Stepan Mishura
>         Attachments: H-2910_upd.patch, Harmony-2910-2.zip, Harmony-2910-Fix.patch, Harmony-2910-fix.patch, Harmony-2910-PolicyEntryTest.patch, Harmony-2910-PolicyTest.patch, Harmony-2910-Test.patch, Harmony-2910.diff, Harmony-2910.diff, Harmony-2910.diff, regressionTest2910.txt
>
>
> create a simple policy file and then run PolicyTest  with the argument and the policy file[1] as following on Windows XP:
> -Dtest.bin.dir=c:\api\ -Djava.security.policy=<policy file path>
> public class PolicyTest {	
> 	public static void main(String[] args) throws Exception {
> 		Policy p = Policy.getPolicy();
> 		ProtectionDomain pd = new ProtectionDomain(new CodeSource(new URL(
> 				"file:/c:/api/*"), (java.security.cert.Certificate[]) null), null);
> 		PermissionCollection pCollection = p.getPermissions(pd);
> 		Enumeration<Permission> elements = pCollection.elements();
> 		while (elements.hasMoreElements()) {
> 			if(elements.nextElement().equals(new AllPermission())){
> 				System.out.println("contains AllPermission");
> 			}
> 		}
> 	}
> }
> RI prints:
> contains AllPermission
> while Harmony prints nothing.
> [1]
> grant codeBase "file:${test.bin.dir}/-" {
>    permission java.security.AllPermission; 
> }; 

-- 
This message is automatically generated by JIRA.
-
You can reply to this email to add a comment to the issue online.