Permission Analysis Report


Analysis of: org.eclipse.osgi

Detail


Class: org.eclipse.osgi.framework.internal.core.FrameworkSecurityManager (Application)
DoPrivileged location: Line# 24 void <init>(  )
   Permission: java.lang.RuntimePermission "createSecurityManager"
      Primordial/void java.lang.SecurityManager.SecurityManager(  )


CODE

Tainted variable reference trace:

Permission Requirements:



Conclusion:


DoPrivileged location: Line# 100 void internalCheckPermission( java.security.Permission, java.lang.Object ) Permission: java.lang.RuntimePermission "getClassLoader" Primordial/void java.security.AccessControlContext.checkPermission( java.security.Permission ) Permission: java.net.SocketPermission "", "resolve" Primordial/void java.security.AccessControlContext.checkPermission( java.security.Permission ) Permission: java.net.SocketPermission "*", "resolve" Primordial/void java.security.AccessControlContext.checkPermission( java.security.Permission ) Permission: java.net.SocketPermission "*:???port???", "connect" Primordial/void java.security.AccessControlContext.checkPermission( java.security.Permission ) Permission: java.net.SocketPermission "-1", "resolve" Primordial/void java.security.AccessControlContext.checkPermission( java.security.Permission ) Permission: java.net.SocketPermission "-1:???port???", "connect" Primordial/void java.security.AccessControlContext.checkPermission( java.security.Permission ) Permission: java.net.SocketPermission "-2", "resolve" Primordial/void java.security.AccessControlContext.checkPermission( java.security.Permission ) Permission: java.net.SocketPermission "-2147483648", "resolve" Primordial/void java.security.AccessControlContext.checkPermission( java.security.Permission ) Permission: java.net.SocketPermission "-2147483648:???port???", "connect" Primordial/void java.security.AccessControlContext.checkPermission( java.security.Permission ) Permission: java.net.SocketPermission "-2:???port???", "connect" Primordial/void java.security.AccessControlContext.checkPermission( java.security.Permission ) Permission: java.net.SocketPermission "-3", "resolve" Primordial/void java.security.AccessControlContext.checkPermission( java.security.Permission ) Permission: java.net.SocketPermission "-3:???port???", "connect" Primordial/void java.security.AccessControlContext.checkPermission( java.security.Permission ) Permission: java.net.SocketPermission "-9223372036854775808", "resolve" Primordial/void java.security.AccessControlContext.checkPermission( java.security.Permission ) Permission: java.net.SocketPermission "-9223372036854775808:???port???", "connect" Primordial/void java.security.AccessControlContext.checkPermission( java.security.Permission ) Permission: java.net.SocketPermission ".", "resolve" Primordial/void java.security.AccessControlContext.checkPermission( java.security.Permission ) Permission: java.net.SocketPermission ".:???port???", "connect" Primordial/void java.security.AccessControlContext.checkPermission( java.security.Permission ) Permission: java.net.SocketPermission "0", "resolve" Primordial/void java.security.AccessControlContext.checkPermission( java.security.Permission ) Permission: java.net.SocketPermission "0:???port???", "connect" Primordial/void java.security.AccessControlContext.checkPermission( java.security.Permission ) Permission: java.net.SocketPermission "1", "resolve" Primordial/void java.security.AccessControlContext.checkPermission( java.security.Permission ) Permission: java.net.SocketPermission "1.3", "resolve" Primordial/void java.security.AccessControlContext.checkPermission( java.security.Permission ) Permission: java.net.SocketPermission "1.3:???port???", "connect" Primordial/void java.security.AccessControlContext.checkPermission( java.security.Permission ) Permission: java.net.SocketPermission "10", "resolve" Primordial/void java.security.AccessControlContext.checkPermission( java.security.Permission ) Permission: java.net.SocketPermission "10:???port???", "connect" Primordial/void java.security.AccessControlContext.checkPermission( java.security.Permission ) Permission: java.net.SocketPermission "13", "resolve" Primordial/void java.security.AccessControlContext.checkPermission( java.security.Permission ) Permission: java.net.SocketPermission "13:???port???", "connect" Primordial/void java.security.AccessControlContext.checkPermission( java.security.Permission ) Permission: java.net.SocketPermission "1:???port???", "connect" Primordial/void java.security.AccessControlContext.checkPermission( java.security.Permission ) Permission: java.net.SocketPermission "2", "resolve" Primordial/void java.security.AccessControlContext.checkPermission( java.security.Permission ) Permission: java.net.SocketPermission "23", "resolve" Primordial/void java.security.AccessControlContext.checkPermission( java.security.Permission ) Permission: java.net.SocketPermission "23:???port???", "connect" Primordial/void java.security.AccessControlContext.checkPermission( java.security.Permission ) Permission: java.net.SocketPermission "2:???port???", "connect" Primordial/void java.security.AccessControlContext.checkPermission( java.security.Permission ) Permission: java.net.SocketPermission "3", "resolve" Primordial/void java.security.AccessControlContext.checkPermission( java.security.Permission ) Permission: java.net.SocketPermission "3.0.0", "resolve" Primordial/void java.security.AccessControlContext.checkPermission( java.security.Permission ) Permission: java.net.SocketPermission "3.0.0:???port???", "connect" Primordial/void java.security.AccessControlContext.checkPermission( java.security.Permission ) Permission: java.net.SocketPermission "3:???port???", "connect" Primordial/void java.security.AccessControlContext.checkPermission( java.security.Permission ) Permission: java.net.SocketPermission "4", "resolve" Primordial/void java.security.AccessControlContext.checkPermission( java.security.Permission ) Permission: java.net.SocketPermission "4:???port???", "connect" Primordial/void java.security.AccessControlContext.checkPermission( java.security.Permission ) Permission: java.net.SocketPermission "5", "resolve" Primordial/void java.security.AccessControlContext.checkPermission( java.security.Permission ) Permission: java.net.SocketPermission "5:???port???", "connect" Primordial/void java.security.AccessControlContext.checkPermission( java.security.Permission ) Permission: java.net.SocketPermission "6", "resolve" Primordial/void java.security.AccessControlContext.checkPermission( java.security.Permission ) Permission: java.net.SocketPermission "6:???port???", "connect" Primordial/void java.security.AccessControlContext.checkPermission( java.security.Permission ) Permission: java.net.SocketPermission "7", "resolve" Primordial/void java.security.AccessControlContext.checkPermission( java.security.Permission ) Permission: java.net.SocketPermission "7:???port???", "connect" Primordial/void java.security.AccessControlContext.checkPermission( java.security.Permission ) Permission: java.net.SocketPermission "8", "resolve" Primordial/void java.security.AccessControlContext.checkPermission( java.security.Permission ) Permission: java.net.SocketPermission "8:???port???", "connect" Primordial/void java.security.AccessControlContext.checkPermission( java.security.Permission ) Permission: java.net.SocketPermission "9", "resolve" Primordial/void java.security.AccessControlContext.checkPermission( java.security.Permission ) Permission: java.net.SocketPermission "9:???port???", "connect" Primordial/void java.security.AccessControlContext.checkPermission( java.security.Permission ) Permission: java.net.SocketPermission ":???port???", "connect" Primordial/void java.security.AccessControlContext.checkPermission( java.security.Permission ) Permission: java.net.SocketPermission "???host???", "resolve" Primordial/void java.security.AccessControlContext.checkPermission( java.security.Permission ) Permission: java.net.SocketPermission "???host???:???port???", "connect" Primordial/void java.security.AccessControlContext.checkPermission( java.security.Permission ) Permission: java.net.SocketPermission "Eclipse", "resolve" Primordial/void java.security.AccessControlContext.checkPermission( java.security.Permission ) Permission: java.net.SocketPermission "Eclipse:???port???", "connect" Primordial/void java.security.AccessControlContext.checkPermission( java.security.Permission ) Permission: java.net.SocketPermission "META-INF/MANIFEST.MF", "resolve" Primordial/void java.security.AccessControlContext.checkPermission( java.security.Permission ) Permission: java.net.SocketPermission "META-INF/MANIFEST.MF:???port???", "connect" Primordial/void java.security.AccessControlContext.checkPermission( java.security.Permission ) Permission: java.net.SocketPermission "No message available.", "resolve" Primordial/void java.security.AccessControlContext.checkPermission( java.security.Permission ) Permission: java.net.SocketPermission "No message available.:???port???", "connect" Primordial/void java.security.AccessControlContext.checkPermission( java.security.Permission ) Permission: java.net.SocketPermission "aix", "resolve" Primordial/void java.security.AccessControlContext.checkPermission( java.security.Permission ) Permission: java.net.SocketPermission "aix:???port???", "connect" Primordial/void java.security.AccessControlContext.checkPermission( java.security.Permission ) Permission: java.net.SocketPermission "bin", "resolve" Primordial/void java.security.AccessControlContext.checkPermission( java.security.Permission ) Permission: java.net.SocketPermission "bin:???port???", "connect" Primordial/void java.security.AccessControlContext.checkPermission( java.security.Permission ) Permission: java.net.SocketPermission "bundles", "resolve" Primordial/void java.security.AccessControlContext.checkPermission( java.security.Permission ) Permission: java.net.SocketPermission "bundles:???port???", "connect" Primordial/void java.security.AccessControlContext.checkPermission( java.security.Permission ) Permission: java.net.SocketPermission "carbon", "resolve" Primordial/void java.security.AccessControlContext.checkPermission( java.security.Permission ) Permission: java.net.SocketPermission "carbon:???port???", "connect" Primordial/void java.security.AccessControlContext.checkPermission( java.security.Permission ) Permission: java.net.SocketPermission "false", "resolve" Primordial/void java.security.AccessControlContext.checkPermission( java.security.Permission ) Permission: java.net.SocketPermission "false:???port???", "connect" Primordial/void java.security.AccessControlContext.checkPermission( java.security.Permission ) Permission: java.net.SocketPermission "fragment.xml", "resolve" Primordial/void java.security.AccessControlContext.checkPermission( java.security.Permission ) Permission: java.net.SocketPermission "fragment.xml:???port???", "connect" Primordial/void java.security.AccessControlContext.checkPermission( java.security.Permission ) Permission: java.net.SocketPermission "hpux", "resolve" Primordial/void java.security.AccessControlContext.checkPermission( java.security.Permission ) Permission: java.net.SocketPermission "hpux:???port???", "connect" Primordial/void java.security.AccessControlContext.checkPermission( java.security.Permission ) Permission: java.net.SocketPermission "linux", "resolve" Primordial/void java.security.AccessControlContext.checkPermission( java.security.Permission ) Permission: java.net.SocketPermission "linux:???port???", "connect" Primordial/void java.security.AccessControlContext.checkPermission( java.security.Permission ) Permission: java.net.SocketPermission "localhost", "resolve" Primordial/void java.security.AccessControlContext.checkPermission( java.security.Permission ) Permission: java.net.SocketPermission "localhost:1024-", "resolve" Primordial/void java.security.AccessControlContext.checkPermission( java.security.Permission ) Permission: java.net.SocketPermission "localhost:1024-:???port???", "connect" Primordial/void java.security.AccessControlContext.checkPermission( java.security.Permission ) Permission: java.net.SocketPermission "localhost:???port???", "connect" Primordial/void java.security.AccessControlContext.checkPermission( java.security.Permission ) Permission: java.net.SocketPermission "macosx", "resolve" Primordial/void java.security.AccessControlContext.checkPermission( java.security.Permission ) Permission: java.net.SocketPermission "macosx:???port???", "connect" Primordial/void java.security.AccessControlContext.checkPermission( java.security.Permission ) Permission: java.net.SocketPermission "manifests", "resolve" Primordial/void java.security.AccessControlContext.checkPermission( java.security.Permission ) Permission: java.net.SocketPermission "manifests:???port???", "connect" Primordial/void java.security.AccessControlContext.checkPermission( java.security.Permission ) Permission: java.net.SocketPermission "motif", "resolve" Primordial/void java.security.AccessControlContext.checkPermission( java.security.Permission ) Permission: java.net.SocketPermission "motif:???port???", "connect" Primordial/void java.security.AccessControlContext.checkPermission( java.security.Permission ) Permission: java.net.SocketPermission "org.eclipse.osgi", "resolve" Primordial/void java.security.AccessControlContext.checkPermission( java.security.Permission ) Permission: java.net.SocketPermission "org.eclipse.osgi:???port???", "connect" Primordial/void java.security.AccessControlContext.checkPermission( java.security.Permission ) Permission: java.net.SocketPermission "photon", "resolve" Primordial/void java.security.AccessControlContext.checkPermission( java.security.Permission ) Permission: java.net.SocketPermission "photon:???port???", "connect" Primordial/void java.security.AccessControlContext.checkPermission( java.security.Permission ) Permission: java.net.SocketPermission "plugin.xml", "resolve" Primordial/void java.security.AccessControlContext.checkPermission( java.security.Permission ) Permission: java.net.SocketPermission "plugin.xml:???port???", "connect" Primordial/void java.security.AccessControlContext.checkPermission( java.security.Permission ) Permission: java.net.SocketPermission "qnx", "resolve" Primordial/void java.security.AccessControlContext.checkPermission( java.security.Permission ) Permission: java.net.SocketPermission "qnx:???port???", "connect" Primordial/void java.security.AccessControlContext.checkPermission( java.security.Permission ) Permission: java.net.SocketPermission "solaris", "resolve" Primordial/void java.security.AccessControlContext.checkPermission( java.security.Permission ) Permission: java.net.SocketPermission "solaris:???port???", "connect" Primordial/void java.security.AccessControlContext.checkPermission( java.security.Permission ) Permission: java.net.SocketPermission "true", "resolve" Primordial/void java.security.AccessControlContext.checkPermission( java.security.Permission ) Permission: java.net.SocketPermission "true:???port???", "connect" Primordial/void java.security.AccessControlContext.checkPermission( java.security.Permission ) Permission: java.net.SocketPermission "unknown", "resolve" Primordial/void java.security.AccessControlContext.checkPermission( java.security.Permission ) Permission: java.net.SocketPermission "unknown:???port???", "connect" Primordial/void java.security.AccessControlContext.checkPermission( java.security.Permission ) Permission: java.net.SocketPermission "win32", "resolve" Primordial/void java.security.AccessControlContext.checkPermission( java.security.Permission ) Permission: java.net.SocketPermission "win32:???port???", "connect" Primordial/void java.security.AccessControlContext.checkPermission( java.security.Permission ) Permission: java.net.SocketPermission "x86", "resolve" Primordial/void java.security.AccessControlContext.checkPermission( java.security.Permission ) Permission: java.net.SocketPermission "x86:???port???", "connect" Primordial/void java.security.AccessControlContext.checkPermission( java.security.Permission ) Permission: java.net.SocketPermission "x86_64", "resolve" Primordial/void java.security.AccessControlContext.checkPermission( java.security.Permission ) Permission: java.net.SocketPermission "x86_64:???port???", "connect" Primordial/void java.security.AccessControlContext.checkPermission( java.security.Permission )

CODE
public void internalCheckPermission(Permission perm, Object context) { AccessControlContext acc = (AccessControlContext) context; CheckContext cc = (CheckContext) localCheckContext.get(); if (cc == null) { cc = new CheckContext(); localCheckContext.set(cc); } cc.depthCondSets.add(null); // initialize postponed condition set to null try { acc.checkPermission(perm); // We want to pop the first set of postponed conditions and process them Vector remainingSets = (Vector) cc.depthCondSets.get(cc.getDepth()); if (remainingSets != null) { /* * In this bit of code we have to try every possible combination * of conditional permissions that still need to be evaluated. We * do this using recursion to keep track of the different * combinations we have tried. The top call will setup the different * combinations for the first protection domain with unevaluated * conditions. The final call will actually evaluate the condition. * If a good combination is found, it will immediately bubble * up. */ Hashtable condContextDict = new Hashtable(2); // The remainder we will process recursively. Condition conds[][] = (Condition[][]) remainingSets.remove(0); for (int i = 0; i < conds.length; i++) if (recursiveCheck(remainingSets, conds[i], null, condContextDict, cc)) return; // found a pass return without SecurityException throw new SecurityException("Conditions not satisfied"); //$NON-NLS-1$ } } finally { cc.depthCondSets.remove(cc.getDepth()); } }
Tainted variable reference trace:

Permission Requirements:



Conclusion: