public class sun.security.krb5.internal.rcache.DflCache extends sun.security.krb5.internal.ReplayCache
minor version: 0
major version: 59
flags: flags: (0x0021) ACC_PUBLIC, ACC_SUPER
this_class: sun.security.krb5.internal.rcache.DflCache
super_class: sun.security.krb5.internal.ReplayCache
{
private static final int KRB5_RV_VNO;
descriptor: I
flags: (0x001a) ACC_PRIVATE, ACC_STATIC, ACC_FINAL
ConstantValue: 1281
private static final int EXCESSREPS;
descriptor: I
flags: (0x001a) ACC_PRIVATE, ACC_STATIC, ACC_FINAL
ConstantValue: 30
private final java.lang.String source;
descriptor: Ljava/lang/String;
flags: (0x0012) ACC_PRIVATE, ACC_FINAL
private static int uid;
descriptor: I
flags: (0x000a) ACC_PRIVATE, ACC_STATIC
static void <clinit>();
descriptor: ()V
flags: (0x0008) ACC_STATIC
Code:
stack=3, locals=1, args_size=0
0: ldc "com.sun.security.auth.module.UnixSystem"
invokestatic java.lang.Class.forName:(Ljava/lang/String;)Ljava/lang/Class;
astore 0
start local 0 1: aload 0
ldc "getUid"
iconst_0
anewarray java.lang.Class
invokevirtual java.lang.Class.getMethod:(Ljava/lang/String;[Ljava/lang/Class;)Ljava/lang/reflect/Method;
aload 0
invokevirtual java.lang.Class.newInstance:()Ljava/lang/Object;
iconst_0
anewarray java.lang.Object
invokevirtual java.lang.reflect.Method.invoke:(Ljava/lang/Object;[Ljava/lang/Object;)Ljava/lang/Object;
2: checkcast java.lang.Long
invokevirtual java.lang.Long.longValue:()J
l2i
putstatic sun.security.krb5.internal.rcache.DflCache.uid:I
end local 0 3: goto 6
StackMap locals:
StackMap stack: java.lang.Exception
4: pop
5: iconst_m1
putstatic sun.security.krb5.internal.rcache.DflCache.uid:I
6: StackMap locals:
StackMap stack:
return
LocalVariableTable:
Start End Slot Name Signature
1 3 0 clazz Ljava/lang/Class<*>;
Exception table:
from to target type
0 3 4 Class java.lang.Exception
public void <init>(java.lang.String);
descriptor: (Ljava/lang/String;)V
flags: (0x0001) ACC_PUBLIC
Code:
stack=2, locals=2, args_size=2
start local 0 start local 1 0: aload 0
invokespecial sun.security.krb5.internal.ReplayCache.<init>:()V
1: aload 0
aload 1
putfield sun.security.krb5.internal.rcache.DflCache.source:Ljava/lang/String;
2: return
end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 3 0 this Lsun/security/krb5/internal/rcache/DflCache;
0 3 1 source Ljava/lang/String;
MethodParameters:
Name Flags
source
private static java.lang.String defaultPath();
descriptor: ()Ljava/lang/String;
flags: (0x000a) ACC_PRIVATE, ACC_STATIC
Code:
stack=3, locals=0, args_size=0
0: new sun.security.action.GetPropertyAction
dup
ldc "java.io.tmpdir"
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
LocalVariableTable:
Start End Slot Name Signature
private static java.lang.String defaultFile(java.lang.String);
descriptor: (Ljava/lang/String;)Ljava/lang/String;
flags: (0x000a) ACC_PRIVATE, ACC_STATIC
Code:
stack=3, locals=2, args_size=1
start local 0 0: aload 0
bipush 47
invokevirtual java.lang.String.indexOf:(I)I
istore 1
start local 1 1: iload 1
iconst_m1
if_icmpne 3
2: aload 0
bipush 64
invokevirtual java.lang.String.indexOf:(I)I
istore 1
3: StackMap locals: int
StackMap stack:
iload 1
iconst_m1
if_icmpeq 5
4: aload 0
iconst_0
iload 1
invokevirtual java.lang.String.substring:(II)Ljava/lang/String;
astore 0
5: StackMap locals:
StackMap stack:
getstatic sun.security.krb5.internal.rcache.DflCache.uid:I
iconst_m1
if_icmpeq 7
6: 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;
getstatic sun.security.krb5.internal.rcache.DflCache.uid:I
invokevirtual java.lang.StringBuilder.append:(I)Ljava/lang/StringBuilder;
invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
astore 0
7: StackMap locals:
StackMap stack:
aload 0
areturn
end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 8 0 server Ljava/lang/String;
1 8 1 slash I
MethodParameters:
Name Flags
server
private static java.nio.file.Path getFileName(java.lang.String, java.lang.String);
descriptor: (Ljava/lang/String;Ljava/lang/String;)Ljava/nio/file/Path;
flags: (0x000a) ACC_PRIVATE, ACC_STATIC
Code:
stack=4, locals=6, args_size=2
start local 0 start local 1 0: aload 0
ldc "dfl"
invokevirtual java.lang.String.equals:(Ljava/lang/Object;)Z
ifeq 4
1: invokestatic sun.security.krb5.internal.rcache.DflCache.defaultPath:()Ljava/lang/String;
astore 2
start local 2 2: aload 1
invokestatic sun.security.krb5.internal.rcache.DflCache.defaultFile:(Ljava/lang/String;)Ljava/lang/String;
astore 3
start local 3 3: goto 21
end local 3 end local 2 StackMap locals:
StackMap stack:
4: aload 0
ldc "dfl:"
invokevirtual java.lang.String.startsWith:(Ljava/lang/String;)Z
ifeq 20
5: aload 0
iconst_4
invokevirtual java.lang.String.substring:(I)Ljava/lang/String;
astore 0
6: aload 0
bipush 47
invokevirtual java.lang.String.lastIndexOf:(I)I
istore 4
start local 4 7: aload 0
bipush 92
invokevirtual java.lang.String.lastIndexOf:(I)I
istore 5
start local 5 8: iload 5
iload 4
if_icmple 9
iload 5
istore 4
9: StackMap locals: java.lang.String java.lang.String top top int int
StackMap stack:
iload 4
iconst_m1
if_icmpne 13
10: invokestatic sun.security.krb5.internal.rcache.DflCache.defaultPath:()Ljava/lang/String;
astore 2
start local 2 11: aload 0
astore 3
start local 3 12: goto 21
end local 3 end local 2 StackMap locals:
StackMap stack:
13: new java.io.File
dup
aload 0
invokespecial java.io.File.<init>:(Ljava/lang/String;)V
invokevirtual java.io.File.isDirectory:()Z
ifeq 17
14: aload 0
astore 2
start local 2 15: aload 1
invokestatic sun.security.krb5.internal.rcache.DflCache.defaultFile:(Ljava/lang/String;)Ljava/lang/String;
astore 3
start local 3 16: goto 21
end local 3 end local 2 17: StackMap locals:
StackMap stack:
aconst_null
astore 2
start local 2 18: aload 0
astore 3
end local 5 end local 4 start local 3 19: goto 21
end local 3 end local 2 20: StackMap locals: java.lang.String java.lang.String
StackMap stack:
new java.lang.IllegalArgumentException
dup
invokespecial java.lang.IllegalArgumentException.<init>:()V
athrow
start local 2 start local 3 21: StackMap locals: java.lang.String java.lang.String
StackMap stack:
new java.io.File
dup
aload 2
aload 3
invokespecial java.io.File.<init>:(Ljava/lang/String;Ljava/lang/String;)V
invokevirtual java.io.File.toPath:()Ljava/nio/file/Path;
areturn
end local 3 end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 22 0 source Ljava/lang/String;
0 22 1 server Ljava/lang/String;
2 4 2 path Ljava/lang/String;
11 13 2 path Ljava/lang/String;
15 17 2 path Ljava/lang/String;
18 20 2 path Ljava/lang/String;
21 22 2 path Ljava/lang/String;
3 4 3 file Ljava/lang/String;
12 13 3 file Ljava/lang/String;
16 17 3 file Ljava/lang/String;
19 20 3 file Ljava/lang/String;
21 22 3 file Ljava/lang/String;
7 19 4 pos I
8 19 5 pos1 I
MethodParameters:
Name Flags
source
server
public void checkAndStore(sun.security.krb5.internal.KerberosTime, sun.security.krb5.internal.rcache.AuthTimeWithHash);
descriptor: (Lsun/security/krb5/internal/KerberosTime;Lsun/security/krb5/internal/rcache/AuthTimeWithHash;)V
flags: (0x0001) ACC_PUBLIC
Code:
stack=3, locals=5, args_size=3
start local 0 start local 1 start local 2 0: aload 0
aload 1
aload 2
invokevirtual sun.security.krb5.internal.rcache.DflCache.checkAndStore0:(Lsun/security/krb5/internal/KerberosTime;Lsun/security/krb5/internal/rcache/AuthTimeWithHash;)V
1: goto 6
StackMap locals:
StackMap stack: java.io.IOException
2: astore 3
start local 3 3: new sun.security.krb5.internal.KrbApErrException
dup
bipush 60
invokespecial sun.security.krb5.internal.KrbApErrException.<init>:(I)V
astore 4
start local 4 4: aload 4
aload 3
invokevirtual sun.security.krb5.internal.KrbApErrException.initCause:(Ljava/lang/Throwable;)Ljava/lang/Throwable;
pop
5: aload 4
athrow
end local 4 end local 3 6: StackMap locals:
StackMap stack:
return
end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 7 0 this Lsun/security/krb5/internal/rcache/DflCache;
0 7 1 currTime Lsun/security/krb5/internal/KerberosTime;
0 7 2 time Lsun/security/krb5/internal/rcache/AuthTimeWithHash;
3 6 3 ioe Ljava/io/IOException;
4 6 4 ke Lsun/security/krb5/internal/KrbApErrException;
Exception table:
from to target type
0 1 2 Class java.io.IOException
Exceptions:
throws sun.security.krb5.internal.KrbApErrException
MethodParameters:
Name Flags
currTime
time
private synchronized void checkAndStore0(sun.security.krb5.internal.KerberosTime, sun.security.krb5.internal.rcache.AuthTimeWithHash);
descriptor: (Lsun/security/krb5/internal/KerberosTime;Lsun/security/krb5/internal/rcache/AuthTimeWithHash;)V
flags: (0x0022) ACC_PRIVATE, ACC_SYNCHRONIZED
Code:
stack=4, locals=8, args_size=3
start local 0 start local 1 start local 2 0: aload 0
getfield sun.security.krb5.internal.rcache.DflCache.source:Ljava/lang/String;
aload 2
getfield sun.security.krb5.internal.rcache.AuthTimeWithHash.server:Ljava/lang/String;
invokestatic sun.security.krb5.internal.rcache.DflCache.getFileName:(Ljava/lang/String;Ljava/lang/String;)Ljava/nio/file/Path;
astore 3
start local 3 1: iconst_0
istore 4
start local 4 2: aconst_null
astore 5
aconst_null
astore 6
3: new sun.security.krb5.internal.rcache.DflCache$Storage
dup
invokespecial sun.security.krb5.internal.rcache.DflCache$Storage.<init>:()V
astore 7
start local 7 4: aload 7
aload 3
aload 2
aload 1
invokevirtual sun.security.krb5.internal.rcache.DflCache$Storage.loadAndCheck:(Ljava/nio/file/Path;Lsun/security/krb5/internal/rcache/AuthTimeWithHash;Lsun/security/krb5/internal/KerberosTime;)I
istore 4
5: goto 9
StackMap locals: sun.security.krb5.internal.rcache.DflCache sun.security.krb5.internal.KerberosTime sun.security.krb5.internal.rcache.AuthTimeWithHash java.nio.file.Path int java.lang.Throwable java.lang.Throwable sun.security.krb5.internal.rcache.DflCache$Storage
StackMap stack: java.io.IOException
6: pop
7: aload 3
invokestatic sun.security.krb5.internal.rcache.DflCache$Storage.create:(Ljava/nio/file/Path;)V
8: aload 7
aload 3
aload 2
aload 1
invokevirtual sun.security.krb5.internal.rcache.DflCache$Storage.loadAndCheck:(Ljava/nio/file/Path;Lsun/security/krb5/internal/rcache/AuthTimeWithHash;Lsun/security/krb5/internal/KerberosTime;)I
istore 4
9: StackMap locals:
StackMap stack:
aload 7
aload 2
invokevirtual sun.security.krb5.internal.rcache.DflCache$Storage.append:(Lsun/security/krb5/internal/rcache/AuthTimeWithHash;)V
10: aload 7
ifnull 16
aload 7
invokevirtual sun.security.krb5.internal.rcache.DflCache$Storage.close:()V
goto 16
StackMap locals:
StackMap stack: java.lang.Throwable
11: astore 5
aload 7
ifnull 12
aload 7
invokevirtual sun.security.krb5.internal.rcache.DflCache$Storage.close:()V
end local 7 StackMap locals:
StackMap stack:
12: aload 5
athrow
StackMap locals:
StackMap stack: java.lang.Throwable
13: astore 6
aload 5
ifnonnull 14
aload 6
astore 5
goto 15
StackMap locals:
StackMap stack:
14: aload 5
aload 6
if_acmpeq 15
aload 5
aload 6
invokevirtual java.lang.Throwable.addSuppressed:(Ljava/lang/Throwable;)V
StackMap locals:
StackMap stack:
15: aload 5
athrow
16: StackMap locals:
StackMap stack:
iload 4
bipush 30
if_icmple 18
17: aload 3
aload 1
invokestatic sun.security.krb5.internal.rcache.DflCache$Storage.expunge:(Ljava/nio/file/Path;Lsun/security/krb5/internal/KerberosTime;)V
18: StackMap locals:
StackMap stack:
return
end local 4 end local 3 end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 19 0 this Lsun/security/krb5/internal/rcache/DflCache;
0 19 1 currTime Lsun/security/krb5/internal/KerberosTime;
0 19 2 time Lsun/security/krb5/internal/rcache/AuthTimeWithHash;
1 19 3 p Ljava/nio/file/Path;
2 19 4 missed I
4 12 7 s Lsun/security/krb5/internal/rcache/DflCache$Storage;
Exception table:
from to target type
4 5 6 Class java.io.IOException
4 10 11 any
3 13 13 any
Exceptions:
throws java.io.IOException, sun.security.krb5.internal.KrbApErrException
MethodParameters:
Name Flags
currTime
time
}
SourceFile: "DflCache.java"
NestMembers:
sun.security.krb5.internal.rcache.DflCache$Storage
InnerClasses:
private Storage = sun.security.krb5.internal.rcache.DflCache$Storage of sun.security.krb5.internal.rcache.DflCache