final class com.microsoft.sqlserver.jdbc.TDSChannel implements java.io.Serializable
minor version: 0
major version: 59
flags: flags: (0x0030) ACC_FINAL, ACC_SUPER
this_class: com.microsoft.sqlserver.jdbc.TDSChannel
super_class: java.lang.Object
{
private static final long serialVersionUID;
descriptor: J
flags: (0x001a) ACC_PRIVATE, ACC_STATIC, ACC_FINAL
ConstantValue: -866497813437384090
private static final java.util.logging.Logger logger;
descriptor: Ljava/util/logging/Logger;
flags: (0x001a) ACC_PRIVATE, ACC_STATIC, ACC_FINAL
private final java.lang.String traceID;
descriptor: Ljava/lang/String;
flags: (0x0012) ACC_PRIVATE, ACC_FINAL
private final com.microsoft.sqlserver.jdbc.SQLServerConnection con;
descriptor: Lcom/microsoft/sqlserver/jdbc/SQLServerConnection;
flags: (0x0012) ACC_PRIVATE, ACC_FINAL
private final com.microsoft.sqlserver.jdbc.TDSWriter tdsWriter;
descriptor: Lcom/microsoft/sqlserver/jdbc/TDSWriter;
flags: (0x0012) ACC_PRIVATE, ACC_FINAL
private java.net.Socket tcpSocket;
descriptor: Ljava/net/Socket;
flags: (0x0002) ACC_PRIVATE
private javax.net.ssl.SSLSocket sslSocket;
descriptor: Ljavax/net/ssl/SSLSocket;
flags: (0x0002) ACC_PRIVATE
private java.net.Socket channelSocket;
descriptor: Ljava/net/Socket;
flags: (0x0002) ACC_PRIVATE
com.microsoft.sqlserver.jdbc.TDSChannel$ProxySocket proxySocket;
descriptor: Lcom/microsoft/sqlserver/jdbc/TDSChannel$ProxySocket;
flags: (0x0000)
private java.io.InputStream tcpInputStream;
descriptor: Ljava/io/InputStream;
flags: (0x0002) ACC_PRIVATE
private java.io.OutputStream tcpOutputStream;
descriptor: Ljava/io/OutputStream;
flags: (0x0002) ACC_PRIVATE
private java.io.InputStream inputStream;
descriptor: Ljava/io/InputStream;
flags: (0x0002) ACC_PRIVATE
private java.io.OutputStream outputStream;
descriptor: Ljava/io/OutputStream;
flags: (0x0002) ACC_PRIVATE
private static java.util.logging.Logger packetLogger;
descriptor: Ljava/util/logging/Logger;
flags: (0x000a) ACC_PRIVATE, ACC_STATIC
private final boolean isLoggingPackets;
descriptor: Z
flags: (0x0012) ACC_PRIVATE, ACC_FINAL
int numMsgsSent;
descriptor: I
flags: (0x0000)
int numMsgsRcvd;
descriptor: I
flags: (0x0000)
private int spid;
descriptor: I
flags: (0x0002) ACC_PRIVATE
private static final java.lang.String SEPARATOR;
descriptor: Ljava/lang/String;
flags: (0x001a) ACC_PRIVATE, ACC_STATIC, ACC_FINAL
private static final java.lang.String JAVA_HOME;
descriptor: Ljava/lang/String;
flags: (0x001a) ACC_PRIVATE, ACC_STATIC, ACC_FINAL
private static final java.lang.String JAVA_SECURITY;
descriptor: Ljava/lang/String;
flags: (0x001a) ACC_PRIVATE, ACC_STATIC, ACC_FINAL
private static final java.lang.String JSSECACERTS;
descriptor: Ljava/lang/String;
flags: (0x001a) ACC_PRIVATE, ACC_STATIC, ACC_FINAL
private static final java.lang.String CACERTS;
descriptor: Ljava/lang/String;
flags: (0x001a) ACC_PRIVATE, ACC_STATIC, ACC_FINAL
static final boolean $assertionsDisabled;
descriptor: Z
flags: (0x1018) ACC_STATIC, ACC_FINAL, ACC_SYNTHETIC
static void <clinit>();
descriptor: ()V
flags: (0x0008) ACC_STATIC
Code:
stack=3, locals=0, args_size=0
0: ldc Lcom/microsoft/sqlserver/jdbc/TDSChannel;
invokevirtual java.lang.Class.desiredAssertionStatus:()Z
ifne 1
iconst_1
goto 2
StackMap locals:
StackMap stack:
1: iconst_0
StackMap locals:
StackMap stack: int
2: putstatic com.microsoft.sqlserver.jdbc.TDSChannel.$assertionsDisabled:Z
3: ldc "com.microsoft.sqlserver.jdbc.internals.TDS.Channel"
invokestatic java.util.logging.Logger.getLogger:(Ljava/lang/String;)Ljava/util/logging/Logger;
putstatic com.microsoft.sqlserver.jdbc.TDSChannel.logger:Ljava/util/logging/Logger;
4: ldc "com.microsoft.sqlserver.jdbc.internals.TDS.DATA"
invokestatic java.util.logging.Logger.getLogger:(Ljava/lang/String;)Ljava/util/logging/Logger;
putstatic com.microsoft.sqlserver.jdbc.TDSChannel.packetLogger:Ljava/util/logging/Logger;
5: ldc "file.separator"
invokestatic java.lang.System.getProperty:(Ljava/lang/String;)Ljava/lang/String;
putstatic com.microsoft.sqlserver.jdbc.TDSChannel.SEPARATOR:Ljava/lang/String;
6: ldc "java.home"
invokestatic java.lang.System.getProperty:(Ljava/lang/String;)Ljava/lang/String;
putstatic com.microsoft.sqlserver.jdbc.TDSChannel.JAVA_HOME:Ljava/lang/String;
7: new java.lang.StringBuilder
dup
getstatic com.microsoft.sqlserver.jdbc.TDSChannel.JAVA_HOME:Ljava/lang/String;
invokestatic java.lang.String.valueOf:(Ljava/lang/Object;)Ljava/lang/String;
invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
getstatic com.microsoft.sqlserver.jdbc.TDSChannel.SEPARATOR:Ljava/lang/String;
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
ldc "lib"
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
getstatic com.microsoft.sqlserver.jdbc.TDSChannel.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;
invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
putstatic com.microsoft.sqlserver.jdbc.TDSChannel.JAVA_SECURITY:Ljava/lang/String;
8: new java.lang.StringBuilder
dup
getstatic com.microsoft.sqlserver.jdbc.TDSChannel.JAVA_SECURITY:Ljava/lang/String;
invokestatic java.lang.String.valueOf:(Ljava/lang/Object;)Ljava/lang/String;
invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
getstatic com.microsoft.sqlserver.jdbc.TDSChannel.SEPARATOR:Ljava/lang/String;
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
ldc "jssecacerts"
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
putstatic com.microsoft.sqlserver.jdbc.TDSChannel.JSSECACERTS:Ljava/lang/String;
9: new java.lang.StringBuilder
dup
getstatic com.microsoft.sqlserver.jdbc.TDSChannel.JAVA_SECURITY:Ljava/lang/String;
invokestatic java.lang.String.valueOf:(Ljava/lang/Object;)Ljava/lang/String;
invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
getstatic com.microsoft.sqlserver.jdbc.TDSChannel.SEPARATOR:Ljava/lang/String;
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
ldc "cacerts"
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
putstatic com.microsoft.sqlserver.jdbc.TDSChannel.CACERTS:Ljava/lang/String;
return
LocalVariableTable:
Start End Slot Name Signature
final java.util.logging.Logger getLogger();
descriptor: ()Ljava/util/logging/Logger;
flags: (0x0010) ACC_FINAL
Code:
stack=1, locals=1, args_size=1
start local 0 0: getstatic com.microsoft.sqlserver.jdbc.TDSChannel.logger:Ljava/util/logging/Logger;
areturn
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 1 0 this Lcom/microsoft/sqlserver/jdbc/TDSChannel;
public final java.lang.String toString();
descriptor: ()Ljava/lang/String;
flags: (0x0011) ACC_PUBLIC, ACC_FINAL
Code:
stack=1, locals=1, args_size=1
start local 0 0: aload 0
getfield com.microsoft.sqlserver.jdbc.TDSChannel.traceID:Ljava/lang/String;
areturn
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 1 0 this Lcom/microsoft/sqlserver/jdbc/TDSChannel;
final com.microsoft.sqlserver.jdbc.TDSWriter getWriter();
descriptor: ()Lcom/microsoft/sqlserver/jdbc/TDSWriter;
flags: (0x0010) ACC_FINAL
Code:
stack=1, locals=1, args_size=1
start local 0 0: aload 0
getfield com.microsoft.sqlserver.jdbc.TDSChannel.tdsWriter:Lcom/microsoft/sqlserver/jdbc/TDSWriter;
areturn
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 1 0 this Lcom/microsoft/sqlserver/jdbc/TDSChannel;
final com.microsoft.sqlserver.jdbc.TDSReader getReader(com.microsoft.sqlserver.jdbc.TDSCommand);
descriptor: (Lcom/microsoft/sqlserver/jdbc/TDSCommand;)Lcom/microsoft/sqlserver/jdbc/TDSReader;
flags: (0x0010) ACC_FINAL
Code:
stack=5, locals=2, args_size=2
start local 0 start local 1 0: new com.microsoft.sqlserver.jdbc.TDSReader
dup
aload 0
aload 0
getfield com.microsoft.sqlserver.jdbc.TDSChannel.con:Lcom/microsoft/sqlserver/jdbc/SQLServerConnection;
aload 1
invokespecial com.microsoft.sqlserver.jdbc.TDSReader.<init>:(Lcom/microsoft/sqlserver/jdbc/TDSChannel;Lcom/microsoft/sqlserver/jdbc/SQLServerConnection;Lcom/microsoft/sqlserver/jdbc/TDSCommand;)V
areturn
end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 1 0 this Lcom/microsoft/sqlserver/jdbc/TDSChannel;
0 1 1 command Lcom/microsoft/sqlserver/jdbc/TDSCommand;
MethodParameters:
Name Flags
command
final boolean isLoggingPackets();
descriptor: ()Z
flags: (0x0010) ACC_FINAL
Code:
stack=1, locals=1, args_size=1
start local 0 0: aload 0
getfield com.microsoft.sqlserver.jdbc.TDSChannel.isLoggingPackets:Z
ireturn
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 1 0 this Lcom/microsoft/sqlserver/jdbc/TDSChannel;
void setSPID(int);
descriptor: (I)V
flags: (0x0000)
Code:
stack=2, locals=2, args_size=2
start local 0 start local 1 0: aload 0
iload 1
putfield com.microsoft.sqlserver.jdbc.TDSChannel.spid:I
1: return
end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 2 0 this Lcom/microsoft/sqlserver/jdbc/TDSChannel;
0 2 1 spid I
MethodParameters:
Name Flags
spid
int getSPID();
descriptor: ()I
flags: (0x0000)
Code:
stack=1, locals=1, args_size=1
start local 0 0: aload 0
getfield com.microsoft.sqlserver.jdbc.TDSChannel.spid:I
ireturn
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 1 0 this Lcom/microsoft/sqlserver/jdbc/TDSChannel;
void resetPooledConnection();
descriptor: ()V
flags: (0x0000)
Code:
stack=1, locals=1, args_size=1
start local 0 0: aload 0
getfield com.microsoft.sqlserver.jdbc.TDSChannel.tdsWriter:Lcom/microsoft/sqlserver/jdbc/TDSWriter;
invokevirtual com.microsoft.sqlserver.jdbc.TDSWriter.resetPooledConnection:()V
1: return
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 2 0 this Lcom/microsoft/sqlserver/jdbc/TDSChannel;
void <init>(com.microsoft.sqlserver.jdbc.SQLServerConnection);
descriptor: (Lcom/microsoft/sqlserver/jdbc/SQLServerConnection;)V
flags: (0x0000)
Code:
stack=5, locals=2, args_size=2
start local 0 start local 1 0: aload 0
invokespecial java.lang.Object.<init>:()V
1: aload 0
aconst_null
putfield com.microsoft.sqlserver.jdbc.TDSChannel.proxySocket:Lcom/microsoft/sqlserver/jdbc/TDSChannel$ProxySocket;
2: aload 0
getstatic com.microsoft.sqlserver.jdbc.TDSChannel.packetLogger:Ljava/util/logging/Logger;
getstatic java.util.logging.Level.FINEST:Ljava/util/logging/Level;
invokevirtual java.util.logging.Logger.isLoggable:(Ljava/util/logging/Level;)Z
putfield com.microsoft.sqlserver.jdbc.TDSChannel.isLoggingPackets:Z
3: aload 0
iconst_0
putfield com.microsoft.sqlserver.jdbc.TDSChannel.numMsgsSent:I
4: aload 0
iconst_0
putfield com.microsoft.sqlserver.jdbc.TDSChannel.numMsgsRcvd:I
5: aload 0
iconst_0
putfield com.microsoft.sqlserver.jdbc.TDSChannel.spid:I
6: aload 0
aload 1
putfield com.microsoft.sqlserver.jdbc.TDSChannel.con:Lcom/microsoft/sqlserver/jdbc/SQLServerConnection;
7: aload 0
new java.lang.StringBuilder
dup
ldc "TDSChannel ("
invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
aload 1
invokevirtual com.microsoft.sqlserver.jdbc.SQLServerConnection.toString:()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;
putfield com.microsoft.sqlserver.jdbc.TDSChannel.traceID:Ljava/lang/String;
8: aload 0
aconst_null
putfield com.microsoft.sqlserver.jdbc.TDSChannel.tcpSocket:Ljava/net/Socket;
9: aload 0
aconst_null
putfield com.microsoft.sqlserver.jdbc.TDSChannel.sslSocket:Ljavax/net/ssl/SSLSocket;
10: aload 0
aconst_null
putfield com.microsoft.sqlserver.jdbc.TDSChannel.channelSocket:Ljava/net/Socket;
11: aload 0
aconst_null
putfield com.microsoft.sqlserver.jdbc.TDSChannel.tcpInputStream:Ljava/io/InputStream;
12: aload 0
aconst_null
putfield com.microsoft.sqlserver.jdbc.TDSChannel.tcpOutputStream:Ljava/io/OutputStream;
13: aload 0
aconst_null
putfield com.microsoft.sqlserver.jdbc.TDSChannel.inputStream:Ljava/io/InputStream;
14: aload 0
aconst_null
putfield com.microsoft.sqlserver.jdbc.TDSChannel.outputStream:Ljava/io/OutputStream;
15: aload 0
new com.microsoft.sqlserver.jdbc.TDSWriter
dup
aload 0
aload 1
invokespecial com.microsoft.sqlserver.jdbc.TDSWriter.<init>:(Lcom/microsoft/sqlserver/jdbc/TDSChannel;Lcom/microsoft/sqlserver/jdbc/SQLServerConnection;)V
putfield com.microsoft.sqlserver.jdbc.TDSChannel.tdsWriter:Lcom/microsoft/sqlserver/jdbc/TDSWriter;
16: return
end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 17 0 this Lcom/microsoft/sqlserver/jdbc/TDSChannel;
0 17 1 con Lcom/microsoft/sqlserver/jdbc/SQLServerConnection;
MethodParameters:
Name Flags
con
final java.net.InetSocketAddress open(java.lang.String, int, int, boolean, boolean, boolean, int);
descriptor: (Ljava/lang/String;IIZZZI)Ljava/net/InetSocketAddress;
flags: (0x0010) ACC_FINAL
Code:
stack=10, locals=10, 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 com.microsoft.sqlserver.jdbc.TDSChannel.logger:Ljava/util/logging/Logger;
getstatic java.util.logging.Level.FINER:Ljava/util/logging/Level;
invokevirtual java.util.logging.Logger.isLoggable:(Ljava/util/logging/Level;)Z
ifeq 2
1: getstatic com.microsoft.sqlserver.jdbc.TDSChannel.logger:Ljava/util/logging/Logger;
new java.lang.StringBuilder
dup
aload 0
invokevirtual com.microsoft.sqlserver.jdbc.TDSChannel.toString:()Ljava/lang/String;
invokestatic java.lang.String.valueOf:(Ljava/lang/Object;)Ljava/lang/String;
invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
ldc ": Opening TCP socket..."
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
invokevirtual java.util.logging.Logger.finer:(Ljava/lang/String;)V
2: StackMap locals:
StackMap stack:
new com.microsoft.sqlserver.jdbc.SocketFinder
dup
aload 0
getfield com.microsoft.sqlserver.jdbc.TDSChannel.traceID:Ljava/lang/String;
aload 0
getfield com.microsoft.sqlserver.jdbc.TDSChannel.con:Lcom/microsoft/sqlserver/jdbc/SQLServerConnection;
invokespecial com.microsoft.sqlserver.jdbc.SocketFinder.<init>:(Ljava/lang/String;Lcom/microsoft/sqlserver/jdbc/SQLServerConnection;)V
astore 8
start local 8 3: aload 0
aload 0
aload 8
aload 1
iload 2
iload 3
iload 4
iload 5
4: iload 6
iload 7
5: invokevirtual com.microsoft.sqlserver.jdbc.SocketFinder.findSocket:(Ljava/lang/String;IIZZZI)Ljava/net/Socket;
dup_x1
putfield com.microsoft.sqlserver.jdbc.TDSChannel.tcpSocket:Ljava/net/Socket;
putfield com.microsoft.sqlserver.jdbc.TDSChannel.channelSocket:Ljava/net/Socket;
6: aload 0
getfield com.microsoft.sqlserver.jdbc.TDSChannel.tcpSocket:Ljava/net/Socket;
iconst_1
invokevirtual java.net.Socket.setTcpNoDelay:(Z)V
7: aload 0
getfield com.microsoft.sqlserver.jdbc.TDSChannel.tcpSocket:Ljava/net/Socket;
iconst_1
invokevirtual java.net.Socket.setKeepAlive:(Z)V
8: aload 0
getfield com.microsoft.sqlserver.jdbc.TDSChannel.con:Lcom/microsoft/sqlserver/jdbc/SQLServerConnection;
invokevirtual com.microsoft.sqlserver.jdbc.SQLServerConnection.getSocketTimeoutMilliseconds:()I
istore 9
start local 9 9: aload 0
getfield com.microsoft.sqlserver.jdbc.TDSChannel.tcpSocket:Ljava/net/Socket;
iload 9
invokevirtual java.net.Socket.setSoTimeout:(I)V
10: aload 0
aload 0
aload 0
getfield com.microsoft.sqlserver.jdbc.TDSChannel.tcpSocket:Ljava/net/Socket;
invokevirtual java.net.Socket.getInputStream:()Ljava/io/InputStream;
dup_x1
putfield com.microsoft.sqlserver.jdbc.TDSChannel.tcpInputStream:Ljava/io/InputStream;
putfield com.microsoft.sqlserver.jdbc.TDSChannel.inputStream:Ljava/io/InputStream;
11: aload 0
aload 0
aload 0
getfield com.microsoft.sqlserver.jdbc.TDSChannel.tcpSocket:Ljava/net/Socket;
invokevirtual java.net.Socket.getOutputStream:()Ljava/io/OutputStream;
dup_x1
putfield com.microsoft.sqlserver.jdbc.TDSChannel.tcpOutputStream:Ljava/io/OutputStream;
putfield com.microsoft.sqlserver.jdbc.TDSChannel.outputStream:Ljava/io/OutputStream;
end local 9 12: goto 15
StackMap locals: com.microsoft.sqlserver.jdbc.TDSChannel java.lang.String int int int int int int com.microsoft.sqlserver.jdbc.SocketFinder
StackMap stack: java.io.IOException
13: astore 9
start local 9 14: aload 1
iload 2
aload 0
getfield com.microsoft.sqlserver.jdbc.TDSChannel.con:Lcom/microsoft/sqlserver/jdbc/SQLServerConnection;
aload 9
invokestatic com.microsoft.sqlserver.jdbc.SQLServerException.ConvertConnectExceptionToSQLServerException:(Ljava/lang/String;ILcom/microsoft/sqlserver/jdbc/SQLServerConnection;Ljava/lang/Exception;)V
end local 9 15: StackMap locals:
StackMap stack:
aload 0
getfield com.microsoft.sqlserver.jdbc.TDSChannel.channelSocket:Ljava/net/Socket;
invokevirtual java.net.Socket.getRemoteSocketAddress:()Ljava/net/SocketAddress;
checkcast java.net.InetSocketAddress
areturn
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 16 0 this Lcom/microsoft/sqlserver/jdbc/TDSChannel;
0 16 1 host Ljava/lang/String;
0 16 2 port I
0 16 3 timeoutMillis I
0 16 4 useParallel Z
0 16 5 useTnir Z
0 16 6 isTnirFirstAttempt Z
0 16 7 timeoutMillisForFullTimeout I
3 16 8 socketFinder Lcom/microsoft/sqlserver/jdbc/SocketFinder;
9 12 9 socketTimeout I
14 15 9 ex Ljava/io/IOException;
Exception table:
from to target type
6 12 13 Class java.io.IOException
Exceptions:
throws com.microsoft.sqlserver.jdbc.SQLServerException
MethodParameters:
Name Flags
host
port
timeoutMillis
useParallel
useTnir
isTnirFirstAttempt
timeoutMillisForFullTimeout
void disableSSL();
descriptor: ()V
flags: (0x0000)
Code:
stack=4, locals=4, args_size=1
start local 0 0: getstatic com.microsoft.sqlserver.jdbc.TDSChannel.logger:Ljava/util/logging/Logger;
getstatic java.util.logging.Level.FINER:Ljava/util/logging/Level;
invokevirtual java.util.logging.Logger.isLoggable:(Ljava/util/logging/Level;)Z
ifeq 2
1: getstatic com.microsoft.sqlserver.jdbc.TDSChannel.logger:Ljava/util/logging/Logger;
new java.lang.StringBuilder
dup
aload 0
invokevirtual com.microsoft.sqlserver.jdbc.TDSChannel.toString:()Ljava/lang/String;
invokestatic java.lang.String.valueOf:(Ljava/lang/Object;)Ljava/lang/String;
invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
ldc " Disabling SSL..."
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
invokevirtual java.util.logging.Logger.finer:(Ljava/lang/String;)V
2: StackMap locals:
StackMap stack:
new java.io.ByteArrayInputStream
dup
iconst_0
newarray 8
invokespecial java.io.ByteArrayInputStream.<init>:([B)V
astore 1
start local 1 3: aload 1
invokevirtual java.io.InputStream.close:()V
4: goto 7
StackMap locals: com.microsoft.sqlserver.jdbc.TDSChannel java.io.InputStream
StackMap stack: java.io.IOException
5: astore 2
start local 2 6: getstatic com.microsoft.sqlserver.jdbc.TDSChannel.logger:Ljava/util/logging/Logger;
new java.lang.StringBuilder
dup
ldc "Ignored error closing InputStream: "
invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
aload 2
invokevirtual java.io.IOException.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.util.logging.Logger.fine:(Ljava/lang/String;)V
end local 2 7: StackMap locals:
StackMap stack:
new java.io.ByteArrayOutputStream
dup
invokespecial java.io.ByteArrayOutputStream.<init>:()V
astore 2
start local 2 8: aload 2
invokevirtual java.io.OutputStream.close:()V
9: goto 12
StackMap locals: com.microsoft.sqlserver.jdbc.TDSChannel java.io.InputStream java.io.OutputStream
StackMap stack: java.io.IOException
10: astore 3
start local 3 11: getstatic com.microsoft.sqlserver.jdbc.TDSChannel.logger:Ljava/util/logging/Logger;
new java.lang.StringBuilder
dup
ldc "Ignored error closing OutputStream: "
invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
aload 3
invokevirtual java.io.IOException.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.util.logging.Logger.fine:(Ljava/lang/String;)V
end local 3 12: StackMap locals:
StackMap stack:
getstatic com.microsoft.sqlserver.jdbc.TDSChannel.logger:Ljava/util/logging/Logger;
getstatic java.util.logging.Level.FINEST:Ljava/util/logging/Level;
invokevirtual java.util.logging.Logger.isLoggable:(Ljava/util/logging/Level;)Z
ifeq 14
13: getstatic com.microsoft.sqlserver.jdbc.TDSChannel.logger:Ljava/util/logging/Logger;
new java.lang.StringBuilder
dup
aload 0
invokevirtual com.microsoft.sqlserver.jdbc.TDSChannel.toString:()Ljava/lang/String;
invokestatic java.lang.String.valueOf:(Ljava/lang/Object;)Ljava/lang/String;
invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
ldc " Rewiring proxy streams for SSL socket close"
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
invokevirtual java.util.logging.Logger.finest:(Ljava/lang/String;)V
14: StackMap locals:
StackMap stack:
aload 0
getfield com.microsoft.sqlserver.jdbc.TDSChannel.proxySocket:Lcom/microsoft/sqlserver/jdbc/TDSChannel$ProxySocket;
aload 1
aload 2
invokevirtual com.microsoft.sqlserver.jdbc.TDSChannel$ProxySocket.setStreams:(Ljava/io/InputStream;Ljava/io/OutputStream;)V
15: getstatic com.microsoft.sqlserver.jdbc.TDSChannel.logger:Ljava/util/logging/Logger;
getstatic java.util.logging.Level.FINER:Ljava/util/logging/Level;
invokevirtual java.util.logging.Logger.isLoggable:(Ljava/util/logging/Level;)Z
ifeq 17
16: getstatic com.microsoft.sqlserver.jdbc.TDSChannel.logger:Ljava/util/logging/Logger;
new java.lang.StringBuilder
dup
aload 0
invokevirtual com.microsoft.sqlserver.jdbc.TDSChannel.toString:()Ljava/lang/String;
invokestatic java.lang.String.valueOf:(Ljava/lang/Object;)Ljava/lang/String;
invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
ldc " Closing SSL socket"
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
invokevirtual java.util.logging.Logger.finer:(Ljava/lang/String;)V
17: StackMap locals:
StackMap stack:
aload 0
getfield com.microsoft.sqlserver.jdbc.TDSChannel.sslSocket:Ljavax/net/ssl/SSLSocket;
invokevirtual javax.net.ssl.SSLSocket.close:()V
18: goto 21
StackMap locals:
StackMap stack: java.io.IOException
19: astore 3
start local 3 20: getstatic com.microsoft.sqlserver.jdbc.TDSChannel.logger:Ljava/util/logging/Logger;
new java.lang.StringBuilder
dup
ldc "Ignored error closing SSLSocket: "
invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
aload 3
invokevirtual java.io.IOException.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.util.logging.Logger.fine:(Ljava/lang/String;)V
end local 3 21: StackMap locals:
StackMap stack:
aload 0
aconst_null
putfield com.microsoft.sqlserver.jdbc.TDSChannel.proxySocket:Lcom/microsoft/sqlserver/jdbc/TDSChannel$ProxySocket;
22: aload 0
aload 0
getfield com.microsoft.sqlserver.jdbc.TDSChannel.tcpInputStream:Ljava/io/InputStream;
putfield com.microsoft.sqlserver.jdbc.TDSChannel.inputStream:Ljava/io/InputStream;
23: aload 0
aload 0
getfield com.microsoft.sqlserver.jdbc.TDSChannel.tcpOutputStream:Ljava/io/OutputStream;
putfield com.microsoft.sqlserver.jdbc.TDSChannel.outputStream:Ljava/io/OutputStream;
24: aload 0
aload 0
getfield com.microsoft.sqlserver.jdbc.TDSChannel.tcpSocket:Ljava/net/Socket;
putfield com.microsoft.sqlserver.jdbc.TDSChannel.channelSocket:Ljava/net/Socket;
25: aload 0
aconst_null
putfield com.microsoft.sqlserver.jdbc.TDSChannel.sslSocket:Ljavax/net/ssl/SSLSocket;
26: getstatic com.microsoft.sqlserver.jdbc.TDSChannel.logger:Ljava/util/logging/Logger;
getstatic java.util.logging.Level.FINER:Ljava/util/logging/Level;
invokevirtual java.util.logging.Logger.isLoggable:(Ljava/util/logging/Level;)Z
ifeq 28
27: getstatic com.microsoft.sqlserver.jdbc.TDSChannel.logger:Ljava/util/logging/Logger;
new java.lang.StringBuilder
dup
aload 0
invokevirtual com.microsoft.sqlserver.jdbc.TDSChannel.toString:()Ljava/lang/String;
invokestatic java.lang.String.valueOf:(Ljava/lang/Object;)Ljava/lang/String;
invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
ldc " SSL disabled"
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
invokevirtual java.util.logging.Logger.finer:(Ljava/lang/String;)V
28: StackMap locals:
StackMap stack:
return
end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 29 0 this Lcom/microsoft/sqlserver/jdbc/TDSChannel;
3 29 1 is Ljava/io/InputStream;
6 7 2 e Ljava/io/IOException;
8 29 2 os Ljava/io/OutputStream;
11 12 3 e Ljava/io/IOException;
20 21 3 e Ljava/io/IOException;
Exception table:
from to target type
3 4 5 Class java.io.IOException
8 9 10 Class java.io.IOException
15 18 19 Class java.io.IOException
void enableSSL(java.lang.String, int, java.lang.String, java.lang.String, java.lang.String);
descriptor: (Ljava/lang/String;ILjava/lang/String;Ljava/lang/String;Ljava/lang/String;)V
flags: (0x0000)
Code:
stack=9, locals=22, args_size=6
start local 0 start local 1 start local 2 start local 3 start local 4 start local 5 0: aconst_null
astore 6
start local 6 1: aconst_null
astore 7
start local 7 2: aconst_null
astore 8
start local 8 3: aconst_null
astore 9
start local 9 4: getstatic com.microsoft.sqlserver.jdbc.TDSChannel$SSLHandhsakeState.SSL_HANDHSAKE_NOT_STARTED:Lcom/microsoft/sqlserver/jdbc/TDSChannel$SSLHandhsakeState;
astore 10
start local 10 5: iconst_0
istore 11
start local 11 6: aconst_null
astore 12
start local 12 7: aconst_null
astore 13
start local 13 8: getstatic com.microsoft.sqlserver.jdbc.TDSChannel.logger:Ljava/util/logging/Logger;
getstatic java.util.logging.Level.FINER:Ljava/util/logging/Level;
invokevirtual java.util.logging.Logger.isLoggable:(Ljava/util/logging/Level;)Z
ifeq 10
9: getstatic com.microsoft.sqlserver.jdbc.TDSChannel.logger:Ljava/util/logging/Logger;
new java.lang.StringBuilder
dup
aload 0
invokevirtual com.microsoft.sqlserver.jdbc.TDSChannel.toString:()Ljava/lang/String;
invokestatic java.lang.String.valueOf:(Ljava/lang/Object;)Ljava/lang/String;
invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
ldc " Enabling SSL..."
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
invokevirtual java.util.logging.Logger.finer:(Ljava/lang/String;)V
10: StackMap locals: com.microsoft.sqlserver.jdbc.TDSChannel java.lang.String int java.lang.String java.lang.String java.lang.String java.security.Provider java.security.Provider java.security.Provider java.lang.String com.microsoft.sqlserver.jdbc.TDSChannel$SSLHandhsakeState int java.lang.String java.lang.String
StackMap stack:
aload 0
getfield com.microsoft.sqlserver.jdbc.TDSChannel.con:Lcom/microsoft/sqlserver/jdbc/SQLServerConnection;
getfield com.microsoft.sqlserver.jdbc.SQLServerConnection.activeConnectionProperties:Ljava/util/Properties;
11: getstatic com.microsoft.sqlserver.jdbc.SQLServerDriverStringProperty.TRUST_STORE:Lcom/microsoft/sqlserver/jdbc/SQLServerDriverStringProperty;
invokevirtual com.microsoft.sqlserver.jdbc.SQLServerDriverStringProperty.toString:()Ljava/lang/String;
invokevirtual java.util.Properties.getProperty:(Ljava/lang/String;)Ljava/lang/String;
12: astore 14
start local 14 13: aload 0
getfield com.microsoft.sqlserver.jdbc.TDSChannel.con:Lcom/microsoft/sqlserver/jdbc/SQLServerConnection;
getfield com.microsoft.sqlserver.jdbc.SQLServerConnection.activeConnectionProperties:Ljava/util/Properties;
14: getstatic com.microsoft.sqlserver.jdbc.SQLServerDriverStringProperty.TRUST_STORE_PASSWORD:Lcom/microsoft/sqlserver/jdbc/SQLServerDriverStringProperty;
invokevirtual com.microsoft.sqlserver.jdbc.SQLServerDriverStringProperty.toString:()Ljava/lang/String;
invokevirtual java.util.Properties.getProperty:(Ljava/lang/String;)Ljava/lang/String;
15: astore 15
start local 15 16: aload 0
getfield com.microsoft.sqlserver.jdbc.TDSChannel.con:Lcom/microsoft/sqlserver/jdbc/SQLServerConnection;
getfield com.microsoft.sqlserver.jdbc.SQLServerConnection.activeConnectionProperties:Ljava/util/Properties;
17: getstatic com.microsoft.sqlserver.jdbc.SQLServerDriverStringProperty.HOSTNAME_IN_CERTIFICATE:Lcom/microsoft/sqlserver/jdbc/SQLServerDriverStringProperty;
invokevirtual com.microsoft.sqlserver.jdbc.SQLServerDriverStringProperty.toString:()Ljava/lang/String;
invokevirtual java.util.Properties.getProperty:(Ljava/lang/String;)Ljava/lang/String;
18: astore 16
start local 16 19: aload 0
getfield com.microsoft.sqlserver.jdbc.TDSChannel.con:Lcom/microsoft/sqlserver/jdbc/SQLServerConnection;
getfield com.microsoft.sqlserver.jdbc.SQLServerConnection.activeConnectionProperties:Ljava/util/Properties;
20: getstatic com.microsoft.sqlserver.jdbc.SQLServerDriverStringProperty.TRUST_STORE_TYPE:Lcom/microsoft/sqlserver/jdbc/SQLServerDriverStringProperty;
invokevirtual com.microsoft.sqlserver.jdbc.SQLServerDriverStringProperty.toString:()Ljava/lang/String;
invokevirtual java.util.Properties.getProperty:(Ljava/lang/String;)Ljava/lang/String;
21: astore 12
22: aload 12
invokestatic com.microsoft.sqlserver.jdbc.StringUtils.isEmpty:(Ljava/lang/CharSequence;)Z
ifeq 24
23: getstatic com.microsoft.sqlserver.jdbc.SQLServerDriverStringProperty.TRUST_STORE_TYPE:Lcom/microsoft/sqlserver/jdbc/SQLServerDriverStringProperty;
invokevirtual com.microsoft.sqlserver.jdbc.SQLServerDriverStringProperty.getDefaultValue:()Ljava/lang/String;
astore 12
24: StackMap locals: java.lang.String java.lang.String java.lang.String
StackMap stack:
aload 0
getfield com.microsoft.sqlserver.jdbc.TDSChannel.con:Lcom/microsoft/sqlserver/jdbc/SQLServerConnection;
getfield com.microsoft.sqlserver.jdbc.SQLServerConnection.activeConnectionProperties:Ljava/util/Properties;
getstatic com.microsoft.sqlserver.jdbc.SQLServerDriverBooleanProperty.FIPS:Lcom/microsoft/sqlserver/jdbc/SQLServerDriverBooleanProperty;
invokevirtual com.microsoft.sqlserver.jdbc.SQLServerDriverBooleanProperty.toString:()Ljava/lang/String;
invokevirtual java.util.Properties.getProperty:(Ljava/lang/String;)Ljava/lang/String;
25: invokestatic java.lang.Boolean.valueOf:(Ljava/lang/String;)Ljava/lang/Boolean;
invokevirtual java.lang.Boolean.booleanValue:()Z
istore 11
26: aload 0
getfield com.microsoft.sqlserver.jdbc.TDSChannel.con:Lcom/microsoft/sqlserver/jdbc/SQLServerConnection;
getfield com.microsoft.sqlserver.jdbc.SQLServerConnection.activeConnectionProperties:Ljava/util/Properties;
27: getstatic com.microsoft.sqlserver.jdbc.SQLServerDriverStringProperty.SSL_PROTOCOL:Lcom/microsoft/sqlserver/jdbc/SQLServerDriverStringProperty;
invokevirtual com.microsoft.sqlserver.jdbc.SQLServerDriverStringProperty.toString:()Ljava/lang/String;
invokevirtual java.util.Properties.getProperty:(Ljava/lang/String;)Ljava/lang/String;
28: astore 13
29: iload 11
ifeq 31
30: aload 0
aload 12
aload 14
invokevirtual com.microsoft.sqlserver.jdbc.TDSChannel.validateFips:(Ljava/lang/String;Ljava/lang/String;)V
31: StackMap locals:
StackMap stack:
getstatic com.microsoft.sqlserver.jdbc.TDSChannel.$assertionsDisabled:Z
ifne 33
aload 0
getfield com.microsoft.sqlserver.jdbc.TDSChannel.con:Lcom/microsoft/sqlserver/jdbc/SQLServerConnection;
invokevirtual com.microsoft.sqlserver.jdbc.SQLServerConnection.getRequestedEncryptionLevel:()B
ifeq 33
32: iconst_1
aload 0
getfield com.microsoft.sqlserver.jdbc.TDSChannel.con:Lcom/microsoft/sqlserver/jdbc/SQLServerConnection;
invokevirtual com.microsoft.sqlserver.jdbc.SQLServerConnection.getRequestedEncryptionLevel:()B
if_icmpeq 33
new java.lang.AssertionError
dup
invokespecial java.lang.AssertionError.<init>:()V
athrow
33: StackMap locals:
StackMap stack:
getstatic com.microsoft.sqlserver.jdbc.TDSChannel.$assertionsDisabled:Z
ifne 36
aload 0
getfield com.microsoft.sqlserver.jdbc.TDSChannel.con:Lcom/microsoft/sqlserver/jdbc/SQLServerConnection;
invokevirtual com.microsoft.sqlserver.jdbc.SQLServerConnection.getNegotiatedEncryptionLevel:()B
ifeq 36
34: iconst_1
aload 0
getfield com.microsoft.sqlserver.jdbc.TDSChannel.con:Lcom/microsoft/sqlserver/jdbc/SQLServerConnection;
invokevirtual com.microsoft.sqlserver.jdbc.SQLServerConnection.getNegotiatedEncryptionLevel:()B
if_icmpeq 36
35: iconst_3
aload 0
getfield com.microsoft.sqlserver.jdbc.TDSChannel.con:Lcom/microsoft/sqlserver/jdbc/SQLServerConnection;
invokevirtual com.microsoft.sqlserver.jdbc.SQLServerConnection.getNegotiatedEncryptionLevel:()B
if_icmpeq 36
new java.lang.AssertionError
dup
invokespecial java.lang.AssertionError.<init>:()V
athrow
36: StackMap locals:
StackMap stack:
aconst_null
astore 17
start local 17 37: aload 0
getfield com.microsoft.sqlserver.jdbc.TDSChannel.con:Lcom/microsoft/sqlserver/jdbc/SQLServerConnection;
invokevirtual com.microsoft.sqlserver.jdbc.SQLServerConnection.getRequestedEncryptionLevel:()B
ifeq 39
38: iconst_1
aload 0
getfield com.microsoft.sqlserver.jdbc.TDSChannel.con:Lcom/microsoft/sqlserver/jdbc/SQLServerConnection;
invokevirtual com.microsoft.sqlserver.jdbc.SQLServerConnection.getRequestedEncryptionLevel:()B
if_icmpne 43
aload 0
getfield com.microsoft.sqlserver.jdbc.TDSChannel.con:Lcom/microsoft/sqlserver/jdbc/SQLServerConnection;
invokevirtual com.microsoft.sqlserver.jdbc.SQLServerConnection.trustServerCertificate:()Z
ifeq 43
39: StackMap locals: javax.net.ssl.TrustManager[]
StackMap stack:
getstatic com.microsoft.sqlserver.jdbc.TDSChannel.logger:Ljava/util/logging/Logger;
getstatic java.util.logging.Level.FINER:Ljava/util/logging/Level;
invokevirtual java.util.logging.Logger.isLoggable:(Ljava/util/logging/Level;)Z
ifeq 41
40: getstatic com.microsoft.sqlserver.jdbc.TDSChannel.logger:Ljava/util/logging/Logger;
new java.lang.StringBuilder
dup
aload 0
invokevirtual com.microsoft.sqlserver.jdbc.TDSChannel.toString:()Ljava/lang/String;
invokestatic java.lang.String.valueOf:(Ljava/lang/Object;)Ljava/lang/String;
invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
ldc " SSL handshake will trust any certificate"
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
invokevirtual java.util.logging.Logger.finer:(Ljava/lang/String;)V
41: StackMap locals:
StackMap stack:
iconst_1
anewarray javax.net.ssl.TrustManager
dup
iconst_0
new com.microsoft.sqlserver.jdbc.TDSChannel$PermissiveX509TrustManager
dup
aload 0
aload 0
invokespecial com.microsoft.sqlserver.jdbc.TDSChannel$PermissiveX509TrustManager.<init>:(Lcom/microsoft/sqlserver/jdbc/TDSChannel;Lcom/microsoft/sqlserver/jdbc/TDSChannel;)V
aastore
astore 17
42: goto 104
43: StackMap locals:
StackMap stack:
aload 0
getfield com.microsoft.sqlserver.jdbc.TDSChannel.con:Lcom/microsoft/sqlserver/jdbc/SQLServerConnection;
invokevirtual com.microsoft.sqlserver.jdbc.SQLServerConnection.getTrustManagerClass:()Ljava/lang/String;
ifnull 49
44: iconst_2
anewarray java.lang.Object
dup
iconst_0
ldc "trustManagerClass"
aastore
dup
iconst_1
ldc "javax.net.ssl.TrustManager"
aastore
astore 18
start local 18 45: iconst_1
anewarray javax.net.ssl.TrustManager
dup
iconst_0
ldc Ljavax/net/ssl/TrustManager;
aload 0
getfield com.microsoft.sqlserver.jdbc.TDSChannel.con:Lcom/microsoft/sqlserver/jdbc/SQLServerConnection;
invokevirtual com.microsoft.sqlserver.jdbc.SQLServerConnection.getTrustManagerClass:()Ljava/lang/String;
46: aload 0
getfield com.microsoft.sqlserver.jdbc.TDSChannel.con:Lcom/microsoft/sqlserver/jdbc/SQLServerConnection;
invokevirtual com.microsoft.sqlserver.jdbc.SQLServerConnection.getTrustManagerConstructorArg:()Ljava/lang/String;
aload 18
47: invokestatic com.microsoft.sqlserver.jdbc.Util.newInstance:(Ljava/lang/Class;Ljava/lang/String;Ljava/lang/String;[Ljava/lang/Object;)Ljava/lang/Object;
checkcast javax.net.ssl.TrustManager
aastore
astore 17
end local 18 48: goto 104
49: StackMap locals:
StackMap stack:
getstatic com.microsoft.sqlserver.jdbc.TDSChannel.logger:Ljava/util/logging/Logger;
getstatic java.util.logging.Level.FINER:Ljava/util/logging/Level;
invokevirtual java.util.logging.Logger.isLoggable:(Ljava/util/logging/Level;)Z
ifeq 51
50: getstatic com.microsoft.sqlserver.jdbc.TDSChannel.logger:Ljava/util/logging/Logger;
new java.lang.StringBuilder
dup
aload 0
invokevirtual com.microsoft.sqlserver.jdbc.TDSChannel.toString:()Ljava/lang/String;
invokestatic java.lang.String.valueOf:(Ljava/lang/Object;)Ljava/lang/String;
invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
ldc " SSL handshake will validate server certificate"
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
invokevirtual java.util.logging.Logger.finer:(Ljava/lang/String;)V
51: StackMap locals:
StackMap stack:
aconst_null
astore 18
start local 18 52: aload 14
ifnonnull 56
aload 15
ifnonnull 56
53: getstatic com.microsoft.sqlserver.jdbc.TDSChannel.logger:Ljava/util/logging/Logger;
getstatic java.util.logging.Level.FINER:Ljava/util/logging/Level;
invokevirtual java.util.logging.Logger.isLoggable:(Ljava/util/logging/Level;)Z
ifeq 85
54: getstatic com.microsoft.sqlserver.jdbc.TDSChannel.logger:Ljava/util/logging/Logger;
new java.lang.StringBuilder
dup
aload 0
invokevirtual com.microsoft.sqlserver.jdbc.TDSChannel.toString:()Ljava/lang/String;
invokestatic java.lang.String.valueOf:(Ljava/lang/Object;)Ljava/lang/String;
invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
ldc " Using system default trust store and password"
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
invokevirtual java.util.logging.Logger.finer:(Ljava/lang/String;)V
55: goto 85
56: StackMap locals: java.security.KeyStore
StackMap stack:
getstatic com.microsoft.sqlserver.jdbc.TDSChannel.logger:Ljava/util/logging/Logger;
getstatic java.util.logging.Level.FINEST:Ljava/util/logging/Level;
invokevirtual java.util.logging.Logger.isLoggable:(Ljava/util/logging/Level;)Z
ifeq 58
57: getstatic com.microsoft.sqlserver.jdbc.TDSChannel.logger:Ljava/util/logging/Logger;
new java.lang.StringBuilder
dup
aload 0
invokevirtual com.microsoft.sqlserver.jdbc.TDSChannel.toString:()Ljava/lang/String;
invokestatic java.lang.String.valueOf:(Ljava/lang/Object;)Ljava/lang/String;
invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
ldc " Finding key store interface"
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
invokevirtual java.util.logging.Logger.finest:(Ljava/lang/String;)V
58: StackMap locals:
StackMap stack:
aload 12
invokestatic java.security.KeyStore.getInstance:(Ljava/lang/String;)Ljava/security/KeyStore;
astore 18
59: aload 18
invokevirtual java.security.KeyStore.getProvider:()Ljava/security/Provider;
astore 8
60: aload 0
aload 14
invokevirtual com.microsoft.sqlserver.jdbc.TDSChannel.loadTrustStore:(Ljava/lang/String;)Ljava/io/InputStream;
astore 19
start local 19 61: getstatic com.microsoft.sqlserver.jdbc.TDSChannel.logger:Ljava/util/logging/Logger;
getstatic java.util.logging.Level.FINEST:Ljava/util/logging/Level;
invokevirtual java.util.logging.Logger.isLoggable:(Ljava/util/logging/Level;)Z
ifeq 63
62: getstatic com.microsoft.sqlserver.jdbc.TDSChannel.logger:Ljava/util/logging/Logger;
new java.lang.StringBuilder
dup
aload 0
invokevirtual com.microsoft.sqlserver.jdbc.TDSChannel.toString:()Ljava/lang/String;
invokestatic java.lang.String.valueOf:(Ljava/lang/Object;)Ljava/lang/String;
invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
ldc " Loading key store"
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
invokevirtual java.util.logging.Logger.finest:(Ljava/lang/String;)V
63: StackMap locals: java.io.InputStream
StackMap stack:
aload 18
aload 19
aload 15
ifnonnull 64
aconst_null
goto 65
StackMap locals: com.microsoft.sqlserver.jdbc.TDSChannel java.lang.String int java.lang.String java.lang.String java.lang.String java.security.Provider java.security.Provider java.security.Provider java.lang.String com.microsoft.sqlserver.jdbc.TDSChannel$SSLHandhsakeState int java.lang.String java.lang.String java.lang.String java.lang.String java.lang.String javax.net.ssl.TrustManager[] java.security.KeyStore java.io.InputStream
StackMap stack: java.security.KeyStore java.io.InputStream
64: aload 15
invokevirtual java.lang.String.toCharArray:()[C
StackMap locals: com.microsoft.sqlserver.jdbc.TDSChannel java.lang.String int java.lang.String java.lang.String java.lang.String java.security.Provider java.security.Provider java.security.Provider java.lang.String com.microsoft.sqlserver.jdbc.TDSChannel$SSLHandhsakeState int java.lang.String java.lang.String java.lang.String java.lang.String java.lang.String javax.net.ssl.TrustManager[] java.security.KeyStore java.io.InputStream
StackMap stack: java.security.KeyStore java.io.InputStream char[]
65: invokevirtual java.security.KeyStore.load:(Ljava/io/InputStream;[C)V
66: goto 77
StackMap locals:
StackMap stack: java.lang.Throwable
67: astore 20
68: aload 0
getfield com.microsoft.sqlserver.jdbc.TDSChannel.con:Lcom/microsoft/sqlserver/jdbc/SQLServerConnection;
getfield com.microsoft.sqlserver.jdbc.SQLServerConnection.activeConnectionProperties:Ljava/util/Properties;
69: getstatic com.microsoft.sqlserver.jdbc.SQLServerDriverStringProperty.TRUST_STORE_PASSWORD:Lcom/microsoft/sqlserver/jdbc/SQLServerDriverStringProperty;
invokevirtual com.microsoft.sqlserver.jdbc.SQLServerDriverStringProperty.toString:()Ljava/lang/String;
invokevirtual java.util.Properties.remove:(Ljava/lang/Object;)Ljava/lang/Object;
pop
70: aload 19
ifnull 76
71: aload 19
invokevirtual java.io.InputStream.close:()V
72: goto 76
StackMap locals: com.microsoft.sqlserver.jdbc.TDSChannel java.lang.String int java.lang.String java.lang.String java.lang.String java.security.Provider java.security.Provider java.security.Provider java.lang.String com.microsoft.sqlserver.jdbc.TDSChannel$SSLHandhsakeState int java.lang.String java.lang.String java.lang.String java.lang.String java.lang.String javax.net.ssl.TrustManager[] java.security.KeyStore java.io.InputStream java.lang.Throwable
StackMap stack: java.io.IOException
73: pop
74: getstatic com.microsoft.sqlserver.jdbc.TDSChannel.logger:Ljava/util/logging/Logger;
getstatic java.util.logging.Level.FINE:Ljava/util/logging/Level;
invokevirtual java.util.logging.Logger.isLoggable:(Ljava/util/logging/Level;)Z
ifeq 76
75: getstatic com.microsoft.sqlserver.jdbc.TDSChannel.logger:Ljava/util/logging/Logger;
new java.lang.StringBuilder
dup
aload 0
invokevirtual com.microsoft.sqlserver.jdbc.TDSChannel.toString:()Ljava/lang/String;
invokestatic java.lang.String.valueOf:(Ljava/lang/Object;)Ljava/lang/String;
invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
ldc " Ignoring error closing trust material InputStream..."
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
invokevirtual java.util.logging.Logger.fine:(Ljava/lang/String;)V
76: StackMap locals:
StackMap stack:
aload 20
athrow
77: StackMap locals:
StackMap stack:
aload 0
getfield com.microsoft.sqlserver.jdbc.TDSChannel.con:Lcom/microsoft/sqlserver/jdbc/SQLServerConnection;
getfield com.microsoft.sqlserver.jdbc.SQLServerConnection.activeConnectionProperties:Ljava/util/Properties;
78: getstatic com.microsoft.sqlserver.jdbc.SQLServerDriverStringProperty.TRUST_STORE_PASSWORD:Lcom/microsoft/sqlserver/jdbc/SQLServerDriverStringProperty;
invokevirtual com.microsoft.sqlserver.jdbc.SQLServerDriverStringProperty.toString:()Ljava/lang/String;
invokevirtual java.util.Properties.remove:(Ljava/lang/Object;)Ljava/lang/Object;
pop
79: aload 19
ifnull 85
80: aload 19
invokevirtual java.io.InputStream.close:()V
81: goto 85
StackMap locals:
StackMap stack: java.io.IOException
82: pop
83: getstatic com.microsoft.sqlserver.jdbc.TDSChannel.logger:Ljava/util/logging/Logger;
getstatic java.util.logging.Level.FINE:Ljava/util/logging/Level;
invokevirtual java.util.logging.Logger.isLoggable:(Ljava/util/logging/Level;)Z
ifeq 85
84: getstatic com.microsoft.sqlserver.jdbc.TDSChannel.logger:Ljava/util/logging/Logger;
new java.lang.StringBuilder
dup
aload 0
invokevirtual com.microsoft.sqlserver.jdbc.TDSChannel.toString:()Ljava/lang/String;
invokestatic java.lang.String.valueOf:(Ljava/lang/Object;)Ljava/lang/String;
invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
ldc " Ignoring error closing trust material InputStream..."
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
invokevirtual java.util.logging.Logger.fine:(Ljava/lang/String;)V
end local 19 85: StackMap locals:
StackMap stack:
aconst_null
astore 19
start local 19 86: getstatic com.microsoft.sqlserver.jdbc.TDSChannel.logger:Ljava/util/logging/Logger;
getstatic java.util.logging.Level.FINEST:Ljava/util/logging/Level;
invokevirtual java.util.logging.Logger.isLoggable:(Ljava/util/logging/Level;)Z
ifeq 88
87: getstatic com.microsoft.sqlserver.jdbc.TDSChannel.logger:Ljava/util/logging/Logger;
new java.lang.StringBuilder
dup
aload 0
invokevirtual com.microsoft.sqlserver.jdbc.TDSChannel.toString:()Ljava/lang/String;
invokestatic java.lang.String.valueOf:(Ljava/lang/Object;)Ljava/lang/String;
invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
ldc " Locating X.509 trust manager factory"
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
invokevirtual java.util.logging.Logger.finest:(Ljava/lang/String;)V
88: StackMap locals: javax.net.ssl.TrustManagerFactory
StackMap stack:
invokestatic javax.net.ssl.TrustManagerFactory.getDefaultAlgorithm:()Ljava/lang/String;
astore 9
89: aload 9
invokestatic javax.net.ssl.TrustManagerFactory.getInstance:(Ljava/lang/String;)Ljavax/net/ssl/TrustManagerFactory;
astore 19
90: aload 19
invokevirtual javax.net.ssl.TrustManagerFactory.getProvider:()Ljava/security/Provider;
astore 6
91: getstatic com.microsoft.sqlserver.jdbc.TDSChannel.logger:Ljava/util/logging/Logger;
getstatic java.util.logging.Level.FINEST:Ljava/util/logging/Level;
invokevirtual java.util.logging.Logger.isLoggable:(Ljava/util/logging/Level;)Z
ifeq 93
92: getstatic com.microsoft.sqlserver.jdbc.TDSChannel.logger:Ljava/util/logging/Logger;
new java.lang.StringBuilder
dup
aload 0
invokevirtual com.microsoft.sqlserver.jdbc.TDSChannel.toString:()Ljava/lang/String;
invokestatic java.lang.String.valueOf:(Ljava/lang/Object;)Ljava/lang/String;
invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
ldc " Getting trust manager"
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
invokevirtual java.util.logging.Logger.finest:(Ljava/lang/String;)V
93: StackMap locals:
StackMap stack:
aload 19
aload 18
invokevirtual javax.net.ssl.TrustManagerFactory.init:(Ljava/security/KeyStore;)V
94: aload 19
invokevirtual javax.net.ssl.TrustManagerFactory.getTrustManagers:()[Ljavax/net/ssl/TrustManager;
astore 17
95: iload 11
ifne 104
96: aload 16
ifnull 101
97: iconst_1
anewarray javax.net.ssl.TrustManager
dup
iconst_0
new com.microsoft.sqlserver.jdbc.TDSChannel$HostNameOverrideX509TrustManager
dup
aload 0
aload 0
aload 17
iconst_0
aaload
checkcast javax.net.ssl.X509TrustManager
98: aload 16
99: invokespecial com.microsoft.sqlserver.jdbc.TDSChannel$HostNameOverrideX509TrustManager.<init>:(Lcom/microsoft/sqlserver/jdbc/TDSChannel;Lcom/microsoft/sqlserver/jdbc/TDSChannel;Ljavax/net/ssl/X509TrustManager;Ljava/lang/String;)V
aastore
astore 17
100: goto 104
101: StackMap locals:
StackMap stack:
iconst_1
anewarray javax.net.ssl.TrustManager
dup
iconst_0
102: new com.microsoft.sqlserver.jdbc.TDSChannel$HostNameOverrideX509TrustManager
dup
aload 0
aload 0
aload 17
iconst_0
aaload
checkcast javax.net.ssl.X509TrustManager
aload 1
invokespecial com.microsoft.sqlserver.jdbc.TDSChannel$HostNameOverrideX509TrustManager.<init>:(Lcom/microsoft/sqlserver/jdbc/TDSChannel;Lcom/microsoft/sqlserver/jdbc/TDSChannel;Ljavax/net/ssl/X509TrustManager;Ljava/lang/String;)V
aastore
103: astore 17
end local 19 end local 18 104: StackMap locals:
StackMap stack:
aconst_null
astore 18
start local 18 105: getstatic com.microsoft.sqlserver.jdbc.TDSChannel.logger:Ljava/util/logging/Logger;
getstatic java.util.logging.Level.FINEST:Ljava/util/logging/Level;
invokevirtual java.util.logging.Logger.isLoggable:(Ljava/util/logging/Level;)Z
ifeq 107
106: getstatic com.microsoft.sqlserver.jdbc.TDSChannel.logger:Ljava/util/logging/Logger;
new java.lang.StringBuilder
dup
aload 0
invokevirtual com.microsoft.sqlserver.jdbc.TDSChannel.toString:()Ljava/lang/String;
invokestatic java.lang.String.valueOf:(Ljava/lang/Object;)Ljava/lang/String;
invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
ldc " Getting TLS or better SSL context"
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
invokevirtual java.util.logging.Logger.finest:(Ljava/lang/String;)V
107: StackMap locals: javax.net.ssl.SSLContext
StackMap stack:
aload 3
ifnull 109
aload 3
invokevirtual java.lang.String.length:()I
ifle 109
108: aload 3
aload 4
aload 5
invokestatic com.microsoft.sqlserver.jdbc.SQLServerCertificateUtils.getKeyManagerFromFile:(Ljava/lang/String;Ljava/lang/String;Ljava/lang/String;)[Ljavax/net/ssl/KeyManager;
goto 110
StackMap locals:
StackMap stack:
109: aconst_null
110: StackMap locals:
StackMap stack: javax.net.ssl.KeyManager[]
astore 19
start local 19 111: aload 13
invokestatic javax.net.ssl.SSLContext.getInstance:(Ljava/lang/String;)Ljavax/net/ssl/SSLContext;
astore 18
112: aload 18
invokevirtual javax.net.ssl.SSLContext.getProvider:()Ljava/security/Provider;
astore 7
113: getstatic com.microsoft.sqlserver.jdbc.TDSChannel.logger:Ljava/util/logging/Logger;
getstatic java.util.logging.Level.FINEST:Ljava/util/logging/Level;
invokevirtual java.util.logging.Logger.isLoggable:(Ljava/util/logging/Level;)Z
ifeq 115
114: getstatic com.microsoft.sqlserver.jdbc.TDSChannel.logger:Ljava/util/logging/Logger;
new java.lang.StringBuilder
dup
aload 0
invokevirtual com.microsoft.sqlserver.jdbc.TDSChannel.toString:()Ljava/lang/String;
invokestatic java.lang.String.valueOf:(Ljava/lang/Object;)Ljava/lang/String;
invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
ldc " Initializing SSL context"
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
invokevirtual java.util.logging.Logger.finest:(Ljava/lang/String;)V
115: StackMap locals: javax.net.ssl.KeyManager[]
StackMap stack:
aload 18
aload 19
aload 17
aconst_null
invokevirtual javax.net.ssl.SSLContext.init:([Ljavax/net/ssl/KeyManager;[Ljavax/net/ssl/TrustManager;Ljava/security/SecureRandom;)V
116: aload 0
new com.microsoft.sqlserver.jdbc.TDSChannel$ProxySocket
dup
aload 0
aload 0
invokespecial com.microsoft.sqlserver.jdbc.TDSChannel$ProxySocket.<init>:(Lcom/microsoft/sqlserver/jdbc/TDSChannel;Lcom/microsoft/sqlserver/jdbc/TDSChannel;)V
putfield com.microsoft.sqlserver.jdbc.TDSChannel.proxySocket:Lcom/microsoft/sqlserver/jdbc/TDSChannel$ProxySocket;
117: getstatic com.microsoft.sqlserver.jdbc.TDSChannel.logger:Ljava/util/logging/Logger;
getstatic java.util.logging.Level.FINEST:Ljava/util/logging/Level;
invokevirtual java.util.logging.Logger.isLoggable:(Ljava/util/logging/Level;)Z
ifeq 119
118: getstatic com.microsoft.sqlserver.jdbc.TDSChannel.logger:Ljava/util/logging/Logger;
new java.lang.StringBuilder
dup
aload 0
invokevirtual com.microsoft.sqlserver.jdbc.TDSChannel.toString:()Ljava/lang/String;
invokestatic java.lang.String.valueOf:(Ljava/lang/Object;)Ljava/lang/String;
invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
ldc " Creating SSL socket"
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
invokevirtual java.util.logging.Logger.finest:(Ljava/lang/String;)V
119: StackMap locals:
StackMap stack:
aload 0
aload 18
invokevirtual javax.net.ssl.SSLContext.getSocketFactory:()Ljavax/net/ssl/SSLSocketFactory;
aload 0
getfield com.microsoft.sqlserver.jdbc.TDSChannel.proxySocket:Lcom/microsoft/sqlserver/jdbc/TDSChannel$ProxySocket;
aload 1
iload 2
iconst_0
invokevirtual javax.net.ssl.SSLSocketFactory.createSocket:(Ljava/net/Socket;Ljava/lang/String;IZ)Ljava/net/Socket;
checkcast javax.net.ssl.SSLSocket
putfield com.microsoft.sqlserver.jdbc.TDSChannel.sslSocket:Ljavax/net/ssl/SSLSocket;
120: getstatic com.microsoft.sqlserver.jdbc.TDSChannel.logger:Ljava/util/logging/Logger;
getstatic java.util.logging.Level.FINER:Ljava/util/logging/Level;
invokevirtual java.util.logging.Logger.isLoggable:(Ljava/util/logging/Level;)Z
ifeq 122
121: getstatic com.microsoft.sqlserver.jdbc.TDSChannel.logger:Ljava/util/logging/Logger;
new java.lang.StringBuilder
dup
aload 0
invokevirtual com.microsoft.sqlserver.jdbc.TDSChannel.toString:()Ljava/lang/String;
invokestatic java.lang.String.valueOf:(Ljava/lang/Object;)Ljava/lang/String;
invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
ldc " Starting SSL handshake"
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
invokevirtual java.util.logging.Logger.finer:(Ljava/lang/String;)V
122: StackMap locals:
StackMap stack:
getstatic com.microsoft.sqlserver.jdbc.TDSChannel$SSLHandhsakeState.SSL_HANDHSAKE_STARTED:Lcom/microsoft/sqlserver/jdbc/TDSChannel$SSLHandhsakeState;
astore 10
123: aload 0
getfield com.microsoft.sqlserver.jdbc.TDSChannel.sslSocket:Ljavax/net/ssl/SSLSocket;
invokevirtual javax.net.ssl.SSLSocket.startHandshake:()V
124: getstatic com.microsoft.sqlserver.jdbc.TDSChannel$SSLHandhsakeState.SSL_HANDHSAKE_COMPLETE:Lcom/microsoft/sqlserver/jdbc/TDSChannel$SSLHandhsakeState;
astore 10
125: getstatic com.microsoft.sqlserver.jdbc.TDSChannel.logger:Ljava/util/logging/Logger;
getstatic java.util.logging.Level.FINEST:Ljava/util/logging/Level;
invokevirtual java.util.logging.Logger.isLoggable:(Ljava/util/logging/Level;)Z
ifeq 127
126: getstatic com.microsoft.sqlserver.jdbc.TDSChannel.logger:Ljava/util/logging/Logger;
new java.lang.StringBuilder
dup
aload 0
invokevirtual com.microsoft.sqlserver.jdbc.TDSChannel.toString:()Ljava/lang/String;
invokestatic java.lang.String.valueOf:(Ljava/lang/Object;)Ljava/lang/String;
invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
ldc " Rewiring proxy streams after handshake"
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
invokevirtual java.util.logging.Logger.finest:(Ljava/lang/String;)V
127: StackMap locals:
StackMap stack:
aload 0
getfield com.microsoft.sqlserver.jdbc.TDSChannel.proxySocket:Lcom/microsoft/sqlserver/jdbc/TDSChannel$ProxySocket;
aload 0
getfield com.microsoft.sqlserver.jdbc.TDSChannel.inputStream:Ljava/io/InputStream;
aload 0
getfield com.microsoft.sqlserver.jdbc.TDSChannel.outputStream:Ljava/io/OutputStream;
invokevirtual com.microsoft.sqlserver.jdbc.TDSChannel$ProxySocket.setStreams:(Ljava/io/InputStream;Ljava/io/OutputStream;)V
128: getstatic com.microsoft.sqlserver.jdbc.TDSChannel.logger:Ljava/util/logging/Logger;
getstatic java.util.logging.Level.FINEST:Ljava/util/logging/Level;
invokevirtual java.util.logging.Logger.isLoggable:(Ljava/util/logging/Level;)Z
ifeq 130
129: getstatic com.microsoft.sqlserver.jdbc.TDSChannel.logger:Ljava/util/logging/Logger;
new java.lang.StringBuilder
dup
aload 0
invokevirtual com.microsoft.sqlserver.jdbc.TDSChannel.toString:()Ljava/lang/String;
invokestatic java.lang.String.valueOf:(Ljava/lang/Object;)Ljava/lang/String;
invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
ldc " Getting SSL InputStream"
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
invokevirtual java.util.logging.Logger.finest:(Ljava/lang/String;)V
130: StackMap locals:
StackMap stack:
aload 0
aload 0
getfield com.microsoft.sqlserver.jdbc.TDSChannel.sslSocket:Ljavax/net/ssl/SSLSocket;
invokevirtual javax.net.ssl.SSLSocket.getInputStream:()Ljava/io/InputStream;
putfield com.microsoft.sqlserver.jdbc.TDSChannel.inputStream:Ljava/io/InputStream;
131: getstatic com.microsoft.sqlserver.jdbc.TDSChannel.logger:Ljava/util/logging/Logger;
getstatic java.util.logging.Level.FINEST:Ljava/util/logging/Level;
invokevirtual java.util.logging.Logger.isLoggable:(Ljava/util/logging/Level;)Z
ifeq 133
132: getstatic com.microsoft.sqlserver.jdbc.TDSChannel.logger:Ljava/util/logging/Logger;
new java.lang.StringBuilder
dup
aload 0
invokevirtual com.microsoft.sqlserver.jdbc.TDSChannel.toString:()Ljava/lang/String;
invokestatic java.lang.String.valueOf:(Ljava/lang/Object;)Ljava/lang/String;
invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
ldc " Getting SSL OutputStream"
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
invokevirtual java.util.logging.Logger.finest:(Ljava/lang/String;)V
133: StackMap locals:
StackMap stack:
aload 0
aload 0
getfield com.microsoft.sqlserver.jdbc.TDSChannel.sslSocket:Ljavax/net/ssl/SSLSocket;
invokevirtual javax.net.ssl.SSLSocket.getOutputStream:()Ljava/io/OutputStream;
putfield com.microsoft.sqlserver.jdbc.TDSChannel.outputStream:Ljava/io/OutputStream;
134: aload 0
aload 0
getfield com.microsoft.sqlserver.jdbc.TDSChannel.sslSocket:Ljavax/net/ssl/SSLSocket;
putfield com.microsoft.sqlserver.jdbc.TDSChannel.channelSocket:Ljava/net/Socket;
135: aload 0
getfield com.microsoft.sqlserver.jdbc.TDSChannel.sslSocket:Ljavax/net/ssl/SSLSocket;
invokevirtual javax.net.ssl.SSLSocket.getSession:()Ljavax/net/ssl/SSLSession;
invokeinterface javax.net.ssl.SSLSession.getProtocol:()Ljava/lang/String;
astore 20
start local 20 136: getstatic com.microsoft.sqlserver.jdbc.SSLProtocol.TLS_V10:Lcom/microsoft/sqlserver/jdbc/SSLProtocol;
invokevirtual com.microsoft.sqlserver.jdbc.SSLProtocol.toString:()Ljava/lang/String;
aload 20
invokevirtual java.lang.String.equalsIgnoreCase:(Ljava/lang/String;)Z
ifne 138
137: getstatic com.microsoft.sqlserver.jdbc.SSLProtocol.TLS_V11:Lcom/microsoft/sqlserver/jdbc/SSLProtocol;
invokevirtual com.microsoft.sqlserver.jdbc.SSLProtocol.toString:()Ljava/lang/String;
aload 20
invokevirtual java.lang.String.equalsIgnoreCase:(Ljava/lang/String;)Z
ifeq 143
138: StackMap locals: java.lang.String
StackMap stack:
new java.lang.StringBuilder
dup
aload 20
invokestatic java.lang.String.valueOf:(Ljava/lang/Object;)Ljava/lang/String;
invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
139: ldc " was negotiated. Please update server and client to use TLSv1.2 at minimum."
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
140: invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
astore 21
start local 21 141: getstatic com.microsoft.sqlserver.jdbc.TDSChannel.logger:Ljava/util/logging/Logger;
aload 21
invokevirtual java.util.logging.Logger.warning:(Ljava/lang/String;)V
142: aload 0
getfield com.microsoft.sqlserver.jdbc.TDSChannel.con:Lcom/microsoft/sqlserver/jdbc/SQLServerConnection;
aload 21
invokevirtual com.microsoft.sqlserver.jdbc.SQLServerConnection.addWarning:(Ljava/lang/String;)V
end local 21 143: StackMap locals:
StackMap stack:
getstatic com.microsoft.sqlserver.jdbc.TDSChannel.logger:Ljava/util/logging/Logger;
getstatic java.util.logging.Level.FINER:Ljava/util/logging/Level;
invokevirtual java.util.logging.Logger.isLoggable:(Ljava/util/logging/Level;)Z
ifeq 194
144: getstatic com.microsoft.sqlserver.jdbc.TDSChannel.logger:Ljava/util/logging/Logger;
new java.lang.StringBuilder
dup
aload 0
invokevirtual com.microsoft.sqlserver.jdbc.TDSChannel.toString:()Ljava/lang/String;
invokestatic java.lang.String.valueOf:(Ljava/lang/Object;)Ljava/lang/String;
invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
ldc " SSL enabled"
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
invokevirtual java.util.logging.Logger.finer:(Ljava/lang/String;)V
end local 20 end local 19 end local 18 end local 17 end local 16 end local 15 end local 14 145: goto 194
StackMap locals: com.microsoft.sqlserver.jdbc.TDSChannel java.lang.String int java.lang.String java.lang.String java.lang.String java.security.Provider java.security.Provider java.security.Provider java.lang.String com.microsoft.sqlserver.jdbc.TDSChannel$SSLHandhsakeState int java.lang.String java.lang.String
StackMap stack: java.lang.Exception
146: astore 14
start local 14 147: getstatic com.microsoft.sqlserver.jdbc.TDSChannel.logger:Ljava/util/logging/Logger;
getstatic java.util.logging.Level.FINER:Ljava/util/logging/Level;
invokevirtual java.util.logging.Logger.isLoggable:(Ljava/util/logging/Level;)Z
ifeq 149
148: getstatic com.microsoft.sqlserver.jdbc.TDSChannel.logger:Ljava/util/logging/Logger;
getstatic java.util.logging.Level.FINER:Ljava/util/logging/Level;
aload 14
invokevirtual java.lang.Exception.getMessage:()Ljava/lang/String;
aload 14
invokevirtual java.util.logging.Logger.log:(Ljava/util/logging/Level;Ljava/lang/String;Ljava/lang/Throwable;)V
149: StackMap locals: java.lang.Exception
StackMap stack:
getstatic com.microsoft.sqlserver.jdbc.TDSChannel.logger:Ljava/util/logging/Logger;
getstatic java.util.logging.Level.FINER:Ljava/util/logging/Level;
invokevirtual java.util.logging.Logger.isLoggable:(Ljava/util/logging/Level;)Z
ifeq 169
150: getstatic com.microsoft.sqlserver.jdbc.TDSChannel.logger:Ljava/util/logging/Logger;
getstatic java.util.logging.Level.FINER:Ljava/util/logging/Level;
new java.lang.StringBuilder
dup
ldc "java.security path: "
invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
getstatic com.microsoft.sqlserver.jdbc.TDSChannel.JAVA_SECURITY:Ljava/lang/String;
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
ldc "\n"
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
ldc "Security providers: "
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
151: invokestatic java.security.Security.getProviders:()[Ljava/security/Provider;
invokestatic java.util.Arrays.asList:([Ljava/lang/Object;)Ljava/util/List;
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/Object;)Ljava/lang/StringBuilder;
ldc "\n"
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
152: aload 7
ifnull 154
new java.lang.StringBuilder
dup
ldc "SSLContext provider info: "
invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
aload 7
invokevirtual java.security.Provider.getInfo:()Ljava/lang/String;
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
153: ldc "\n"
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
ldc "SSLContext provider services:\n"
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
aload 7
invokevirtual java.security.Provider.getServices:()Ljava/util/Set;
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/Object;)Ljava/lang/StringBuilder;
ldc "\n"
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
goto 155
154: StackMap locals: com.microsoft.sqlserver.jdbc.TDSChannel java.lang.String int java.lang.String java.lang.String java.lang.String java.security.Provider java.security.Provider java.security.Provider java.lang.String com.microsoft.sqlserver.jdbc.TDSChannel$SSLHandhsakeState int java.lang.String java.lang.String java.lang.Exception
StackMap stack: java.util.logging.Logger java.util.logging.Level java.lang.StringBuilder
ldc ""
155: StackMap locals: com.microsoft.sqlserver.jdbc.TDSChannel java.lang.String int java.lang.String java.lang.String java.lang.String java.security.Provider java.security.Provider java.security.Provider java.lang.String com.microsoft.sqlserver.jdbc.TDSChannel$SSLHandhsakeState int java.lang.String java.lang.String java.lang.Exception
StackMap stack: java.util.logging.Logger java.util.logging.Level java.lang.StringBuilder java.lang.String
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
156: aload 6
ifnull 158
new java.lang.StringBuilder
dup
ldc "TrustManagerFactory provider info: "
invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
aload 6
invokevirtual java.security.Provider.getInfo:()Ljava/lang/String;
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
157: ldc "\n"
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
goto 159
StackMap locals: com.microsoft.sqlserver.jdbc.TDSChannel java.lang.String int java.lang.String java.lang.String java.lang.String java.security.Provider java.security.Provider java.security.Provider java.lang.String com.microsoft.sqlserver.jdbc.TDSChannel$SSLHandhsakeState int java.lang.String java.lang.String java.lang.Exception
StackMap stack: java.util.logging.Logger java.util.logging.Level java.lang.StringBuilder
158: ldc ""
159: StackMap locals: com.microsoft.sqlserver.jdbc.TDSChannel java.lang.String int java.lang.String java.lang.String java.lang.String java.security.Provider java.security.Provider java.security.Provider java.lang.String com.microsoft.sqlserver.jdbc.TDSChannel$SSLHandhsakeState int java.lang.String java.lang.String java.lang.Exception
StackMap stack: java.util.logging.Logger java.util.logging.Level java.lang.StringBuilder java.lang.String
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
160: aload 9
ifnull 162
new java.lang.StringBuilder
dup
ldc "TrustManagerFactory default algorithm: "
invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
161: aload 9
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
ldc "\n"
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
goto 163
StackMap locals: com.microsoft.sqlserver.jdbc.TDSChannel java.lang.String int java.lang.String java.lang.String java.lang.String java.security.Provider java.security.Provider java.security.Provider java.lang.String com.microsoft.sqlserver.jdbc.TDSChannel$SSLHandhsakeState int java.lang.String java.lang.String java.lang.Exception
StackMap stack: java.util.logging.Logger java.util.logging.Level java.lang.StringBuilder
162: ldc ""
163: StackMap locals: com.microsoft.sqlserver.jdbc.TDSChannel java.lang.String int java.lang.String java.lang.String java.lang.String java.security.Provider java.security.Provider java.security.Provider java.lang.String com.microsoft.sqlserver.jdbc.TDSChannel$SSLHandhsakeState int java.lang.String java.lang.String java.lang.Exception
StackMap stack: java.util.logging.Logger java.util.logging.Level java.lang.StringBuilder java.lang.String
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
164: aload 8
ifnull 165
new java.lang.StringBuilder
dup
ldc "KeyStore provider info: "
invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
aload 8
invokevirtual java.security.Provider.getInfo:()Ljava/lang/String;
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
ldc "\n"
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
goto 166
StackMap locals: com.microsoft.sqlserver.jdbc.TDSChannel java.lang.String int java.lang.String java.lang.String java.lang.String java.security.Provider java.security.Provider java.security.Provider java.lang.String com.microsoft.sqlserver.jdbc.TDSChannel$SSLHandhsakeState int java.lang.String java.lang.String java.lang.Exception
StackMap stack: java.util.logging.Logger java.util.logging.Level java.lang.StringBuilder
165: ldc ""
StackMap locals: com.microsoft.sqlserver.jdbc.TDSChannel java.lang.String int java.lang.String java.lang.String java.lang.String java.security.Provider java.security.Provider java.security.Provider java.lang.String com.microsoft.sqlserver.jdbc.TDSChannel$SSLHandhsakeState int java.lang.String java.lang.String java.lang.Exception
StackMap stack: java.util.logging.Logger java.util.logging.Level java.lang.StringBuilder java.lang.String
166: invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
167: ldc "java.ext.dirs: "
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
ldc "java.ext.dirs"
invokestatic java.lang.System.getProperty:(Ljava/lang/String;)Ljava/lang/String;
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
168: invokevirtual java.util.logging.Logger.log:(Ljava/util/logging/Level;Ljava/lang/String;)V
169: StackMap locals:
StackMap stack:
aload 14
invokevirtual java.lang.Exception.getLocalizedMessage:()Ljava/lang/String;
astore 15
start local 15 170: aload 15
ifnull 171
aload 15
goto 172
StackMap locals: java.lang.String
StackMap stack:
171: aload 14
invokevirtual java.lang.Exception.getMessage:()Ljava/lang/String;
StackMap locals:
StackMap stack: java.lang.String
172: astore 16
start local 16 173: aconst_null
astore 17
start local 17 174: aload 14
invokevirtual java.lang.Exception.getCause:()Ljava/lang/Throwable;
astore 18
start local 18 175: aload 18
ifnull 180
176: aload 18
invokevirtual java.lang.Throwable.getLocalizedMessage:()Ljava/lang/String;
astore 19
start local 19 177: aload 19
ifnull 178
aload 19
goto 179
StackMap locals: com.microsoft.sqlserver.jdbc.TDSChannel java.lang.String int java.lang.String java.lang.String java.lang.String java.security.Provider java.security.Provider java.security.Provider java.lang.String com.microsoft.sqlserver.jdbc.TDSChannel$SSLHandhsakeState int java.lang.String java.lang.String java.lang.Exception java.lang.String java.lang.String java.lang.String java.lang.Throwable java.lang.String
StackMap stack:
178: aload 18
invokevirtual java.lang.Throwable.getMessage:()Ljava/lang/String;
StackMap locals:
StackMap stack: java.lang.String
179: astore 17
end local 19 180: StackMap locals:
StackMap stack:
new java.text.MessageFormat
dup
ldc "R_sslFailed"
invokestatic com.microsoft.sqlserver.jdbc.SQLServerException.getErrString:(Ljava/lang/String;)Ljava/lang/String;
invokespecial java.text.MessageFormat.<init>:(Ljava/lang/String;)V
astore 19
start local 19 181: iconst_1
anewarray java.lang.Object
dup
iconst_0
aload 16
aastore
astore 20
start local 20 182: aload 16
ifnull 184
aload 16
ldc " ClientConnectionId:"
invokevirtual java.lang.String.contains:(Ljava/lang/CharSequence;)Z
ifeq 184
183: aload 16
iconst_0
aload 16
ldc " ClientConnectionId:"
invokevirtual java.lang.String.indexOf:(Ljava/lang/String;)I
invokevirtual java.lang.String.substring:(II)Ljava/lang/String;
astore 16
184: StackMap locals: java.text.MessageFormat java.lang.Object[]
StackMap stack:
aload 17
ifnull 188
aload 17
ldc " ClientConnectionId:"
invokevirtual java.lang.String.contains:(Ljava/lang/CharSequence;)Z
ifeq 188
185: aload 17
iconst_0
186: aload 17
ldc " ClientConnectionId:"
invokevirtual java.lang.String.indexOf:(Ljava/lang/String;)I
187: invokevirtual java.lang.String.substring:(II)Ljava/lang/String;
astore 17
188: StackMap locals:
StackMap stack:
aload 14
instanceof java.io.IOException
ifeq 193
getstatic com.microsoft.sqlserver.jdbc.TDSChannel$SSLHandhsakeState.SSL_HANDHSAKE_STARTED:Lcom/microsoft/sqlserver/jdbc/TDSChannel$SSLHandhsakeState;
aload 10
if_acmpne 193
189: ldc "R_truncatedServerResponse"
invokestatic com.microsoft.sqlserver.jdbc.SQLServerException.getErrString:(Ljava/lang/String;)Ljava/lang/String;
aload 16
invokevirtual java.lang.String.equals:(Ljava/lang/Object;)Z
ifne 191
190: ldc "R_truncatedServerResponse"
invokestatic com.microsoft.sqlserver.jdbc.SQLServerException.getErrString:(Ljava/lang/String;)Ljava/lang/String;
aload 17
invokevirtual java.lang.String.equals:(Ljava/lang/Object;)Z
ifeq 193
191: StackMap locals:
StackMap stack:
aload 0
getfield com.microsoft.sqlserver.jdbc.TDSChannel.con:Lcom/microsoft/sqlserver/jdbc/SQLServerConnection;
bipush 7
aload 19
aload 20
invokevirtual java.text.MessageFormat.format:(Ljava/lang/Object;)Ljava/lang/String;
aload 14
invokevirtual com.microsoft.sqlserver.jdbc.SQLServerConnection.terminate:(ILjava/lang/String;Ljava/lang/Throwable;)V
192: goto 194
193: StackMap locals:
StackMap stack:
aload 0
getfield com.microsoft.sqlserver.jdbc.TDSChannel.con:Lcom/microsoft/sqlserver/jdbc/SQLServerConnection;
iconst_5
aload 19
aload 20
invokevirtual java.text.MessageFormat.format:(Ljava/lang/Object;)Ljava/lang/String;
aload 14
invokevirtual com.microsoft.sqlserver.jdbc.SQLServerConnection.terminate:(ILjava/lang/String;Ljava/lang/Throwable;)V
end local 20 end local 19 end local 18 end local 17 end local 16 end local 15 end local 14 194: StackMap locals: com.microsoft.sqlserver.jdbc.TDSChannel java.lang.String int java.lang.String java.lang.String java.lang.String java.security.Provider java.security.Provider java.security.Provider java.lang.String com.microsoft.sqlserver.jdbc.TDSChannel$SSLHandhsakeState int java.lang.String java.lang.String
StackMap stack:
return
end local 13 end local 12 end local 11 end local 10 end local 9 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 195 0 this Lcom/microsoft/sqlserver/jdbc/TDSChannel;
0 195 1 host Ljava/lang/String;
0 195 2 port I
0 195 3 clientCertificate Ljava/lang/String;
0 195 4 clientKey Ljava/lang/String;
0 195 5 clientKeyPassword Ljava/lang/String;
1 195 6 tmfProvider Ljava/security/Provider;
2 195 7 sslContextProvider Ljava/security/Provider;
3 195 8 ksProvider Ljava/security/Provider;
4 195 9 tmfDefaultAlgorithm Ljava/lang/String;
5 195 10 handshakeState Lcom/microsoft/sqlserver/jdbc/TDSChannel$SSLHandhsakeState;
6 195 11 isFips Z
7 195 12 trustStoreType Ljava/lang/String;
8 195 13 sslProtocol Ljava/lang/String;
13 145 14 trustStoreFileName Ljava/lang/String;
16 145 15 trustStorePassword Ljava/lang/String;
19 145 16 hostNameInCertificate Ljava/lang/String;
37 145 17 tm [Ljavax/net/ssl/TrustManager;
45 48 18 msgArgs [Ljava/lang/Object;
52 104 18 ks Ljava/security/KeyStore;
61 85 19 is Ljava/io/InputStream;
86 104 19 tmf Ljavax/net/ssl/TrustManagerFactory;
105 145 18 sslContext Ljavax/net/ssl/SSLContext;
111 145 19 km [Ljavax/net/ssl/KeyManager;
136 145 20 tlsProtocol Ljava/lang/String;
141 143 21 warningMsg Ljava/lang/String;
147 194 14 e Ljava/lang/Exception;
170 194 15 localizedMessage Ljava/lang/String;
173 194 16 errMsg Ljava/lang/String;
174 194 17 causeErrMsg Ljava/lang/String;
175 194 18 cause Ljava/lang/Throwable;
177 180 19 causeLocalizedMessage Ljava/lang/String;
181 194 19 form Ljava/text/MessageFormat;
182 194 20 msgArgs [Ljava/lang/Object;
Exception table:
from to target type
63 67 67 any
71 72 73 Class java.io.IOException
80 81 82 Class java.io.IOException
8 145 146 Class java.lang.Exception
Exceptions:
throws com.microsoft.sqlserver.jdbc.SQLServerException
MethodParameters:
Name Flags
host
port
clientCertificate
clientKey
clientKeyPassword
private void validateFips(java.lang.String, java.lang.String);
descriptor: (Ljava/lang/String;Ljava/lang/String;)V
flags: (0x0002) ACC_PRIVATE
Code:
stack=6, locals=9, args_size=3
start local 0 start local 1 start local 2 0: iconst_0
istore 3
start local 3 1: ldc "R_invalidFipsConfig"
invokestatic com.microsoft.sqlserver.jdbc.SQLServerException.getErrString:(Ljava/lang/String;)Ljava/lang/String;
astore 8
start local 8 2: iconst_1
aload 0
getfield com.microsoft.sqlserver.jdbc.TDSChannel.con:Lcom/microsoft/sqlserver/jdbc/SQLServerConnection;
invokevirtual com.microsoft.sqlserver.jdbc.SQLServerConnection.getRequestedEncryptionLevel:()B
if_icmpne 3
iconst_1
goto 4
StackMap locals: com.microsoft.sqlserver.jdbc.TDSChannel java.lang.String java.lang.String int top top top top java.lang.String
StackMap stack:
3: iconst_0
StackMap locals:
StackMap stack: int
4: istore 4
start local 4 5: aload 1
invokestatic com.microsoft.sqlserver.jdbc.StringUtils.isEmpty:(Ljava/lang/CharSequence;)Z
ifeq 6
iconst_0
goto 7
StackMap locals: com.microsoft.sqlserver.jdbc.TDSChannel java.lang.String java.lang.String int int top top top java.lang.String
StackMap stack:
6: iconst_1
StackMap locals:
StackMap stack: int
7: istore 5
start local 5 8: aload 2
invokestatic com.microsoft.sqlserver.jdbc.StringUtils.isEmpty:(Ljava/lang/CharSequence;)Z
ifeq 9
iconst_0
goto 10
StackMap locals: com.microsoft.sqlserver.jdbc.TDSChannel java.lang.String java.lang.String int int int top top java.lang.String
StackMap stack:
9: iconst_1
StackMap locals:
StackMap stack: int
10: istore 6
start local 6 11: aload 0
getfield com.microsoft.sqlserver.jdbc.TDSChannel.con:Lcom/microsoft/sqlserver/jdbc/SQLServerConnection;
invokevirtual com.microsoft.sqlserver.jdbc.SQLServerConnection.trustServerCertificate:()Z
istore 7
start local 7 12: iload 4
ifeq 18
iload 7
ifne 18
13: iconst_1
istore 3
14: iload 6
ifeq 18
iload 5
ifne 18
15: iconst_0
istore 3
16: getstatic com.microsoft.sqlserver.jdbc.TDSChannel.logger:Ljava/util/logging/Logger;
getstatic java.util.logging.Level.FINER:Ljava/util/logging/Level;
invokevirtual java.util.logging.Logger.isLoggable:(Ljava/util/logging/Level;)Z
ifeq 18
17: getstatic com.microsoft.sqlserver.jdbc.TDSChannel.logger:Ljava/util/logging/Logger;
new java.lang.StringBuilder
dup
aload 0
invokevirtual com.microsoft.sqlserver.jdbc.TDSChannel.toString:()Ljava/lang/String;
invokestatic java.lang.String.valueOf:(Ljava/lang/Object;)Ljava/lang/String;
invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
ldc "TrustStoreType is required alongside with TrustStore."
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
invokevirtual java.util.logging.Logger.finer:(Ljava/lang/String;)V
18: StackMap locals: com.microsoft.sqlserver.jdbc.TDSChannel java.lang.String java.lang.String int int int int int java.lang.String
StackMap stack:
iload 3
ifne 20
19: new com.microsoft.sqlserver.jdbc.SQLServerException
dup
aload 8
aconst_null
iconst_0
aconst_null
invokespecial com.microsoft.sqlserver.jdbc.SQLServerException.<init>:(Ljava/lang/String;Ljava/lang/String;ILjava/lang/Throwable;)V
athrow
20: 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 21 0 this Lcom/microsoft/sqlserver/jdbc/TDSChannel;
0 21 1 trustStoreType Ljava/lang/String;
0 21 2 trustStoreFileName Ljava/lang/String;
1 21 3 isValid Z
5 21 4 isEncryptOn Z
8 21 5 isValidTrustStoreType Z
11 21 6 isValidTrustStore Z
12 21 7 isTrustServerCertificate Z
2 21 8 strError Ljava/lang/String;
Exceptions:
throws com.microsoft.sqlserver.jdbc.SQLServerException
MethodParameters:
Name Flags
trustStoreType final
trustStoreFileName final
final java.io.InputStream loadTrustStore(java.lang.String);
descriptor: (Ljava/lang/String;)Ljava/io/InputStream;
flags: (0x0010) ACC_FINAL
Code:
stack=4, locals=4, args_size=2
start local 0 start local 1 0: aconst_null
astore 2
start local 2 1: aload 1
ifnull 10
2: getstatic com.microsoft.sqlserver.jdbc.TDSChannel.logger:Ljava/util/logging/Logger;
getstatic java.util.logging.Level.FINEST:Ljava/util/logging/Level;
invokevirtual java.util.logging.Logger.isLoggable:(Ljava/util/logging/Level;)Z
ifeq 4
3: getstatic com.microsoft.sqlserver.jdbc.TDSChannel.logger:Ljava/util/logging/Logger;
new java.lang.StringBuilder
dup
aload 0
invokevirtual com.microsoft.sqlserver.jdbc.TDSChannel.toString:()Ljava/lang/String;
invokestatic java.lang.String.valueOf:(Ljava/lang/Object;)Ljava/lang/String;
invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
ldc " Opening specified trust store: "
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
aload 1
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
invokevirtual java.util.logging.Logger.finest:(Ljava/lang/String;)V
4: StackMap locals: java.io.FileInputStream
StackMap stack:
new java.io.FileInputStream
dup
aload 1
invokespecial java.io.FileInputStream.<init>:(Ljava/lang/String;)V
astore 2
5: goto 36
StackMap locals:
StackMap stack: java.io.FileNotFoundException
6: astore 3
start local 3 7: getstatic com.microsoft.sqlserver.jdbc.TDSChannel.logger:Ljava/util/logging/Logger;
getstatic java.util.logging.Level.FINE:Ljava/util/logging/Level;
invokevirtual java.util.logging.Logger.isLoggable:(Ljava/util/logging/Level;)Z
ifeq 36
8: getstatic com.microsoft.sqlserver.jdbc.TDSChannel.logger:Ljava/util/logging/Logger;
new java.lang.StringBuilder
dup
aload 0
invokevirtual com.microsoft.sqlserver.jdbc.TDSChannel.toString:()Ljava/lang/String;
invokestatic java.lang.String.valueOf:(Ljava/lang/Object;)Ljava/lang/String;
invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
ldc " Trust store not found: "
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
aload 3
invokevirtual java.io.FileNotFoundException.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.util.logging.Logger.fine:(Ljava/lang/String;)V
end local 3 9: goto 36
10: StackMap locals:
StackMap stack:
ldc "javax.net.ssl.trustStore"
invokestatic java.lang.System.getProperty:(Ljava/lang/String;)Ljava/lang/String;
dup
astore 1
ifnull 21
11: getstatic com.microsoft.sqlserver.jdbc.TDSChannel.logger:Ljava/util/logging/Logger;
getstatic java.util.logging.Level.FINEST:Ljava/util/logging/Level;
invokevirtual java.util.logging.Logger.isLoggable:(Ljava/util/logging/Level;)Z
ifeq 15
12: getstatic com.microsoft.sqlserver.jdbc.TDSChannel.logger:Ljava/util/logging/Logger;
new java.lang.StringBuilder
dup
aload 0
invokevirtual com.microsoft.sqlserver.jdbc.TDSChannel.toString:()Ljava/lang/String;
invokestatic java.lang.String.valueOf:(Ljava/lang/Object;)Ljava/lang/String;
invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
ldc " Opening default trust store (from javax.net.ssl.trustStore): "
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
13: aload 1
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
14: invokevirtual java.util.logging.Logger.finest:(Ljava/lang/String;)V
15: StackMap locals:
StackMap stack:
new java.io.FileInputStream
dup
aload 1
invokespecial java.io.FileInputStream.<init>:(Ljava/lang/String;)V
astore 2
16: goto 36
StackMap locals:
StackMap stack: java.io.FileNotFoundException
17: astore 3
start local 3 18: getstatic com.microsoft.sqlserver.jdbc.TDSChannel.logger:Ljava/util/logging/Logger;
getstatic java.util.logging.Level.FINE:Ljava/util/logging/Level;
invokevirtual java.util.logging.Logger.isLoggable:(Ljava/util/logging/Level;)Z
ifeq 36
19: getstatic com.microsoft.sqlserver.jdbc.TDSChannel.logger:Ljava/util/logging/Logger;
new java.lang.StringBuilder
dup
aload 0
invokevirtual com.microsoft.sqlserver.jdbc.TDSChannel.toString:()Ljava/lang/String;
invokestatic java.lang.String.valueOf:(Ljava/lang/Object;)Ljava/lang/String;
invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
ldc " Trust store not found: "
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
aload 3
invokevirtual java.io.FileNotFoundException.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.util.logging.Logger.fine:(Ljava/lang/String;)V
end local 3 20: goto 36
21: StackMap locals:
StackMap stack:
getstatic com.microsoft.sqlserver.jdbc.TDSChannel.logger:Ljava/util/logging/Logger;
getstatic java.util.logging.Level.FINEST:Ljava/util/logging/Level;
invokevirtual java.util.logging.Logger.isLoggable:(Ljava/util/logging/Level;)Z
ifeq 23
22: getstatic com.microsoft.sqlserver.jdbc.TDSChannel.logger:Ljava/util/logging/Logger;
new java.lang.StringBuilder
dup
aload 0
invokevirtual com.microsoft.sqlserver.jdbc.TDSChannel.toString:()Ljava/lang/String;
invokestatic java.lang.String.valueOf:(Ljava/lang/Object;)Ljava/lang/String;
invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
ldc " Opening default trust store: "
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
getstatic com.microsoft.sqlserver.jdbc.TDSChannel.JSSECACERTS:Ljava/lang/String;
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
invokevirtual java.util.logging.Logger.finest:(Ljava/lang/String;)V
23: StackMap locals:
StackMap stack:
new java.io.FileInputStream
dup
getstatic com.microsoft.sqlserver.jdbc.TDSChannel.JSSECACERTS:Ljava/lang/String;
invokespecial java.io.FileInputStream.<init>:(Ljava/lang/String;)V
astore 2
24: goto 28
StackMap locals:
StackMap stack: java.io.FileNotFoundException
25: astore 3
start local 3 26: getstatic com.microsoft.sqlserver.jdbc.TDSChannel.logger:Ljava/util/logging/Logger;
getstatic java.util.logging.Level.FINE:Ljava/util/logging/Level;
invokevirtual java.util.logging.Logger.isLoggable:(Ljava/util/logging/Level;)Z
ifeq 28
27: getstatic com.microsoft.sqlserver.jdbc.TDSChannel.logger:Ljava/util/logging/Logger;
new java.lang.StringBuilder
dup
aload 0
invokevirtual com.microsoft.sqlserver.jdbc.TDSChannel.toString:()Ljava/lang/String;
invokestatic java.lang.String.valueOf:(Ljava/lang/Object;)Ljava/lang/String;
invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
ldc " Trust store not found: "
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
aload 3
invokevirtual java.io.FileNotFoundException.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.util.logging.Logger.fine:(Ljava/lang/String;)V
end local 3 28: StackMap locals:
StackMap stack:
aload 2
ifnonnull 36
29: getstatic com.microsoft.sqlserver.jdbc.TDSChannel.logger:Ljava/util/logging/Logger;
getstatic java.util.logging.Level.FINEST:Ljava/util/logging/Level;
invokevirtual java.util.logging.Logger.isLoggable:(Ljava/util/logging/Level;)Z
ifeq 31
30: getstatic com.microsoft.sqlserver.jdbc.TDSChannel.logger:Ljava/util/logging/Logger;
new java.lang.StringBuilder
dup
aload 0
invokevirtual com.microsoft.sqlserver.jdbc.TDSChannel.toString:()Ljava/lang/String;
invokestatic java.lang.String.valueOf:(Ljava/lang/Object;)Ljava/lang/String;
invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
ldc " Opening default trust store: "
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
getstatic com.microsoft.sqlserver.jdbc.TDSChannel.CACERTS:Ljava/lang/String;
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
invokevirtual java.util.logging.Logger.finest:(Ljava/lang/String;)V
31: StackMap locals:
StackMap stack:
new java.io.FileInputStream
dup
getstatic com.microsoft.sqlserver.jdbc.TDSChannel.CACERTS:Ljava/lang/String;
invokespecial java.io.FileInputStream.<init>:(Ljava/lang/String;)V
astore 2
32: goto 36
StackMap locals:
StackMap stack: java.io.FileNotFoundException
33: astore 3
start local 3 34: getstatic com.microsoft.sqlserver.jdbc.TDSChannel.logger:Ljava/util/logging/Logger;
getstatic java.util.logging.Level.FINE:Ljava/util/logging/Level;
invokevirtual java.util.logging.Logger.isLoggable:(Ljava/util/logging/Level;)Z
ifeq 36
35: getstatic com.microsoft.sqlserver.jdbc.TDSChannel.logger:Ljava/util/logging/Logger;
new java.lang.StringBuilder
dup
aload 0
invokevirtual com.microsoft.sqlserver.jdbc.TDSChannel.toString:()Ljava/lang/String;
invokestatic java.lang.String.valueOf:(Ljava/lang/Object;)Ljava/lang/String;
invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
ldc " Trust store not found: "
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
aload 3
invokevirtual java.io.FileNotFoundException.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.util.logging.Logger.fine:(Ljava/lang/String;)V
end local 3 36: StackMap locals:
StackMap stack:
aload 2
areturn
end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 37 0 this Lcom/microsoft/sqlserver/jdbc/TDSChannel;
0 37 1 trustStoreFileName Ljava/lang/String;
1 37 2 is Ljava/io/FileInputStream;
7 9 3 e Ljava/io/FileNotFoundException;
18 20 3 e Ljava/io/FileNotFoundException;
26 28 3 e Ljava/io/FileNotFoundException;
34 36 3 e Ljava/io/FileNotFoundException;
Exception table:
from to target type
2 5 6 Class java.io.FileNotFoundException
11 16 17 Class java.io.FileNotFoundException
21 24 25 Class java.io.FileNotFoundException
29 32 33 Class java.io.FileNotFoundException
MethodParameters:
Name Flags
trustStoreFileName
final int read(byte[], int, int);
descriptor: ([BII)I
flags: (0x0010) ACC_FINAL
Code:
stack=4, locals=5, args_size=4
start local 0 start local 1 start local 2 start local 3 0: aload 0
getfield com.microsoft.sqlserver.jdbc.TDSChannel.inputStream:Ljava/io/InputStream;
aload 1
iload 2
iload 3
invokevirtual java.io.InputStream.read:([BII)I
1: ireturn
2: StackMap locals:
StackMap stack: java.io.IOException
astore 4
start local 4 3: getstatic com.microsoft.sqlserver.jdbc.TDSChannel.logger:Ljava/util/logging/Logger;
getstatic java.util.logging.Level.FINE:Ljava/util/logging/Level;
invokevirtual java.util.logging.Logger.isLoggable:(Ljava/util/logging/Level;)Z
ifeq 5
4: getstatic com.microsoft.sqlserver.jdbc.TDSChannel.logger:Ljava/util/logging/Logger;
new java.lang.StringBuilder
dup
aload 0
invokevirtual com.microsoft.sqlserver.jdbc.TDSChannel.toString:()Ljava/lang/String;
invokestatic java.lang.String.valueOf:(Ljava/lang/Object;)Ljava/lang/String;
invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
ldc " read failed:"
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
aload 4
invokevirtual java.io.IOException.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.util.logging.Logger.fine:(Ljava/lang/String;)V
5: StackMap locals: java.io.IOException
StackMap stack:
aload 4
instanceof java.net.SocketTimeoutException
ifeq 8
6: aload 0
getfield com.microsoft.sqlserver.jdbc.TDSChannel.con:Lcom/microsoft/sqlserver/jdbc/SQLServerConnection;
bipush 8
aload 4
invokevirtual java.io.IOException.getMessage:()Ljava/lang/String;
aload 4
invokevirtual com.microsoft.sqlserver.jdbc.SQLServerConnection.terminate:(ILjava/lang/String;Ljava/lang/Throwable;)V
7: goto 9
8: StackMap locals:
StackMap stack:
aload 0
getfield com.microsoft.sqlserver.jdbc.TDSChannel.con:Lcom/microsoft/sqlserver/jdbc/SQLServerConnection;
iconst_3
aload 4
invokevirtual java.io.IOException.getMessage:()Ljava/lang/String;
aload 4
invokevirtual com.microsoft.sqlserver.jdbc.SQLServerConnection.terminate:(ILjava/lang/String;Ljava/lang/Throwable;)V
9: StackMap locals:
StackMap stack:
iconst_0
ireturn
end local 4 end local 3 end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 10 0 this Lcom/microsoft/sqlserver/jdbc/TDSChannel;
0 10 1 data [B
0 10 2 offset I
0 10 3 length I
3 10 4 e Ljava/io/IOException;
Exception table:
from to target type
0 1 2 Class java.io.IOException
Exceptions:
throws com.microsoft.sqlserver.jdbc.SQLServerException
MethodParameters:
Name Flags
data
offset
length
final void write(byte[], int, int);
descriptor: ([BII)V
flags: (0x0010) ACC_FINAL
Code:
stack=4, locals=5, args_size=4
start local 0 start local 1 start local 2 start local 3 0: aload 0
getfield com.microsoft.sqlserver.jdbc.TDSChannel.outputStream:Ljava/io/OutputStream;
aload 1
iload 2
iload 3
invokevirtual java.io.OutputStream.write:([BII)V
1: goto 6
StackMap locals:
StackMap stack: java.io.IOException
2: astore 4
start local 4 3: getstatic com.microsoft.sqlserver.jdbc.TDSChannel.logger:Ljava/util/logging/Logger;
getstatic java.util.logging.Level.FINER:Ljava/util/logging/Level;
invokevirtual java.util.logging.Logger.isLoggable:(Ljava/util/logging/Level;)Z
ifeq 5
4: getstatic com.microsoft.sqlserver.jdbc.TDSChannel.logger:Ljava/util/logging/Logger;
new java.lang.StringBuilder
dup
aload 0
invokevirtual com.microsoft.sqlserver.jdbc.TDSChannel.toString:()Ljava/lang/String;
invokestatic java.lang.String.valueOf:(Ljava/lang/Object;)Ljava/lang/String;
invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
ldc " write failed:"
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
aload 4
invokevirtual java.io.IOException.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.util.logging.Logger.finer:(Ljava/lang/String;)V
5: StackMap locals: java.io.IOException
StackMap stack:
aload 0
getfield com.microsoft.sqlserver.jdbc.TDSChannel.con:Lcom/microsoft/sqlserver/jdbc/SQLServerConnection;
iconst_3
aload 4
invokevirtual java.io.IOException.getMessage:()Ljava/lang/String;
aload 4
invokevirtual com.microsoft.sqlserver.jdbc.SQLServerConnection.terminate:(ILjava/lang/String;Ljava/lang/Throwable;)V
end local 4 6: StackMap locals:
StackMap stack:
return
end local 3 end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 7 0 this Lcom/microsoft/sqlserver/jdbc/TDSChannel;
0 7 1 data [B
0 7 2 offset I
0 7 3 length I
3 6 4 e Ljava/io/IOException;
Exception table:
from to target type
0 1 2 Class java.io.IOException
Exceptions:
throws com.microsoft.sqlserver.jdbc.SQLServerException
MethodParameters:
Name Flags
data
offset
length
final void flush();
descriptor: ()V
flags: (0x0010) ACC_FINAL
Code:
stack=4, locals=2, args_size=1
start local 0 0: aload 0
getfield com.microsoft.sqlserver.jdbc.TDSChannel.outputStream:Ljava/io/OutputStream;
invokevirtual java.io.OutputStream.flush:()V
1: goto 6
StackMap locals:
StackMap stack: java.io.IOException
2: astore 1
start local 1 3: getstatic com.microsoft.sqlserver.jdbc.TDSChannel.logger:Ljava/util/logging/Logger;
getstatic java.util.logging.Level.FINER:Ljava/util/logging/Level;
invokevirtual java.util.logging.Logger.isLoggable:(Ljava/util/logging/Level;)Z
ifeq 5
4: getstatic com.microsoft.sqlserver.jdbc.TDSChannel.logger:Ljava/util/logging/Logger;
new java.lang.StringBuilder
dup
aload 0
invokevirtual com.microsoft.sqlserver.jdbc.TDSChannel.toString:()Ljava/lang/String;
invokestatic java.lang.String.valueOf:(Ljava/lang/Object;)Ljava/lang/String;
invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
ldc " flush failed:"
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
aload 1
invokevirtual java.io.IOException.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.util.logging.Logger.finer:(Ljava/lang/String;)V
5: StackMap locals: