public class org.postgresql.gss.GSSCallbackHandler implements javax.security.auth.callback.CallbackHandler
minor version: 0
major version: 59
flags: flags: (0x0021) ACC_PUBLIC, ACC_SUPER
this_class: org.postgresql.gss.GSSCallbackHandler
super_class: java.lang.Object
{
private final java.lang.String user;
descriptor: Ljava/lang/String;
flags: (0x0012) ACC_PRIVATE, ACC_FINAL
private final java.lang.String password;
descriptor: Ljava/lang/String;
flags: (0x0012) ACC_PRIVATE, ACC_FINAL
public void <init>(java.lang.String, java.lang.String);
descriptor: (Ljava/lang/String;Ljava/lang/String;)V
flags: (0x0001) ACC_PUBLIC
Code:
stack=2, locals=3, args_size=3
start local 0 // org.postgresql.gss.GSSCallbackHandler this
start local 1 // java.lang.String user
start local 2 // java.lang.String password
0: .line 22
aload 0 /* this */
invokespecial java.lang.Object.<init>:()V
1: .line 23
aload 0 /* this */
aload 1 /* user */
putfield org.postgresql.gss.GSSCallbackHandler.user:Ljava/lang/String;
2: .line 24
aload 0 /* this */
aload 2 /* password */
putfield org.postgresql.gss.GSSCallbackHandler.password:Ljava/lang/String;
3: .line 25
return
end local 2 // java.lang.String password
end local 1 // java.lang.String user
end local 0 // org.postgresql.gss.GSSCallbackHandler this
LocalVariableTable:
Start End Slot Name Signature
0 4 0 this Lorg/postgresql/gss/GSSCallbackHandler;
0 4 1 user Ljava/lang/String;
0 4 2 password Ljava/lang/String;
MethodParameters:
Name Flags
user
password
public void handle(javax.security.auth.callback.Callback[]);
descriptor: ([Ljavax/security/auth/callback/Callback;)V
flags: (0x0001) ACC_PUBLIC
Code:
stack=5, locals=7, args_size=2
start local 0 // org.postgresql.gss.GSSCallbackHandler this
start local 1 // javax.security.auth.callback.Callback[] callbacks
0: .line 28
aload 1 /* callbacks */
dup
astore 5
arraylength
istore 4
iconst_0
istore 3
goto 25
StackMap locals: org.postgresql.gss.GSSCallbackHandler javax.security.auth.callback.Callback[] top int int javax.security.auth.callback.Callback[]
StackMap stack:
1: aload 5
iload 3
aaload
astore 2 /* callback */
start local 2 // javax.security.auth.callback.Callback callback
2: .line 29
aload 2 /* callback */
instanceof javax.security.auth.callback.TextOutputCallback
ifeq 13
3: .line 30
aload 2 /* callback */
checkcast javax.security.auth.callback.TextOutputCallback
astore 6 /* toc */
start local 6 // javax.security.auth.callback.TextOutputCallback toc
4: .line 31
aload 6 /* toc */
invokevirtual javax.security.auth.callback.TextOutputCallback.getMessageType:()I
tableswitch { // 0 - 2
0: 5
1: 9
2: 7
default: 11
}
5: .line 33
StackMap locals: org.postgresql.gss.GSSCallbackHandler javax.security.auth.callback.Callback[] javax.security.auth.callback.Callback int int javax.security.auth.callback.Callback[] javax.security.auth.callback.TextOutputCallback
StackMap stack:
getstatic java.lang.System.out:Ljava/io/PrintStream;
new java.lang.StringBuilder
dup
ldc "INFO: "
invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
aload 6 /* toc */
invokevirtual javax.security.auth.callback.TextOutputCallback.getMessage:()Ljava/lang/String;
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
6: .line 34
goto 24
7: .line 36
StackMap locals:
StackMap stack:
getstatic java.lang.System.out:Ljava/io/PrintStream;
new java.lang.StringBuilder
dup
ldc "ERROR: "
invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
aload 6 /* toc */
invokevirtual javax.security.auth.callback.TextOutputCallback.getMessage:()Ljava/lang/String;
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
8: .line 37
goto 24
9: .line 39
StackMap locals:
StackMap stack:
getstatic java.lang.System.out:Ljava/io/PrintStream;
new java.lang.StringBuilder
dup
ldc "WARNING: "
invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
aload 6 /* toc */
invokevirtual javax.security.auth.callback.TextOutputCallback.getMessage:()Ljava/lang/String;
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: .line 40
goto 24
11: .line 42
StackMap locals:
StackMap stack:
new java.io.IOException
dup
new java.lang.StringBuilder
dup
ldc "Unsupported message type: "
invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
aload 6 /* toc */
invokevirtual javax.security.auth.callback.TextOutputCallback.getMessageType:()I
invokevirtual java.lang.StringBuilder.append:(I)Ljava/lang/StringBuilder;
invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
invokespecial java.io.IOException.<init>:(Ljava/lang/String;)V
athrow
end local 6 // javax.security.auth.callback.TextOutputCallback toc
12: .line 44
StackMap locals:
StackMap stack:
goto 24
StackMap locals:
StackMap stack:
13: aload 2 /* callback */
instanceof javax.security.auth.callback.NameCallback
ifeq 17
14: .line 45
aload 2 /* callback */
checkcast javax.security.auth.callback.NameCallback
astore 6 /* nc */
start local 6 // javax.security.auth.callback.NameCallback nc
15: .line 46
aload 6 /* nc */
aload 0 /* this */
getfield org.postgresql.gss.GSSCallbackHandler.user:Ljava/lang/String;
invokevirtual javax.security.auth.callback.NameCallback.setName:(Ljava/lang/String;)V
end local 6 // javax.security.auth.callback.NameCallback nc
16: .line 47
goto 24
StackMap locals:
StackMap stack:
17: aload 2 /* callback */
instanceof javax.security.auth.callback.PasswordCallback
ifeq 23
18: .line 48
aload 2 /* callback */
checkcast javax.security.auth.callback.PasswordCallback
astore 6 /* pc */
start local 6 // javax.security.auth.callback.PasswordCallback pc
19: .line 49
aload 0 /* this */
getfield org.postgresql.gss.GSSCallbackHandler.password:Ljava/lang/String;
ifnonnull 21
20: .line 50
new java.io.IOException
dup
ldc "No cached kerberos ticket found and no password supplied."
invokespecial java.io.IOException.<init>:(Ljava/lang/String;)V
athrow
21: .line 52
StackMap locals: javax.security.auth.callback.PasswordCallback
StackMap stack:
aload 6 /* pc */
aload 0 /* this */
getfield org.postgresql.gss.GSSCallbackHandler.password:Ljava/lang/String;
invokevirtual java.lang.String.toCharArray:()[C
invokevirtual javax.security.auth.callback.PasswordCallback.setPassword:([C)V
end local 6 // javax.security.auth.callback.PasswordCallback pc
22: .line 53
goto 24
23: .line 54
StackMap locals:
StackMap stack:
new javax.security.auth.callback.UnsupportedCallbackException
dup
aload 2 /* callback */
ldc "Unrecognized Callback"
invokespecial javax.security.auth.callback.UnsupportedCallbackException.<init>:(Ljavax/security/auth/callback/Callback;Ljava/lang/String;)V
athrow
end local 2 // javax.security.auth.callback.Callback callback
24: .line 28
StackMap locals: org.postgresql.gss.GSSCallbackHandler javax.security.auth.callback.Callback[] top int int javax.security.auth.callback.Callback[]
StackMap stack:
iinc 3 1
StackMap locals:
StackMap stack:
25: iload 3
iload 4
if_icmplt 1
26: .line 57
return
end local 1 // javax.security.auth.callback.Callback[] callbacks
end local 0 // org.postgresql.gss.GSSCallbackHandler this
LocalVariableTable:
Start End Slot Name Signature
0 27 0 this Lorg/postgresql/gss/GSSCallbackHandler;
0 27 1 callbacks [Ljavax/security/auth/callback/Callback;
2 24 2 callback Ljavax/security/auth/callback/Callback;
4 12 6 toc Ljavax/security/auth/callback/TextOutputCallback;
15 16 6 nc Ljavax/security/auth/callback/NameCallback;
19 22 6 pc Ljavax/security/auth/callback/PasswordCallback;
Exceptions:
throws java.io.IOException, javax.security.auth.callback.UnsupportedCallbackException
MethodParameters:
Name Flags
callbacks
}
SourceFile: "GSSCallbackHandler.java"