public class sun.security.krb5.Config
minor version: 0
major version: 59
flags: flags: (0x0021) ACC_PUBLIC, ACC_SUPER
this_class: sun.security.krb5.Config
super_class: java.lang.Object
{
private static sun.security.krb5.Config singleton;
descriptor: Lsun/security/krb5/Config;
flags: (0x000a) ACC_PRIVATE, ACC_STATIC
private java.util.Hashtable<java.lang.String, java.lang.Object> stanzaTable;
descriptor: Ljava/util/Hashtable;
flags: (0x0002) ACC_PRIVATE
Signature: Ljava/util/Hashtable<Ljava/lang/String;Ljava/lang/Object;>;
private static boolean DEBUG;
descriptor: Z
flags: (0x000a) ACC_PRIVATE, ACC_STATIC
private static final int BASE16_0;
descriptor: I
flags: (0x001a) ACC_PRIVATE, ACC_STATIC, ACC_FINAL
ConstantValue: 1
private static final int BASE16_1;
descriptor: I
flags: (0x001a) ACC_PRIVATE, ACC_STATIC, ACC_FINAL
ConstantValue: 16
private static final int BASE16_2;
descriptor: I
flags: (0x001a) ACC_PRIVATE, ACC_STATIC, ACC_FINAL
ConstantValue: 256
private static final int BASE16_3;
descriptor: I
flags: (0x001a) ACC_PRIVATE, ACC_STATIC, ACC_FINAL
ConstantValue: 4096
private final java.lang.String defaultRealm;
descriptor: Ljava/lang/String;
flags: (0x0012) ACC_PRIVATE, ACC_FINAL
private final java.lang.String defaultKDC;
descriptor: Ljava/lang/String;
flags: (0x0012) ACC_PRIVATE, ACC_FINAL
static void <clinit>();
descriptor: ()V
flags: (0x0008) ACC_STATIC
Code:
stack=1, locals=0, args_size=0
0: aconst_null
putstatic sun.security.krb5.Config.singleton:Lsun/security/krb5/Config;
1: getstatic sun.security.krb5.internal.Krb5.DEBUG:Z
putstatic sun.security.krb5.Config.DEBUG:Z
2: return
LocalVariableTable:
Start End Slot Name Signature
private static native java.lang.String getWindowsDirectory(boolean);
descriptor: (Z)Ljava/lang/String;
flags: (0x010a) ACC_PRIVATE, ACC_STATIC, ACC_NATIVE
MethodParameters:
Name Flags
isSystem
public static synchronized sun.security.krb5.Config getInstance();
descriptor: ()Lsun/security/krb5/Config;
flags: (0x0029) ACC_PUBLIC, ACC_STATIC, ACC_SYNCHRONIZED
Code:
stack=2, locals=0, args_size=0
0: getstatic sun.security.krb5.Config.singleton:Lsun/security/krb5/Config;
ifnonnull 2
1: new sun.security.krb5.Config
dup
invokespecial sun.security.krb5.Config.<init>:()V
putstatic sun.security.krb5.Config.singleton:Lsun/security/krb5/Config;
2: StackMap locals:
StackMap stack:
getstatic sun.security.krb5.Config.singleton:Lsun/security/krb5/Config;
areturn
LocalVariableTable:
Start End Slot Name Signature
Exceptions:
throws sun.security.krb5.KrbException
public static void refresh();
descriptor: ()V
flags: (0x0009) ACC_PUBLIC, ACC_STATIC
Code:
stack=2, locals=1, args_size=0
0: ldc Lsun/security/krb5/Config;
dup
astore 0
monitorenter
1: new sun.security.krb5.Config
dup
invokespecial sun.security.krb5.Config.<init>:()V
putstatic sun.security.krb5.Config.singleton:Lsun/security/krb5/Config;
2: aload 0
monitorexit
3: goto 6
StackMap locals: java.lang.Class
StackMap stack: java.lang.Throwable
4: aload 0
monitorexit
5: athrow
6: StackMap locals:
StackMap stack:
invokestatic sun.security.krb5.KdcComm.initStatic:()V
7: invokestatic sun.security.krb5.internal.crypto.EType.initStatic:()V
8: invokestatic sun.security.krb5.Checksum.initStatic:()V
9: return
LocalVariableTable:
Start End Slot Name Signature
Exception table:
from to target type
1 3 4 any
4 5 4 any
Exceptions:
throws sun.security.krb5.KrbException
private static boolean isMacosLionOrBetter();
descriptor: ()Z
flags: (0x000a) ACC_PRIVATE, ACC_STATIC
Code:
stack=2, locals=4, args_size=0
0: ldc "os.name"
invokestatic sun.security.action.GetPropertyAction.privilegedGetProperty:(Ljava/lang/String;)Ljava/lang/String;
astore 0
start local 0 1: aload 0
ldc "OS X"
invokevirtual java.lang.String.contains:(Ljava/lang/CharSequence;)Z
ifne 3
2: iconst_0
ireturn
3: StackMap locals: java.lang.String
StackMap stack:
ldc "os.version"
invokestatic sun.security.action.GetPropertyAction.privilegedGetProperty:(Ljava/lang/String;)Ljava/lang/String;
astore 1
start local 1 4: aload 1
ldc "\\."
invokevirtual java.lang.String.split:(Ljava/lang/String;)[Ljava/lang/String;
astore 2
start local 2 5: aload 2
iconst_0
aaload
ldc "10"
invokevirtual java.lang.String.equals:(Ljava/lang/Object;)Z
ifne 6
iconst_0
ireturn
6: StackMap locals: java.lang.String java.lang.String[]
StackMap stack:
aload 2
arraylength
iconst_2
if_icmpge 7
iconst_0
ireturn
7: StackMap locals:
StackMap stack:
aload 2
iconst_1
aaload
invokestatic java.lang.Integer.parseInt:(Ljava/lang/String;)I
istore 3
start local 3 8: iload 3
bipush 7
if_icmplt 11
9: iconst_1
ireturn
end local 3 10: StackMap locals:
StackMap stack: java.lang.NumberFormatException
pop
11: StackMap locals:
StackMap stack:
iconst_0
ireturn
end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
1 12 0 osname Ljava/lang/String;
4 12 1 osVersion Ljava/lang/String;
5 12 2 fragments [Ljava/lang/String;
8 10 3 minorVers I
Exception table:
from to target type
7 9 10 Class java.lang.NumberFormatException
private void <init>();
descriptor: ()V
flags: (0x0002) ACC_PRIVATE
Code:
stack=4, locals=5, args_size=1
start local 0 0: aload 0
invokespecial java.lang.Object.<init>:()V
1: aload 0
new java.util.Hashtable
dup
invokespecial java.util.Hashtable.<init>:()V
putfield sun.security.krb5.Config.stanzaTable:Ljava/util/Hashtable;
2: ldc "java.security.krb5.kdc"
invokestatic sun.security.action.GetPropertyAction.privilegedGetProperty:(Ljava/lang/String;)Ljava/lang/String;
3: astore 1
start local 1 4: aload 1
ifnull 7
5: aload 0
aload 1
bipush 58
bipush 32
invokevirtual java.lang.String.replace:(CC)Ljava/lang/String;
putfield sun.security.krb5.Config.defaultKDC:Ljava/lang/String;
6: goto 8
7: StackMap locals: sun.security.krb5.Config java.lang.String
StackMap stack:
aload 0
aconst_null
putfield sun.security.krb5.Config.defaultKDC:Ljava/lang/String;
8: StackMap locals:
StackMap stack:
aload 0
9: ldc "java.security.krb5.realm"
invokestatic sun.security.action.GetPropertyAction.privilegedGetProperty:(Ljava/lang/String;)Ljava/lang/String;
10: putfield sun.security.krb5.Config.defaultRealm:Ljava/lang/String;
11: aload 0
getfield sun.security.krb5.Config.defaultKDC:Ljava/lang/String;
ifnonnull 12
aload 0
getfield sun.security.krb5.Config.defaultRealm:Ljava/lang/String;
ifnonnull 13
12: StackMap locals:
StackMap stack:
aload 0
getfield sun.security.krb5.Config.defaultRealm:Ljava/lang/String;
ifnonnull 16
aload 0
getfield sun.security.krb5.Config.defaultKDC:Ljava/lang/String;
ifnull 16
13: StackMap locals:
StackMap stack:
new sun.security.krb5.KrbException
dup
14: ldc "System property java.security.krb5.kdc and java.security.krb5.realm both must be set or neither must be set."
15: invokespecial sun.security.krb5.KrbException.<init>:(Ljava/lang/String;)V
athrow
16: StackMap locals:
StackMap stack:
aload 0
invokevirtual sun.security.krb5.Config.getJavaFileName:()Ljava/lang/String;
astore 3
start local 3 17: aload 3
ifnull 23
18: aload 0
aload 3
invokevirtual sun.security.krb5.Config.loadConfigFile:(Ljava/lang/String;)Ljava/util/List;
astore 2
start local 2 19: aload 0
aload 0
aload 2
invokevirtual sun.security.krb5.Config.parseStanzaTable:(Ljava/util/List;)Ljava/util/Hashtable;
putfield sun.security.krb5.Config.stanzaTable:Ljava/util/Hashtable;
20: getstatic sun.security.krb5.Config.DEBUG:Z
ifeq 43
21: getstatic java.lang.System.out:Ljava/io/PrintStream;
ldc "Loaded from Java config"
invokevirtual java.io.PrintStream.println:(Ljava/lang/String;)V
22: goto 43
end local 2 23: StackMap locals: sun.security.krb5.Config java.lang.String top java.lang.String
StackMap stack:
iconst_0
istore 4
start local 4 24: invokestatic sun.security.krb5.Config.isMacosLionOrBetter:()Z
ifeq 31
25: aload 0
invokestatic sun.security.krb5.SCDynamicStoreConfig.getConfig:()Ljava/util/Hashtable;
putfield sun.security.krb5.Config.stanzaTable:Ljava/util/Hashtable;
26: getstatic sun.security.krb5.Config.DEBUG:Z
ifeq 28
27: getstatic java.lang.System.out:Ljava/io/PrintStream;
ldc "Loaded from SCDynamicStoreConfig"
invokevirtual java.io.PrintStream.println:(Ljava/lang/String;)V
28: StackMap locals: int
StackMap stack:
iconst_1
istore 4
29: goto 31
StackMap locals:
StackMap stack: java.io.IOException
30: pop
31: StackMap locals:
StackMap stack:
iload 4
ifne 43
32: aload 0
invokevirtual sun.security.krb5.Config.getNativeFileName:()Ljava/lang/String;
astore 3
33: aload 0
aload 3
invokevirtual sun.security.krb5.Config.loadConfigFile:(Ljava/lang/String;)Ljava/util/List;
astore 2
start local 2 34: aload 0
aload 0
aload 2
invokevirtual sun.security.krb5.Config.parseStanzaTable:(Ljava/util/List;)Ljava/util/Hashtable;
putfield sun.security.krb5.Config.stanzaTable:Ljava/util/Hashtable;
35: getstatic sun.security.krb5.Config.DEBUG:Z
ifeq 43
36: getstatic java.lang.System.out:Ljava/io/PrintStream;
ldc "Loaded from native config"
invokevirtual java.io.PrintStream.println:(Ljava/lang/String;)V
end local 4 end local 3 end local 2 37: goto 43
StackMap locals: sun.security.krb5.Config java.lang.String
StackMap stack: java.io.IOException
38: astore 2
start local 2 39: getstatic sun.security.krb5.Config.DEBUG:Z
ifeq 42
40: getstatic java.lang.System.out:Ljava/io/PrintStream;
ldc "Exception thrown in loading config:"
invokevirtual java.io.PrintStream.println:(Ljava/lang/String;)V
41: aload 2
getstatic java.lang.System.out:Ljava/io/PrintStream;
invokevirtual java.io.IOException.printStackTrace:(Ljava/io/PrintStream;)V
42: StackMap locals: java.io.IOException
StackMap stack:
new sun.security.krb5.KrbException
dup
ldc "krb5.conf loading failed"
invokespecial sun.security.krb5.KrbException.<init>:(Ljava/lang/String;)V
athrow
end local 2 43: StackMap locals:
StackMap stack:
return
end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 44 0 this Lsun/security/krb5/Config;
4 44 1 tmp Ljava/lang/String;
19 23 2 configFile Ljava/util/List<Ljava/lang/String;>;
34 37 2 configFile Ljava/util/List<Ljava/lang/String;>;
17 37 3 fileName Ljava/lang/String;
24 37 4 found Z
39 43 2 ioe Ljava/io/IOException;
Exception table:
from to target type
25 29 30 Class java.io.IOException
16 37 38 Class java.io.IOException
Exceptions:
throws sun.security.krb5.KrbException
public java.lang.String get(java.lang.String[]);
descriptor: ([Ljava/lang/String;)Ljava/lang/String;
flags: (0x0081) ACC_PUBLIC, ACC_VARARGS
Code:
stack=2, locals=3, args_size=2
start local 0 start local 1 0: aload 0
aload 1
invokevirtual sun.security.krb5.Config.getString0:([Ljava/lang/String;)Ljava/util/Vector;
astore 2
start local 2 1: aload 2
ifnonnull 2
aconst_null
areturn
2: StackMap locals: java.util.Vector
StackMap stack:
aload 2
invokevirtual java.util.Vector.firstElement:()Ljava/lang/Object;
checkcast java.lang.String
areturn
end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 3 0 this Lsun/security/krb5/Config;
0 3 1 keys [Ljava/lang/String;
1 3 2 v Ljava/util/Vector<Ljava/lang/String;>;
MethodParameters:
Name Flags
keys
public java.lang.Boolean getBooleanObject(java.lang.String[]);
descriptor: ([Ljava/lang/String;)Ljava/lang/Boolean;
flags: (0x0081) ACC_PUBLIC, ACC_VARARGS
Code:
stack=2, locals=4, args_size=2
start local 0 start local 1 0: aload 0
aload 1
invokevirtual sun.security.krb5.Config.get:([Ljava/lang/String;)Ljava/lang/String;
astore 2
start local 2 1: aload 2
ifnonnull 3
2: aconst_null
areturn
3: StackMap locals: java.lang.String
StackMap stack:
aload 2
getstatic java.util.Locale.US:Ljava/util/Locale;
invokevirtual java.lang.String.toLowerCase:(Ljava/util/Locale;)Ljava/lang/String;
dup
astore 3
invokevirtual java.lang.String.hashCode:()I
lookupswitch { // 4
3521: 4
119527: 5
3569038: 6
97196323: 7
default: 10
}
StackMap locals: java.lang.String
StackMap stack:
4: aload 3
ldc "no"
invokevirtual java.lang.String.equals:(Ljava/lang/Object;)Z
ifne 9
goto 10
StackMap locals:
StackMap stack:
5: aload 3
ldc "yes"
invokevirtual java.lang.String.equals:(Ljava/lang/Object;)Z
ifne 8
goto 10
StackMap locals:
StackMap stack:
6: aload 3
ldc "true"
invokevirtual java.lang.String.equals:(Ljava/lang/Object;)Z
ifne 8
goto 10
StackMap locals:
StackMap stack:
7: aload 3
ldc "false"
invokevirtual java.lang.String.equals:(Ljava/lang/Object;)Z
ifne 9
goto 10
8: StackMap locals:
StackMap stack:
getstatic java.lang.Boolean.TRUE:Ljava/lang/Boolean;
areturn
9: StackMap locals:
StackMap stack:
getstatic java.lang.Boolean.FALSE:Ljava/lang/Boolean;
areturn
10: StackMap locals:
StackMap stack:
aconst_null
areturn
end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 11 0 this Lsun/security/krb5/Config;
0 11 1 keys [Ljava/lang/String;
1 11 2 s Ljava/lang/String;
MethodParameters:
Name Flags
keys
public java.lang.String getAll(java.lang.String[]);
descriptor: ([Ljava/lang/String;)Ljava/lang/String;
flags: (0x0081) ACC_PUBLIC, ACC_VARARGS
Code:
stack=3, locals=7, args_size=2
start local 0 start local 1 0: aload 0
aload 1
invokevirtual sun.security.krb5.Config.getString0:([Ljava/lang/String;)Ljava/util/Vector;
astore 2
start local 2 1: aload 2
ifnonnull 2
aconst_null
areturn
2: StackMap locals: java.util.Vector
StackMap stack:
new java.lang.StringBuilder
dup
invokespecial java.lang.StringBuilder.<init>:()V
astore 3
start local 3 3: iconst_1
istore 4
start local 4 4: aload 2
invokevirtual java.util.Vector.iterator:()Ljava/util/Iterator;
astore 6
goto 12
StackMap locals: sun.security.krb5.Config java.lang.String[] java.util.Vector java.lang.StringBuilder int top java.util.Iterator
StackMap stack:
5: aload 6
invokeinterface java.util.Iterator.next:()Ljava/lang/Object;
checkcast java.lang.String
astore 5
start local 5 6: aload 5
ldc "[\\s,]+"
ldc " "
invokevirtual java.lang.String.replaceAll:(Ljava/lang/String;Ljava/lang/String;)Ljava/lang/String;
astore 5
7: iload 4
ifeq 11
8: aload 3
aload 5
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
pop
9: iconst_0
istore 4
10: goto 12
11: StackMap locals: sun.security.krb5.Config java.lang.String[] java.util.Vector java.lang.StringBuilder int java.lang.String java.util.Iterator
StackMap stack:
aload 3
bipush 32
invokevirtual java.lang.StringBuilder.append:(C)Ljava/lang/StringBuilder;
aload 5
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
pop
end local 5 12: StackMap locals: sun.security.krb5.Config java.lang.String[] java.util.Vector java.lang.StringBuilder int top java.util.Iterator
StackMap stack:
aload 6
invokeinterface java.util.Iterator.hasNext:()Z
ifne 5
13: aload 3
invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
areturn
end local 4 end local 3 end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 14 0 this Lsun/security/krb5/Config;
0 14 1 keys [Ljava/lang/String;
1 14 2 v Ljava/util/Vector<Ljava/lang/String;>;
3 14 3 sb Ljava/lang/StringBuilder;
4 14 4 first Z
6 12 5 s Ljava/lang/String;
MethodParameters:
Name Flags
keys
public boolean exists(java.lang.String[]);
descriptor: ([Ljava/lang/String;)Z
flags: (0x0081) ACC_PUBLIC, ACC_VARARGS
Code:
stack=2, locals=2, args_size=2
start local 0 start local 1 0: aload 0
aload 1
invokevirtual sun.security.krb5.Config.get0:([Ljava/lang/String;)Ljava/lang/Object;
ifnull 1
iconst_1
ireturn
StackMap locals:
StackMap stack:
1: iconst_0
ireturn
end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 2 0 this Lsun/security/krb5/Config;
0 2 1 keys [Ljava/lang/String;
MethodParameters:
Name Flags
keys
private java.util.Vector<java.lang.String> getString0(java.lang.String[]);
descriptor: ([Ljava/lang/String;)Ljava/util/Vector;
flags: (0x0082) ACC_PRIVATE, ACC_VARARGS
Code:
stack=3, locals=3, args_size=2
start local 0 start local 1 0: aload 0
aload 1
invokevirtual sun.security.krb5.Config.get0:([Ljava/lang/String;)Ljava/lang/Object;
checkcast java.util.Vector
1: areturn
2: StackMap locals:
StackMap stack: java.lang.ClassCastException
astore 2
start local 2 3: new java.lang.IllegalArgumentException
dup
aload 2
invokespecial java.lang.IllegalArgumentException.<init>:(Ljava/lang/Throwable;)V
athrow
end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 4 0 this Lsun/security/krb5/Config;
0 4 1 keys [Ljava/lang/String;
3 4 2 cce Ljava/lang/ClassCastException;
Exception table:
from to target type
0 1 2 Class java.lang.ClassCastException
Signature: ([Ljava/lang/String;)Ljava/util/Vector<Ljava/lang/String;>;
MethodParameters:
Name Flags
keys
private java.lang.Object get0(java.lang.String[]);
descriptor: ([Ljava/lang/String;)Ljava/lang/Object;
flags: (0x0082) ACC_PRIVATE, ACC_VARARGS
Code:
stack=3, locals=7, args_size=2
start local 0 start local 1 0: aload 0
getfield sun.security.krb5.Config.stanzaTable:Ljava/util/Hashtable;
astore 2
start local 2 1: aload 1
dup
astore 6
arraylength
istore 5
iconst_0
istore 4
goto 7
StackMap locals: sun.security.krb5.Config java.lang.String[] java.lang.Object top int int java.lang.String[]
StackMap stack:
2: aload 6
iload 4
aaload
astore 3
start local 3 3: aload 2
checkcast java.util.Hashtable
aload 3
invokevirtual java.util.Hashtable.get:(Ljava/lang/Object;)Ljava/lang/Object;
astore 2
4: aload 2
ifnonnull 6
5: aconst_null
areturn
end local 3 6: StackMap locals:
StackMap stack:
iinc 4 1
StackMap locals:
StackMap stack:
7: iload 4
iload 5
if_icmplt 2
8: aload 2
9: areturn
10: StackMap locals: sun.security.krb5.Config java.lang.String[] java.lang.Object
StackMap stack: java.lang.ClassCastException
astore 3
start local 3 11: new java.lang.IllegalArgumentException
dup
aload 3
invokespecial java.lang.IllegalArgumentException.<init>:(Ljava/lang/Throwable;)V
athrow
end local 3 end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 12 0 this Lsun/security/krb5/Config;
0 12 1 keys [Ljava/lang/String;
1 12 2 current Ljava/lang/Object;
3 6 3 key Ljava/lang/String;
11 12 3 cce Ljava/lang/ClassCastException;
Exception table:
from to target type
1 5 10 Class java.lang.ClassCastException
6 9 10 Class java.lang.ClassCastException
MethodParameters:
Name Flags
keys
public static int duration(java.lang.String);
descriptor: (Ljava/lang/String;)I
flags: (0x0009) ACC_PUBLIC, ACC_STATIC
Code:
stack=5, locals=6, args_size=1
start local 0 0: aload 0
invokevirtual java.lang.String.isEmpty:()Z
ifeq 2
1: new sun.security.krb5.KrbException
dup
ldc "Duration cannot be empty"
invokespecial sun.security.krb5.KrbException.<init>:(Ljava/lang/String;)V
athrow
2: StackMap locals:
StackMap stack:
aload 0
ldc "\\d+"
invokevirtual java.lang.String.matches:(Ljava/lang/String;)Z
ifeq 4
3: aload 0
invokestatic java.lang.Integer.parseInt:(Ljava/lang/String;)I
ireturn
4: StackMap locals:
StackMap stack:
ldc "(\\d+):(\\d+)(:(\\d+))?"
invokestatic java.util.regex.Pattern.compile:(Ljava/lang/String;)Ljava/util/regex/Pattern;
aload 0
invokevirtual java.util.regex.Pattern.matcher:(Ljava/lang/CharSequence;)Ljava/util/regex/Matcher;
astore 1
start local 1 5: aload 1
invokevirtual java.util.regex.Matcher.matches:()Z
ifeq 17
6: aload 1
iconst_1
invokevirtual java.util.regex.Matcher.group:(I)Ljava/lang/String;
invokestatic java.lang.Integer.parseInt:(Ljava/lang/String;)I
istore 2
start local 2 7: aload 1
iconst_2
invokevirtual java.util.regex.Matcher.group:(I)Ljava/lang/String;
invokestatic java.lang.Integer.parseInt:(Ljava/lang/String;)I
istore 3
start local 3 8: iload 3
bipush 60
if_icmplt 10
9: new sun.security.krb5.KrbException
dup
new java.lang.StringBuilder
dup
ldc "Illegal duration format "
invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
aload 0
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
invokespecial sun.security.krb5.KrbException.<init>:(Ljava/lang/String;)V
athrow
10: StackMap locals: java.util.regex.Matcher int int
StackMap stack:
iload 2
sipush 3600
imul
iload 3
bipush 60
imul
iadd
istore 4
start local 4 11: aload 1
iconst_4
invokevirtual java.util.regex.Matcher.group:(I)Ljava/lang/String;
ifnull 16
12: aload 1
iconst_4
invokevirtual java.util.regex.Matcher.group:(I)Ljava/lang/String;
invokestatic java.lang.Integer.parseInt:(Ljava/lang/String;)I
istore 5
start local 5 13: iload 5
bipush 60
if_icmplt 15
14: new sun.security.krb5.KrbException
dup
new java.lang.StringBuilder
dup
ldc "Illegal duration format "
invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
aload 0
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
invokespecial sun.security.krb5.KrbException.<init>:(Ljava/lang/String;)V
athrow
15: StackMap locals: int int
StackMap stack:
iload 4
iload 5
iadd
istore 4
end local 5 16: StackMap locals:
StackMap stack:
iload 4
ireturn
end local 4 end local 3 end local 2 17: StackMap locals:
StackMap stack:
ldc "((\\d+)d)?\\s*((\\d+)h)?\\s*((\\d+)m)?\\s*((\\d+)s)?"
18: iconst_2
19: invokestatic java.util.regex.Pattern.compile:(Ljava/lang/String;I)Ljava/util/regex/Pattern;
20: aload 0
invokevirtual java.util.regex.Pattern.matcher:(Ljava/lang/CharSequence;)Ljava/util/regex/Matcher;
21: astore 1
22: aload 1
invokevirtual java.util.regex.Matcher.matches:()Z
ifeq 33
23: iconst_0
istore 2
start local 2 24: aload 1
iconst_2
invokevirtual java.util.regex.Matcher.group:(I)Ljava/lang/String;
ifnull 26
25: iload 2
ldc 86400
aload 1
iconst_2
invokevirtual java.util.regex.Matcher.group:(I)Ljava/lang/String;
invokestatic java.lang.Integer.parseInt:(Ljava/lang/String;)I
imul
iadd
istore 2
26: StackMap locals: int
StackMap stack:
aload 1
iconst_4
invokevirtual java.util.regex.Matcher.group:(I)Ljava/lang/String;
ifnull 28
27: iload 2
sipush 3600
aload 1
iconst_4
invokevirtual java.util.regex.Matcher.group:(I)Ljava/lang/String;
invokestatic java.lang.Integer.parseInt:(Ljava/lang/String;)I
imul
iadd
istore 2
28: StackMap locals:
StackMap stack:
aload 1
bipush 6
invokevirtual java.util.regex.Matcher.group:(I)Ljava/lang/String;
ifnull 30
29: iload 2
bipush 60
aload 1
bipush 6
invokevirtual java.util.regex.Matcher.group:(I)Ljava/lang/String;
invokestatic java.lang.Integer.parseInt:(Ljava/lang/String;)I
imul
iadd
istore 2
30: StackMap locals:
StackMap stack:
aload 1
bipush 8
invokevirtual java.util.regex.Matcher.group:(I)Ljava/lang/String;
ifnull 32
31: iload 2
aload 1
bipush 8
invokevirtual java.util.regex.Matcher.group:(I)Ljava/lang/String;
invokestatic java.lang.Integer.parseInt:(Ljava/lang/String;)I
iadd
istore 2
32: StackMap locals:
StackMap stack:
iload 2
ireturn
end local 2 33: StackMap locals:
StackMap stack:
new sun.security.krb5.KrbException
dup
new java.lang.StringBuilder
dup
ldc "Illegal duration format "
invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
aload 0
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
invokespecial sun.security.krb5.KrbException.<init>:(Ljava/lang/String;)V
athrow
end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 34 0 s Ljava/lang/String;
5 34 1 m Ljava/util/regex/Matcher;
7 17 2 hr I
8 17 3 min I
11 17 4 result I
13 16 5 sec I
24 33 2 result I
Exceptions:
throws sun.security.krb5.KrbException
MethodParameters:
Name Flags
s
public int getIntValue(java.lang.String[]);
descriptor: ([Ljava/lang/String;)I
flags: (0x0081) ACC_PUBLIC, ACC_VARARGS
Code:
stack=4, locals=5, args_size=2
start local 0 start local 1 0: aload 0
aload 1
invokevirtual sun.security.krb5.Config.get:([Ljava/lang/String;)Ljava/lang/String;
astore 2
start local 2 1: ldc -2147483648
istore 3
start local 3 2: aload 2
ifnull 15
3: aload 0
aload 2
invokevirtual sun.security.krb5.Config.parseIntValue:(Ljava/lang/String;)I
istore 3
4: goto 15
StackMap locals: sun.security.krb5.Config java.lang.String[] java.lang.String int
StackMap stack: java.lang.NumberFormatException
5: astore 4
start local 4 6: getstatic sun.security.krb5.Config.DEBUG:Z
ifeq 14
7: getstatic java.lang.System.out:Ljava/io/PrintStream;
new java.lang.StringBuilder
dup
ldc "Exception in getting value of "
invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
8: aload 1
invokestatic java.util.Arrays.toString:([Ljava/lang/Object;)Ljava/lang/String;
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
ldc " "
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
9: aload 4
invokevirtual java.lang.NumberFormatException.getMessage:()Ljava/lang/String;
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
10: invokevirtual java.io.PrintStream.println:(Ljava/lang/String;)V
11: getstatic java.lang.System.out:Ljava/io/PrintStream;
new java.lang.StringBuilder
dup
ldc "Setting "
invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
aload 1
invokestatic java.util.Arrays.toString:([Ljava/lang/Object;)Ljava/lang/String;
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
12: ldc " to minimum value"
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
13: invokevirtual java.io.PrintStream.println:(Ljava/lang/String;)V
14: StackMap locals: java.lang.NumberFormatException
StackMap stack:
ldc -2147483648
istore 3
end local 4 15: StackMap locals:
StackMap stack:
iload 3
ireturn
end local 3 end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 16 0 this Lsun/security/krb5/Config;
0 16 1 keys [Ljava/lang/String;
1 16 2 result Ljava/lang/String;
2 16 3 value I
6 15 4 e Ljava/lang/NumberFormatException;
Exception table:
from to target type
3 4 5 Class java.lang.NumberFormatException
MethodParameters:
Name Flags
keys
private int parseIntValue(java.lang.String);
descriptor: (Ljava/lang/String;)I
flags: (0x0002) ACC_PRIVATE
Code:
stack=4, locals=7, args_size=2
start local 0 start local 1 0: iconst_0
istore 2
start local 2 1: aload 1
ldc "+"
invokevirtual java.lang.String.startsWith:(Ljava/lang/String;)Z
ifeq 4
2: aload 1
iconst_1
invokevirtual java.lang.String.substring:(I)Ljava/lang/String;
astore 3
start local 3 3: aload 3
invokestatic java.lang.Integer.parseInt:(Ljava/lang/String;)I
ireturn
end local 3 4: StackMap locals: int
StackMap stack:
aload 1
ldc "0x"
invokevirtual java.lang.String.startsWith:(Ljava/lang/String;)Z
ifeq 50
5: aload 1
iconst_2
invokevirtual java.lang.String.substring:(I)Ljava/lang/String;
astore 3
start local 3 6: aload 3
invokevirtual java.lang.String.toCharArray:()[C
astore 4
start local 4 7: aload 4
arraylength
bipush 8
if_icmple 9
8: new java.lang.NumberFormatException
dup
invokespecial java.lang.NumberFormatException.<init>:()V
athrow
9: StackMap locals: java.lang.String char[]
StackMap stack:
iconst_0
istore 5
start local 5 10: goto 47
11: StackMap locals: int
StackMap stack:
aload 4
arraylength
iload 5
isub
iconst_1
isub
istore 6
start local 6 12: aload 4
iload 5
caload
tableswitch { // 48 - 102
48: 13
49: 15
50: 17
51: 19
52: 21
53: 23
54: 25
55: 27
56: 29
57: 31
58: 45
59: 45
60: 45
61: 45
62: 45
63: 45
64: 45
65: 33
66: 35
67: 37
68: 39
69: 41
70: 43
71: 45
72: 45
73: 45
74: 45
75: 45
76: 45
77: 45
78: 45
79: 45
80: 45
81: 45
82: 45
83: 45
84: 45
85: 45
86: 45
87: 45
88: 45
89: 45
90: 45
91: 45
92: 45
93: 45
94: 45
95: 45
96: 45
97: 33
98: 35
99: 37
100: 39
101: 41
102: 43
default: 45
}
13: StackMap locals: int
StackMap stack:
iinc 2 0
14: goto 46
15: StackMap locals:
StackMap stack:
iload 2
iconst_1
aload 0
iload 6
invokevirtual sun.security.krb5.Config.getBase:(I)I
imul
iadd
istore 2
16: goto 46
17: StackMap locals:
StackMap stack:
iload 2
iconst_2
aload 0
iload 6
invokevirtual sun.security.krb5.Config.getBase:(I)I
imul
iadd
istore 2
18: goto 46
19: StackMap locals:
StackMap stack:
iload 2
iconst_3
aload 0
iload 6
invokevirtual sun.security.krb5.Config.getBase:(I)I
imul
iadd
istore 2
20: goto 46
21: StackMap locals:
StackMap stack:
iload 2
iconst_4
aload 0
iload 6
invokevirtual sun.security.krb5.Config.getBase:(I)I
imul
iadd
istore 2
22: goto 46
23: StackMap locals:
StackMap stack:
iload 2
iconst_5
aload 0
iload 6
invokevirtual sun.security.krb5.Config.getBase:(I)I
imul
iadd
istore 2
24: goto 46
25: StackMap locals:
StackMap stack:
iload 2
bipush 6
aload 0
iload 6
invokevirtual sun.security.krb5.Config.getBase:(I)I
imul
iadd
istore 2
26: goto 46
27: StackMap locals:
StackMap stack:
iload 2
bipush 7
aload 0
iload 6
invokevirtual sun.security.krb5.Config.getBase:(I)I
imul
iadd
istore 2
28: goto 46
29: StackMap locals:
StackMap stack:
iload 2
bipush 8
aload 0
iload 6
invokevirtual sun.security.krb5.Config.getBase:(I)I
imul
iadd
istore 2
30: goto 46
31: StackMap locals:
StackMap stack:
iload 2
bipush 9
aload 0
iload 6
invokevirtual sun.security.krb5.Config.getBase:(I)I
imul
iadd
istore 2
32: goto 46
33: StackMap locals:
StackMap stack:
iload 2
bipush 10
aload 0
iload 6
invokevirtual sun.security.krb5.Config.getBase:(I)I
imul
iadd
istore 2
34: goto 46
35: StackMap locals:
StackMap stack:
iload 2
bipush 11
aload 0
iload 6
invokevirtual sun.security.krb5.Config.getBase:(I)I
imul
iadd
istore 2
36: goto 46
37: StackMap locals:
StackMap stack:
iload 2
bipush 12
aload 0
iload 6
invokevirtual sun.security.krb5.Config.getBase:(I)I
imul
iadd
istore 2
38: goto 46
39: StackMap locals:
StackMap stack:
iload 2
bipush 13
aload 0
iload 6
invokevirtual sun.security.krb5.Config.getBase:(I)I
imul
iadd
istore 2
40: goto 46
41: StackMap locals:
StackMap stack:
iload 2
bipush 14
aload 0
iload 6
invokevirtual sun.security.krb5.Config.getBase:(I)I
imul
iadd
istore 2
42: goto 46
43: StackMap locals:
StackMap stack:
iload 2
bipush 15
aload 0
iload 6
invokevirtual sun.security.krb5.Config.getBase:(I)I
imul
iadd
istore 2
44: goto 46
45: StackMap locals:
StackMap stack:
new java.lang.NumberFormatException
dup
ldc "Invalid numerical format"
invokespecial java.lang.NumberFormatException.<init>:(Ljava/lang/String;)V
athrow
end local 6 46: StackMap locals:
StackMap stack:
iinc 5 1
StackMap locals:
StackMap stack:
47: iload 5
aload 4
arraylength
if_icmplt 11
end local 5 48: iload 2
ifge 51
49: new java.lang.NumberFormatException
dup
ldc "Data overflow."
invokespecial java.lang.NumberFormatException.<init>:(Ljava/lang/String;)V
athrow
end local 4 end local 3 50: StackMap locals:
StackMap stack:
aload 1
invokestatic java.lang.Integer.parseInt:(Ljava/lang/String;)I
istore 2
51: StackMap locals:
StackMap stack:
iload 2
ireturn
end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 52 0 this Lsun/security/krb5/Config;
0 52 1 input Ljava/lang/String;
1 52 2 value I
3 4 3 temp Ljava/lang/String;
6 50 3 temp Ljava/lang/String;
7 50 4 chars [C
10 48 5 i I
12 46 6 index I
Exceptions:
throws java.lang.NumberFormatException
MethodParameters:
Name Flags
input
private int getBase(int);
descriptor: (I)I
flags: (0x0002) ACC_PRIVATE
Code:
stack=2, locals=4, args_size=2
start local 0 start local 1 0: bipush 16
istore 2
start local 2 1: iload 1
tableswitch { // 0 - 3
0: 2
1: 4
2: 6
3: 8
default: 10
}
2: StackMap locals: int
StackMap stack:
iconst_1
istore 2
3: goto 15
4: StackMap locals:
StackMap stack:
bipush 16
istore 2
5: goto 15
6: StackMap locals:
StackMap stack:
sipush 256
istore 2
7: goto 15
8: StackMap locals:
StackMap stack:
sipush 4096
istore 2
9: goto 15
10: StackMap locals:
StackMap stack:
iconst_1
istore 3
start local 3 11: goto 14
12: StackMap locals: int
StackMap stack:
iload 2
bipush 16
imul
istore 2
13: iinc 3 1
StackMap locals:
StackMap stack:
14: iload 3
iload 1
if_icmplt 12
end local 3 15: StackMap locals:
StackMap stack:
iload 2
ireturn
end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 16 0 this Lsun/security/krb5/Config;
0 16 1 i I
1 16 2 result I
11 15 3 j I
MethodParameters:
Name Flags
i
private static java.lang.Void readConfigFileLines(java.nio.file.Path, java.util.List<java.lang.String>, java.util.Set<java.nio.file.Path>);
descriptor: (Ljava/nio/file/Path;Ljava/util/List;Ljava/util/Set;)Ljava/lang/Void;
flags: (0x000a) ACC_PRIVATE, ACC_STATIC
Code:
stack=4, locals=14, args_size=3
start local 0 start local 1 start local 2 0: getstatic sun.security.krb5.Config.DEBUG:Z
ifeq 2
1: getstatic java.lang.System.out:Ljava/io/PrintStream;
new java.lang.StringBuilder
dup
ldc "Loading krb5 profile at "
invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
aload 0
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/Object;)Ljava/lang/StringBuilder;
invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
invokevirtual java.io.PrintStream.println:(Ljava/lang/String;)V
2: StackMap locals:
StackMap stack:
aload 0
invokeinterface java.nio.file.Path.isAbsolute:()Z
ifne 4
3: new java.io.IOException
dup
ldc "Profile path not absolute"
invokespecial java.io.IOException.<init>:(Ljava/lang/String;)V
athrow
4: StackMap locals:
StackMap stack:
aload 2
aload 0
invokeinterface java.util.Set.add:(Ljava/lang/Object;)Z
ifne 6
5: new java.io.IOException
dup
ldc "Profile path included more than once"
invokespecial java.io.IOException.<init>:(Ljava/lang/String;)V
athrow
6: StackMap locals:
StackMap stack:
aload 0
invokestatic java.nio.file.Files.readAllLines:(Ljava/nio/file/Path;)Ljava/util/List;
astore 3
start local 3 7: iconst_1
istore 4
start local 4 8: aload 3
invokeinterface java.util.List.iterator:()Ljava/util/Iterator;
astore 6
goto 48
StackMap locals: java.nio.file.Path java.util.List java.util.Set java.util.List int top java.util.Iterator
StackMap stack:
9: aload 6
invokeinterface java.util.Iterator.next:()Ljava/lang/Object;
checkcast java.lang.String
astore 5
start local 5 10: aload 5
invokevirtual java.lang.String.trim:()Ljava/lang/String;
astore 5
11: aload 5
invokevirtual java.lang.String.isEmpty:()Z
ifne 48
aload 5
ldc "#"
invokevirtual java.lang.String.startsWith:(Ljava/lang/String;)Z
ifne 48
aload 5
ldc ";"
invokevirtual java.lang.String.startsWith:(Ljava/lang/String;)Z
ifeq 13
12: goto 48
13: StackMap locals: java.nio.file.Path java.util.List java.util.Set java.util.List int java.lang.String java.util.Iterator
StackMap stack:
iload 4
ifeq 47
14: aload 5
iconst_0
invokevirtual java.lang.String.charAt:(I)C
bipush 91
if_icmpne 18
15: iconst_0
istore 4
16: aload 1
aload 5
invokeinterface java.util.List.add:(Ljava/lang/Object;)Z
pop
17: goto 48
StackMap locals:
StackMap stack:
18: aload 5
ldc "includedir "
invokevirtual java.lang.String.startsWith:(Ljava/lang/String;)Z
ifeq 39
19: aload 5
ldc "includedir "
invokevirtual java.lang.String.length:()I
invokevirtual java.lang.String.substring:(I)Ljava/lang/String;
invokevirtual java.lang.String.trim:()Ljava/lang/String;
iconst_0
anewarray java.lang.String
20: invokestatic java.nio.file.Paths.get:(Ljava/lang/String;[Ljava/lang/String;)Ljava/nio/file/Path;
astore 7
start local 7 21: aconst_null
astore 8
aconst_null
astore 9
22: aload 7
invokestatic java.nio.file.Files.newDirectoryStream:(Ljava/nio/file/Path;)Ljava/nio/file/DirectoryStream;
23: astore 10
start local 10 24: aload 10
invokeinterface java.nio.file.DirectoryStream.iterator:()Ljava/util/Iterator;
astore 12
goto 32
StackMap locals: java.nio.file.Path java.util.List java.util.Set java.util.List int java.lang.String java.util.Iterator java.nio.file.Path java.lang.Throwable java.lang.Throwable java.nio.file.DirectoryStream top java.util.Iterator
StackMap stack:
25: aload 12
invokeinterface java.util.Iterator.next:()Ljava/lang/Object;
checkcast java.nio.file.Path
astore 11
start local 11 26: aload 11
iconst_0
anewarray java.nio.file.LinkOption
invokestatic java.nio.file.Files.isDirectory:(Ljava/nio/file/Path;[Ljava/nio/file/LinkOption;)Z
ifeq 27
goto 32
27: StackMap locals: java.nio.file.Path java.util.List java.util.Set java.util.List int java.lang.String java.util.Iterator java.nio.file.Path java.lang.Throwable java.lang.Throwable java.nio.file.DirectoryStream java.nio.file.Path java.util.Iterator
StackMap stack:
aload 11
invokeinterface java.nio.file.Path.getFileName:()Ljava/nio/file/Path;
invokeinterface java.nio.file.Path.toString:()Ljava/lang/String;
astore 13
start local 13 28: aload 13
ldc "[a-zA-Z0-9_-]+"
invokevirtual java.lang.String.matches:(Ljava/lang/String;)Z
ifne 31
29: aload 13
ldc "."
invokevirtual java.lang.String.startsWith:(Ljava/lang/String;)Z
ifne 32
30: aload 13
ldc ".conf"
invokevirtual java.lang.String.endsWith:(Ljava/lang/String;)Z
ifeq 32
31: StackMap locals: java.lang.String
StackMap stack:
aload 11
aload 1
aload 2
invokestatic sun.security.krb5.Config.readConfigFileLines:(Ljava/nio/file/Path;Ljava/util/List;Ljava/util/Set;)Ljava/lang/Void;
pop
end local 13 end local 11 32: StackMap locals: java.nio.file.Path java.util.List java.util.Set java.util.List int java.lang.String java.util.Iterator java.nio.file.Path java.lang.Throwable java.lang.Throwable java.nio.file.DirectoryStream top java.util.Iterator
StackMap stack:
aload 12
invokeinterface java.util.Iterator.hasNext:()Z
ifne 25
33: aload 10
ifnull 48
aload 10
invokeinterface java.nio.file.DirectoryStream.close:()V
goto 48
StackMap locals: java.nio.file.Path java.util.List java.util.Set java.util.List int java.lang.String java.util.Iterator java.nio.file.Path java.lang.Throwable java.lang.Throwable java.nio.file.DirectoryStream
StackMap stack: java.lang.Throwable
34: astore 8
aload 10
ifnull 35
aload 10
invokeinterface java.nio.file.DirectoryStream.close:()V
end local 10 StackMap locals:
StackMap stack:
35: aload 8
athrow
StackMap locals:
StackMap stack: java.lang.Throwable
36: astore 9
aload 8
ifnonnull 37
aload 9
astore 8
goto 38
StackMap locals:
StackMap stack:
37: aload 8
aload 9
if_acmpeq 38
aload 8
aload 9
invokevirtual java.lang.Throwable.addSuppressed:(Ljava/lang/Throwable;)V
StackMap locals:
StackMap stack:
38: aload 8
athrow
end local 7 39: StackMap locals:
StackMap stack:
aload 5
ldc "include "
invokevirtual java.lang.String.startsWith:(Ljava/lang/String;)Z
ifeq 44
40: aload 5
ldc "include "
invokevirtual java.lang.String.length:()I
invokevirtual java.lang.String.substring:(I)Ljava/lang/String;
invokevirtual java.lang.String.trim:()Ljava/lang/String;
iconst_0
anewarray java.lang.String
invokestatic java.nio.file.Paths.get:(Ljava/lang/String;[Ljava/lang/String;)Ljava/nio/file/Path;
41: aload 1
aload 2
42: invokestatic sun.security.krb5.Config.readConfigFileLines:(Ljava/nio/file/Path;Ljava/util/List;Ljava/util/Set;)Ljava/lang/Void;
pop
43: goto 48
44: StackMap locals:
StackMap stack:
getstatic sun.security.krb5.Config.DEBUG:Z
ifeq 48
45: getstatic java.lang.System.out:Ljava/io/PrintStream;
new java.lang.StringBuilder
dup
ldc "Unknown directive: "
invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
aload 5
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
invokevirtual java.io.PrintStream.println:(Ljava/lang/String;)V
46: goto 48
47: StackMap locals:
StackMap stack:
aload 1
aload 5
invokeinterface java.util.List.add:(Ljava/lang/Object;)Z
pop
end local 5 48: StackMap locals: java.nio.file.Path java.util.List java.util.Set java.util.List int top java.util.Iterator
StackMap stack:
aload 6
invokeinterface java.util.Iterator.hasNext:()Z
ifne 9
49: aconst_null
areturn
end local 4 end local 3 end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 50 0 file Ljava/nio/file/Path;
0 50 1 content Ljava/util/List<Ljava/lang/String;>;
0 50 2 dups Ljava/util/Set<Ljava/nio/file/Path;>;
7 50 3 lines Ljava/util/List<Ljava/lang/String;>;
8 50 4 inDirectives Z
10 48 5 line Ljava/lang/String;
21 39 7 dir Ljava/nio/file/Path;
24 35 10 files Ljava/nio/file/DirectoryStream<Ljava/nio/file/Path;>;
26 32 11 p Ljava/nio/file/Path;
28 32 13 name Ljava/lang/String;
Exception table:
from to target type
24 33 34 any
22 36 36 any
Exceptions:
throws java.io.IOException
Signature: (Ljava/nio/file/Path;Ljava/util/List<Ljava/lang/String;>;Ljava/util/Set<Ljava/nio/file/Path;>;)Ljava/lang/Void;
MethodParameters:
Name Flags
file
content
dups
private java.util.List<java.lang.String> loadConfigFile(java.lang.String);
descriptor: (Ljava/lang/String;)Ljava/util/List;
flags: (0x0002) ACC_PRIVATE
Code:
stack=9, locals=9, args_size=2
start local 0 start local 1 0: new java.util.ArrayList
dup
invokespecial java.util.ArrayList.<init>:()V
astore 2
start local 2 1: new java.util.ArrayList
dup
invokespecial java.util.ArrayList.<init>:()V
astore 3
start local 3 2: new java.util.HashSet
dup
invokespecial java.util.HashSet.<init>:()V
astore 4
start local 4 3: aload 1
invokedynamic run(Ljava/lang/String;)Ljava/security/PrivilegedAction;
Bootstrap: invokestatic java.lang.invoke.LambdaMetafactory.metafactory:(Ljava/lang/invoke/MethodHandles$Lookup;Ljava/lang/String;Ljava/lang/invoke/MethodType;Ljava/lang/invoke/MethodType;Ljava/lang/invoke/MethodHandle;Ljava/lang/invoke/MethodType;)Ljava/lang/invoke/CallSite;
Method arguments:
()Ljava/lang/Object;
sun/security/krb5/Config.lambda$0(Ljava/lang/String;)Ljava/nio/file/Path; (6)
()Ljava/nio/file/Path;
4: aconst_null
iconst_1
anewarray java.security.Permission
dup
iconst_0
5: new java.util.PropertyPermission
dup
ldc "user.dir"
ldc "read"
invokespecial java.util.PropertyPermission.<init>:(Ljava/lang/String;Ljava/lang/String;)V
aastore
6: invokestatic java.security.AccessController.doPrivileged:(Ljava/security/PrivilegedAction;Ljava/security/AccessControlContext;[Ljava/security/Permission;)Ljava/lang/Object;
checkcast java.nio.file.Path
astore 5
start local 5 7: new sun.security.krb5.Config$1
dup
aload 0
aload 1
aload 5
aload 3
aload 4
invokespecial sun.security.krb5.Config$1.<init>:(Lsun/security/krb5/Config;Ljava/lang/String;Ljava/nio/file/Path;Ljava/util/List;Ljava/util/Set;)V
8: aconst_null
iconst_1
anewarray java.security.Permission
dup
iconst_0
9: new java.io.FilePermission
dup
ldc "<<ALL FILES>>"
ldc "read"
invokespecial java.io.FilePermission.<init>:(Ljava/lang/String;Ljava/lang/String;)V
aastore
10: invokestatic java.security.AccessController.doPrivileged:(Ljava/security/PrivilegedExceptionAction;Ljava/security/AccessControlContext;[Ljava/security/Permission;)Ljava/lang/Object;
pop
end local 5 11: goto 14
StackMap locals: sun.security.krb5.Config java.lang.String java.util.List java.util.List java.util.Set
StackMap stack: java.security.PrivilegedActionException
12: astore 5
start local 5 13: aload 5
invokevirtual java.security.PrivilegedActionException.getException:()Ljava/lang/Exception;
checkcast java.io.IOException
athrow
end local 5 14: StackMap locals:
StackMap stack:
aconst_null
astore 5
start local 5 15: aload 3
invokeinterface java.util.List.iterator:()Ljava/util/Iterator;
astore 7
goto 52
StackMap locals: sun.security.krb5.Config java.lang.String java.util.List java.util.List java.util.Set java.lang.String top java.util.Iterator
StackMap stack:
16: aload 7
invokeinterface java.util.Iterator.next:()Ljava/lang/Object;
checkcast java.lang.String
astore 6
start local 6 17: aload 6
ldc "["
invokevirtual java.lang.String.startsWith:(Ljava/lang/String;)Z
ifeq 36
18: aload 6
ldc "]"
invokevirtual java.lang.String.endsWith:(Ljava/lang/String;)Z
ifne 22
19: new sun.security.krb5.KrbException
dup
new java.lang.StringBuilder
dup
ldc "Illegal config content:"
invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
20: aload 6
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
21: invokespecial sun.security.krb5.KrbException.<init>:(Ljava/lang/String;)V
athrow
22: StackMap locals: sun.security.krb5.Config java.lang.String java.util.List java.util.List java.util.Set java.lang.String java.lang.String java.util.Iterator
StackMap stack:
aload 5
ifnull 25
23: aload 2
aload 5
invokeinterface java.util.List.add:(Ljava/lang/Object;)Z
pop
24: aload 2
ldc "}"
invokeinterface java.util.List.add:(Ljava/lang/Object;)Z
pop
25: StackMap locals:
StackMap stack:
aload 6
26: iconst_1
aload 6
invokevirtual java.lang.String.length:()I
iconst_1
isub
27: invokevirtual java.lang.String.substring:(II)Ljava/lang/String;
28: invokevirtual java.lang.String.trim:()Ljava/lang/String;
29: astore 8
start local 8 30: aload 8
invokevirtual java.lang.String.isEmpty:()Z
ifeq 34
31: new sun.security.krb5.KrbException
dup
new java.lang.StringBuilder
dup
ldc "Illegal config content:"
invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
32: aload 6
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
33: invokespecial sun.security.krb5.KrbException.<init>:(Ljava/lang/String;)V
athrow
34: StackMap locals: java.lang.String
StackMap stack:
new java.lang.StringBuilder
dup
aload 8
invokestatic java.lang.String.valueOf:(Ljava/lang/Object;)Ljava/lang/String;
invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
ldc " = {"
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
astore 5
end local 8 35: goto 52
StackMap locals:
StackMap stack:
36: aload 6
ldc "{"
invokevirtual java.lang.String.startsWith:(Ljava/lang/String;)Z
ifeq 46
37: aload 5
ifnonnull 41
38: new sun.security.krb5.KrbException
dup
39: ldc "Config file should not start with \"{\""
40: invokespecial sun.security.krb5.KrbException.<init>:(Ljava/lang/String;)V
athrow
41: StackMap locals:
StackMap stack:
new java.lang.StringBuilder
dup
aload 5
invokestatic java.lang.String.valueOf:(Ljava/lang/Object;)Ljava/lang/String;
invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
ldc " {"
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
astore 5
42: aload 6
invokevirtual java.lang.String.length:()I
iconst_1
if_icmple 52
43: aload 2
aload 5
invokeinterface java.util.List.add:(Ljava/lang/Object;)Z
pop
44: aload 6
iconst_1
invokevirtual java.lang.String.substring:(I)Ljava/lang/String;
invokevirtual java.lang.String.trim:()Ljava/lang/String;
astore 5
45: goto 52
46: StackMap locals:
StackMap stack:
aload 5
ifnonnull 50
47: new sun.security.krb5.KrbException
dup
48: ldc "Config file must starts with a section"
49: invokespecial sun.security.krb5.KrbException.<init>:(Ljava/lang/String;)V
athrow
50: StackMap locals:
StackMap stack:
aload 2
aload 5
invokeinterface java.util.List.add:(Ljava/lang/Object;)Z
pop
51: aload 6
astore 5
end local 6 52: StackMap locals: sun.security.krb5.Config java.lang.String java.util.List java.util.List java.util.Set java.lang.String top java.util.Iterator
StackMap stack:
aload 7
invokeinterface java.util.Iterator.hasNext:()Z
ifne 16
53: aload 5
ifnull 56
54: aload 2
aload 5
invokeinterface java.util.List.add:(Ljava/lang/Object;)Z
pop
55: aload 2
ldc "}"
invokeinterface java.util.List.add:(Ljava/lang/Object;)Z
pop
56: StackMap locals: sun.security.krb5.Config java.lang.String java.util.List java.util.List java.util.Set java.lang.String
StackMap stack:
aload 2
areturn
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 57 0 this Lsun/security/krb5/Config;
0 57 1 fileName Ljava/lang/String;
1 57 2 result Ljava/util/List<Ljava/lang/String;>;
2 57 3 raw Ljava/util/List<Ljava/lang/String;>;
3 57 4 dupsCheck Ljava/util/Set<Ljava/nio/file/Path;>;
7 11 5 fullp Ljava/nio/file/Path;
13 14 5 pe Ljava/security/PrivilegedActionException;
15 57 5 previous Ljava/lang/String;
17 52 6 line Ljava/lang/String;
30 35 8 title Ljava/lang/String;
Exception table:
from to target type
3 11 12 Class java.security.PrivilegedActionException
Exceptions:
throws java.io.IOException, sun.security.krb5.KrbException
Signature: (Ljava/lang/String;)Ljava/util/List<Ljava/lang/String;>;
MethodParameters:
Name Flags
fileName final
private java.util.Hashtable<java.lang.String, java.lang.Object> parseStanzaTable(java.util.List<java.lang.String>);
descriptor: (Ljava/util/List;)Ljava/util/Hashtable;
flags: (0x0002) ACC_PRIVATE
Code:
stack=5, locals=10, args_size=2
start local 0 start local 1 0: aload 0
getfield sun.security.krb5.Config.stanzaTable:Ljava/util/Hashtable;
astore 2
start local 2 1: aload 1
invokeinterface java.util.List.iterator:()Ljava/util/Iterator;
astore 4
goto 35
StackMap locals: sun.security.krb5.Config java.util.List java.util.Hashtable top java.util.Iterator
StackMap stack:
2: aload 4
invokeinterface java.util.Iterator.next:()Ljava/lang/Object;
checkcast java.lang.String
astore 3
start local 3 3: aload 3
ldc "}"
invokevirtual java.lang.String.equals:(Ljava/lang/Object;)Z
ifeq 7
4: aload 2
ldc " PARENT "
invokevirtual java.util.Hashtable.remove:(Ljava/lang/Object;)Ljava/lang/Object;
checkcast java.util.Hashtable
astore 2
5: aload 2
ifnonnull 35
6: new sun.security.krb5.KrbException
dup
ldc "Unmatched close brace"
invokespecial sun.security.krb5.KrbException.<init>:(Ljava/lang/String;)V
athrow
7: StackMap locals: sun.security.krb5.Config java.util.List java.util.Hashtable java.lang.String java.util.Iterator
StackMap stack:
aload 3
bipush 61
invokevirtual java.lang.String.indexOf:(I)I
istore 5
start local 5 8: iload 5
ifge 10
9: new sun.security.krb5.KrbException
dup
new java.lang.StringBuilder
dup
ldc "Illegal config content:"
invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
aload 3
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
invokespecial sun.security.krb5.KrbException.<init>:(Ljava/lang/String;)V
athrow
10: StackMap locals: int
StackMap stack:
aload 3
iconst_0
iload 5
invokevirtual java.lang.String.substring:(II)Ljava/lang/String;
invokevirtual java.lang.String.trim:()Ljava/lang/String;
astore 6
start local 6 11: aload 3
iload 5
iconst_1
iadd
invokevirtual java.lang.String.substring:(I)Ljava/lang/String;
invokestatic sun.security.krb5.Config.unquote:(Ljava/lang/String;)Ljava/lang/String;
astore 7
start local 7 12: aload 7
ldc "{"
invokevirtual java.lang.String.equals:(Ljava/lang/Object;)Z
ifeq 26
13: aload 2
aload 0
getfield sun.security.krb5.Config.stanzaTable:Ljava/util/Hashtable;
if_acmpne 15
14: aload 6
getstatic java.util.Locale.US:Ljava/util/Locale;
invokevirtual java.lang.String.toLowerCase:(Ljava/util/Locale;)Ljava/lang/String;
astore 6
15: StackMap locals: java.lang.String java.lang.String
StackMap stack:
aload 2
aload 6
invokevirtual java.util.Hashtable.containsKey:(Ljava/lang/Object;)Z
ifeq 21
16: aload 2
aload 0
getfield sun.security.krb5.Config.stanzaTable:Ljava/util/Hashtable;
if_acmpne 19
17: aload 2
aload 6
invokevirtual java.util.Hashtable.get:(Ljava/lang/Object;)Ljava/lang/Object;
checkcast java.util.Hashtable
astore 8
start local 8 18: goto 23
end local 8 19: StackMap locals:
StackMap stack:
new java.util.Hashtable
dup
invokespecial java.util.Hashtable.<init>:()V
astore 8
start local 8 20: goto 23
end local 8 21: StackMap locals:
StackMap stack:
new java.util.Hashtable
dup
invokespecial java.util.Hashtable.<init>:()V
astore 8
start local 8 22: aload 2
aload 6
aload 8
invokevirtual java.util.Hashtable.put:(Ljava/lang/Object;Ljava/lang/Object;)Ljava/lang/Object;
pop
23: StackMap locals: java.util.Hashtable
StackMap stack:
aload 8
ldc " PARENT "
aload 2
invokevirtual java.util.Hashtable.put:(Ljava/lang/Object;Ljava/lang/Object;)Ljava/lang/Object;
pop
24: aload 8
astore 2
end local 8 25: goto 35
26: StackMap locals:
StackMap stack:
aload 2
aload 6
invokevirtual java.util.Hashtable.containsKey:(Ljava/lang/Object;)Z
ifeq 32
27: aload 2
aload 6
invokevirtual java.util.Hashtable.get:(Ljava/lang/Object;)Ljava/lang/Object;
astore 9
start local 9 28: aload 9
instanceof java.util.Vector
ifeq 35
29: aload 9
checkcast java.util.Vector
astore 8
start local 8 30: aload 8
aload 7
invokevirtual java.util.Vector.add:(Ljava/lang/Object;)Z
pop
end local 9 end local 8 31: goto 35
32: StackMap locals:
StackMap stack:
new java.util.Vector
dup
invokespecial java.util.Vector.<init>:()V
astore 8
start local 8 33: aload 8
aload 7
invokevirtual java.util.Vector.add:(Ljava/lang/Object;)Z
pop
34: aload 2
aload 6
aload 8
invokevirtual java.util.Hashtable.put:(Ljava/lang/Object;Ljava/lang/Object;)Ljava/lang/Object;
pop
end local 8 end local 7 end local 6 end local 5 end local 3 35: StackMap locals: sun.security.krb5.Config java.util.List java.util.Hashtable top java.util.Iterator
StackMap stack:
aload 4
invokeinterface java.util.Iterator.hasNext:()Z
ifne 2
36: aload 2
aload 0
getfield sun.security.krb5.Config.stanzaTable:Ljava/util/Hashtable;
if_acmpeq 38
37: new sun.security.krb5.KrbException
dup
ldc "Not closed"
invokespecial sun.security.krb5.KrbException.<init>:(Ljava/lang/String;)V
athrow
38: StackMap locals: sun.security.krb5.Config java.util.List java.util.Hashtable
StackMap stack:
aload 2
areturn
end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 39 0 this Lsun/security/krb5/Config;
0 39 1 v Ljava/util/List<Ljava/lang/String;>;
1 39 2 current Ljava/util/Hashtable<Ljava/lang/String;Ljava/lang/Object;>;
3 35 3 line Ljava/lang/String;
8 35 5 pos I
11 35 6 key Ljava/lang/String;
12 35 7 value Ljava/lang/String;
18 19 8 subTable Ljava/util/Hashtable<Ljava/lang/String;Ljava/lang/Object;>;
20 21 8 subTable Ljava/util/Hashtable<Ljava/lang/String;Ljava/lang/Object;>;
22 25 8 subTable Ljava/util/Hashtable<Ljava/lang/String;Ljava/lang/Object;>;
30 31 8 values Ljava/util/Vector<Ljava/lang/String;>;
33 35 8 values Ljava/util/Vector<Ljava/lang/String;>;
28 31 9 obj Ljava/lang/Object;
Exceptions:
throws sun.security.krb5.KrbException
Signature: (Ljava/util/List<Ljava/lang/String;>;)Ljava/util/Hashtable<Ljava/lang/String;Ljava/lang/Object;>;
MethodParameters:
Name Flags
v
private java.lang.String getJavaFileName();
descriptor: ()Ljava/lang/String;
flags: (0x0002) ACC_PRIVATE
Code:
stack=4, locals=2, args_size=1
start local 0 0: ldc "java.security.krb5.conf"
invokestatic sun.security.action.GetPropertyAction.privilegedGetProperty:(Ljava/lang/String;)Ljava/lang/String;
1: astore 1
start local 1 2: aload 1
ifnonnull 9
3: new java.lang.StringBuilder
dup
ldc "java.home"
invokestatic sun.security.action.GetPropertyAction.privilegedGetProperty:(Ljava/lang/String;)Ljava/lang/String;
invokestatic java.lang.String.valueOf:(Ljava/lang/Object;)Ljava/lang/String;
invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
4: getstatic java.io.File.separator:Ljava/lang/String;
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
ldc "conf"
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
getstatic java.io.File.separator:Ljava/lang/String;
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
ldc "security"
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
5: getstatic java.io.File.separator:Ljava/lang/String;
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
ldc "krb5.conf"
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
6: invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
astore 1
7: aload 0
aload 1
invokevirtual sun.security.krb5.Config.fileExists:(Ljava/lang/String;)Z
ifne 9
8: aconst_null
astore 1
9: StackMap locals: java.lang.String
StackMap stack:
getstatic sun.security.krb5.Config.DEBUG:Z
ifeq 11
10: getstatic java.lang.System.out:Ljava/io/PrintStream;
new java.lang.StringBuilder
dup
ldc "Java config name: "
invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
aload 1
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
invokevirtual java.io.PrintStream.println:(Ljava/lang/String;)V
11: StackMap locals:
StackMap stack:
aload 1
areturn
end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 12 0 this Lsun/security/krb5/Config;
2 12 1 name Ljava/lang/String;
private java.lang.String getNativeFileName();
descriptor: ()Ljava/lang/String;
flags: (0x0002) ACC_PRIVATE
Code:
stack=4, locals=4, args_size=1
start local 0 0: aconst_null
astore 1
start local 1 1: ldc "os.name"
invokestatic sun.security.action.GetPropertyAction.privilegedGetProperty:(Ljava/lang/String;)Ljava/lang/String;
astore 2
start local 2 2: aload 2
ldc "Windows"
invokevirtual java.lang.String.startsWith:(Ljava/lang/String;)Z
ifeq 26
3: invokestatic sun.security.krb5.Credentials.ensureLoaded:()V
4: goto 6
StackMap locals: sun.security.krb5.Config java.lang.String java.lang.String
StackMap stack: java.lang.Exception
5: pop
6: StackMap locals:
StackMap stack:
getstatic sun.security.krb5.Credentials.alreadyLoaded:Z
ifeq 23
7: iconst_0
invokestatic sun.security.krb5.Config.getWindowsDirectory:(Z)Ljava/lang/String;
astore 3
start local 3 8: aload 3
ifnull 15
9: aload 3
ldc "\\"
invokevirtual java.lang.String.endsWith:(Ljava/lang/String;)Z
ifeq 12
10: new java.lang.StringBuilder
dup
aload 3
invokestatic java.lang.String.valueOf:(Ljava/lang/Object;)Ljava/lang/String;
invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
ldc "krb5.ini"
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
astore 3
11: goto 13
12: StackMap locals: java.lang.String
StackMap stack:
new java.lang.StringBuilder
dup
aload 3
invokestatic java.lang.String.valueOf:(Ljava/lang/Object;)Ljava/lang/String;
invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
ldc "\\krb5.ini"
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
astore 3
13: StackMap locals:
StackMap stack:
aload 0
aload 3
invokevirtual sun.security.krb5.Config.fileExists:(Ljava/lang/String;)Z
ifeq 15
14: aload 3
astore 1
15: StackMap locals:
StackMap stack:
aload 1
ifnonnull 23
16: iconst_1
invokestatic sun.security.krb5.Config.getWindowsDirectory:(Z)Ljava/lang/String;
astore 3
17: aload 3
ifnull 23
18: aload 3
ldc "\\"
invokevirtual java.lang.String.endsWith:(Ljava/lang/String;)Z
ifeq 21
19: new java.lang.StringBuilder
dup
aload 3
invokestatic java.lang.String.valueOf:(Ljava/lang/Object;)Ljava/lang/String;
invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
ldc "krb5.ini"
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
astore 3
20: goto 22
21: StackMap locals:
StackMap stack:
new java.lang.StringBuilder
dup
aload 3
invokestatic java.lang.String.valueOf:(Ljava/lang/Object;)Ljava/lang/String;
invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
ldc "\\krb5.ini"
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
astore 3
22: StackMap locals:
StackMap stack:
aload 3
astore 1
end local 3 23: StackMap locals:
StackMap stack:
aload 1
ifnonnull 33
24: ldc "c:\\winnt\\krb5.ini"
astore 1
25: goto 33
StackMap locals:
StackMap stack:
26: aload 2
ldc "SunOS"
invokevirtual java.lang.String.startsWith:(Ljava/lang/String;)Z
ifeq 29
27: ldc "/etc/krb5/krb5.conf"
astore 1
28: goto 33
StackMap locals:
StackMap stack:
29: aload 2
ldc "OS X"
invokevirtual java.lang.String.contains:(Ljava/lang/CharSequence;)Z
ifeq 32
30: aload 0
invokevirtual sun.security.krb5.Config.findMacosConfigFile:()Ljava/lang/String;
astore 1
31: goto 33
32: StackMap locals:
StackMap stack:
ldc "/etc/krb5.conf"
astore 1
33: StackMap locals:
StackMap stack:
getstatic sun.security.krb5.Config.DEBUG:Z
ifeq 35
34: getstatic java.lang.System.out:Ljava/io/PrintStream;
new java.lang.StringBuilder
dup
ldc "Native config name: "
invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
aload 1
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
invokevirtual java.io.PrintStream.println:(Ljava/lang/String;)V
35: StackMap locals:
StackMap stack:
aload 1
areturn
end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 36 0 this Lsun/security/krb5/Config;
1 36 1 name Ljava/lang/String;
2 36 2 osname Ljava/lang/String;
8 23 3 path Ljava/lang/String;
Exception table:
from to target type
3 4 5 Class java.lang.Exception
private java.lang.String findMacosConfigFile();
descriptor: ()Ljava/lang/String;
flags: (0x0002) ACC_PRIVATE
Code:
stack=3, locals=3, args_size=1
start local 0 0: ldc "user.home"
invokestatic sun.security.action.GetPropertyAction.privilegedGetProperty:(Ljava/lang/String;)Ljava/lang/String;
astore 1
start local 1 1: new java.lang.StringBuilder
dup
aload 1
invokestatic java.lang.String.valueOf:(Ljava/lang/Object;)Ljava/lang/String;
invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
ldc "/Library/Preferences/edu.mit.Kerberos"
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
astore 2
start local 2 2: aload 0
aload 2
invokevirtual sun.security.krb5.Config.fileExists:(Ljava/lang/String;)Z
ifeq 4
3: aload 2
areturn
4: StackMap locals: java.lang.String java.lang.String
StackMap stack:
aload 0
ldc "/Library/Preferences/edu.mit.Kerberos"
invokevirtual sun.security.krb5.Config.fileExists:(Ljava/lang/String;)Z
ifeq 6
5: ldc "/Library/Preferences/edu.mit.Kerberos"
areturn
6: StackMap locals:
StackMap stack:
ldc "/etc/krb5.conf"
areturn
end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 7 0 this Lsun/security/krb5/Config;
1 7 1 userHome Ljava/lang/String;
2 7 2 userPrefs Ljava/lang/String;
private static java.lang.String unquote(java.lang.String);
descriptor: (Ljava/lang/String;)Ljava/lang/String;
flags: (0x000a) ACC_PRIVATE, ACC_STATIC
Code:
stack=4, locals=1, args_size=1
start local 0 0: aload 0
invokevirtual java.lang.String.trim:()Ljava/lang/String;
astore 0
1: aload 0
invokevirtual java.lang.String.length:()I
iconst_2
if_icmplt 5
2: aload 0
iconst_0
invokevirtual java.lang.String.charAt:(I)C
bipush 34
if_icmpne 3
aload 0
aload 0
invokevirtual java.lang.String.length:()I
iconst_1
isub
invokevirtual java.lang.String.charAt:(I)C
bipush 34
if_icmpeq 4
3: StackMap locals:
StackMap stack:
aload 0
iconst_0
invokevirtual java.lang.String.charAt:(I)C
bipush 39
if_icmpne 5
aload 0
aload 0
invokevirtual java.lang.String.length:()I
iconst_1
isub
invokevirtual java.lang.String.charAt:(I)C
bipush 39
if_icmpne 5
4: StackMap locals:
StackMap stack:
aload 0
iconst_1
aload 0
invokevirtual java.lang.String.length:()I
iconst_1
isub
invokevirtual java.lang.String.substring:(II)Ljava/lang/String;
invokevirtual java.lang.String.trim:()Ljava/lang/String;
astore 0
5: StackMap locals:
StackMap stack:
aload 0
areturn
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 6 0 s Ljava/lang/String;
MethodParameters:
Name Flags
s
public void listTable();
descriptor: ()V
flags: (0x0001) ACC_PUBLIC
Code:
stack=2, locals=1, args_size=1
start local 0 0: getstatic java.lang.System.out:Ljava/io/PrintStream;
aload 0
invokevirtual java.io.PrintStream.println:(Ljava/lang/Object;)V
1: return
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 2 0 this Lsun/security/krb5/Config;
public int[] defaultEtype(java.lang.String);
descriptor: (Ljava/lang/String;)[I
flags: (0x0001) ACC_PUBLIC
Code:
stack=5, locals=10, args_size=2
start local 0 start local 1 0: aload 0
iconst_2
anewarray java.lang.String
dup
iconst_0
ldc "libdefaults"
aastore
dup
iconst_1
aload 1
aastore
invokevirtual sun.security.krb5.Config.get:([Ljava/lang/String;)Ljava/lang/String;
astore 2
start local 2 1: aload 2
ifnonnull 8
2: getstatic sun.security.krb5.Config.DEBUG:Z
ifeq 6
3: getstatic java.lang.System.out:Ljava/io/PrintStream;
new java.lang.StringBuilder
dup
ldc "Using builtin default etypes for "
invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
4: aload 1
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
5: invokevirtual java.io.PrintStream.println:(Ljava/lang/String;)V
6: StackMap locals: java.lang.String
StackMap stack:
invokestatic sun.security.krb5.internal.crypto.EType.getBuiltInDefaults:()[I
astore 3
start local 3 7: goto 36
end local 3 8: StackMap locals:
StackMap stack:
ldc " "
astore 4
start local 4 9: iconst_0
istore 6
start local 6 10: goto 15
11: StackMap locals: sun.security.krb5.Config java.lang.String java.lang.String top java.lang.String top int
StackMap stack:
aload 2
iload 6
iload 6
iconst_1
iadd
invokevirtual java.lang.String.substring:(II)Ljava/lang/String;
ldc ","
invokevirtual java.lang.String.equals:(Ljava/lang/Object;)Z
ifeq 14
12: ldc ","
astore 4
13: goto 16
14: StackMap locals:
StackMap stack:
iinc 6 1
StackMap locals:
StackMap stack:
15: iload 6
aload 2
invokevirtual java.lang.String.length:()I
if_icmplt 11
end local 6 16: StackMap locals: sun.security.krb5.Config java.lang.String java.lang.String top java.lang.String
StackMap stack:
new java.util.StringTokenizer
dup
aload 2
aload 4
invokespecial java.util.StringTokenizer.<init>:(Ljava/lang/String;Ljava/lang/String;)V
astore 5
start local 5 17: aload 5
invokevirtual java.util.StringTokenizer.countTokens:()I
istore 6
start local 6 18: new java.util.ArrayList
dup
iload 6
invokespecial java.util.ArrayList.<init>:(I)V
astore 7
start local 7 19: iconst_0
istore 9
start local 9 20: goto 25
21: StackMap locals: sun.security.krb5.Config java.lang.String java.lang.String top java.lang.String java.util.StringTokenizer int java.util.ArrayList top int
StackMap stack:
aload 5
invokevirtual java.util.StringTokenizer.nextToken:()Ljava/lang/String;
invokestatic sun.security.krb5.Config.getType:(Ljava/lang/String;)I
istore 8
start local 8 22: iload 8
iconst_m1
if_icmpeq 24
iload 8
invokestatic sun.security.krb5.internal.crypto.EType.isSupported:(I)Z
ifeq 24
23: aload 7
iload 8
invokestatic java.lang.Integer.valueOf:(I)Ljava/lang/Integer;
invokevirtual java.util.ArrayList.add:(Ljava/lang/Object;)Z
pop
24: StackMap locals: sun.security.krb5.Config java.lang.String java.lang.String top java.lang.String java.util.StringTokenizer int java.util.ArrayList int int
StackMap stack:
iinc 9 1
end local 8 StackMap locals: sun.security.krb5.Config java.lang.String java.lang.String top java.lang.String java.util.StringTokenizer int java.util.ArrayList top int
StackMap stack:
25: iload 9
iload 6
if_icmplt 21
end local 9 26: aload 7
invokevirtual java.util.ArrayList.isEmpty:()Z
ifeq 30
27: new sun.security.krb5.KrbException
dup
new java.lang.StringBuilder
dup
ldc "no supported default etypes for "
invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
28: aload 1
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
29: invokespecial sun.security.krb5.KrbException.<init>:(Ljava/lang/String;)V
athrow
30: StackMap locals: sun.security.krb5.Config java.lang.String java.lang.String top java.lang.String java.util.StringTokenizer int java.util.ArrayList
StackMap stack:
aload 7
invokevirtual java.util.ArrayList.size:()I
newarray 10
astore 3
start local 3 31: iconst_0
istore 9
start local 9 32: goto 35
33: StackMap locals: sun.security.krb5.Config java.lang.String java.lang.String int[] java.lang.String java.util.StringTokenizer int java.util.ArrayList top int
StackMap stack:
aload 3
iload 9
aload 7
iload 9
invokevirtual java.util.ArrayList.get:(I)Ljava/lang/Object;
checkcast java.lang.Integer
invokevirtual java.lang.Integer.intValue:()I
iastore
34: iinc 9 1
StackMap locals:
StackMap stack:
35: iload 9
aload 3
arraylength
if_icmplt 33
end local 9 end local 7 end local 6 end local 5 end local 4 36: StackMap locals: sun.security.krb5.Config java.lang.String java.lang.String int[]
StackMap stack:
getstatic sun.security.krb5.Config.DEBUG:Z
ifeq 44
37: getstatic java.lang.System.out:Ljava/io/PrintStream;
new java.lang.StringBuilder
dup
ldc "default etypes for "
invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
aload 1
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
ldc ":"
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
invokevirtual java.io.PrintStream.print:(Ljava/lang/String;)V
38: iconst_0
istore 4
start local 4 39: goto 42
40: StackMap locals: int
StackMap stack:
getstatic java.lang.System.out:Ljava/io/PrintStream;
new java.lang.StringBuilder
dup
ldc " "
invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
aload 3
iload 4
iaload
invokevirtual java.lang.StringBuilder.append:(I)Ljava/lang/StringBuilder;
invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
invokevirtual java.io.PrintStream.print:(Ljava/lang/String;)V
41: iinc 4 1
StackMap locals:
StackMap stack:
42: iload 4
aload 3
arraylength
if_icmplt 40
end local 4 43: getstatic java.lang.System.out:Ljava/io/PrintStream;
ldc "."
invokevirtual java.io.PrintStream.println:(Ljava/lang/String;)V
44: StackMap locals:
StackMap stack:
aload 3
areturn
end local 3 end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 45 0 this Lsun/security/krb5/Config;
0 45 1 configName Ljava/lang/String;
1 45 2 default_enctypes Ljava/lang/String;
7 8 3 etype [I
31 45 3 etype [I
9 36 4 delim Ljava/lang/String;
17 36 5 st Ljava/util/StringTokenizer;
10 16 6 j I
18 36 6 len I
19 36 7 ls Ljava/util/ArrayList<Ljava/lang/Integer;>;
22 25 8 type I
20 26 9 i I
32 36 9 i I
39 43 4 i I
Exceptions:
throws sun.security.krb5.KrbException
MethodParameters:
Name Flags
configName
public static int getType(java.lang.String);
descriptor: (Ljava/lang/String;)I
flags: (0x0009) ACC_PUBLIC, ACC_STATIC
Code:
stack=2, locals=2, args_size=1
start local 0 0: iconst_m1
istore 1
start local 1 1: aload 0
ifnonnull 3
2: iload 1
ireturn
3: StackMap locals: int
StackMap stack:
aload 0
ldc "d"
invokevirtual java.lang.String.startsWith:(Ljava/lang/String;)Z
ifne 4
aload 0
ldc "D"
invokevirtual java.lang.String.startsWith:(Ljava/lang/String;)Z
ifeq 25
4: StackMap locals:
StackMap stack:
aload 0
ldc "des-cbc-crc"
invokevirtual java.lang.String.equalsIgnoreCase:(Ljava/lang/String;)Z
ifeq 7
5: iconst_1
istore 1
6: goto 83
StackMap locals:
StackMap stack:
7: aload 0
ldc "des-cbc-md5"
invokevirtual java.lang.String.equalsIgnoreCase:(Ljava/lang/String;)Z
ifeq 10
8: iconst_3
istore 1
9: goto 83
StackMap locals:
StackMap stack:
10: aload 0
ldc "des-mac"
invokevirtual java.lang.String.equalsIgnoreCase:(Ljava/lang/String;)Z
ifeq 13
11: iconst_4
istore 1
12: goto 83
StackMap locals:
StackMap stack:
13: aload 0
ldc "des-mac-k"
invokevirtual java.lang.String.equalsIgnoreCase:(Ljava/lang/String;)Z
ifeq 16
14: iconst_5
istore 1
15: goto 83
StackMap locals:
StackMap stack:
16: aload 0
ldc "des-cbc-md4"
invokevirtual java.lang.String.equalsIgnoreCase:(Ljava/lang/String;)Z
ifeq 19
17: iconst_2
istore 1
18: goto 83
StackMap locals:
StackMap stack:
19: aload 0
ldc "des3-cbc-sha1"
invokevirtual java.lang.String.equalsIgnoreCase:(Ljava/lang/String;)Z
ifne 23
20: aload 0
ldc "des3-hmac-sha1"
invokevirtual java.lang.String.equalsIgnoreCase:(Ljava/lang/String;)Z
ifne 23
21: aload 0
ldc "des3-cbc-sha1-kd"
invokevirtual java.lang.String.equalsIgnoreCase:(Ljava/lang/String;)Z
ifne 23
22: aload 0
ldc "des3-cbc-hmac-sha1-kd"
invokevirtual java.lang.String.equalsIgnoreCase:(Ljava/lang/String;)Z
ifeq 83
23: StackMap locals:
StackMap stack:
bipush 16
istore 1
24: goto 83
StackMap locals:
StackMap stack:
25: aload 0
ldc "a"
invokevirtual java.lang.String.startsWith:(Ljava/lang/String;)Z
ifne 26
aload 0
ldc "A"
invokevirtual java.lang.String.startsWith:(Ljava/lang/String;)Z
ifeq 48
26: StackMap locals:
StackMap stack:
aload 0
ldc "aes128-cts"
invokevirtual java.lang.String.equalsIgnoreCase:(Ljava/lang/String;)Z
ifne 29
27: aload 0
ldc "aes128-sha1"
invokevirtual java.lang.String.equalsIgnoreCase:(Ljava/lang/String;)Z
ifne 29
28: aload 0
ldc "aes128-cts-hmac-sha1-96"
invokevirtual java.lang.String.equalsIgnoreCase:(Ljava/lang/String;)Z
ifeq 31
29: StackMap locals:
StackMap stack:
bipush 17
istore 1
30: goto 83
StackMap locals:
StackMap stack:
31: aload 0
ldc "aes256-cts"
invokevirtual java.lang.String.equalsIgnoreCase:(Ljava/lang/String;)Z
ifne 34
32: aload 0
ldc "aes256-sha1"
invokevirtual java.lang.String.equalsIgnoreCase:(Ljava/lang/String;)Z
ifne 34
33: aload 0
ldc "aes256-cts-hmac-sha1-96"
invokevirtual java.lang.String.equalsIgnoreCase:(Ljava/lang/String;)Z
ifeq 36
34: StackMap locals:
StackMap stack:
bipush 18
istore 1
35: goto 83
StackMap locals:
StackMap stack:
36: aload 0
ldc "aes128-sha2"
invokevirtual java.lang.String.equalsIgnoreCase:(Ljava/lang/String;)Z
ifne 38
37: aload 0
ldc "aes128-cts-hmac-sha256-128"
invokevirtual java.lang.String.equalsIgnoreCase:(Ljava/lang/String;)Z
ifeq 40
38: StackMap locals:
StackMap stack:
bipush 19
istore 1
39: goto 83
StackMap locals:
StackMap stack:
40: aload 0
ldc "aes256-sha2"
invokevirtual java.lang.String.equalsIgnoreCase:(Ljava/lang/String;)Z
ifne 42
41: aload 0
ldc "aes256-cts-hmac-sha384-192"
invokevirtual java.lang.String.equalsIgnoreCase:(Ljava/lang/String;)Z
ifeq 44
42: StackMap locals:
StackMap stack:
bipush 20
istore 1
43: goto 83
StackMap locals:
StackMap stack:
44: aload 0
ldc "arcfour-hmac"
invokevirtual java.lang.String.equalsIgnoreCase:(Ljava/lang/String;)Z
ifne 46
45: aload 0
ldc "arcfour-hmac-md5"
invokevirtual java.lang.String.equalsIgnoreCase:(Ljava/lang/String;)Z
ifeq 83
46: StackMap locals:
StackMap stack:
bipush 23
istore 1
47: goto 83
StackMap locals:
StackMap stack:
48: aload 0
ldc "rc4-hmac"
invokevirtual java.lang.String.equalsIgnoreCase:(Ljava/lang/String;)Z
ifeq 51
49: bipush 23
istore 1
50: goto 83
StackMap locals:
StackMap stack:
51: aload 0
ldc "CRC32"
invokevirtual java.lang.String.equalsIgnoreCase:(Ljava/lang/String;)Z
ifeq 54
52: iconst_1
istore 1
53: goto 83
StackMap locals:
StackMap stack:
54: aload 0
ldc "r"
invokevirtual java.lang.String.startsWith:(Ljava/lang/String;)Z
ifne 55
aload 0
ldc "R"
invokevirtual java.lang.String.startsWith:(Ljava/lang/String;)Z
ifeq 61
55: StackMap locals:
StackMap stack:
aload 0
ldc "rsa-md5"
invokevirtual java.lang.String.equalsIgnoreCase:(Ljava/lang/String;)Z
ifeq 58
56: bipush 7
istore 1
57: goto 83
StackMap locals:
StackMap stack:
58: aload 0
ldc "rsa-md5-des"
invokevirtual java.lang.String.equalsIgnoreCase:(Ljava/lang/String;)Z
ifeq 83
59: bipush 8
istore 1
60: goto 83
StackMap locals:
StackMap stack:
61: aload 0
ldc "hmac-sha1-des3-kd"
invokevirtual java.lang.String.equalsIgnoreCase:(Ljava/lang/String;)Z
ifeq 64
62: bipush 12
istore 1
63: goto 83
StackMap locals:
StackMap stack:
64: aload 0
ldc "hmac-sha1-96-aes128"
invokevirtual java.lang.String.equalsIgnoreCase:(Ljava/lang/String;)Z
ifeq 67
65: bipush 15
istore 1
66: goto 83
StackMap locals:
StackMap stack:
67: aload 0
ldc "hmac-sha1-96-aes256"
invokevirtual java.lang.String.equalsIgnoreCase:(Ljava/lang/String;)Z
ifeq 70
68: bipush 16
istore 1
69: goto 83
StackMap locals:
StackMap stack:
70: aload 0
ldc "hmac-sha256-128-aes128"
invokevirtual java.lang.String.equalsIgnoreCase:(Ljava/lang/String;)Z
ifeq 73
71: bipush 19
istore 1
72: goto 83
StackMap locals:
StackMap stack:
73: aload 0
ldc "hmac-sha384-192-aes256"
invokevirtual java.lang.String.equalsIgnoreCase:(Ljava/lang/String;)Z
ifeq 76
74: bipush 20
istore 1
75: goto 83
StackMap locals:
StackMap stack:
76: aload 0
ldc "hmac-md5-rc4"
invokevirtual java.lang.String.equalsIgnoreCase:(Ljava/lang/String;)Z
ifne 79
77: aload 0
ldc "hmac-md5-arcfour"
invokevirtual java.lang.String.equalsIgnoreCase:(Ljava/lang/String;)Z
ifne 79
78: aload 0
ldc "hmac-md5-enc"
invokevirtual java.lang.String.equalsIgnoreCase:(Ljava/lang/String;)Z
ifeq 81
79: StackMap locals:
StackMap stack:
sipush -138
istore 1
80: goto 83
StackMap locals:
StackMap stack:
81: aload 0
ldc "NULL"
invokevirtual java.lang.String.equalsIgnoreCase:(Ljava/lang/String;)Z
ifeq 83
82: iconst_0
istore 1
83: StackMap locals:
StackMap stack:
iload 1
ireturn
end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 84 0 input Ljava/lang/String;
1 84 1 result I
MethodParameters:
Name Flags
input
public void resetDefaultRealm(java.lang.String);
descriptor: (Ljava/lang/String;)V
flags: (0x0001) ACC_PUBLIC
Code:
stack=4, locals=2, args_size=2
start local 0 start local 1 0: getstatic sun.security.krb5.Config.DEBUG:Z
ifeq 2
1: getstatic java.lang.System.out:Ljava/io/PrintStream;
new java.lang.StringBuilder
dup
ldc ">>> Config try resetting default kdc "
invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
aload 1
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
invokevirtual java.io.PrintStream.println:(Ljava/lang/String;)V
2: StackMap locals:
StackMap stack:
return
end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 3 0 this Lsun/security/krb5/Config;
0 3 1 realm Ljava/lang/String;
MethodParameters:
Name Flags
realm
public boolean useAddresses();
descriptor: ()Z
flags: (0x0001) ACC_PUBLIC
Code:
stack=5, locals=1, args_size=1
start local 0 0: aload 0
iconst_2
anewarray java.lang.String
dup
iconst_0
ldc "libdefaults"
aastore
dup
iconst_1
ldc "no_addresses"
aastore
invokevirtual sun.security.krb5.Config.getBooleanObject:([Ljava/lang/String;)Ljava/lang/Boolean;
getstatic java.lang.Boolean.FALSE:Ljava/lang/Boolean;
if_acmpeq 3
1: aload 0
iconst_2
anewarray java.lang.String
dup
iconst_0
ldc "libdefaults"
aastore
dup
iconst_1
ldc "noaddresses"
aastore
invokevirtual sun.security.krb5.Config.getBooleanObject:([Ljava/lang/String;)Ljava/lang/Boolean;
getstatic java.lang.Boolean.FALSE:Ljava/lang/Boolean;
if_acmpeq 3
2: iconst_0
ireturn
StackMap locals:
StackMap stack:
3: iconst_1
ireturn
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 4 0 this Lsun/security/krb5/Config;
private boolean useDNS(java.lang.String, boolean);
descriptor: (Ljava/lang/String;Z)Z
flags: (0x0002) ACC_PRIVATE
Code:
stack=5, locals=4, args_size=3
start local 0 start local 1 start local 2 0: aload 0
iconst_2
anewarray java.lang.String
dup
iconst_0
ldc "libdefaults"
aastore
dup
iconst_1
aload 1
aastore
invokevirtual sun.security.krb5.Config.getBooleanObject:([Ljava/lang/String;)Ljava/lang/Boolean;
astore 3
start local 3 1: aload 3
ifnull 3
2: aload 3
invokevirtual java.lang.Boolean.booleanValue:()Z
ireturn
3: StackMap locals: java.lang.Boolean
StackMap stack:
aload 0
iconst_2
anewarray java.lang.String
dup
iconst_0
ldc "libdefaults"
aastore
dup
iconst_1
ldc "dns_fallback"
aastore
invokevirtual sun.security.krb5.Config.getBooleanObject:([Ljava/lang/String;)Ljava/lang/Boolean;
astore 3
4: aload 3
ifnull 6
5: aload 3
invokevirtual java.lang.Boolean.booleanValue:()Z
ireturn
6: StackMap locals:
StackMap stack:
iload 2
ireturn
end local 3 end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 7 0 this Lsun/security/krb5/Config;
0 7 1 name Ljava/lang/String;
0 7 2 defaultValue Z
1 7 3 value Ljava/lang/Boolean;
MethodParameters:
Name Flags
name
defaultValue
private boolean useDNS_KDC();
descriptor: ()Z
flags: (0x0002) ACC_PRIVATE
Code:
stack=3, locals=1, args_size=1
start local 0 0: aload 0
ldc "dns_lookup_kdc"
iconst_1
invokevirtual sun.security.krb5.Config.useDNS:(Ljava/lang/String;Z)Z
ireturn
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 1 0 this Lsun/security/krb5/Config;
private boolean useDNS_Realm();
descriptor: ()Z
flags: (0x0002) ACC_PRIVATE
Code:
stack=3, locals=1, args_size=1
start local 0 0: aload 0
ldc "dns_lookup_realm"
iconst_0
invokevirtual sun.security.krb5.Config.useDNS:(Ljava/lang/String;Z)Z
ireturn
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 1 0 this Lsun/security/krb5/Config;
public java.lang.String getDefaultRealm();
descriptor: ()Ljava/lang/String;
flags: (0x0001) ACC_PUBLIC
Code:
stack=5, locals=4, args_size=1
start local 0 0: aload 0
getfield sun.security.krb5.Config.defaultRealm:Ljava/lang/String;
ifnull 2
1: aload 0
getfield sun.security.krb5.Config.defaultRealm:Ljava/lang/String;
areturn
2: StackMap locals:
StackMap stack:
aconst_null
astore 1
start local 1 3: aload 0
iconst_2
anewarray java.lang.String
dup
iconst_0
ldc "libdefaults"
aastore
dup
iconst_1
ldc "default_realm"
aastore
invokevirtual sun.security.krb5.Config.get:([Ljava/lang/String;)Ljava/lang/String;
astore 2
start local 2 4: aload 2
ifnonnull 9
aload 0
invokevirtual sun.security.krb5.Config.useDNS_Realm:()Z
ifeq 9
5: aload 0
invokevirtual sun.security.krb5.Config.getRealmFromDNS:()Ljava/lang/String;
astore 2
6: goto 9
StackMap locals: sun.security.krb5.Config java.lang.Exception java.lang.String
StackMap stack: sun.security.krb5.KrbException
7: astore 3
start local 3 8: aload 3
astore 1
end local 3 9: StackMap locals:
StackMap stack:
aload 2
ifnonnull 12
10: new sun.security.krb5.Config$2
dup
aload 0
invokespecial sun.security.krb5.Config$2.<init>:(Lsun/security/krb5/Config;)V
11: invokestatic java.security.AccessController.doPrivileged:(Ljava/security/PrivilegedAction;)Ljava/lang/Object;
checkcast java.lang.String
astore 2
12: StackMap locals:
StackMap stack:
aload 2
ifnonnull 17
13: new sun.security.krb5.KrbException
dup
ldc "Cannot locate default realm"
invokespecial sun.security.krb5.KrbException.<init>:(Ljava/lang/String;)V
astore 3
start local 3 14: aload 1
ifnull 16
15: aload 3
aload 1
invokevirtual sun.security.krb5.KrbException.initCause:(Ljava/lang/Throwable;)Ljava/lang/Throwable;
pop
16: StackMap locals: sun.security.krb5.KrbException
StackMap stack:
aload 3
athrow
end local 3 17: StackMap locals:
StackMap stack:
aload 2
areturn
end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 18 0 this Lsun/security/krb5/Config;
3 18 1 cause Ljava/lang/Exception;
4 18 2 realm Ljava/lang/String;
8 9 3 ke Lsun/security/krb5/KrbException;
14 17 3 ke Lsun/security/krb5/KrbException;
Exception table:
from to target type
5 6 7 Class sun.security.krb5.KrbException
Exceptions:
throws sun.security.krb5.KrbException
public java.lang.String getKDCList(java.lang.String);
descriptor: (Ljava/lang/String;)Ljava/lang/String;
flags: (0x0001) ACC_PUBLIC
Code:
stack=5, locals=5, args_size=2
start local 0 start local 1 0: aload 1
ifnonnull 2
1: aload 0
invokevirtual sun.security.krb5.Config.getDefaultRealm:()Ljava/lang/String;
astore 1
2: StackMap locals:
StackMap stack:
aload 1
aload 0
getfield sun.security.krb5.Config.defaultRealm:Ljava/lang/String;
invokevirtual java.lang.String.equalsIgnoreCase:(Ljava/lang/String;)Z
ifeq 4
3: aload 0
getfield sun.security.krb5.Config.defaultKDC:Ljava/lang/String;
areturn
4: StackMap locals:
StackMap stack:
aconst_null
astore 2
start local 2 5: aload 0
iconst_3
anewarray java.lang.String
dup
iconst_0
ldc "realms"
aastore
dup
iconst_1
aload 1
aastore
dup
iconst_2
ldc "kdc"
aastore
invokevirtual sun.security.krb5.Config.getAll:([Ljava/lang/String;)Ljava/lang/String;
astore 3
start local 3 6: aload 3
ifnonnull 11
aload 0
invokevirtual sun.security.krb5.Config.useDNS_KDC:()Z
ifeq 11
7: aload 0
aload 1
invokevirtual sun.security.krb5.Config.getKDCFromDNS:(Ljava/lang/String;)Ljava/lang/String;
astore 3
8: goto 11
StackMap locals: sun.security.krb5.Config java.lang.String java.lang.Exception java.lang.String
StackMap stack: sun.security.krb5.KrbException
9: astore 4
start local 4 10: aload 4
astore 2
end local 4 11: StackMap locals:
StackMap stack:
aload 3
ifnonnull 14
12: new sun.security.krb5.Config$3
dup
aload 0
invokespecial sun.security.krb5.Config$3.<init>:(Lsun/security/krb5/Config;)V
13: invokestatic java.security.AccessController.doPrivileged:(Ljava/security/PrivilegedAction;)Ljava/lang/Object;
checkcast java.lang.String
astore 3
14: StackMap locals:
StackMap stack:
aload 3
ifnonnull 21
15: aload 0
getfield sun.security.krb5.Config.defaultKDC:Ljava/lang/String;
ifnull 17
16: aload 0
getfield sun.security.krb5.Config.defaultKDC:Ljava/lang/String;
areturn
17: StackMap locals:
StackMap stack:
new sun.security.krb5.KrbException
dup
ldc "Cannot locate KDC"
invokespecial sun.security.krb5.KrbException.<init>:(Ljava/lang/String;)V
astore 4
start local 4 18: aload 2
ifnull 20
19: aload 4
aload 2
invokevirtual sun.security.krb5.KrbException.initCause:(Ljava/lang/Throwable;)Ljava/lang/Throwable;
pop
20: StackMap locals: sun.security.krb5.KrbException
StackMap stack:
aload 4
athrow
end local 4 21: StackMap locals:
StackMap stack:
aload 3
areturn
end local 3 end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 22 0 this Lsun/security/krb5/Config;
0 22 1 realm Ljava/lang/String;
5 22 2 cause Ljava/lang/Exception;
6 22 3 kdcs Ljava/lang/String;
10 11 4 ke Lsun/security/krb5/KrbException;
18 21 4 ke Lsun/security/krb5/KrbException;
Exception table:
from to target type
7 8 9 Class sun.security.krb5.KrbException
Exceptions:
throws sun.security.krb5.KrbException
MethodParameters:
Name Flags
realm
private java.lang.String getRealmFromDNS();
descriptor: ()Ljava/lang/String;
flags: (0x0002) ACC_PRIVATE
Code:
stack=6, locals=7, args_size=1
start local 0 0: aconst_null
astore 1
start local 1 1: aconst_null
astore 2
start local 2 2: invokestatic java.net.InetAddress.getLocalHost:()Ljava/net/InetAddress;
invokevirtual java.net.InetAddress.getCanonicalHostName:()Ljava/lang/String;
astore 2
3: goto 10
StackMap locals: sun.security.krb5.Config java.lang.String java.lang.String
StackMap stack: java.net.UnknownHostException
4: astore 3
start local 3 5: new sun.security.krb5.KrbException
dup
bipush 60
6: new java.lang.StringBuilder
dup
ldc "Unable to locate Kerberos realm: "
invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
aload 3
invokevirtual java.net.UnknownHostException.getMessage:()Ljava/lang/String;
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
7: invokespecial sun.security.krb5.KrbException.<init>:(ILjava/lang/String;)V
astore 4
start local 4 8: aload 4
aload 3
invokevirtual sun.security.krb5.KrbException.initCause:(Ljava/lang/Throwable;)Ljava/lang/Throwable;
pop
9: aload 4
athrow
end local 4 end local 3 10: StackMap locals:
StackMap stack:
aload 2
invokestatic sun.security.krb5.PrincipalName.mapHostToRealm:(Ljava/lang/String;)Ljava/lang/String;
astore 3
start local 3 11: aload 3
ifnonnull 20
12: invokestatic sun.net.dns.ResolverConfiguration.open:()Lsun/net/dns/ResolverConfiguration;
invokevirtual sun.net.dns.ResolverConfiguration.searchlist:()Ljava/util/List;
astore 4
start local 4 13: aload 4
invokeinterface java.util.List.iterator:()Ljava/util/Iterator;
astore 6
goto 18
StackMap locals: sun.security.krb5.Config java.lang.String java.lang.String java.lang.String java.util.List top java.util.Iterator
StackMap stack:
14: aload 6
invokeinterface java.util.Iterator.next:()Ljava/lang/Object;
checkcast java.lang.String
astore 5
start local 5 15: aload 5
invokestatic sun.security.krb5.Config.checkRealm:(Ljava/lang/String;)Ljava/lang/String;
astore 1
16: aload 1
ifnull 18
17: goto 21
end local 5 18: StackMap locals:
StackMap stack:
aload 6
invokeinterface java.util.Iterator.hasNext:()Z
ifne 14
end local 4 19: goto 21
20: StackMap locals: sun.security.krb5.Config java.lang.String java.lang.String java.lang.String
StackMap stack:
aload 3
invokestatic sun.security.krb5.Config.checkRealm:(Ljava/lang/String;)Ljava/lang/String;
astore 1
21: StackMap locals:
StackMap stack:
aload 1
ifnonnull 25
22: new sun.security.krb5.KrbException
dup
bipush 60
23: ldc "Unable to locate Kerberos realm"
24: invokespecial sun.security.krb5.KrbException.<init>:(ILjava/lang/String;)V
athrow
25: StackMap locals:
StackMap stack:
aload 1
areturn
end local 3 end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 26 0 this Lsun/security/krb5/Config;
1 26 1 realm Ljava/lang/String;
2 26 2 hostName Ljava/lang/String;
5 10 3 e Ljava/net/UnknownHostException;
8 10 4 ke Lsun/security/krb5/KrbException;
11 26 3 mapRealm Ljava/lang/String;
13 19 4 srchlist Ljava/util/List<Ljava/lang/String;>;
15 18 5 domain Ljava/lang/String;
Exception table:
from to target type
2 3 4 Class java.net.UnknownHostException
Exceptions:
throws sun.security.krb5.KrbException
private static java.lang.String checkRealm(java.lang.String);
descriptor: (Ljava/lang/String;)Ljava/lang/String;
flags: (0x000a) ACC_PRIVATE, ACC_STATIC
Code:
stack=4, locals=4, args_size=1
start local 0 0: getstatic sun.security.krb5.Config.DEBUG:Z
ifeq 2
1: getstatic java.lang.System.out:Ljava/io/PrintStream;
new java.lang.StringBuilder
dup
ldc "getRealmFromDNS: trying "
invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
aload 0
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
invokevirtual java.io.PrintStream.println:(Ljava/lang/String;)V
2: StackMap locals:
StackMap stack:
aconst_null
astore 1
start local 1 3: aload 0
astore 2
start local 2 4: goto 7
5: StackMap locals: java.lang.String[] java.lang.String
StackMap stack:
aload 2
invokestatic sun.security.krb5.KrbServiceLocator.getKerberosService:(Ljava/lang/String;)[Ljava/lang/String;
astore 1
6: aload 2
invokestatic sun.security.krb5.Realm.parseRealmComponent:(Ljava/lang/String;)Ljava/lang/String;
astore 2
7: StackMap locals:
StackMap stack:
aload 1
ifnonnull 8
aload 2
ifnonnull 5
8: StackMap locals:
StackMap stack:
aload 1
ifnull 15
9: iconst_0
istore 3
start local 3 10: goto 14
11: StackMap locals: int
StackMap stack:
aload 1
iload 3
aaload
aload 0
invokevirtual java.lang.String.equalsIgnoreCase:(Ljava/lang/String;)Z
ifeq 13
12: aload 1
iload 3
aaload
areturn
13: StackMap locals:
StackMap stack:
iinc 3 1
StackMap locals:
StackMap stack:
14: iload 3
aload 1
arraylength
if_icmplt 11
end local 3 15: StackMap locals:
StackMap stack:
aconst_null
areturn
end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 16 0 mapRealm Ljava/lang/String;
3 16 1 records [Ljava/lang/String;
4 16 2 newRealm Ljava/lang/String;
10 15 3 i I
MethodParameters:
Name Flags
mapRealm
private java.lang.String getKDCFromDNS(java.lang.String);
descriptor: (Ljava/lang/String;)Ljava/lang/String;
flags: (0x0002) ACC_PRIVATE
Code:
stack=6, locals=5, args_size=2
start local 0 start local 1 0: ldc ""
astore 2
start local 2 1: aconst_null
astore 3
start local 3 2: getstatic sun.security.krb5.Config.DEBUG:Z
ifeq 4
3: getstatic java.lang.System.out:Ljava/io/PrintStream;
ldc "getKDCFromDNS using UDP"
invokevirtual java.io.PrintStream.println:(Ljava/lang/String;)V
4: StackMap locals: java.lang.String java.lang.String[]
StackMap stack:
aload 1
ldc "_udp"
invokestatic sun.security.krb5.KrbServiceLocator.getKerberosService:(Ljava/lang/String;Ljava/lang/String;)[Ljava/lang/String;
astore 3
5: aload 3
ifnonnull 9
6: getstatic sun.security.krb5.Config.DEBUG:Z
ifeq 8
7: getstatic java.lang.System.out:Ljava/io/PrintStream;
ldc "getKDCFromDNS using TCP"
invokevirtual java.io.PrintStream.println:(Ljava/lang/String;)V
8: StackMap locals:
StackMap stack:
aload 1
ldc "_tcp"
invokestatic sun.security.krb5.KrbServiceLocator.getKerberosService:(Ljava/lang/String;Ljava/lang/String;)[Ljava/lang/String;
astore 3
9: StackMap locals:
StackMap stack:
aload 3
ifnonnull 13
10: new sun.security.krb5.KrbException
dup
bipush 60
11: new java.lang.StringBuilder
dup
ldc "Unable to locate KDC for realm "
invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
aload 1
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
12: invokespecial sun.security.krb5.KrbException.<init>:(ILjava/lang/String;)V
athrow
13: StackMap locals:
StackMap stack:
aload 3
arraylength
ifne 15
14: aconst_null
areturn
15: StackMap locals:
StackMap stack:
iconst_0
istore 4
start local 4 16: goto 19
17: StackMap locals: int
StackMap stack:
new java.lang.StringBuilder
dup
aload 2
invokestatic java.lang.String.valueOf:(Ljava/lang/Object;)Ljava/lang/String;
invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
aload 3
iload 4
aaload
invokevirtual java.lang.String.trim:()Ljava/lang/String;
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
ldc " "
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
astore 2
18: iinc 4 1
StackMap locals:
StackMap stack:
19: iload 4
aload 3
arraylength
if_icmplt 17
end local 4 20: aload 2
invokevirtual java.lang.String.trim:()Ljava/lang/String;
astore 2
21: aload 2
ldc ""
invokevirtual java.lang.String.equals:(Ljava/lang/Object;)Z
ifeq 23
22: aconst_null
areturn
23: StackMap locals:
StackMap stack:
aload 2
areturn
end local 3 end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 24 0 this Lsun/security/krb5/Config;
0 24 1 realm Ljava/lang/String;
1 24 2 kdcs Ljava/lang/String;
2 24 3 srvs [Ljava/lang/String;
16 20 4 i I
Exceptions:
throws sun.security.krb5.KrbException
MethodParameters:
Name Flags
realm
private boolean fileExists(java.lang.String);
descriptor: (Ljava/lang/String;)Z
flags: (0x0002) ACC_PRIVATE
Code:
stack=3, locals=2, args_size=2
start local 0 start local 1 0: new sun.security.krb5.Config$FileExistsAction
dup
aload 1
invokespecial sun.security.krb5.Config$FileExistsAction.<init>:(Ljava/lang/String;)V
1: invokestatic java.security.AccessController.doPrivileged:(Ljava/security/PrivilegedAction;)Ljava/lang/Object;
checkcast java.lang.Boolean
invokevirtual java.lang.Boolean.booleanValue:()Z
ireturn
end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 2 0 this Lsun/security/krb5/Config;
0 2 1 name Ljava/lang/String;
MethodParameters:
Name Flags
name
public java.lang.String toString();
descriptor: ()Ljava/lang/String;
flags: (0x0001) ACC_PUBLIC
Code:
stack=3, locals=2, args_size=1
start local 0 0: new java.lang.StringBuffer
dup
invokespecial java.lang.StringBuffer.<init>:()V
astore 1
start local 1 1: ldc ""
aload 0
getfield sun.security.krb5.Config.stanzaTable:Ljava/util/Hashtable;
aload 1
invokestatic sun.security.krb5.Config.toStringInternal:(Ljava/lang/String;Ljava/lang/Object;Ljava/lang/StringBuffer;)V
2: aload 1
invokevirtual java.lang.StringBuffer.toString:()Ljava/lang/String;
areturn
end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 3 0 this Lsun/security/krb5/Config;
1 3 1 sb Ljava/lang/StringBuffer;
private static void toStringInternal(java.lang.String, java.lang.Object, java.lang.StringBuffer);
descriptor: (Ljava/lang/String;Ljava/lang/Object;Ljava/lang/StringBuffer;)V
flags: (0x000a) ACC_PRIVATE, ACC_STATIC
Code:
stack=3, locals=9, args_size=3
start local 0 start local 1 start local 2 0: aload 1
instanceof java.lang.String
ifeq 3
1: aload 2
aload 1
invokevirtual java.lang.StringBuffer.append:(Ljava/lang/Object;)Ljava/lang/StringBuffer;
bipush 10
invokevirtual java.lang.StringBuffer.append:(C)Ljava/lang/StringBuffer;
pop
2: goto 25
StackMap locals:
StackMap stack:
3: aload 1
instanceof java.util.Hashtable
ifeq 13
4: aload 1
checkcast java.util.Hashtable
astore 3
start local 3 5: aload 2
ldc "{\n"
invokevirtual java.lang.StringBuffer.append:(Ljava/lang/String;)Ljava/lang/StringBuffer;
pop
6: aload 3
invokevirtual java.util.Hashtable.keySet:()Ljava/util/Set;
invokeinterface java.util.Set.iterator:()Ljava/util/Iterator;
astore 5
goto 10
StackMap locals: java.lang.String java.lang.Object java.lang.StringBuffer java.util.Hashtable top java.util.Iterator
StackMap stack:
7: aload 5
invokeinterface java.util.Iterator.next:()Ljava/lang/Object;
astore 4
start local 4 8: aload 2
aload 0
invokevirtual java.lang.StringBuffer.append:(Ljava/lang/String;)Ljava/lang/StringBuffer;
ldc " "
invokevirtual java.lang.StringBuffer.append:(Ljava/lang/String;)Ljava/lang/StringBuffer;
aload 4
invokevirtual java.lang.StringBuffer.append:(Ljava/lang/Object;)Ljava/lang/StringBuffer;
ldc " = "
invokevirtual java.lang.StringBuffer.append:(Ljava/lang/String;)Ljava/lang/StringBuffer;
pop
9: new java.lang.StringBuilder
dup
aload 0
invokestatic java.lang.String.valueOf:(Ljava/lang/Object;)Ljava/lang/String;
invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
ldc " "
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
aload 3
aload 4
invokevirtual java.util.Hashtable.get:(Ljava/lang/Object;)Ljava/lang/Object;
aload 2
invokestatic sun.security.krb5.Config.toStringInternal:(Ljava/lang/String;Ljava/lang/Object;Ljava/lang/StringBuffer;)V
end local 4 10: StackMap locals:
StackMap stack:
aload 5
invokeinterface java.util.Iterator.hasNext:()Z
ifne 7
11: aload 2
aload 0
invokevirtual java.lang.StringBuffer.append:(Ljava/lang/String;)Ljava/lang/StringBuffer;
ldc "}\n"
invokevirtual java.lang.StringBuffer.append:(Ljava/lang/String;)Ljava/lang/StringBuffer;
pop
end local 3 12: goto 25
StackMap locals: java.lang.String java.lang.Object java.lang.StringBuffer
StackMap stack:
13: aload 1
instanceof java.util.Vector
ifeq 25
14: aload 1
checkcast java.util.Vector
astore 3
start local 3 15: aload 2
ldc "["
invokevirtual java.lang.StringBuffer.append:(Ljava/lang/String;)Ljava/lang/StringBuffer;
pop
16: iconst_1
istore 4
start local 4 17: aload 3
invokevirtual java.util.Vector.toArray:()[Ljava/lang/Object;
dup
astore 8
arraylength
istore 7
iconst_0
istore 6
goto 23
StackMap locals: java.lang.String java.lang.Object java.lang.StringBuffer java.util.Vector int top int int java.lang.Object[]
StackMap stack:
18: aload 8
iload 6
aaload
astore 5
start local 5 19: iload 4
ifne 20
aload 2
ldc ","
invokevirtual java.lang.StringBuffer.append:(Ljava/lang/String;)Ljava/lang/StringBuffer;
pop
20: StackMap locals: java.lang.String java.lang.Object java.lang.StringBuffer java.util.Vector int java.lang.Object int int java.lang.Object[]
StackMap stack:
aload 2
aload 5
invokevirtual java.lang.StringBuffer.append:(Ljava/lang/Object;)Ljava/lang/StringBuffer;
pop
21: iconst_0
istore 4
end local 5 22: iinc 6 1
StackMap locals: java.lang.String java.lang.Object java.lang.StringBuffer java.util.Vector int top int int java.lang.Object[]
StackMap stack:
23: iload 6
iload 7
if_icmplt 18
24: aload 2
ldc "]\n"
invokevirtual java.lang.StringBuffer.append:(Ljava/lang/String;)Ljava/lang/StringBuffer;
pop
end local 4 end local 3 25: StackMap locals: java.lang.String java.lang.Object java.lang.StringBuffer
StackMap stack:
return
end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 26 0 prefix Ljava/lang/String;
0 26 1 obj Ljava/lang/Object;
0 26 2 sb Ljava/lang/StringBuffer;
5 12 3 tab Ljava/util/Hashtable<**>;
8 10 4 o Ljava/lang/Object;
15 25 3 v Ljava/util/Vector<*>;
17 25 4 first Z
19 22 5 o Ljava/lang/Object;
MethodParameters:
Name Flags
prefix
obj
sb
private static java.nio.file.Path lambda$0(java.lang.String);
descriptor: (Ljava/lang/String;)Ljava/nio/file/Path;
flags: (0x100a) ACC_PRIVATE, ACC_STATIC, ACC_SYNTHETIC
Code:
stack=2, locals=1, args_size=1
0: aload 0
iconst_0
anewarray java.lang.String
invokestatic java.nio.file.Paths.get:(Ljava/lang/String;[Ljava/lang/String;)Ljava/nio/file/Path;
invokeinterface java.nio.file.Path.toAbsolutePath:()Ljava/nio/file/Path;
areturn
LocalVariableTable:
Start End Slot Name Signature
}
SourceFile: "Config.java"
NestMembers:
sun.security.krb5.Config$1 sun.security.krb5.Config$2 sun.security.krb5.Config$3 sun.security.krb5.Config$FileExistsAction
InnerClasses:
public final Lookup = java.lang.invoke.MethodHandles$Lookup of java.lang.invoke.MethodHandles
sun.security.krb5.Config$1
sun.security.krb5.Config$2
sun.security.krb5.Config$3
FileExistsAction = sun.security.krb5.Config$FileExistsAction of sun.security.krb5.Config