public class org.postgresql.gss.MakeGSS
minor version: 0
major version: 59
flags: flags: (0x0021) ACC_PUBLIC, ACC_SUPER
this_class: org.postgresql.gss.MakeGSS
super_class: java.lang.Object
{
private static final java.util.logging.Logger LOGGER;
descriptor: Ljava/util/logging/Logger;
flags: (0x001a) ACC_PRIVATE, ACC_STATIC, ACC_FINAL
static void <clinit>();
descriptor: ()V
flags: (0x0008) ACC_STATIC
Code:
stack=1, locals=0, args_size=0
0: ldc Lorg/postgresql/gss/MakeGSS;
invokevirtual java.lang.Class.getName:()Ljava/lang/String;
invokestatic java.util.logging.Logger.getLogger:(Ljava/lang/String;)Ljava/util/logging/Logger;
putstatic org.postgresql.gss.MakeGSS.LOGGER:Ljava/util/logging/Logger;
return
LocalVariableTable:
Start End Slot Name Signature
public void <init>();
descriptor: ()V
flags: (0x0001) ACC_PUBLIC
Code:
stack=1, locals=1, args_size=1
start local 0 0: aload 0
invokespecial java.lang.Object.<init>:()V
return
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 1 0 this Lorg/postgresql/gss/MakeGSS;
public static void authenticate(org.postgresql.core.PGStream, java.lang.String, java.lang.String, java.lang.String, java.lang.String, java.lang.String, boolean, boolean);
descriptor: (Lorg/postgresql/core/PGStream;Ljava/lang/String;Ljava/lang/String;Ljava/lang/String;Ljava/lang/String;Ljava/lang/String;ZZ)V
flags: (0x0009) ACC_PUBLIC, ACC_STATIC
Code:
stack=8, locals=13, args_size=8
start local 0 start local 1 start local 2 start local 3 start local 4 start local 5 start local 6 start local 7 0: getstatic org.postgresql.gss.MakeGSS.LOGGER:Ljava/util/logging/Logger;
getstatic java.util.logging.Level.FINEST:Ljava/util/logging/Level;
ldc " <=BE AuthenticationReqGSS"
invokevirtual java.util.logging.Logger.log:(Ljava/util/logging/Level;Ljava/lang/String;)V
1: aload 4
ifnonnull 3
2: ldc "pgjdbc"
astore 4
3: StackMap locals:
StackMap stack:
aload 5
ifnonnull 5
4: ldc "postgres"
astore 5
5: StackMap locals:
StackMap stack:
iload 7
istore 9
start local 9 6: aconst_null
astore 10
start local 10 7: invokestatic java.security.AccessController.getContext:()Ljava/security/AccessControlContext;
invokestatic javax.security.auth.Subject.getSubject:(Ljava/security/AccessControlContext;)Ljavax/security/auth/Subject;
astore 11
start local 11 8: aload 11
ifnull 13
9: aload 11
ldc Lorg/ietf/jgss/GSSCredential;
invokevirtual javax.security.auth.Subject.getPrivateCredentials:(Ljava/lang/Class;)Ljava/util/Set;
astore 12
start local 12 10: aload 12
ifnull 13
aload 12
invokeinterface java.util.Set.isEmpty:()Z
ifne 13
11: aload 12
invokeinterface java.util.Set.iterator:()Ljava/util/Iterator;
invokeinterface java.util.Iterator.next:()Ljava/lang/Object;
checkcast org.ietf.jgss.GSSCredential
astore 10
12: iconst_0
istore 9
end local 12 13: StackMap locals: org.postgresql.core.PGStream java.lang.String java.lang.String java.lang.String java.lang.String java.lang.String int int top int org.ietf.jgss.GSSCredential javax.security.auth.Subject
StackMap stack:
iload 9
ifeq 18
14: new javax.security.auth.login.LoginContext
dup
aload 4
new org.postgresql.gss.GSSCallbackHandler
dup
aload 2
aload 3
invokespecial org.postgresql.gss.GSSCallbackHandler.<init>:(Ljava/lang/String;Ljava/lang/String;)V
invokespecial javax.security.auth.login.LoginContext.<init>:(Ljava/lang/String;Ljavax/security/auth/callback/CallbackHandler;)V
15: astore 12
start local 12 16: aload 12
invokevirtual javax.security.auth.login.LoginContext.login:()V
17: aload 12
invokevirtual javax.security.auth.login.LoginContext.getSubject:()Ljavax/security/auth/Subject;
astore 11
end local 12 18: StackMap locals:
StackMap stack:
new org.postgresql.gss.GssAction
dup
aload 0
aload 10
aload 1
aload 2
19: aload 5
iload 6
20: invokespecial org.postgresql.gss.GssAction.<init>:(Lorg/postgresql/core/PGStream;Lorg/ietf/jgss/GSSCredential;Ljava/lang/String;Ljava/lang/String;Ljava/lang/String;Z)V
astore 12
start local 12 21: aload 11
aload 12
invokestatic javax.security.auth.Subject.doAs:(Ljavax/security/auth/Subject;Ljava/security/PrivilegedAction;)Ljava/lang/Object;
checkcast java.lang.Exception
astore 8
end local 12 end local 11 end local 10 end local 9 start local 8 22: goto 25
end local 8 StackMap locals: org.postgresql.core.PGStream java.lang.String java.lang.String java.lang.String java.lang.String java.lang.String int int
StackMap stack: java.lang.Exception
23: astore 9
start local 9 24: new org.postgresql.util.PSQLException
dup
ldc "GSS Authentication failed"
iconst_0
anewarray java.lang.Object
invokestatic org.postgresql.util.GT.tr:(Ljava/lang/String;[Ljava/lang/Object;)Ljava/lang/String;
getstatic org.postgresql.util.PSQLState.CONNECTION_FAILURE:Lorg/postgresql/util/PSQLState;
aload 9
invokespecial org.postgresql.util.PSQLException.<init>:(Ljava/lang/String;Lorg/postgresql/util/PSQLState;Ljava/lang/Throwable;)V
athrow
end local 9 start local 8 25: StackMap locals: java.lang.Exception
StackMap stack:
aload 8
instanceof java.io.IOException
ifeq 27
26: aload 8
checkcast java.io.IOException
athrow
27: StackMap locals:
StackMap stack:
aload 8
instanceof java.sql.SQLException
ifeq 29
28: aload 8
checkcast java.sql.SQLException
athrow
29: StackMap locals:
StackMap stack:
aload 8
ifnull 33
30: new org.postgresql.util.PSQLException
dup
ldc "GSS Authentication failed"
iconst_0
anewarray java.lang.Object
invokestatic org.postgresql.util.GT.tr:(Ljava/lang/String;[Ljava/lang/Object;)Ljava/lang/String;
getstatic org.postgresql.util.PSQLState.CONNECTION_FAILURE:Lorg/postgresql/util/PSQLState;
31: aload 8
32: invokespecial org.postgresql.util.PSQLException.<init>:(Ljava/lang/String;Lorg/postgresql/util/PSQLState;Ljava/lang/Throwable;)V
athrow
33: StackMap locals:
StackMap stack:
return
end local 8 end local 7 end local 6 end local 5 end local 4 end local 3 end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 34 0 pgStream Lorg/postgresql/core/PGStream;
0 34 1 host Ljava/lang/String;
0 34 2 user Ljava/lang/String;
0 34 3 password Ljava/lang/String;
0 34 4 jaasApplicationName Ljava/lang/String;
0 34 5 kerberosServerName Ljava/lang/String;
0 34 6 useSpnego Z
0 34 7 jaasLogin Z
22 23 8 result Ljava/lang/Exception;
25 34 8 result Ljava/lang/Exception;
6 22 9 performAuthentication Z
7 22 10 gssCredential Lorg/ietf/jgss/GSSCredential;
8 22 11 sub Ljavax/security/auth/Subject;
10 13 12 gssCreds Ljava/util/Set<Lorg/ietf/jgss/GSSCredential;>;
16 18 12 lc Ljavax/security/auth/login/LoginContext;
21 22 12 action Ljava/security/PrivilegedAction<Ljava/lang/Exception;>;
24 25 9 e Ljava/lang/Exception;
Exception table:
from to target type
5 22 23 Class java.lang.Exception
Exceptions:
throws java.io.IOException, java.sql.SQLException
MethodParameters:
Name Flags
pgStream
host
user
password
jaasApplicationName
kerberosServerName
useSpnego
jaasLogin
}
SourceFile: "MakeGSS.java"