add dump method
git-svn-id: svn+ssh://dev.eclipse.org/svnroot/rt/org.eclipse.jetty/jetty/trunk@697 7e9141cc-0065-0410-87d8-b60c137991c4
This commit is contained in:
parent
1371a6d1d0
commit
57f6fcb62c
|
@ -18,6 +18,8 @@ package org.eclipse.jetty.policy;
|
||||||
|
|
||||||
import java.io.File;
|
import java.io.File;
|
||||||
import java.io.FileInputStream;
|
import java.io.FileInputStream;
|
||||||
|
import java.io.PrintStream;
|
||||||
|
import java.io.PrintWriter;
|
||||||
import java.security.CodeSource;
|
import java.security.CodeSource;
|
||||||
import java.security.Permission;
|
import java.security.Permission;
|
||||||
import java.security.PermissionCollection;
|
import java.security.PermissionCollection;
|
||||||
|
@ -58,12 +60,12 @@ import org.eclipse.jetty.policy.loader.DefaultPolicyLoader;
|
||||||
public class JettyPolicy extends Policy
|
public class JettyPolicy extends Policy
|
||||||
{
|
{
|
||||||
// Policy files that are actively managed by the aggregate policy mechanism
|
// Policy files that are actively managed by the aggregate policy mechanism
|
||||||
private Set<String> _policies;
|
private final Set<String> _policies;
|
||||||
|
|
||||||
private Map<ProtectionDomain, PolicyBlock> pdMapping =
|
private final Map<ProtectionDomain, PolicyBlock> pdMapping =
|
||||||
Collections.synchronizedMap( new HashMap<ProtectionDomain, PolicyBlock>() );
|
Collections.synchronizedMap( new HashMap<ProtectionDomain, PolicyBlock>() );
|
||||||
|
|
||||||
private PolicyContext _context = new PolicyContext();
|
private final PolicyContext _context = new PolicyContext();
|
||||||
|
|
||||||
public JettyPolicy( Set<String> policies, Map<String,String> properties )
|
public JettyPolicy( Set<String> policies, Map<String,String> properties )
|
||||||
{
|
{
|
||||||
|
@ -74,13 +76,14 @@ public class JettyPolicy extends Policy
|
||||||
refresh();
|
refresh();
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@Override
|
||||||
public PermissionCollection getPermissions( ProtectionDomain domain )
|
public PermissionCollection getPermissions( ProtectionDomain domain )
|
||||||
{
|
{
|
||||||
PermissionCollection perms = new Permissions();
|
PermissionCollection perms = new Permissions();
|
||||||
|
|
||||||
for ( Iterator<ProtectionDomain> i = pdMapping.keySet().iterator(); i.hasNext(); )
|
for ( Iterator<ProtectionDomain> i = pdMapping.keySet().iterator(); i.hasNext(); )
|
||||||
{
|
{
|
||||||
ProtectionDomain pd = (ProtectionDomain) i.next();
|
ProtectionDomain pd = i.next();
|
||||||
|
|
||||||
if ( pd.getCodeSource() == null || pd.getCodeSource().implies( domain.getCodeSource() ) && pd.getPrincipals() == null || validate( pd.getPrincipals(), domain.getPrincipals() ) )
|
if ( pd.getCodeSource() == null || pd.getCodeSource().implies( domain.getCodeSource() ) && pd.getPrincipals() == null || validate( pd.getPrincipals(), domain.getPrincipals() ) )
|
||||||
{
|
{
|
||||||
|
@ -107,13 +110,14 @@ public class JettyPolicy extends Policy
|
||||||
return perms;
|
return perms;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@Override
|
||||||
public PermissionCollection getPermissions( CodeSource codesource )
|
public PermissionCollection getPermissions( CodeSource codesource )
|
||||||
{
|
{
|
||||||
PermissionCollection perms = new Permissions();
|
PermissionCollection perms = new Permissions();
|
||||||
|
|
||||||
for ( Iterator<ProtectionDomain> i = pdMapping.keySet().iterator(); i.hasNext(); )
|
for ( Iterator<ProtectionDomain> i = pdMapping.keySet().iterator(); i.hasNext(); )
|
||||||
{
|
{
|
||||||
ProtectionDomain pd = (ProtectionDomain) i.next();
|
ProtectionDomain pd = i.next();
|
||||||
|
|
||||||
if ( pd.getCodeSource() == null || pd.getCodeSource().implies( codesource ) )
|
if ( pd.getCodeSource() == null || pd.getCodeSource().implies( codesource ) )
|
||||||
{
|
{
|
||||||
|
@ -168,6 +172,7 @@ public class JettyPolicy extends Policy
|
||||||
return true;
|
return true;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@Override
|
||||||
public void refresh()
|
public void refresh()
|
||||||
{
|
{
|
||||||
try
|
try
|
||||||
|
@ -190,4 +195,18 @@ public class JettyPolicy extends Policy
|
||||||
e.printStackTrace();
|
e.printStackTrace();
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
public void dump( PrintStream out )
|
||||||
|
{
|
||||||
|
PrintWriter write = new PrintWriter( out );
|
||||||
|
write.println("dumping policy settings");
|
||||||
|
|
||||||
|
for( Iterator<ProtectionDomain> i = pdMapping.keySet().iterator(); i.hasNext(); )
|
||||||
|
{
|
||||||
|
ProtectionDomain domain = i.next();
|
||||||
|
PolicyBlock block = pdMapping.get( domain );
|
||||||
|
write.println(domain.toString());
|
||||||
|
}
|
||||||
|
write.flush();
|
||||||
|
}
|
||||||
}
|
}
|
||||||
|
|
Loading…
Reference in New Issue