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
{
public static final boolean DISABLE_REFERRALS;
descriptor: Z
flags: (0x0019) ACC_PUBLIC, ACC_STATIC, ACC_FINAL
public static final int MAX_REFERRALS;
descriptor: I
flags: (0x0019) ACC_PUBLIC, ACC_STATIC, ACC_FINAL
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=2, locals=3, args_size=0
0: ldc "sun.security.krb5.disableReferrals"
1: invokestatic sun.security.util.SecurityProperties.privilegedGetOverridable:(Ljava/lang/String;)Ljava/lang/String;
2: astore 0
start local 0 3: aload 0
ifnull 6
4: ldc "true"
aload 0
invokevirtual java.lang.String.equalsIgnoreCase:(Ljava/lang/String;)Z
putstatic sun.security.krb5.Config.DISABLE_REFERRALS:Z
5: goto 7
6: StackMap locals: java.lang.String
StackMap stack:
iconst_0
putstatic sun.security.krb5.Config.DISABLE_REFERRALS:Z
7: StackMap locals:
StackMap stack:
iconst_5
istore 1
start local 1 8: ldc "sun.security.krb5.maxReferrals"
9: invokestatic sun.security.util.SecurityProperties.privilegedGetOverridable:(Ljava/lang/String;)Ljava/lang/String;
10: astore 2
start local 2 11: aload 2
invokestatic java.lang.Integer.parseInt:(Ljava/lang/String;)I
istore 1
12: goto 14
StackMap locals: java.lang.String int java.lang.String
StackMap stack: java.lang.NumberFormatException
13: pop
14: StackMap locals:
StackMap stack:
iload 1
putstatic sun.security.krb5.Config.MAX_REFERRALS:I
end local 2 end local 1 end local 0 15: aconst_null
putstatic sun.security.krb5.Config.singleton:Lsun/security/krb5/Config;
16: getstatic sun.security.krb5.internal.Krb5.DEBUG:Z
putstatic sun.security.krb5.Config.DEBUG:Z
17: return
LocalVariableTable:
Start End Slot Name Signature
3 15 0 disableReferralsProp Ljava/lang/String;
8 15 1 maxReferralsValue I
11 15 2 maxReferralsProp Ljava/lang/String;
Exception table:
from to target type
11 12 13 Class java.lang.NumberFormatException
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 synchronized void refresh();
descriptor: ()V
flags: (0x0029) ACC_PUBLIC, ACC_STATIC, ACC_SYNCHRONIZED
Code:
stack=2, locals=0, args_size=0
0: new sun.security.krb5.Config
dup
invokespecial sun.security.krb5.Config.<init>:()V
putstatic sun.security.krb5.Config.singleton:Lsun/security/krb5/Config;
1: invokestatic sun.security.krb5.KdcComm.initStatic:()V
2: invokestatic sun.security.krb5.internal.crypto.EType.initStatic:()V
3: invokestatic sun.security.krb5.Checksum.initStatic:()V
4: invokestatic sun.security.krb5.KrbAsReqBuilder$ReferralsState.initStatic:()V
5: return
LocalVariableTable:
Start End Slot Name Signature
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.krb5.Config.getProperty:(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.krb5.Config.getProperty:(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.krb5.Config.getProperty:(Ljava/lang/String;)Ljava/lang/String;
astore 1
start local 1 3: aload 1
ifnull 6
4: 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;
5: goto 7
6: StackMap locals: sun.security.krb5.Config java.lang.String
StackMap stack:
aload 0
aconst_null
putfield sun.security.krb5.Config.defaultKDC:Ljava/lang/String;
7: StackMap locals:
StackMap stack:
aload 0
ldc "java.security.krb5.realm"
invokestatic sun.security.krb5.Config.getProperty:(Ljava/lang/String;)Ljava/lang/String;
putfield sun.security.krb5.Config.defaultRealm:Ljava/lang/String;
8: aload 0
getfield sun.security.krb5.Config.defaultKDC:Ljava/lang/String;
ifnonnull 9
aload 0
getfield sun.security.krb5.Config.defaultRealm:Ljava/lang/String;
ifnonnull 10
9: StackMap locals:
StackMap stack:
aload 0
getfield sun.security.krb5.Config.defaultRealm:Ljava/lang/String;
ifnonnull 13
aload 0
getfield sun.security.krb5.Config.defaultKDC:Ljava/lang/String;
ifnull 13
10: StackMap locals:
StackMap stack:
new sun.security.krb5.KrbException
dup
11: ldc "System property java.security.krb5.kdc and java.security.krb5.realm both must be set or neither must be set."
12: invokespecial sun.security.krb5.KrbException.<init>:(Ljava/lang/String;)V
athrow
13: StackMap locals:
StackMap stack:
aload 0
invokevirtual sun.security.krb5.Config.getJavaFileName:()Ljava/lang/String;
astore 3
start local 3 14: aload 3
ifnull 20
15: aload 0
aload 3
invokevirtual sun.security.krb5.Config.loadConfigFile:(Ljava/lang/String;)Ljava/util/List;
astore 2
start local 2 16: 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;
17: getstatic sun.security.krb5.Config.DEBUG:Z
ifeq 36
18: getstatic java.lang.System.out:Ljava/io/PrintStream;
ldc "Loaded from Java config"
invokevirtual java.io.PrintStream.println:(Ljava/lang/String;)V
19: goto 36
end local 2 20: StackMap locals: sun.security.krb5.Config java.lang.String top java.lang.String
StackMap stack:
iconst_0
istore 4
start local 4 21: invokestatic sun.security.krb5.Config.isMacosLionOrBetter:()Z
ifeq 28
22: aload 0
invokestatic sun.security.krb5.SCDynamicStoreConfig.getConfig:()Ljava/util/Hashtable;
putfield sun.security.krb5.Config.stanzaTable:Ljava/util/Hashtable;
23: getstatic sun.security.krb5.Config.DEBUG:Z
ifeq 25
24: getstatic java.lang.System.out:Ljava/io/PrintStream;
ldc "Loaded from SCDynamicStoreConfig"
invokevirtual java.io.PrintStream.println:(Ljava/lang/String;)V
25: StackMap locals: int
StackMap stack:
iconst_1
istore 4
26: goto 28
StackMap locals:
StackMap stack: java.io.IOException
27: pop
28: StackMap locals:
StackMap stack:
iload 4
ifne 36
29: aload 0
invokevirtual sun.security.krb5.Config.getNativeFileName:()Ljava/lang/String;
astore 3
30: aload 0
aload 3
invokevirtual sun.security.krb5.Config.loadConfigFile:(Ljava/lang/String;)Ljava/util/List;
astore 2
start local 2 31: 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;
32: getstatic sun.security.krb5.Config.DEBUG:Z
ifeq 36
33: 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 34: goto 36
StackMap locals: sun.security.krb5.Config java.lang.String
StackMap stack: java.io.IOException
35: pop
36: StackMap locals:
StackMap stack:
return
end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 37 0 this Lsun/security/krb5/Config;
3 37 1 tmp Ljava/lang/String;
16 20 2 configFile Ljava/util/List<Ljava/lang/String;>;
31 34 2 configFile Ljava/util/List<Ljava/lang/String;>;
14 34 3 fileName Ljava/lang/String;
21 34 4 found Z
Exception table:
from to target type
22 26 27 Class java.io.IOException
13 34 35 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.lastElement:()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
public boolean getBooleanValue(java.lang.String[]);
descriptor: ([Ljava/lang/String;)Z
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.get:([Ljava/lang/String;)Ljava/lang/String;
astore 2
start local 2 1: aload 2
ifnull 3
aload 2
ldc "true"
invokevirtual java.lang.String.equalsIgnoreCase:(Ljava/lang/String;)Z
ifeq 3
2: iconst_1
ireturn
3: StackMap locals: java.lang.String
StackMap stack:
iconst_0
ireturn
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;
1 4 2 val Ljava/lang/String;
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 java.util.List<java.lang.String> loadConfigFile(java.lang.String);
descriptor: (Ljava/lang/String;)Ljava/util/List;
flags: (0x0002) ACC_PRIVATE
Code:
stack=8, 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: aconst_null
astore 3
aconst_null
astore 4
2: new java.io.BufferedReader
dup
new java.io.InputStreamReader
dup
3: new sun.security.krb5.Config$1
dup
aload 0
aload 1
invokespecial sun.security.krb5.Config$1.<init>:(Lsun/security/krb5/Config;Ljava/lang/String;)V
4: invokestatic java.security.AccessController.doPrivileged:(Ljava/security/PrivilegedExceptionAction;)Ljava/lang/Object;
checkcast java.io.InputStream
invokespecial java.io.InputStreamReader.<init>:(Ljava/io/InputStream;)V
5: invokespecial java.io.BufferedReader.<init>:(Ljava/io/Reader;)V
astore 5
start local 5 6: aconst_null
astore 7
start local 7 7: goto 43
start local 6 8: StackMap locals: sun.security.krb5.Config java.lang.String java.util.List java.lang.Throwable java.lang.Throwable java.io.BufferedReader java.lang.String java.lang.String
StackMap stack:
aload 6
invokevirtual java.lang.String.trim:()Ljava/lang/String;
astore 6
9: aload 6
invokevirtual java.lang.String.isEmpty:()Z
ifne 43
aload 6
ldc "#"
invokevirtual java.lang.String.startsWith:(Ljava/lang/String;)Z
ifne 43
aload 6
ldc ";"
invokevirtual java.lang.String.startsWith:(Ljava/lang/String;)Z
ifeq 11
10: goto 43
11: StackMap locals:
StackMap stack:
aload 6
ldc "["
invokevirtual java.lang.String.startsWith:(Ljava/lang/String;)Z
ifeq 30
12: aload 6
ldc "]"
invokevirtual java.lang.String.endsWith:(Ljava/lang/String;)Z
ifne 16
13: new sun.security.krb5.KrbException
dup
new java.lang.StringBuilder
dup
ldc "Illegal config content:"
invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
14: aload 6
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
15: invokespecial sun.security.krb5.KrbException.<init>:(Ljava/lang/String;)V
athrow
16: StackMap locals:
StackMap stack:
aload 7
ifnull 19
17: aload 2
aload 7
invokeinterface java.util.List.add:(Ljava/lang/Object;)Z
pop
18: aload 2
ldc "}"
invokeinterface java.util.List.add:(Ljava/lang/Object;)Z
pop
19: StackMap locals:
StackMap stack:
aload 6
20: iconst_1
aload 6
invokevirtual java.lang.String.length:()I
iconst_1
isub
21: invokevirtual java.lang.String.substring:(II)Ljava/lang/String;
22: invokevirtual java.lang.String.trim:()Ljava/lang/String;
23: astore 8
start local 8 24: aload 8
invokevirtual java.lang.String.isEmpty:()Z
ifeq 28
25: new sun.security.krb5.KrbException
dup
new java.lang.StringBuilder
dup
ldc "Illegal config content:"
invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
26: aload 6
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
27: invokespecial sun.security.krb5.KrbException.<init>:(Ljava/lang/String;)V
athrow
28: 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 7
end local 8 29: goto 43
StackMap locals:
StackMap stack:
30: aload 6
ldc "{"
invokevirtual java.lang.String.startsWith:(Ljava/lang/String;)Z
ifeq 40
31: aload 7
ifnonnull 35
32: new sun.security.krb5.KrbException
dup
33: ldc "Config file should not start with \"{\""
34: invokespecial sun.security.krb5.KrbException.<init>:(Ljava/lang/String;)V
athrow
35: StackMap locals:
StackMap stack:
new java.lang.StringBuilder
dup
aload 7
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 7
36: aload 6
invokevirtual java.lang.String.length:()I
iconst_1
if_icmple 43
37: aload 2
aload 7
invokeinterface java.util.List.add:(Ljava/lang/Object;)Z
pop
38: aload 6
iconst_1
invokevirtual java.lang.String.substring:(I)Ljava/lang/String;
invokevirtual java.lang.String.trim:()Ljava/lang/String;
astore 7
39: goto 43
40: StackMap locals:
StackMap stack:
aload 7
ifnull 43
41: aload 2
aload 7
invokeinterface java.util.List.add:(Ljava/lang/Object;)Z
pop
42: aload 6
astore 7
end local 6 43: StackMap locals: sun.security.krb5.Config java.lang.String java.util.List java.lang.Throwable java.lang.Throwable java.io.BufferedReader top java.lang.String
StackMap stack:
aload 5
invokevirtual java.io.BufferedReader.readLine:()Ljava/lang/String;
dup
astore 6
start local 6 44: ifnonnull 8
45: aload 7
ifnull 48
46: aload 2
aload 7
invokeinterface java.util.List.add:(Ljava/lang/Object;)Z
pop
47: aload 2
ldc "}"
invokeinterface java.util.List.add:(Ljava/lang/Object;)Z
pop
end local 7 end local 6 48: StackMap locals: sun.security.krb5.Config java.lang.String java.util.List java.lang.Throwable java.lang.Throwable java.io.BufferedReader
StackMap stack:
aload 5
ifnull 54
aload 5
invokevirtual java.io.BufferedReader.close:()V
goto 54
StackMap locals:
StackMap stack: java.lang.Throwable
49: astore 3
aload 5
ifnull 50
aload 5
invokevirtual java.io.BufferedReader.close:()V
end local 5 StackMap locals:
StackMap stack:
50: aload 3
athrow
StackMap locals:
StackMap stack: java.lang.Throwable
51: astore 4
aload 3
ifnonnull 52
aload 4
astore 3
goto 53
StackMap locals:
StackMap stack:
52: aload 3
aload 4
if_acmpeq 53
aload 3
aload 4
invokevirtual java.lang.Throwable.addSuppressed:(Ljava/lang/Throwable;)V
StackMap locals:
StackMap stack:
53: aload 3
athrow
54: StackMap locals:
StackMap stack:
aload 2
55: areturn
end local 2 56: StackMap locals: sun.security.krb5.Config java.lang.String
StackMap stack: java.security.PrivilegedActionException
astore 2
start local 2 57: aload 2
invokevirtual java.security.PrivilegedActionException.getException:()Ljava/lang/Exception;
checkcast java.io.IOException
athrow
end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 58 0 this Lsun/security/krb5/Config;
0 58 1 fileName Ljava/lang/String;
1 56 2 v Ljava/util/List<Ljava/lang/String;>;
6 50 5 br Ljava/io/BufferedReader;
8 43 6 line Ljava/lang/String;
44 48 6 line Ljava/lang/String;
7 48 7 previous Ljava/lang/String;
24 29 8 title Ljava/lang/String;
57 58 2 pe Ljava/security/PrivilegedActionException;
Exception table:
from to target type
6 48 49 any
2 51 51 any
0 55 56 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 31
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 31
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.trimmed:(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 20
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:
new java.util.Hashtable
dup
invokespecial java.util.Hashtable.<init>:()V
astore 8
start local 8 16: aload 2
aload 6
aload 8
invokevirtual java.util.Hashtable.put:(Ljava/lang/Object;Ljava/lang/Object;)Ljava/lang/Object;
pop
17: aload 8
ldc " PARENT "
aload 2
invokevirtual java.util.Hashtable.put:(Ljava/lang/Object;Ljava/lang/Object;)Ljava/lang/Object;
pop
18: aload 8
astore 2
end local 8 19: goto 31
20: StackMap locals:
StackMap stack:
aload 2
aload 6
invokevirtual java.util.Hashtable.containsKey:(Ljava/lang/Object;)Z
ifeq 28
21: aload 2
aload 6
invokevirtual java.util.Hashtable.get:(Ljava/lang/Object;)Ljava/lang/Object;
astore 9
start local 9 22: aload 9
instanceof java.util.Vector
ifne 26
23: new sun.security.krb5.KrbException
dup
new java.lang.StringBuilder
dup
ldc "Key "
invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
aload 6
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
24: ldc "used for both value and section"
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
25: invokespecial sun.security.krb5.KrbException.<init>:(Ljava/lang/String;)V
athrow
26: StackMap locals: sun.security.krb5.Config java.util.List java.util.Hashtable java.lang.String java.util.Iterator int java.lang.String java.lang.String top java.lang.Object
StackMap stack:
aload 2
aload 6
invokevirtual java.util.Hashtable.get:(Ljava/lang/Object;)Ljava/lang/Object;
checkcast java.util.Vector
astore 8
end local 9 start local 8 27: goto 30
end local 8 28: StackMap locals: sun.security.krb5.Config java.util.List java.util.Hashtable java.lang.String java.util.Iterator int java.lang.String java.lang.String
StackMap stack:
new java.util.Vector
dup
invokespecial java.util.Vector.<init>:()V
astore 8
start local 8 29: aload 2
aload 6
aload 8
invokevirtual java.util.Hashtable.put:(Ljava/lang/Object;Ljava/lang/Object;)Ljava/lang/Object;
pop
30: StackMap locals: java.util.Vector
StackMap stack:
aload 8
aload 7
invokevirtual java.util.Vector.add:(Ljava/lang/Object;)Z
pop
end local 8 end local 7 end local 6 end local 5 end local 3 31: 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
32: aload 2
aload 0
getfield sun.security.krb5.Config.stanzaTable:Ljava/util/Hashtable;
if_acmpeq 34
33: new sun.security.krb5.KrbException
dup
ldc "Not closed"
invokespecial sun.security.krb5.KrbException.<init>:(Ljava/lang/String;)V
athrow
34: 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 35 0 this Lsun/security/krb5/Config;
0 35 1 v Ljava/util/List<Ljava/lang/String;>;
1 35 2 current Ljava/util/Hashtable<Ljava/lang/String;Ljava/lang/Object;>;
3 31 3 line Ljava/lang/String;
8 31 5 pos I
11 31 6 key Ljava/lang/String;
12 31 7 value Ljava/lang/String;
16 19 8 subTable Ljava/util/Hashtable<Ljava/lang/String;Ljava/lang/Object;>;
27 28 8 values Ljava/util/Vector<Ljava/lang/String;>;
29 31 8 values Ljava/util/Vector<Ljava/lang/String;>;
22 27 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.krb5.Config.getProperty:(Ljava/lang/String;)Ljava/lang/String;
astore 1
start local 1 1: aload 1
ifnonnull 8
2: new java.lang.StringBuilder
dup
ldc "java.home"
invokestatic sun.security.krb5.Config.getProperty:(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
getstatic java.io.File.separator:Ljava/lang/String;
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
3: ldc "lib"
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;
4: 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;
5: invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
astore 1
6: aload 0
aload 1
invokevirtual sun.security.krb5.Config.fileExists:(Ljava/lang/String;)Z
ifne 8
7: aconst_null
astore 1
8: StackMap locals: java.lang.String
StackMap stack:
getstatic sun.security.krb5.Config.DEBUG:Z
ifeq 10
9: 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
10: StackMap locals:
StackMap stack:
aload 1
areturn
end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 11 0 this Lsun/security/krb5/Config;
1 11 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.krb5.Config.getProperty:(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 static java.lang.String getProperty(java.lang.String);
descriptor: (Ljava/lang/String;)Ljava/lang/String;
flags: (0x000a) ACC_PRIVATE, ACC_STATIC
Code:
stack=3, locals=1, args_size=1
start local 0 0: new sun.security.action.GetPropertyAction
dup
aload 0
invokespecial sun.security.action.GetPropertyAction.<init>:(Ljava/lang/String;)V
1: invokestatic java.security.AccessController.doPrivileged:(Ljava/security/PrivilegedAction;)Ljava/lang/Object;
checkcast java.lang.String
areturn
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 2 0 property Ljava/lang/String;
MethodParameters:
Name Flags
property
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.krb5.Config.getProperty:(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 trimmed(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 67
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 67
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 67
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 67
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 67
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 67
23: StackMap locals:
StackMap stack:
bipush 16
istore 1
24: goto 67
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 38
26: StackMap locals:
StackMap stack:
aload 0
ldc "aes128-cts"
invokevirtual java.lang.String.equalsIgnoreCase:(Ljava/lang/String;)Z
ifne 28
27: aload 0
ldc "aes128-cts-hmac-sha1-96"
invokevirtual java.lang.String.equalsIgnoreCase:(Ljava/lang/String;)Z
ifeq 30
28: StackMap locals:
StackMap stack:
bipush 17
istore 1
29: goto 67
StackMap locals:
StackMap stack:
30: aload 0
ldc "aes256-cts"
invokevirtual java.lang.String.equalsIgnoreCase:(Ljava/lang/String;)Z
ifne 32
31: aload 0
ldc "aes256-cts-hmac-sha1-96"
invokevirtual java.lang.String.equalsIgnoreCase:(Ljava/lang/String;)Z
ifeq 34
32: StackMap locals:
StackMap stack:
bipush 18
istore 1
33: goto 67
StackMap locals:
StackMap stack:
34: aload 0
ldc "arcfour-hmac"
invokevirtual java.lang.String.equalsIgnoreCase:(Ljava/lang/String;)Z
ifne 36
35: aload 0
ldc "arcfour-hmac-md5"
invokevirtual java.lang.String.equalsIgnoreCase:(Ljava/lang/String;)Z
ifeq 67
36: StackMap locals:
StackMap stack:
bipush 23
istore 1
37: goto 67
StackMap locals:
StackMap stack:
38: aload 0
ldc "rc4-hmac"
invokevirtual java.lang.String.equalsIgnoreCase:(Ljava/lang/String;)Z
ifeq 41
39: bipush 23
istore 1
40: goto 67
StackMap locals:
StackMap stack:
41: aload 0
ldc "CRC32"
invokevirtual java.lang.String.equalsIgnoreCase:(Ljava/lang/String;)Z
ifeq 44
42: iconst_1
istore 1
43: goto 67
StackMap locals:
StackMap stack:
44: aload 0
ldc "r"
invokevirtual java.lang.String.startsWith:(Ljava/lang/String;)Z
ifne 45
aload 0
ldc "R"
invokevirtual java.lang.String.startsWith:(Ljava/lang/String;)Z
ifeq 51
45: StackMap locals:
StackMap stack:
aload 0
ldc "rsa-md5"
invokevirtual java.lang.String.equalsIgnoreCase:(Ljava/lang/String;)Z
ifeq 48
46: bipush 7
istore 1
47: goto 67
StackMap locals:
StackMap stack:
48: aload 0
ldc "rsa-md5-des"
invokevirtual java.lang.String.equalsIgnoreCase:(Ljava/lang/String;)Z
ifeq 67
49: bipush 8
istore 1
50: goto 67
StackMap locals:
StackMap stack:
51: aload 0
ldc "hmac-sha1-des3-kd"
invokevirtual java.lang.String.equalsIgnoreCase:(Ljava/lang/String;)Z
ifeq 54
52: bipush 12
istore 1
53: goto 67
StackMap locals:
StackMap stack:
54: aload 0
ldc "hmac-sha1-96-aes128"
invokevirtual java.lang.String.equalsIgnoreCase:(Ljava/lang/String;)Z
ifeq 57
55: bipush 15
istore 1
56: goto 67
StackMap locals:
StackMap stack:
57: aload 0
ldc "hmac-sha1-96-aes256"
invokevirtual java.lang.String.equalsIgnoreCase:(Ljava/lang/String;)Z
ifeq 60
58: bipush 16
istore 1
59: goto 67
StackMap locals:
StackMap stack:
60: aload 0
ldc "hmac-md5-rc4"
invokevirtual java.lang.String.equalsIgnoreCase:(Ljava/lang/String;)Z
ifne 63
61: aload 0
ldc "hmac-md5-arcfour"
invokevirtual java.lang.String.equalsIgnoreCase:(Ljava/lang/String;)Z
ifne 63
62: aload 0
ldc "hmac-md5-enc"
invokevirtual java.lang.String.equalsIgnoreCase:(Ljava/lang/String;)Z
ifeq 65
63: StackMap locals:
StackMap stack:
sipush -138
istore 1
64: goto 67
StackMap locals:
StackMap stack:
65: aload 0
ldc "NULL"
invokevirtual java.lang.String.equalsIgnoreCase:(Ljava/lang/String;)Z
ifeq 67
66: iconst_0
istore 1
67: StackMap locals:
StackMap stack:
iload 1
ireturn
end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 68 0 input Ljava/lang/String;
1 68 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=3, args_size=1
start local 0 0: iconst_0
istore 1
start local 1 1: 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.get:([Ljava/lang/String;)Ljava/lang/String;
astore 2
start local 2 2: aload 2
ifnull 3
aload 2
ldc "false"
invokevirtual java.lang.String.equalsIgnoreCase:(Ljava/lang/String;)Z
ifeq 3
iconst_1
goto 4
StackMap locals: int java.lang.String
StackMap stack:
3: iconst_0
StackMap locals:
StackMap stack: int
4: istore 1
5: iload 1
ifne 10
6: 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.get:([Ljava/lang/String;)Ljava/lang/String;
astore 2
7: aload 2
ifnull 8
aload 2
ldc "false"
invokevirtual java.lang.String.equalsIgnoreCase:(Ljava/lang/String;)Z
ifeq 8
iconst_1
goto 9
StackMap locals:
StackMap stack:
8: iconst_0
StackMap locals:
StackMap stack: int
9: istore 1
10: StackMap locals:
StackMap stack:
iload 1
ireturn
end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 11 0 this Lsun/security/krb5/Config;
1 11 1 useAddr Z
2 11 2 value Ljava/lang/String;
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
}
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:
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
final ReferralsState = sun.security.krb5.KrbAsReqBuilder$ReferralsState of sun.security.krb5.KrbAsReqBuilder