public class sun.rmi.server.Activation$DefaultExecPolicy
minor version: 0
major version: 59
flags: flags: (0x0021) ACC_PUBLIC, ACC_SUPER
this_class: sun.rmi.server.Activation$DefaultExecPolicy
super_class: java.lang.Object
{
public void <init>();
descriptor: ()V
flags: (0x0001) ACC_PUBLIC
Code:
stack=1, locals=1, args_size=1
start local 0 0: aload 0
invokespecial java.lang.Object.<init>:()V
return
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 1 0 this Lsun/rmi/server/Activation$DefaultExecPolicy;
public void checkExecCommand(java.rmi.activation.ActivationGroupDesc, java.lang.String[]);
descriptor: (Ljava/rmi/activation/ActivationGroupDesc;[Ljava/lang/String;)V
flags: (0x0001) ACC_PUBLIC
Code:
stack=6, locals=13, args_size=3
start local 0 start local 1 start local 2 0: invokestatic sun.rmi.server.Activation$DefaultExecPolicy.getExecPermissions:()Ljava/security/PermissionCollection;
astore 3
start local 3 1: aload 1
invokevirtual java.rmi.activation.ActivationGroupDesc.getPropertyOverrides:()Ljava/util/Properties;
astore 4
start local 4 2: aload 4
ifnull 20
3: aload 4
invokevirtual java.util.Properties.propertyNames:()Ljava/util/Enumeration;
astore 5
start local 5 4: goto 19
5: StackMap locals: java.security.PermissionCollection java.util.Properties java.util.Enumeration
StackMap stack:
aload 5
invokeinterface java.util.Enumeration.nextElement:()Ljava/lang/Object;
checkcast java.lang.String
astore 6
start local 6 6: aload 4
aload 6
invokevirtual java.util.Properties.getProperty:(Ljava/lang/String;)Ljava/lang/String;
astore 7
start local 7 7: new java.lang.StringBuilder
dup
ldc "-D"
invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
aload 6
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
ldc "="
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
aload 7
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
astore 8
start local 8 8: aload 3
9: new com.sun.rmi.rmid.ExecOptionPermission
dup
aload 8
invokespecial com.sun.rmi.rmid.ExecOptionPermission.<init>:(Ljava/lang/String;)V
10: invokestatic sun.rmi.server.Activation$DefaultExecPolicy.checkPermission:(Ljava/security/PermissionCollection;Ljava/security/Permission;)V
11: goto 19
StackMap locals: sun.rmi.server.Activation$DefaultExecPolicy java.rmi.activation.ActivationGroupDesc java.lang.String[] java.security.PermissionCollection java.util.Properties java.util.Enumeration java.lang.String java.lang.String java.lang.String
StackMap stack: java.security.AccessControlException
12: astore 9
start local 9 13: aload 7
ldc ""
invokevirtual java.lang.String.equals:(Ljava/lang/Object;)Z
ifeq 18
14: aload 3
15: new com.sun.rmi.rmid.ExecOptionPermission
dup
new java.lang.StringBuilder
dup
ldc "-D"
invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
aload 6
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
invokespecial com.sun.rmi.rmid.ExecOptionPermission.<init>:(Ljava/lang/String;)V
16: invokestatic sun.rmi.server.Activation$DefaultExecPolicy.checkPermission:(Ljava/security/PermissionCollection;Ljava/security/Permission;)V
17: goto 19
18: StackMap locals: java.security.AccessControlException
StackMap stack:
aload 9
athrow
end local 9 end local 8 end local 7 end local 6 19: StackMap locals: sun.rmi.server.Activation$DefaultExecPolicy java.rmi.activation.ActivationGroupDesc java.lang.String[] java.security.PermissionCollection java.util.Properties java.util.Enumeration
StackMap stack:
aload 5
invokeinterface java.util.Enumeration.hasMoreElements:()Z
ifne 5
end local 5 20: StackMap locals:
StackMap stack:
aload 1
invokevirtual java.rmi.activation.ActivationGroupDesc.getClassName:()Ljava/lang/String;
astore 5
start local 5 21: aload 5
ifnull 26
22: aload 5
23: ldc Lsun/rmi/server/ActivationGroupImpl;
invokevirtual java.lang.Class.getName:()Ljava/lang/String;
24: invokevirtual java.lang.String.equals:(Ljava/lang/Object;)Z
25: ifeq 28
26: StackMap locals: java.lang.String
StackMap stack:
aload 1
invokevirtual java.rmi.activation.ActivationGroupDesc.getLocation:()Ljava/lang/String;
ifnonnull 28
27: aload 1
invokevirtual java.rmi.activation.ActivationGroupDesc.getData:()Ljava/rmi/MarshalledObject;
ifnull 31
28: StackMap locals:
StackMap stack:
new java.security.AccessControlException
dup
29: ldc "access denied (custom group implementation not allowed)"
30: invokespecial java.security.AccessControlException.<init>:(Ljava/lang/String;)V
athrow
31: StackMap locals:
StackMap stack:
aload 1
invokevirtual java.rmi.activation.ActivationGroupDesc.getCommandEnvironment:()Ljava/rmi/activation/ActivationGroupDesc$CommandEnvironment;
astore 6
start local 6 32: aload 6
ifnull 45
33: aload 6
invokevirtual java.rmi.activation.ActivationGroupDesc$CommandEnvironment.getCommandPath:()Ljava/lang/String;
astore 7
start local 7 34: aload 7
ifnull 36
35: aload 3
new com.sun.rmi.rmid.ExecPermission
dup
aload 7
invokespecial com.sun.rmi.rmid.ExecPermission.<init>:(Ljava/lang/String;)V
invokestatic sun.rmi.server.Activation$DefaultExecPolicy.checkPermission:(Ljava/security/PermissionCollection;Ljava/security/Permission;)V
36: StackMap locals: java.rmi.activation.ActivationGroupDesc$CommandEnvironment java.lang.String
StackMap stack:
aload 6
invokevirtual java.rmi.activation.ActivationGroupDesc$CommandEnvironment.getCommandOptions:()[Ljava/lang/String;
astore 8
start local 8 37: aload 8
ifnull 45
38: aload 8
dup
astore 12
arraylength
istore 11
iconst_0
istore 10
goto 44
StackMap locals: sun.rmi.server.Activation$DefaultExecPolicy java.rmi.activation.ActivationGroupDesc java.lang.String[] java.security.PermissionCollection java.util.Properties java.lang.String java.rmi.activation.ActivationGroupDesc$CommandEnvironment java.lang.String java.lang.String[] top int int java.lang.String[]
StackMap stack:
39: aload 12
iload 10
aaload
astore 9
start local 9 40: aload 3
41: new com.sun.rmi.rmid.ExecOptionPermission
dup
aload 9
invokespecial com.sun.rmi.rmid.ExecOptionPermission.<init>:(Ljava/lang/String;)V
42: invokestatic sun.rmi.server.Activation$DefaultExecPolicy.checkPermission:(Ljava/security/PermissionCollection;Ljava/security/Permission;)V
end local 9 43: iinc 10 1
StackMap locals:
StackMap stack:
44: iload 10
iload 11
if_icmplt 39
end local 8 end local 7 45: StackMap locals: sun.rmi.server.Activation$DefaultExecPolicy java.rmi.activation.ActivationGroupDesc java.lang.String[] java.security.PermissionCollection java.util.Properties java.lang.String java.rmi.activation.ActivationGroupDesc$CommandEnvironment
StackMap stack:
return
end local 6 end local 5 end local 4 end local 3 end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 46 0 this Lsun/rmi/server/Activation$DefaultExecPolicy;
0 46 1 desc Ljava/rmi/activation/ActivationGroupDesc;
0 46 2 cmd [Ljava/lang/String;
1 46 3 perms Ljava/security/PermissionCollection;
2 46 4 props Ljava/util/Properties;
4 20 5 p Ljava/util/Enumeration<*>;
6 19 6 name Ljava/lang/String;
7 19 7 value Ljava/lang/String;
8 19 8 option Ljava/lang/String;
13 19 9 e Ljava/security/AccessControlException;
21 46 5 groupClassName Ljava/lang/String;
32 46 6 cmdenv Ljava/rmi/activation/ActivationGroupDesc$CommandEnvironment;
34 45 7 path Ljava/lang/String;
37 45 8 options [Ljava/lang/String;
40 43 9 option Ljava/lang/String;
Exception table:
from to target type
8 11 12 Class java.security.AccessControlException
Exceptions:
throws java.lang.SecurityException
MethodParameters:
Name Flags
desc
cmd
static void checkConfiguration();
descriptor: ()V
flags: (0x0008) ACC_STATIC
Code:
stack=2, locals=4, args_size=0
0: new sun.rmi.server.Activation$DefaultExecPolicy$1
dup
invokespecial sun.rmi.server.Activation$DefaultExecPolicy$1.<init>:()V
invokestatic java.security.AccessController.doPrivileged:(Ljava/security/PrivilegedAction;)Ljava/lang/Object;
checkcast java.security.Policy
1: astore 0
start local 0 2: aload 0
instanceof sun.security.provider.PolicyFile
ifne 4
3: return
4: StackMap locals: java.security.Policy
StackMap stack:
invokestatic sun.rmi.server.Activation$DefaultExecPolicy.getExecPermissions:()Ljava/security/PermissionCollection;
astore 1
start local 1 5: aload 1
invokevirtual java.security.PermissionCollection.elements:()Ljava/util/Enumeration;
astore 2
start local 2 6: goto 12
7: StackMap locals: java.security.PermissionCollection java.util.Enumeration
StackMap stack:
aload 2
invokeinterface java.util.Enumeration.nextElement:()Ljava/lang/Object;
checkcast java.security.Permission
astore 3
start local 3 8: aload 3
instanceof java.security.AllPermission
ifne 11
9: aload 3
instanceof com.sun.rmi.rmid.ExecPermission
ifne 11
10: aload 3
instanceof com.sun.rmi.rmid.ExecOptionPermission
ifeq 12
11: StackMap locals: java.security.Permission
StackMap stack:
return
end local 3 12: StackMap locals:
StackMap stack:
aload 2
invokeinterface java.util.Enumeration.hasMoreElements:()Z
ifne 7
end local 2 13: getstatic java.lang.System.err:Ljava/io/PrintStream;
ldc "rmid.exec.perms.inadequate"
invokestatic sun.rmi.server.Activation.getTextResource:(Ljava/lang/String;)Ljava/lang/String;
invokevirtual java.io.PrintStream.println:(Ljava/lang/String;)V
14: return
end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
2 15 0 policy Ljava/security/Policy;
5 15 1 perms Ljava/security/PermissionCollection;
6 13 2 e Ljava/util/Enumeration<Ljava/security/Permission;>;
8 12 3 p Ljava/security/Permission;
private static java.security.PermissionCollection getExecPermissions();
descriptor: ()Ljava/security/PermissionCollection;
flags: (0x000a) ACC_PRIVATE, ACC_STATIC
Code:
stack=2, locals=1, args_size=0
0: new sun.rmi.server.Activation$DefaultExecPolicy$2
dup
invokespecial sun.rmi.server.Activation$DefaultExecPolicy$2.<init>:()V
1: invokestatic java.security.AccessController.doPrivileged:(Ljava/security/PrivilegedAction;)Ljava/lang/Object;
checkcast java.security.PermissionCollection
astore 0
start local 0 2: aload 0
areturn
end local 0 LocalVariableTable:
Start End Slot Name Signature
2 3 0 perms Ljava/security/PermissionCollection;
private static void checkPermission(java.security.PermissionCollection, java.security.Permission);
descriptor: (Ljava/security/PermissionCollection;Ljava/security/Permission;)V
flags: (0x000a) ACC_PRIVATE, ACC_STATIC
Code:
stack=5, locals=2, args_size=2
start local 0 start local 1 0: aload 0
aload 1
invokevirtual java.security.PermissionCollection.implies:(Ljava/security/Permission;)Z
ifne 4
1: new java.security.AccessControlException
dup
2: new java.lang.StringBuilder
dup
ldc "access denied "
invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
aload 1
invokevirtual java.security.Permission.toString:()Ljava/lang/String;
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
3: invokespecial java.security.AccessControlException.<init>:(Ljava/lang/String;)V
athrow
4: StackMap locals:
StackMap stack:
return
end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 5 0 perms Ljava/security/PermissionCollection;
0 5 1 p Ljava/security/Permission;
Exceptions:
throws java.security.AccessControlException
MethodParameters:
Name Flags
perms
p
}
SourceFile: "Activation.java"
NestHost: sun.rmi.server.Activation
InnerClasses:
public CommandEnvironment = java.rmi.activation.ActivationGroupDesc$CommandEnvironment of java.rmi.activation.ActivationGroupDesc
public DefaultExecPolicy = sun.rmi.server.Activation$DefaultExecPolicy of sun.rmi.server.Activation
sun.rmi.server.Activation$DefaultExecPolicy$1
sun.rmi.server.Activation$DefaultExecPolicy$2