public class org.glassfish.grizzly.ssl.SSLBaseFilter extends org.glassfish.grizzly.filterchain.BaseFilter
minor version: 0
major version: 59
flags: flags: (0x0021) ACC_PUBLIC, ACC_SUPER
this_class: org.glassfish.grizzly.ssl.SSLBaseFilter
super_class: org.glassfish.grizzly.filterchain.BaseFilter
{
private static final java.util.logging.Logger LOGGER;
descriptor: Ljava/util/logging/Logger;
flags: (0x001a) ACC_PRIVATE, ACC_STATIC, ACC_FINAL
protected static final org.glassfish.grizzly.asyncqueue.MessageCloner<org.glassfish.grizzly.Buffer> COPY_CLONER;
descriptor: Lorg/glassfish/grizzly/asyncqueue/MessageCloner;
flags: (0x001c) ACC_PROTECTED, ACC_STATIC, ACC_FINAL
Signature: Lorg/glassfish/grizzly/asyncqueue/MessageCloner<Lorg/glassfish/grizzly/Buffer;>;
private static final org.glassfish.grizzly.ssl.SSLConnectionContext$Allocator MM_ALLOCATOR;
descriptor: Lorg/glassfish/grizzly/ssl/SSLConnectionContext$Allocator;
flags: (0x001a) ACC_PRIVATE, ACC_STATIC, ACC_FINAL
private static final org.glassfish.grizzly.ssl.SSLConnectionContext$Allocator OUTPUT_BUFFER_ALLOCATOR;
descriptor: Lorg/glassfish/grizzly/ssl/SSLConnectionContext$Allocator;
flags: (0x001a) ACC_PRIVATE, ACC_STATIC, ACC_FINAL
private final org.glassfish.grizzly.ssl.SSLEngineConfigurator ;
descriptor: Lorg/glassfish/grizzly/ssl/SSLEngineConfigurator;
flags: (0x0012) ACC_PRIVATE, ACC_FINAL
private final boolean renegotiateOnClientAuthWant;
descriptor: Z
flags: (0x0012) ACC_PRIVATE, ACC_FINAL
private volatile boolean renegotiationDisabled;
descriptor: Z
flags: (0x0042) ACC_PRIVATE, ACC_VOLATILE
protected final java.util.Set<org.glassfish.grizzly.ssl.SSLBaseFilter$HandshakeListener> handshakeListeners;
descriptor: Ljava/util/Set;
flags: (0x0014) ACC_PROTECTED, ACC_FINAL
Signature: Ljava/util/Set<Lorg/glassfish/grizzly/ssl/SSLBaseFilter$HandshakeListener;>;
private long handshakeTimeoutMillis;
descriptor: J
flags: (0x0002) ACC_PRIVATE
private org.glassfish.grizzly.ssl.SSLBaseFilter$SSLTransportFilterWrapper optimizedTransportFilter;
descriptor: Lorg/glassfish/grizzly/ssl/SSLBaseFilter$SSLTransportFilterWrapper;
flags: (0x0002) ACC_PRIVATE
private static volatile int[] $SWITCH_TABLE$javax$net$ssl$SSLEngineResult$Status;
descriptor: [I
flags: (0x104a) ACC_PRIVATE, ACC_STATIC, ACC_VOLATILE, ACC_SYNTHETIC
private static volatile int[] $SWITCH_TABLE$javax$net$ssl$SSLEngineResult$HandshakeStatus;
descriptor: [I
flags: (0x104a) ACC_PRIVATE, ACC_STATIC, ACC_VOLATILE, ACC_SYNTHETIC
static void <clinit>();
descriptor: ()V
flags: (0x0008) ACC_STATIC
Code:
stack=2, locals=0, args_size=0
0: ldc Lorg/glassfish/grizzly/ssl/SSLBaseFilter;
invokestatic org.glassfish.grizzly.Grizzly.logger:(Ljava/lang/Class;)Ljava/util/logging/Logger;
putstatic org.glassfish.grizzly.ssl.SSLBaseFilter.LOGGER:Ljava/util/logging/Logger;
1: new org.glassfish.grizzly.ssl.SSLBaseFilter$OnWriteCopyCloner
dup
invokespecial org.glassfish.grizzly.ssl.SSLBaseFilter$OnWriteCopyCloner.<init>:()V
putstatic org.glassfish.grizzly.ssl.SSLBaseFilter.COPY_CLONER:Lorg/glassfish/grizzly/asyncqueue/MessageCloner;
2: new org.glassfish.grizzly.ssl.SSLBaseFilter$1
dup
invokespecial org.glassfish.grizzly.ssl.SSLBaseFilter$1.<init>:()V
putstatic org.glassfish.grizzly.ssl.SSLBaseFilter.MM_ALLOCATOR:Lorg/glassfish/grizzly/ssl/SSLConnectionContext$Allocator;
3: new org.glassfish.grizzly.ssl.SSLBaseFilter$2
dup
invokespecial org.glassfish.grizzly.ssl.SSLBaseFilter$2.<init>:()V
4: putstatic org.glassfish.grizzly.ssl.SSLBaseFilter.OUTPUT_BUFFER_ALLOCATOR:Lorg/glassfish/grizzly/ssl/SSLConnectionContext$Allocator;
5: return
LocalVariableTable:
Start End Slot Name Signature
public void <init>();
descriptor: ()V
flags: (0x0001) ACC_PUBLIC
Code:
stack=2, locals=1, args_size=1
start local 0 0: aload 0
aconst_null
invokespecial org.glassfish.grizzly.ssl.SSLBaseFilter.<init>:(Lorg/glassfish/grizzly/ssl/SSLEngineConfigurator;)V
1: return
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 2 0 this Lorg/glassfish/grizzly/ssl/SSLBaseFilter;
public void <init>(org.glassfish.grizzly.ssl.SSLEngineConfigurator);
descriptor: (Lorg/glassfish/grizzly/ssl/SSLEngineConfigurator;)V
flags: (0x0001) ACC_PUBLIC
Code:
stack=3, locals=2, args_size=2
start local 0 start local 1 0: aload 0
aload 1
iconst_1
invokespecial org.glassfish.grizzly.ssl.SSLBaseFilter.<init>:(Lorg/glassfish/grizzly/ssl/SSLEngineConfigurator;Z)V
1: return
end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 2 0 this Lorg/glassfish/grizzly/ssl/SSLBaseFilter;
0 2 1 serverSSLEngineConfigurator Lorg/glassfish/grizzly/ssl/SSLEngineConfigurator;
MethodParameters:
Name Flags
serverSSLEngineConfigurator
public void <init>(org.glassfish.grizzly.ssl.SSLEngineConfigurator, boolean);
descriptor: (Lorg/glassfish/grizzly/ssl/SSLEngineConfigurator;Z)V
flags: (0x0001) ACC_PUBLIC
Code:
stack=7, locals=3, args_size=3
start local 0 start local 1 start local 2 0: aload 0
invokespecial org.glassfish.grizzly.filterchain.BaseFilter.<init>:()V
1: aload 0
2: new java.util.concurrent.ConcurrentHashMap
dup
iconst_2
invokespecial java.util.concurrent.ConcurrentHashMap.<init>:(I)V
invokestatic java.util.Collections.newSetFromMap:(Ljava/util/Map;)Ljava/util/Set;
putfield org.glassfish.grizzly.ssl.SSLBaseFilter.handshakeListeners:Ljava/util/Set;
3: aload 0
ldc -1
putfield org.glassfish.grizzly.ssl.SSLBaseFilter.handshakeTimeoutMillis:J
4: aload 0
iload 2
putfield org.glassfish.grizzly.ssl.SSLBaseFilter.renegotiateOnClientAuthWant:Z
5: aload 0
6: aload 1
ifnull 8
7: aload 1
goto 14
8: StackMap locals: org.glassfish.grizzly.ssl.SSLBaseFilter org.glassfish.grizzly.ssl.SSLEngineConfigurator int
StackMap stack: org.glassfish.grizzly.ssl.SSLBaseFilter
new org.glassfish.grizzly.ssl.SSLEngineConfigurator
dup
9: getstatic org.glassfish.grizzly.ssl.SSLContextConfigurator.DEFAULT_CONFIG:Lorg/glassfish/grizzly/ssl/SSLContextConfigurator;
iconst_1
invokevirtual org.glassfish.grizzly.ssl.SSLContextConfigurator.createSSLContext:(Z)Ljavax/net/ssl/SSLContext;
10: iconst_0
11: iconst_0
12: iconst_0
13: invokespecial org.glassfish.grizzly.ssl.SSLEngineConfigurator.<init>:(Ljavax/net/ssl/SSLContext;ZZZ)V
14: StackMap locals: org.glassfish.grizzly.ssl.SSLBaseFilter org.glassfish.grizzly.ssl.SSLEngineConfigurator int
StackMap stack: org.glassfish.grizzly.ssl.SSLBaseFilter org.glassfish.grizzly.ssl.SSLEngineConfigurator
putfield org.glassfish.grizzly.ssl.SSLBaseFilter.serverSSLEngineConfigurator:Lorg/glassfish/grizzly/ssl/SSLEngineConfigurator;
15: return
end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 16 0 this Lorg/glassfish/grizzly/ssl/SSLBaseFilter;
0 16 1 serverSSLEngineConfigurator Lorg/glassfish/grizzly/ssl/SSLEngineConfigurator;
0 16 2 renegotiateOnClientAuthWant Z
MethodParameters:
Name Flags
serverSSLEngineConfigurator
renegotiateOnClientAuthWant
public boolean isRenegotiateOnClientAuthWant();
descriptor: ()Z
flags: (0x0001) ACC_PUBLIC
Code:
stack=1, locals=1, args_size=1
start local 0 0: aload 0
getfield org.glassfish.grizzly.ssl.SSLBaseFilter.renegotiateOnClientAuthWant:Z
ireturn
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 1 0 this Lorg/glassfish/grizzly/ssl/SSLBaseFilter;
public org.glassfish.grizzly.ssl.SSLEngineConfigurator ();
descriptor: ()Lorg/glassfish/grizzly/ssl/SSLEngineConfigurator;
flags: (0x0001) ACC_PUBLIC
Code:
stack=1, locals=1, args_size=1
start local 0 0: aload 0
getfield org.glassfish.grizzly.ssl.SSLBaseFilter.serverSSLEngineConfigurator:Lorg/glassfish/grizzly/ssl/SSLEngineConfigurator;
areturn
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 1 0 this Lorg/glassfish/grizzly/ssl/SSLBaseFilter;
public void addHandshakeListener(org.glassfish.grizzly.ssl.SSLBaseFilter$HandshakeListener);
descriptor: (Lorg/glassfish/grizzly/ssl/SSLBaseFilter$HandshakeListener;)V
flags: (0x0001) ACC_PUBLIC
Code:
stack=2, locals=2, args_size=2
start local 0 start local 1 0: aload 0
getfield org.glassfish.grizzly.ssl.SSLBaseFilter.handshakeListeners:Ljava/util/Set;
aload 1
invokeinterface java.util.Set.add:(Ljava/lang/Object;)Z
pop
1: return
end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 2 0 this Lorg/glassfish/grizzly/ssl/SSLBaseFilter;
0 2 1 listener Lorg/glassfish/grizzly/ssl/SSLBaseFilter$HandshakeListener;
MethodParameters:
Name Flags
listener final
public void removeHandshakeListener(org.glassfish.grizzly.ssl.SSLBaseFilter$HandshakeListener);
descriptor: (Lorg/glassfish/grizzly/ssl/SSLBaseFilter$HandshakeListener;)V
flags: (0x0001) ACC_PUBLIC
Code:
stack=2, locals=2, args_size=2
start local 0 start local 1 0: aload 0
getfield org.glassfish.grizzly.ssl.SSLBaseFilter.handshakeListeners:Ljava/util/Set;
aload 1
invokeinterface java.util.Set.remove:(Ljava/lang/Object;)Z
pop
1: return
end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 2 0 this Lorg/glassfish/grizzly/ssl/SSLBaseFilter;
0 2 1 listener Lorg/glassfish/grizzly/ssl/SSLBaseFilter$HandshakeListener;
MethodParameters:
Name Flags
listener final
public long getHandshakeTimeout(java.util.concurrent.TimeUnit);
descriptor: (Ljava/util/concurrent/TimeUnit;)J
flags: (0x0001) ACC_PUBLIC
Code:
stack=4, locals=2, args_size=2
start local 0 start local 1 0: aload 0
getfield org.glassfish.grizzly.ssl.SSLBaseFilter.handshakeTimeoutMillis:J
lconst_0
lcmp
ifge 2
1: ldc -1
lreturn
2: StackMap locals:
StackMap stack:
aload 1
aload 0
getfield org.glassfish.grizzly.ssl.SSLBaseFilter.handshakeTimeoutMillis:J
getstatic java.util.concurrent.TimeUnit.MILLISECONDS:Ljava/util/concurrent/TimeUnit;
invokevirtual java.util.concurrent.TimeUnit.convert:(JLjava/util/concurrent/TimeUnit;)J
lreturn
end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 3 0 this Lorg/glassfish/grizzly/ssl/SSLBaseFilter;
0 3 1 timeUnit Ljava/util/concurrent/TimeUnit;
MethodParameters:
Name Flags
timeUnit final
public void setHandshakeTimeout(long, java.util.concurrent.TimeUnit);
descriptor: (JLjava/util/concurrent/TimeUnit;)V
flags: (0x0001) ACC_PUBLIC
Code:
stack=5, locals=4, args_size=3
start local 0 start local 1 start local 3 0: lload 1
lconst_0
lcmp
ifge 3
1: aload 0
ldc -1
putfield org.glassfish.grizzly.ssl.SSLBaseFilter.handshakeTimeoutMillis:J
2: goto 6
3: StackMap locals:
StackMap stack:
aload 0
4: getstatic java.util.concurrent.TimeUnit.MILLISECONDS:Ljava/util/concurrent/TimeUnit;
lload 1
aload 3
invokevirtual java.util.concurrent.TimeUnit.convert:(JLjava/util/concurrent/TimeUnit;)J
5: putfield org.glassfish.grizzly.ssl.SSLBaseFilter.handshakeTimeoutMillis:J
6: StackMap locals:
StackMap stack:
return
end local 3 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 7 0 this Lorg/glassfish/grizzly/ssl/SSLBaseFilter;
0 7 1 handshakeTimeout J
0 7 3 timeUnit Ljava/util/concurrent/TimeUnit;
MethodParameters:
Name Flags
handshakeTimeout final
timeUnit final
public void setRenegotiationDisabled(boolean);
descriptor: (Z)V
flags: (0x0001) ACC_PUBLIC
Code:
stack=2, locals=2, args_size=2
start local 0 start local 1 0: aload 0
iload 1
putfield org.glassfish.grizzly.ssl.SSLBaseFilter.renegotiationDisabled:Z
1: return
end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 2 0 this Lorg/glassfish/grizzly/ssl/SSLBaseFilter;
0 2 1 renegotiationDisabled Z
MethodParameters:
Name Flags
renegotiationDisabled
protected org.glassfish.grizzly.ssl.SSLBaseFilter$SSLTransportFilterWrapper getOptimizedTransportFilter(org.glassfish.grizzly.filterchain.TransportFilter);
descriptor: (Lorg/glassfish/grizzly/filterchain/TransportFilter;)Lorg/glassfish/grizzly/ssl/SSLBaseFilter$SSLTransportFilterWrapper;
flags: (0x0004) ACC_PROTECTED
Code:
stack=3, locals=2, args_size=2
start local 0 start local 1 0: aload 0
getfield org.glassfish.grizzly.ssl.SSLBaseFilter.optimizedTransportFilter:Lorg/glassfish/grizzly/ssl/SSLBaseFilter$SSLTransportFilterWrapper;
ifnull 2
1: aload 0
getfield org.glassfish.grizzly.ssl.SSLBaseFilter.optimizedTransportFilter:Lorg/glassfish/grizzly/ssl/SSLBaseFilter$SSLTransportFilterWrapper;
getfield org.glassfish.grizzly.ssl.SSLBaseFilter$SSLTransportFilterWrapper.wrappedFilter:Lorg/glassfish/grizzly/filterchain/TransportFilter;
aload 1
if_acmpeq 3
2: StackMap locals:
StackMap stack:
aload 0
aload 0
aload 1
invokevirtual org.glassfish.grizzly.ssl.SSLBaseFilter.createOptimizedTransportFilter:(Lorg/glassfish/grizzly/filterchain/TransportFilter;)Lorg/glassfish/grizzly/ssl/SSLBaseFilter$SSLTransportFilterWrapper;
putfield org.glassfish.grizzly.ssl.SSLBaseFilter.optimizedTransportFilter:Lorg/glassfish/grizzly/ssl/SSLBaseFilter$SSLTransportFilterWrapper;
3: StackMap locals:
StackMap stack:
aload 0
getfield org.glassfish.grizzly.ssl.SSLBaseFilter.optimizedTransportFilter:Lorg/glassfish/grizzly/ssl/SSLBaseFilter$SSLTransportFilterWrapper;
areturn
end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 4 0 this Lorg/glassfish/grizzly/ssl/SSLBaseFilter;
0 4 1 childFilter Lorg/glassfish/grizzly/filterchain/TransportFilter;
MethodParameters:
Name Flags
childFilter final
protected org.glassfish.grizzly.ssl.SSLBaseFilter$SSLTransportFilterWrapper createOptimizedTransportFilter(org.glassfish.grizzly.filterchain.TransportFilter);
descriptor: (Lorg/glassfish/grizzly/filterchain/TransportFilter;)Lorg/glassfish/grizzly/ssl/SSLBaseFilter$SSLTransportFilterWrapper;
flags: (0x0004) ACC_PROTECTED
Code:
stack=4, locals=2, args_size=2
start local 0 start local 1 0: new org.glassfish.grizzly.ssl.SSLBaseFilter$SSLTransportFilterWrapper
dup
aload 1
aload 0
invokespecial org.glassfish.grizzly.ssl.SSLBaseFilter$SSLTransportFilterWrapper.<init>:(Lorg/glassfish/grizzly/filterchain/TransportFilter;Lorg/glassfish/grizzly/ssl/SSLBaseFilter;)V
areturn
end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 1 0 this Lorg/glassfish/grizzly/ssl/SSLBaseFilter;
0 1 1 childFilter Lorg/glassfish/grizzly/filterchain/TransportFilter;
MethodParameters:
Name Flags
childFilter final
public void onRemoved(org.glassfish.grizzly.filterchain.FilterChain);
descriptor: (Lorg/glassfish/grizzly/filterchain/FilterChain;)V
flags: (0x0001) ACC_PUBLIC
Code:
stack=3, locals=4, args_size=2
start local 0 start local 1 0: aload 0
getfield org.glassfish.grizzly.ssl.SSLBaseFilter.optimizedTransportFilter:Lorg/glassfish/grizzly/ssl/SSLBaseFilter$SSLTransportFilterWrapper;
ifnull 6
1: aload 1
aload 0
getfield org.glassfish.grizzly.ssl.SSLBaseFilter.optimizedTransportFilter:Lorg/glassfish/grizzly/ssl/SSLBaseFilter$SSLTransportFilterWrapper;
invokeinterface org.glassfish.grizzly.filterchain.FilterChain.indexOf:(Ljava/lang/Object;)I
istore 2
start local 2 2: iload 2
iflt 6
3: aload 1
iload 2
invokeinterface org.glassfish.grizzly.filterchain.FilterChain.get:(I)Ljava/lang/Object;
checkcast org.glassfish.grizzly.ssl.SSLBaseFilter$SSLTransportFilterWrapper
4: astore 3
start local 3 5: aload 1
iload 2
aload 3
getfield org.glassfish.grizzly.ssl.SSLBaseFilter$SSLTransportFilterWrapper.wrappedFilter:Lorg/glassfish/grizzly/filterchain/TransportFilter;
invokeinterface org.glassfish.grizzly.filterchain.FilterChain.set:(ILjava/lang/Object;)Ljava/lang/Object;
pop
end local 3 end local 2 6: StackMap locals:
StackMap stack:
return
end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 7 0 this Lorg/glassfish/grizzly/ssl/SSLBaseFilter;
0 7 1 filterChain Lorg/glassfish/grizzly/filterchain/FilterChain;
2 6 2 sslTransportFilterIdx I
5 6 3 wrapper Lorg/glassfish/grizzly/ssl/SSLBaseFilter$SSLTransportFilterWrapper;
MethodParameters:
Name Flags
filterChain final
public void onAdded(org.glassfish.grizzly.filterchain.FilterChain);
descriptor: (Lorg/glassfish/grizzly/filterchain/FilterChain;)V
flags: (0x0001) ACC_PUBLIC
Code:
stack=5, locals=4, args_size=2
start local 0 start local 1 0: aload 1
ldc Lorg/glassfish/grizzly/ssl/SSLBaseFilter$SSLTransportFilterWrapper;
invokeinterface org.glassfish.grizzly.filterchain.FilterChain.indexOfType:(Ljava/lang/Class;)I
1: istore 2
start local 2 2: iload 2
iconst_m1
if_icmpne 11
3: aload 1
ldc Lorg/glassfish/grizzly/filterchain/TransportFilter;
invokeinterface org.glassfish.grizzly.filterchain.FilterChain.indexOfType:(Ljava/lang/Class;)I
4: istore 3
start local 3 5: iload 3
iflt 11
6: aload 1
iload 3
7: aload 0
8: aload 1
iload 3
invokeinterface org.glassfish.grizzly.filterchain.FilterChain.get:(I)Ljava/lang/Object;
checkcast org.glassfish.grizzly.filterchain.TransportFilter
9: invokevirtual org.glassfish.grizzly.ssl.SSLBaseFilter.getOptimizedTransportFilter:(Lorg/glassfish/grizzly/filterchain/TransportFilter;)Lorg/glassfish/grizzly/ssl/SSLBaseFilter$SSLTransportFilterWrapper;
10: invokeinterface org.glassfish.grizzly.filterchain.FilterChain.set:(ILjava/lang/Object;)Ljava/lang/Object;
pop
end local 3 11: StackMap locals: int
StackMap stack:
return
end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 12 0 this Lorg/glassfish/grizzly/ssl/SSLBaseFilter;
0 12 1 filterChain Lorg/glassfish/grizzly/filterchain/FilterChain;
2 12 2 sslTransportFilterIdx I
5 11 3 transportFilterIdx I
MethodParameters:
Name Flags
filterChain
public org.glassfish.grizzly.filterchain.NextAction handleEvent(org.glassfish.grizzly.filterchain.FilterChainContext, org.glassfish.grizzly.filterchain.FilterChainEvent);
descriptor: (Lorg/glassfish/grizzly/filterchain/FilterChainContext;Lorg/glassfish/grizzly/filterchain/FilterChainEvent;)Lorg/glassfish/grizzly/filterchain/NextAction;
flags: (0x0001) ACC_PUBLIC
Code:
stack=5, locals=6, args_size=3
start local 0 start local 1 start local 2 0: aload 2
invokeinterface org.glassfish.grizzly.filterchain.FilterChainEvent.type:()Ljava/lang/Object;
ldc "CERT_EVENT"
if_acmpne 16
1: aload 2
checkcast org.glassfish.grizzly.ssl.SSLBaseFilter$CertificateEvent
astore 3
start local 3 2: aload 1
invokevirtual org.glassfish.grizzly.filterchain.FilterChainContext.getSuspendAction:()Lorg/glassfish/grizzly/filterchain/NextAction;
astore 5
3: aload 0
aload 0
aload 1
invokevirtual org.glassfish.grizzly.filterchain.FilterChainContext.getConnection:()Lorg/glassfish/grizzly/Connection;
invokevirtual org.glassfish.grizzly.ssl.SSLBaseFilter.obtainSslConnectionContext:(Lorg/glassfish/grizzly/Connection;)Lorg/glassfish/grizzly/ssl/SSLConnectionContext;
4: aload 1
5: aload 3
getfield org.glassfish.grizzly.ssl.SSLBaseFilter$CertificateEvent.needClientAuth:Z
6: aload 3
getfield org.glassfish.grizzly.ssl.SSLBaseFilter$CertificateEvent.certsFuture:Lorg/glassfish/grizzly/impl/FutureImpl;
7: invokevirtual org.glassfish.grizzly.ssl.SSLBaseFilter.getPeerCertificateChain:(Lorg/glassfish/grizzly/ssl/SSLConnectionContext;Lorg/glassfish/grizzly/filterchain/FilterChainContext;ZLorg/glassfish/grizzly/impl/FutureImpl;)V
8: aload 5
areturn
9: StackMap locals: org.glassfish.grizzly.ssl.SSLBaseFilter org.glassfish.grizzly.filterchain.FilterChainContext org.glassfish.grizzly.filterchain.FilterChainEvent org.glassfish.grizzly.ssl.SSLBaseFilter$CertificateEvent
StackMap stack: java.lang.Throwable
astore 4
10: aload 0
aload 0
aload 1
invokevirtual org.glassfish.grizzly.filterchain.FilterChainContext.getConnection:()Lorg/glassfish/grizzly/Connection;
invokevirtual org.glassfish.grizzly.ssl.SSLBaseFilter.obtainSslConnectionContext:(Lorg/glassfish/grizzly/Connection;)Lorg/glassfish/grizzly/ssl/SSLConnectionContext;
11: aload 1
12: aload 3
getfield org.glassfish.grizzly.ssl.SSLBaseFilter$CertificateEvent.needClientAuth:Z
13: aload 3
getfield org.glassfish.grizzly.ssl.SSLBaseFilter$CertificateEvent.certsFuture:Lorg/glassfish/grizzly/impl/FutureImpl;
14: invokevirtual org.glassfish.grizzly.ssl.SSLBaseFilter.getPeerCertificateChain:(Lorg/glassfish/grizzly/ssl/SSLConnectionContext;Lorg/glassfish/grizzly/filterchain/FilterChainContext;ZLorg/glassfish/grizzly/impl/FutureImpl;)V
15: aload 4
athrow
end local 3 16: StackMap locals:
StackMap stack:
aload 1
invokevirtual org.glassfish.grizzly.filterchain.FilterChainContext.getInvokeAction:()Lorg/glassfish/grizzly/filterchain/NextAction;
areturn
end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 17 0 this Lorg/glassfish/grizzly/ssl/SSLBaseFilter;
0 17 1 ctx Lorg/glassfish/grizzly/filterchain/FilterChainContext;
0 17 2 event Lorg/glassfish/grizzly/filterchain/FilterChainEvent;
2 16 3 ce Lorg/glassfish/grizzly/ssl/SSLBaseFilter$CertificateEvent;
Exception table:
from to target type
2 3 9 any
Exceptions:
throws java.io.IOException
MethodParameters:
Name Flags
ctx final
event final
public org.glassfish.grizzly.filterchain.NextAction handleRead(org.glassfish.grizzly.filterchain.FilterChainContext);
descriptor: (Lorg/glassfish/grizzly/filterchain/FilterChainContext;)Lorg/glassfish/grizzly/filterchain/NextAction;
flags: (0x0001) ACC_PUBLIC
Code:
stack=7, locals=11, args_size=2
start local 0 start local 1 0: aload 1
invokevirtual org.glassfish.grizzly.filterchain.FilterChainContext.getConnection:()Lorg/glassfish/grizzly/Connection;
astore 2
start local 2 1: aload 0
aload 2
invokevirtual org.glassfish.grizzly.ssl.SSLBaseFilter.obtainSslConnectionContext:(Lorg/glassfish/grizzly/Connection;)Lorg/glassfish/grizzly/ssl/SSLConnectionContext;
astore 3
start local 3 2: aload 3
invokevirtual org.glassfish.grizzly.ssl.SSLConnectionContext.getSslEngine:()Ljavax/net/ssl/SSLEngine;
astore 4
start local 4 3: aload 4
ifnull 5
aload 4
invokestatic org.glassfish.grizzly.ssl.SSLUtils.isHandshaking:(Ljavax/net/ssl/SSLEngine;)Z
ifne 5
4: aload 0
aload 1
aload 3
invokevirtual org.glassfish.grizzly.ssl.SSLBaseFilter.unwrapAll:(Lorg/glassfish/grizzly/filterchain/FilterChainContext;Lorg/glassfish/grizzly/ssl/SSLConnectionContext;)Lorg/glassfish/grizzly/filterchain/NextAction;
areturn
5: StackMap locals: org.glassfish.grizzly.Connection org.glassfish.grizzly.ssl.SSLConnectionContext javax.net.ssl.SSLEngine
StackMap stack:
aload 4
ifnonnull 10
6: aload 0
getfield org.glassfish.grizzly.ssl.SSLBaseFilter.serverSSLEngineConfigurator:Lorg/glassfish/grizzly/ssl/SSLEngineConfigurator;
invokevirtual org.glassfish.grizzly.ssl.SSLEngineConfigurator.createSSLEngine:()Ljavax/net/ssl/SSLEngine;
astore 4
7: aload 4
invokevirtual javax.net.ssl.SSLEngine.beginHandshake:()V
8: aload 3
aload 4
invokevirtual org.glassfish.grizzly.ssl.SSLConnectionContext.configure:(Ljavax/net/ssl/SSLEngine;)V
9: aload 0
aload 2
invokevirtual org.glassfish.grizzly.ssl.SSLBaseFilter.notifyHandshakeStart:(Lorg/glassfish/grizzly/Connection;)V
10: StackMap locals:
StackMap stack:
aload 0
getfield org.glassfish.grizzly.ssl.SSLBaseFilter.handshakeTimeoutMillis:J
lconst_0
lcmp
iflt 17
11: aload 0
aload 3
12: aload 1
13: aload 1
invokevirtual org.glassfish.grizzly.filterchain.FilterChainContext.getMessage:()Ljava/lang/Object;
checkcast org.glassfish.grizzly.Buffer
14: aload 0
getfield org.glassfish.grizzly.ssl.SSLBaseFilter.handshakeTimeoutMillis:J
15: invokevirtual org.glassfish.grizzly.ssl.SSLBaseFilter.doHandshakeSync:(Lorg/glassfish/grizzly/ssl/SSLConnectionContext;Lorg/glassfish/grizzly/filterchain/FilterChainContext;Lorg/glassfish/grizzly/Buffer;J)Lorg/glassfish/grizzly/Buffer;
16: goto 24
17: StackMap locals:
StackMap stack:
aload 3
18: aload 1
19: aload 0
aload 3
20: aload 1
21: aload 1
invokevirtual org.glassfish.grizzly.filterchain.FilterChainContext.getMessage:()Ljava/lang/Object;
checkcast org.glassfish.grizzly.Buffer
22: invokevirtual org.glassfish.grizzly.ssl.SSLBaseFilter.doHandshakeStep:(Lorg/glassfish/grizzly/ssl/SSLConnectionContext;Lorg/glassfish/grizzly/filterchain/FilterChainContext;Lorg/glassfish/grizzly/Buffer;)Lorg/glassfish/grizzly/Buffer;
23: invokestatic org.glassfish.grizzly.ssl.SSLUtils.makeInputRemainder:(Lorg/glassfish/grizzly/ssl/SSLConnectionContext;Lorg/glassfish/grizzly/filterchain/FilterChainContext;Lorg/glassfish/grizzly/Buffer;)Lorg/glassfish/grizzly/Buffer;
24: StackMap locals:
StackMap stack: org.glassfish.grizzly.Buffer
astore 5
start local 5 25: aload 5
ifnull 26
aload 5
invokeinterface org.glassfish.grizzly.Buffer.hasRemaining:()Z
ifeq 26
iconst_1
goto 27
StackMap locals: org.glassfish.grizzly.Buffer
StackMap stack:
26: iconst_0
StackMap locals:
StackMap stack: int
27: istore 6
start local 6 28: aload 4
invokestatic org.glassfish.grizzly.ssl.SSLUtils.isHandshaking:(Ljavax/net/ssl/SSLEngine;)Z
istore 7
start local 7 29: iload 7
ifne 51
30: aload 0
aload 2
aload 4
invokevirtual org.glassfish.grizzly.ssl.SSLBaseFilter.notifyHandshakeComplete:(Lorg/glassfish/grizzly/Connection;Ljavax/net/ssl/SSLEngine;)V
31: aload 3
invokevirtual org.glassfish.grizzly.ssl.SSLConnectionContext.getNewConnectionFilterChain:()Lorg/glassfish/grizzly/filterchain/FilterChain;
astore 8
start local 8 32: aload 3
aconst_null
invokevirtual org.glassfish.grizzly.ssl.SSLConnectionContext.setNewConnectionFilterChain:(Lorg/glassfish/grizzly/filterchain/FilterChain;)V
33: aload 8
ifnull 48
34: getstatic org.glassfish.grizzly.ssl.SSLBaseFilter.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 38
35: getstatic org.glassfish.grizzly.ssl.SSLBaseFilter.LOGGER:Ljava/util/logging/Logger;
getstatic java.util.logging.Level.FINE:Ljava/util/logging/Level;
ldc "Applying new FilterChain afterSSLHandshake. Connection={0} filterchain={1}"
36: iconst_2
anewarray java.lang.Object
dup
iconst_0
aload 2
aastore
dup
iconst_1
aload 8
aastore
37: invokevirtual java.util.logging.Logger.log:(Ljava/util/logging/Level;Ljava/lang/String;[Ljava/lang/Object;)V
38: StackMap locals: int int org.glassfish.grizzly.filterchain.FilterChain
StackMap stack:
aload 2
aload 8
invokeinterface org.glassfish.grizzly.Connection.setProcessor:(Lorg/glassfish/grizzly/Processor;)V
39: iload 6
ifeq 47
40: aload 1
invokevirtual org.glassfish.grizzly.filterchain.FilterChainContext.getSuspendAction:()Lorg/glassfish/grizzly/filterchain/NextAction;
astore 9
start local 9 41: aload 1
aload 5
invokevirtual org.glassfish.grizzly.filterchain.FilterChainContext.setMessage:(Ljava/lang/Object;)V
42: aload 1
invokevirtual org.glassfish.grizzly.filterchain.FilterChainContext.suspend:()Ljava/lang/Runnable;
pop
43: aload 1
aload 8
invokestatic org.glassfish.grizzly.ssl.SSLBaseFilter.obtainProtocolChainContext:(Lorg/glassfish/grizzly/filterchain/FilterChainContext;Lorg/glassfish/grizzly/filterchain/FilterChain;)Lorg/glassfish/grizzly/filterchain/FilterChainContext;
44: astore 10
start local 10 45: aload 10
invokevirtual org.glassfish.grizzly.filterchain.FilterChainContext.getInternalContext:()Lorg/glassfish/grizzly/Context;
invokestatic org.glassfish.grizzly.ProcessorExecutor.execute:(Lorg/glassfish/grizzly/Context;)V
46: aload 9
areturn
end local 10 end local 9 47: StackMap locals:
StackMap stack:
aload 1
invokevirtual org.glassfish.grizzly.filterchain.FilterChainContext.getStopAction:()Lorg/glassfish/grizzly/filterchain/NextAction;
areturn
48: StackMap locals:
StackMap stack:
iload 6
ifeq 51
49: aload 1
aload 5
invokevirtual org.glassfish.grizzly.filterchain.FilterChainContext.setMessage:(Ljava/lang/Object;)V
50: aload 0
aload 1
aload 3
invokevirtual org.glassfish.grizzly.ssl.SSLBaseFilter.unwrapAll:(Lorg/glassfish/grizzly/filterchain/FilterChainContext;Lorg/glassfish/grizzly/ssl/SSLConnectionContext;)Lorg/glassfish/grizzly/filterchain/NextAction;
areturn
end local 8 51: StackMap locals:
StackMap stack:
aload 1
aload 5
invokevirtual org.glassfish.grizzly.filterchain.FilterChainContext.getStopAction:(Ljava/lang/Object;)Lorg/glassfish/grizzly/filterchain/NextAction;
areturn
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 52 0 this Lorg/glassfish/grizzly/ssl/SSLBaseFilter;
0 52 1 ctx Lorg/glassfish/grizzly/filterchain/FilterChainContext;
1 52 2 connection Lorg/glassfish/grizzly/Connection;
2 52 3 sslCtx Lorg/glassfish/grizzly/ssl/SSLConnectionContext;
3 52 4 sslEngine Ljavax/net/ssl/SSLEngine;
25 52 5 buffer Lorg/glassfish/grizzly/Buffer;
28 52 6 hasRemaining Z
29 52 7 isHandshaking Z
32 51 8 connectionFilterChain Lorg/glassfish/grizzly/filterchain/FilterChain;
41 47 9 suspendAction Lorg/glassfish/grizzly/filterchain/NextAction;
45 47 10 newContext Lorg/glassfish/grizzly/filterchain/FilterChainContext;
Exceptions:
throws java.io.IOException
MethodParameters:
Name Flags
ctx final
public org.glassfish.grizzly.filterchain.NextAction handleWrite(org.glassfish.grizzly.filterchain.FilterChainContext);
descriptor: (Lorg/glassfish/grizzly/filterchain/FilterChainContext;)Lorg/glassfish/grizzly/filterchain/NextAction;
flags: (0x0001) ACC_PUBLIC
Code:
stack=7, locals=6, args_size=2
start local 0 start local 1 0: aload 1
invokevirtual org.glassfish.grizzly.filterchain.FilterChainContext.getMessage:()Ljava/lang/Object;
instanceof org.glassfish.grizzly.FileTransfer
ifeq 2
1: new java.lang.IllegalStateException
dup
ldc "TLS operations not supported with SendFile messages"
invokespecial java.lang.IllegalStateException.<init>:(Ljava/lang/String;)V
athrow
2: StackMap locals:
StackMap stack:
aload 1
invokevirtual org.glassfish.grizzly.filterchain.FilterChainContext.getConnection:()Lorg/glassfish/grizzly/Connection;
astore 2
start local 2 3: aload 2
dup
astore 3
monitorenter
4: aload 0
aload 1
aload 0
aload 2
invokevirtual org.glassfish.grizzly.ssl.SSLBaseFilter.obtainSslConnectionContext:(Lorg/glassfish/grizzly/Connection;)Lorg/glassfish/grizzly/ssl/SSLConnectionContext;
invokevirtual org.glassfish.grizzly.ssl.SSLBaseFilter.wrapAll:(Lorg/glassfish/grizzly/filterchain/FilterChainContext;Lorg/glassfish/grizzly/ssl/SSLConnectionContext;)Lorg/glassfish/grizzly/Buffer;
5: astore 4
start local 4 6: aload 1
invokevirtual org.glassfish.grizzly.filterchain.FilterChainContext.getTransportContext:()Lorg/glassfish/grizzly/filterchain/FilterChainContext$TransportContext;
7: astore 5
start local 5 8: aload 1
aconst_null
aload 4
9: aload 5
invokevirtual org.glassfish.grizzly.filterchain.FilterChainContext$TransportContext.getCompletionHandler:()Lorg/glassfish/grizzly/CompletionHandler;
10: aload 5
invokevirtual org.glassfish.grizzly.filterchain.FilterChainContext$TransportContext.getPushBackHandler:()Lorg/glassfish/grizzly/asyncqueue/PushBackHandler;
11: getstatic org.glassfish.grizzly.ssl.SSLBaseFilter.COPY_CLONER:Lorg/glassfish/grizzly/asyncqueue/MessageCloner;
12: aload 5
invokevirtual org.glassfish.grizzly.filterchain.FilterChainContext$TransportContext.isBlocking:()Z
13: invokevirtual org.glassfish.grizzly.filterchain.FilterChainContext.write:(Ljava/lang/Object;Ljava/lang/Object;Lorg/glassfish/grizzly/CompletionHandler;Lorg/glassfish/grizzly/asyncqueue/PushBackHandler;Lorg/glassfish/grizzly/asyncqueue/MessageCloner;Z)V
14: aload 1
invokevirtual org.glassfish.grizzly.filterchain.FilterChainContext.getStopAction:()Lorg/glassfish/grizzly/filterchain/NextAction;
aload 3
monitorexit
15: areturn
end local 5 end local 4 16: StackMap locals: org.glassfish.grizzly.ssl.SSLBaseFilter org.glassfish.grizzly.filterchain.FilterChainContext org.glassfish.grizzly.Connection org.glassfish.grizzly.Connection
StackMap stack: java.lang.Throwable
aload 3
monitorexit
17: athrow
end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 18 0 this Lorg/glassfish/grizzly/ssl/SSLBaseFilter;
0 18 1 ctx Lorg/glassfish/grizzly/filterchain/FilterChainContext;
3 18 2 connection Lorg/glassfish/grizzly/Connection;
6 16 4 output Lorg/glassfish/grizzly/Buffer;
8 16 5 transportContext Lorg/glassfish/grizzly/filterchain/FilterChainContext$TransportContext;
Exception table:
from to target type
4 15 16 any
16 17 16 any
Exceptions:
throws java.io.IOException
MethodParameters:
Name Flags
ctx final
protected org.glassfish.grizzly.filterchain.NextAction unwrapAll(org.glassfish.grizzly.filterchain.FilterChainContext, org.glassfish.grizzly.ssl.SSLConnectionContext);
descriptor: (Lorg/glassfish/grizzly/filterchain/FilterChainContext;Lorg/glassfish/grizzly/ssl/SSLConnectionContext;)Lorg/glassfish/grizzly/filterchain/NextAction;
flags: (0x0004) ACC_PROTECTED
Code:
stack=5, locals=8, args_size=3
start local 0 start local 1 start local 2 0: aload 1
invokevirtual org.glassfish.grizzly.filterchain.FilterChainContext.getMessage:()Ljava/lang/Object;
checkcast org.glassfish.grizzly.Buffer
astore 3
start local 3 1: aconst_null
astore 4
start local 4 2: iconst_0
istore 5
start local 5 3: StackMap locals: org.glassfish.grizzly.Buffer org.glassfish.grizzly.Buffer int
StackMap stack:
aload 3
invokestatic org.glassfish.grizzly.ssl.SSLUtils.getSSLPacketSize:(Lorg/glassfish/grizzly/Buffer;)I
istore 6
start local 6 4: iload 6
iconst_m1
if_icmpeq 28
aload 3
invokeinterface org.glassfish.grizzly.Buffer.remaining:()I
iload 6
if_icmpge 6
5: goto 28
6: StackMap locals: int
StackMap stack:
aload 2
iload 6
aload 3
aload 4
getstatic org.glassfish.grizzly.ssl.SSLBaseFilter.MM_ALLOCATOR:Lorg/glassfish/grizzly/ssl/SSLConnectionContext$Allocator;
invokevirtual org.glassfish.grizzly.ssl.SSLConnectionContext.unwrap:(ILorg/glassfish/grizzly/Buffer;Lorg/glassfish/grizzly/Buffer;Lorg/glassfish/grizzly/ssl/SSLConnectionContext$Allocator;)Lorg/glassfish/grizzly/ssl/SSLConnectionContext$SslResult;
7: astore 7
start local 7 8: aload 7
invokevirtual org.glassfish.grizzly.ssl.SSLConnectionContext$SslResult.getOutput:()Lorg/glassfish/grizzly/Buffer;
astore 4
9: aload 7
invokevirtual org.glassfish.grizzly.ssl.SSLConnectionContext$SslResult.isError:()Z
ifeq 12
10: aload 4
invokeinterface org.glassfish.grizzly.Buffer.dispose:()V
11: aload 7
invokevirtual org.glassfish.grizzly.ssl.SSLConnectionContext$SslResult.getError:()Ljavax/net/ssl/SSLException;
athrow
12: StackMap locals: org.glassfish.grizzly.ssl.SSLConnectionContext$SslResult
StackMap stack:
aload 2
invokevirtual org.glassfish.grizzly.ssl.SSLConnectionContext.getSslEngine:()Ljavax/net/ssl/SSLEngine;
invokestatic org.glassfish.grizzly.ssl.SSLUtils.isHandshaking:(Ljavax/net/ssl/SSLEngine;)Z
ifeq 20
13: aload 7
invokevirtual org.glassfish.grizzly.ssl.SSLConnectionContext$SslResult.getSslEngineResult:()Ljavax/net/ssl/SSLEngineResult;
invokevirtual javax.net.ssl.SSLEngineResult.getStatus:()Ljavax/net/ssl/SSLEngineResult$Status;
getstatic javax.net.ssl.SSLEngineResult$Status.CLOSED:Ljavax/net/ssl/SSLEngineResult$Status;
if_acmpeq 16
14: aload 0
aload 1
aload 2
invokevirtual org.glassfish.grizzly.ssl.SSLBaseFilter.rehandshake:(Lorg/glassfish/grizzly/filterchain/FilterChainContext;Lorg/glassfish/grizzly/ssl/SSLConnectionContext;)Lorg/glassfish/grizzly/Buffer;
astore 3
15: goto 18
16: StackMap locals:
StackMap stack:
aload 0
aload 1
aload 2
invokevirtual org.glassfish.grizzly.ssl.SSLBaseFilter.silentRehandshake:(Lorg/glassfish/grizzly/filterchain/FilterChainContext;Lorg/glassfish/grizzly/ssl/SSLConnectionContext;)Lorg/glassfish/grizzly/Buffer;
astore 3
17: iconst_1
istore 5
18: StackMap locals:
StackMap stack:
aload 3
ifnonnull 20
19: goto 28
20: StackMap locals:
StackMap stack:
invokestatic org.glassfish.grizzly.ssl.SSLBaseFilter.$SWITCH_TABLE$javax$net$ssl$SSLEngineResult$Status:()[I
aload 7
invokevirtual org.glassfish.grizzly.ssl.SSLConnectionContext$SslResult.getSslEngineResult:()Ljavax/net/ssl/SSLEngineResult;
invokevirtual javax.net.ssl.SSLEngineResult.getStatus:()Ljavax/net/ssl/SSLEngineResult$Status;
invokevirtual javax.net.ssl.SSLEngineResult$Status.ordinal:()I
iaload
tableswitch { // 3 - 4
3: 21
4: 23
default: 25
}
21: StackMap locals:
StackMap stack:
aload 3
invokeinterface org.glassfish.grizzly.Buffer.hasRemaining:()Z
ifeq 28
22: goto 3
23: StackMap locals:
StackMap stack:
iconst_1
istore 5
24: goto 28
25: StackMap locals:
StackMap stack:
new java.lang.IllegalStateException
dup
new java.lang.StringBuilder
dup
ldc "Unexpected status: "
invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
26: aload 7
invokevirtual org.glassfish.grizzly.ssl.SSLConnectionContext$SslResult.getSslEngineResult:()Ljavax/net/ssl/SSLEngineResult;
invokevirtual javax.net.ssl.SSLEngineResult.getStatus:()Ljavax/net/ssl/SSLEngineResult$Status;
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/Object;)Ljava/lang/StringBuilder;
invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
27: invokespecial java.lang.IllegalStateException.<init>:(Ljava/lang/String;)V
athrow
end local 7 end local 6 28: StackMap locals:
StackMap stack:
aload 4
ifnull 33
29: aload 4
invokeinterface org.glassfish.grizzly.Buffer.trim:()V
30: aload 4
invokeinterface org.glassfish.grizzly.Buffer.hasRemaining:()Z
ifne 31
iload 5
ifeq 33
31: StackMap locals:
StackMap stack:
aload 1
aload 4
invokevirtual org.glassfish.grizzly.filterchain.FilterChainContext.setMessage:(Ljava/lang/Object;)V
32: aload 1
aload 2
aload 1
aload 3
invokestatic org.glassfish.grizzly.ssl.SSLUtils.makeInputRemainder:(Lorg/glassfish/grizzly/ssl/SSLConnectionContext;Lorg/glassfish/grizzly/filterchain/FilterChainContext;Lorg/glassfish/grizzly/Buffer;)Lorg/glassfish/grizzly/Buffer;
invokevirtual org.glassfish.grizzly.filterchain.FilterChainContext.getInvokeAction:(Ljava/lang/Object;)Lorg/glassfish/grizzly/filterchain/NextAction;
areturn
33: StackMap locals:
StackMap stack:
aload 1
aload 2
aload 1
aload 3
invokestatic org.glassfish.grizzly.ssl.SSLUtils.makeInputRemainder:(Lorg/glassfish/grizzly/ssl/SSLConnectionContext;Lorg/glassfish/grizzly/filterchain/FilterChainContext;Lorg/glassfish/grizzly/Buffer;)Lorg/glassfish/grizzly/Buffer;
invokevirtual org.glassfish.grizzly.filterchain.FilterChainContext.getStopAction:(Ljava/lang/Object;)Lorg/glassfish/grizzly/filterchain/NextAction;
areturn
end local 5 end local 4 end local 3 end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 34 0 this Lorg/glassfish/grizzly/ssl/SSLBaseFilter;
0 34 1 ctx Lorg/glassfish/grizzly/filterchain/FilterChainContext;
0 34 2 sslCtx Lorg/glassfish/grizzly/ssl/SSLConnectionContext;
1 34 3 input Lorg/glassfish/grizzly/Buffer;
2 34 4 output Lorg/glassfish/grizzly/Buffer;
3 34 5 isClosed Z
4 28 6 len I
8 28 7 result Lorg/glassfish/grizzly/ssl/SSLConnectionContext$SslResult;
Exceptions:
throws javax.net.ssl.SSLException
MethodParameters:
Name Flags
ctx final
sslCtx final
protected org.glassfish.grizzly.Buffer wrapAll(org.glassfish.grizzly.filterchain.FilterChainContext, org.glassfish.grizzly.ssl.SSLConnectionContext);
descriptor: (Lorg/glassfish/grizzly/filterchain/FilterChainContext;Lorg/glassfish/grizzly/ssl/SSLConnectionContext;)Lorg/glassfish/grizzly/Buffer;
flags: (0x0004) ACC_PROTECTED
Code:
stack=3, locals=5, args_size=3
start local 0 start local 1 start local 2 0: aload 1
invokevirtual org.glassfish.grizzly.filterchain.FilterChainContext.getMessage:()Ljava/lang/Object;
checkcast org.glassfish.grizzly.Buffer
astore 3
start local 3 1: aload 2
aload 3
getstatic org.glassfish.grizzly.ssl.SSLBaseFilter.OUTPUT_BUFFER_ALLOCATOR:Lorg/glassfish/grizzly/ssl/SSLConnectionContext$Allocator;
invokevirtual org.glassfish.grizzly.ssl.SSLConnectionContext.wrapAll:(Lorg/glassfish/grizzly/Buffer;Lorg/glassfish/grizzly/ssl/SSLConnectionContext$Allocator;)Lorg/glassfish/grizzly/Buffer;
astore 4
start local 4 2: aload 3
invokeinterface org.glassfish.grizzly.Buffer.tryDispose:()Z
pop
3: aload 4
areturn
end local 4 end local 3 end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 4 0 this Lorg/glassfish/grizzly/ssl/SSLBaseFilter;
0 4 1 ctx Lorg/glassfish/grizzly/filterchain/FilterChainContext;
0 4 2 sslCtx Lorg/glassfish/grizzly/ssl/SSLConnectionContext;
1 4 3 input Lorg/glassfish/grizzly/Buffer;
2 4 4 output Lorg/glassfish/grizzly/Buffer;
Exceptions:
throws javax.net.ssl.SSLException
MethodParameters:
Name Flags
ctx final
sslCtx final
protected org.glassfish.grizzly.Buffer doHandshakeSync(org.glassfish.grizzly.ssl.SSLConnectionContext, org.glassfish.grizzly.filterchain.FilterChainContext, org.glassfish.grizzly.Buffer, long);
descriptor: (Lorg/glassfish/grizzly/ssl/SSLConnectionContext;Lorg/glassfish/grizzly/filterchain/FilterChainContext;Lorg/glassfish/grizzly/Buffer;J)Lorg/glassfish/grizzly/Buffer;
flags: (0x0004) ACC_PROTECTED
Code:
stack=7, locals=14, args_size=5
start local 0 start local 1 start local 2 start local 3 start local 4 0: aload 2
invokevirtual org.glassfish.grizzly.filterchain.FilterChainContext.getConnection:()Lorg/glassfish/grizzly/Connection;
astore 6
start local 6 1: aload 1
invokevirtual org.glassfish.grizzly.ssl.SSLConnectionContext.getSslEngine:()Ljavax/net/ssl/SSLEngine;
astore 7
start local 7 2: aload 1
invokevirtual org.glassfish.grizzly.ssl.SSLConnectionContext.getAppBufferSize:()I
invokestatic org.glassfish.grizzly.ssl.SSLUtils.allocateOutputBuffer:(I)Lorg/glassfish/grizzly/Buffer;
astore 8
start local 8 3: aload 6
getstatic java.util.concurrent.TimeUnit.MILLISECONDS:Ljava/util/concurrent/TimeUnit;
invokeinterface org.glassfish.grizzly.Connection.getReadTimeout:(Ljava/util/concurrent/TimeUnit;)J
lstore 9
start local 9 4: aload 6
lload 4
getstatic java.util.concurrent.TimeUnit.MILLISECONDS:Ljava/util/concurrent/TimeUnit;
invokeinterface org.glassfish.grizzly.Connection.setReadTimeout:(JLjava/util/concurrent/TimeUnit;)V
5: aload 1
aload 2
6: aload 0
aload 1
aload 2
aload 3
aload 8
invokevirtual org.glassfish.grizzly.ssl.SSLBaseFilter.doHandshakeStep:(Lorg/glassfish/grizzly/ssl/SSLConnectionContext;Lorg/glassfish/grizzly/filterchain/FilterChainContext;Lorg/glassfish/grizzly/Buffer;Lorg/glassfish/grizzly/Buffer;)Lorg/glassfish/grizzly/Buffer;
7: invokestatic org.glassfish.grizzly.ssl.SSLUtils.makeInputRemainder:(Lorg/glassfish/grizzly/ssl/SSLConnectionContext;Lorg/glassfish/grizzly/filterchain/FilterChainContext;Lorg/glassfish/grizzly/Buffer;)Lorg/glassfish/grizzly/Buffer;
astore 3
8: goto 17
9: StackMap locals: org.glassfish.grizzly.ssl.SSLBaseFilter org.glassfish.grizzly.ssl.SSLConnectionContext org.glassfish.grizzly.filterchain.FilterChainContext org.glassfish.grizzly.Buffer long org.glassfish.grizzly.Connection javax.net.ssl.SSLEngine org.glassfish.grizzly.Buffer long
StackMap stack:
aload 2
invokevirtual org.glassfish.grizzly.filterchain.FilterChainContext.read:()Lorg/glassfish/grizzly/ReadResult;
astore 11
start local 11 10: aload 11
invokevirtual org.glassfish.grizzly.ReadResult.getMessage:()Ljava/lang/Object;
checkcast org.glassfish.grizzly.Buffer
astore 12
start local 12 11: aload 2
invokevirtual org.glassfish.grizzly.filterchain.FilterChainContext.getMemoryManager:()Lorg/glassfish/grizzly/memory/MemoryManager;
12: aload 3
aload 12
13: invokestatic org.glassfish.grizzly.memory.Buffers.appendBuffers:(Lorg/glassfish/grizzly/memory/MemoryManager;Lorg/glassfish/grizzly/Buffer;Lorg/glassfish/grizzly/Buffer;)Lorg/glassfish/grizzly/Buffer;
astore 3
14: aload 1
aload 2
15: aload 0
aload 1
aload 2
aload 3
aload 8
invokevirtual org.glassfish.grizzly.ssl.SSLBaseFilter.doHandshakeStep:(Lorg/glassfish/grizzly/ssl/SSLConnectionContext;Lorg/glassfish/grizzly/filterchain/FilterChainContext;Lorg/glassfish/grizzly/Buffer;Lorg/glassfish/grizzly/Buffer;)Lorg/glassfish/grizzly/Buffer;
16: invokestatic org.glassfish.grizzly.ssl.SSLUtils.makeInputRemainder:(Lorg/glassfish/grizzly/ssl/SSLConnectionContext;Lorg/glassfish/grizzly/filterchain/FilterChainContext;Lorg/glassfish/grizzly/Buffer;)Lorg/glassfish/grizzly/Buffer;
astore 3
end local 12 end local 11 17: StackMap locals:
StackMap stack:
aload 7
invokestatic org.glassfish.grizzly.ssl.SSLUtils.isHandshaking:(Ljavax/net/ssl/SSLEngine;)Z
ifne 9
18: goto 23
StackMap locals:
StackMap stack: java.lang.Throwable
19: astore 13
20: aload 8
invokeinterface org.glassfish.grizzly.Buffer.dispose:()V
21: aload 6
lload 9
getstatic java.util.concurrent.TimeUnit.MILLISECONDS:Ljava/util/concurrent/TimeUnit;
invokeinterface org.glassfish.grizzly.Connection.setReadTimeout:(JLjava/util/concurrent/TimeUnit;)V
22: aload 13
athrow
23: StackMap locals:
StackMap stack:
aload 8
invokeinterface org.glassfish.grizzly.Buffer.dispose:()V
24: aload 6
lload 9
getstatic java.util.concurrent.TimeUnit.MILLISECONDS:Ljava/util/concurrent/TimeUnit;
invokeinterface org.glassfish.grizzly.Connection.setReadTimeout:(JLjava/util/concurrent/TimeUnit;)V
25: aload 3
areturn
end local 9 end local 8 end local 7 end local 6 end local 4 end local 3 end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 26 0 this Lorg/glassfish/grizzly/ssl/SSLBaseFilter;
0 26 1 sslCtx Lorg/glassfish/grizzly/ssl/SSLConnectionContext;
0 26 2 ctx Lorg/glassfish/grizzly/filterchain/FilterChainContext;
0 26 3 inputBuffer Lorg/glassfish/grizzly/Buffer;
0 26 4 timeoutMillis J
1 26 6 connection Lorg/glassfish/grizzly/Connection;
2 26 7 sslEngine Ljavax/net/ssl/SSLEngine;
3 26 8 tmpAppBuffer Lorg/glassfish/grizzly/Buffer;
4 26 9 oldReadTimeout J
10 17 11 rr Lorg/glassfish/grizzly/ReadResult;
11 17 12 newBuf Lorg/glassfish/grizzly/Buffer;
Exception table:
from to target type
4 19 19 any
Exceptions:
throws java.io.IOException
MethodParameters:
Name Flags
sslCtx final
ctx final
inputBuffer
timeoutMillis final
protected org.glassfish.grizzly.Buffer doHandshakeStep(org.glassfish.grizzly.ssl.SSLConnectionContext, org.glassfish.grizzly.filterchain.FilterChainContext, org.glassfish.grizzly.Buffer);
descriptor: (Lorg/glassfish/grizzly/ssl/SSLConnectionContext;Lorg/glassfish/grizzly/filterchain/FilterChainContext;Lorg/glassfish/grizzly/Buffer;)Lorg/glassfish/grizzly/Buffer;
flags: (0x0004) ACC_PROTECTED
Code:
stack=5, locals=4, args_size=4
start local 0 start local 1 start local 2 start local 3 0: aload 0
aload 1
aload 2
aload 3
aconst_null
invokevirtual org.glassfish.grizzly.ssl.SSLBaseFilter.doHandshakeStep:(Lorg/glassfish/grizzly/ssl/SSLConnectionContext;Lorg/glassfish/grizzly/filterchain/FilterChainContext;Lorg/glassfish/grizzly/Buffer;Lorg/glassfish/grizzly/Buffer;)Lorg/glassfish/grizzly/Buffer;
areturn
end local 3 end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 1 0 this Lorg/glassfish/grizzly/ssl/SSLBaseFilter;
0 1 1 sslCtx Lorg/glassfish/grizzly/ssl/SSLConnectionContext;
0 1 2 ctx Lorg/glassfish/grizzly/filterchain/FilterChainContext;
0 1 3 inputBuffer Lorg/glassfish/grizzly/Buffer;
Exceptions:
throws java.io.IOException
MethodParameters:
Name Flags
sslCtx final
ctx final
inputBuffer
protected org.glassfish.grizzly.Buffer doHandshakeStep(org.glassfish.grizzly.ssl.SSLConnectionContext, org.glassfish.grizzly.filterchain.FilterChainContext, org.glassfish.grizzly.Buffer, org.glassfish.grizzly.Buffer);
descriptor: (Lorg/glassfish/grizzly/ssl/SSLConnectionContext;Lorg/glassfish/grizzly/filterchain/FilterChainContext;Lorg/glassfish/grizzly/Buffer;Lorg/glassfish/grizzly/Buffer;)Lorg/glassfish/grizzly/Buffer;
flags: (0x0004) ACC_PROTECTED
Code:
stack=7, locals=16, args_size=5
start local 0 start local 1 start local 2 start local 3 start local 4 0: aload 1
invokevirtual org.glassfish.grizzly.ssl.SSLConnectionContext.getSslEngine:()Ljavax/net/ssl/SSLEngine;
astore 5
start local 5 1: aload 2
invokevirtual org.glassfish.grizzly.filterchain.FilterChainContext.getConnection:()Lorg/glassfish/grizzly/Connection;
astore 6
start local 6 2: getstatic org.glassfish.grizzly.ssl.SSLBaseFilter.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
istore 7
start local 7 3: aconst_null
astore 8
start local 8 4: aconst_null
astore 9
start local 9 5: aload 4
astore 10
start local 10 6: aload 5
invokevirtual javax.net.ssl.SSLEngine.getHandshakeStatus:()Ljavax/net/ssl/SSLEngineResult$HandshakeStatus;
astore 11
start local 11 7: StackMap locals: org.glassfish.grizzly.ssl.SSLBaseFilter org.glassfish.grizzly.ssl.SSLConnectionContext org.glassfish.grizzly.filterchain.FilterChainContext org.glassfish.grizzly.Buffer org.glassfish.grizzly.Buffer javax.net.ssl.SSLEngine org.glassfish.grizzly.Connection int org.glassfish.grizzly.Buffer org.glassfish.grizzly.Buffer org.glassfish.grizzly.Buffer javax.net.ssl.SSLEngineResult$HandshakeStatus
StackMap stack:
iload 7
ifeq 11
8: getstatic org.glassfish.grizzly.ssl.SSLBaseFilter.LOGGER:Ljava/util/logging/Logger;
getstatic java.util.logging.Level.FINEST:Ljava/util/logging/Level;
ldc "Loop Engine: {0} handshakeStatus={1}"
9: iconst_2
anewarray java.lang.Object
dup
iconst_0
aload 5
aastore
dup
iconst_1
aload 5
invokevirtual javax.net.ssl.SSLEngine.getHandshakeStatus:()Ljavax/net/ssl/SSLEngineResult$HandshakeStatus;
aastore
10: invokevirtual java.util.logging.Logger.log:(Ljava/util/logging/Level;Ljava/lang/String;[Ljava/lang/Object;)V
11: StackMap locals:
StackMap stack:
invokestatic org.glassfish.grizzly.ssl.SSLBaseFilter.$SWITCH_TABLE$javax$net$ssl$SSLEngineResult$HandshakeStatus:()[I
aload 11
invokevirtual javax.net.ssl.SSLEngineResult$HandshakeStatus.ordinal:()I
iaload
tableswitch { // 1 - 5
1: 44
2: 44
3: 39
4: 33
5: 12
default: 45
}
12: StackMap locals:
StackMap stack:
iload 7
ifeq 14
13: getstatic org.glassfish.grizzly.ssl.SSLBaseFilter.LOGGER:Ljava/util/logging/Logger;
getstatic java.util.logging.Level.FINEST:Ljava/util/logging/Level;
ldc "NEED_UNWRAP Engine: {0}"
aload 5
invokevirtual java.util.logging.Logger.log:(Ljava/util/logging/Level;Ljava/lang/String;Ljava/lang/Object;)V
14: StackMap locals:
StackMap stack:
aload 3
ifnull 64
aload 3
invokeinterface org.glassfish.grizzly.Buffer.hasRemaining:()Z
ifne 16
15: goto 64
16: StackMap locals:
StackMap stack:
aload 3
invokestatic org.glassfish.grizzly.ssl.SSLUtils.getSSLPacketSize:(Lorg/glassfish/grizzly/Buffer;)I
istore 12
start local 12 17: iload 12
iconst_m1
if_icmpeq 64
18: aload 3
invokeinterface org.glassfish.grizzly.Buffer.remaining:()I
iload 12
if_icmpge 20
19: goto 64
20: StackMap locals: int
StackMap stack:
aload 10
ifnonnull 22
21: aload 1
invokevirtual org.glassfish.grizzly.ssl.SSLConnectionContext.getAppBufferSize:()I
invokestatic org.glassfish.grizzly.ssl.SSLUtils.allocateOutputBuffer:(I)Lorg/glassfish/grizzly/Buffer;
astore 10
22: StackMap locals:
StackMap stack:
iload 12
aload 1
aload 3
aload 10
invokestatic org.glassfish.grizzly.ssl.SSLUtils.handshakeUnwrap:(ILorg/glassfish/grizzly/ssl/SSLConnectionContext;Lorg/glassfish/grizzly/Buffer;Lorg/glassfish/grizzly/Buffer;)Ljavax/net/ssl/SSLEngineResult;
23: astore 13
start local 13 24: aload 3
invokeinterface org.glassfish.grizzly.Buffer.hasRemaining:()Z
ifne 27
25: aload 3
astore 8
26: aconst_null
astore 3
27: StackMap locals: javax.net.ssl.SSLEngineResult
StackMap stack:
aload 13
invokevirtual javax.net.ssl.SSLEngineResult.getStatus:()Ljavax/net/ssl/SSLEngineResult$Status;
astore 14
start local 14 28: aload 14
getstatic javax.net.ssl.SSLEngineResult$Status.BUFFER_UNDERFLOW:Ljavax/net/ssl/SSLEngineResult$Status;
if_acmpeq 30
29: aload 14
getstatic javax.net.ssl.SSLEngineResult$Status.BUFFER_OVERFLOW:Ljavax/net/ssl/SSLEngineResult$Status;
if_acmpne 31
30: StackMap locals: javax.net.ssl.SSLEngineResult$Status
StackMap stack:
new javax.net.ssl.SSLException
dup
new java.lang.StringBuilder
dup
ldc "SSL unwrap error: "
invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
aload 14
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/Object;)Ljava/lang/StringBuilder;
invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
invokespecial javax.net.ssl.SSLException.<init>:(Ljava/lang/String;)V
athrow
31: StackMap locals:
StackMap stack:
aload 5
invokevirtual javax.net.ssl.SSLEngine.getHandshakeStatus:()Ljavax/net/ssl/SSLEngineResult$HandshakeStatus;
astore 11
32: goto 45
end local 14 end local 13 end local 12 33: StackMap locals:
StackMap stack:
iload 7
ifeq 35
34: getstatic org.glassfish.grizzly.ssl.SSLBaseFilter.LOGGER:Ljava/util/logging/Logger;
getstatic java.util.logging.Level.FINEST:Ljava/util/logging/Level;
ldc "NEED_WRAP Engine: {0}"
aload 5
invokevirtual java.util.logging.Logger.log:(Ljava/util/logging/Level;Ljava/lang/String;Ljava/lang/Object;)V
35: StackMap locals:
StackMap stack:
aload 6
aload 1
aload 9
36: invokestatic org.glassfish.grizzly.ssl.SSLUtils.handshakeWrap:(Lorg/glassfish/grizzly/Connection;Lorg/glassfish/grizzly/ssl/SSLConnectionContext;Lorg/glassfish/grizzly/Buffer;)Lorg/glassfish/grizzly/Buffer;
astore 9
37: aload 5
invokevirtual javax.net.ssl.SSLEngine.getHandshakeStatus:()Ljavax/net/ssl/SSLEngineResult$HandshakeStatus;
astore 11
38: goto 45
39: StackMap locals:
StackMap stack:
iload 7
ifeq 41
40: getstatic org.glassfish.grizzly.ssl.SSLBaseFilter.LOGGER:Ljava/util/logging/Logger;
getstatic java.util.logging.Level.FINEST:Ljava/util/logging/Level;
ldc "NEED_TASK Engine: {0}"
aload 5
invokevirtual java.util.logging.Logger.log:(Ljava/util/logging/Level;Ljava/lang/String;Ljava/lang/Object;)V
41: StackMap locals:
StackMap stack:
aload 5
invokestatic org.glassfish.grizzly.ssl.SSLUtils.executeDelegatedTask:(Ljavax/net/ssl/SSLEngine;)V
42: aload 5
invokevirtual javax.net.ssl.SSLEngine.getHandshakeStatus:()Ljavax/net/ssl/SSLEngineResult$HandshakeStatus;
astore 11
43: goto 45
44: StackMap locals:
StackMap stack:
goto 64
45: StackMap locals:
StackMap stack:
aload 11
getstatic javax.net.ssl.SSLEngineResult$HandshakeStatus.FINISHED:Ljavax/net/ssl/SSLEngineResult$HandshakeStatus;
if_acmpne 7
end local 11 46: goto 64
StackMap locals: org.glassfish.grizzly.ssl.SSLBaseFilter org.glassfish.grizzly.ssl.SSLConnectionContext org.glassfish.grizzly.filterchain.FilterChainContext org.glassfish.grizzly.Buffer org.glassfish.grizzly.Buffer javax.net.ssl.SSLEngine org.glassfish.grizzly.Connection int org.glassfish.grizzly.Buffer org.glassfish.grizzly.Buffer org.glassfish.grizzly.Buffer
StackMap stack: java.io.IOException
47: astore 11
start local 11 48: aload 0
aload 6
aload 11
invokevirtual org.glassfish.grizzly.ssl.SSLBaseFilter.notifyHandshakeFailed:(Lorg/glassfish/grizzly/Connection;Ljava/lang/Throwable;)V
49: aload 11
athrow
end local 11 50: StackMap locals:
StackMap stack: java.lang.Throwable
astore 15
51: aload 4
ifnonnull 53
aload 10
ifnull 53
52: aload 10
invokeinterface org.glassfish.grizzly.Buffer.dispose:()V
53: StackMap locals: org.glassfish.grizzly.ssl.SSLBaseFilter org.glassfish.grizzly.ssl.SSLConnectionContext org.glassfish.grizzly.filterchain.FilterChainContext org.glassfish.grizzly.Buffer org.glassfish.grizzly.Buffer javax.net.ssl.SSLEngine org.glassfish.grizzly.Connection int org.glassfish.grizzly.Buffer org.glassfish.grizzly.Buffer org.glassfish.grizzly.Buffer top top top top java.lang.Throwable
StackMap stack:
aload 8
ifnull 57
54: aload 8
invokeinterface org.glassfish.grizzly.Buffer.tryDispose:()Z
pop
55: aconst_null
astore 3
56: goto 59
StackMap locals:
StackMap stack:
57: aload 3
ifnull 59
58: aload 3
invokeinterface org.glassfish.grizzly.Buffer.shrink:()V
59: StackMap locals:
StackMap stack:
aload 9
ifnull 63
60: aload 3
ifnull 62
61: aload 1
aload 2
aload 3
invokestatic org.glassfish.grizzly.ssl.SSLUtils.makeInputRemainder:(Lorg/glassfish/grizzly/ssl/SSLConnectionContext;Lorg/glassfish/grizzly/filterchain/FilterChainContext;Lorg/glassfish/grizzly/Buffer;)Lorg/glassfish/grizzly/Buffer;
astore 3
62: StackMap locals:
StackMap stack:
aload 2
aload 9
invokevirtual org.glassfish.grizzly.filterchain.FilterChainContext.write:(Ljava/lang/Object;)V
63: StackMap locals:
StackMap stack:
aload 15
athrow
64: StackMap locals: org.glassfish.grizzly.ssl.SSLBaseFilter org.glassfish.grizzly.ssl.SSLConnectionContext org.glassfish.grizzly.filterchain.FilterChainContext org.glassfish.grizzly.Buffer org.glassfish.grizzly.Buffer javax.net.ssl.SSLEngine org.glassfish.grizzly.Connection int org.glassfish.grizzly.Buffer org.glassfish.grizzly.Buffer org.glassfish.grizzly.Buffer
StackMap stack:
aload 4
ifnonnull 66
aload 10
ifnull 66
65: aload 10
invokeinterface org.glassfish.grizzly.Buffer.dispose:()V
66: StackMap locals:
StackMap stack:
aload 8
ifnull 70
67: aload 8
invokeinterface org.glassfish.grizzly.Buffer.tryDispose:()Z
pop
68: aconst_null
astore 3
69: goto 72
StackMap locals:
StackMap stack:
70: aload 3
ifnull 72
71: aload 3
invokeinterface org.glassfish.grizzly.Buffer.shrink:()V
72: StackMap locals:
StackMap stack:
aload 9
ifnull 76
73: aload 3
ifnull 75
74: aload 1
aload 2
aload 3
invokestatic org.glassfish.grizzly.ssl.SSLUtils.makeInputRemainder:(Lorg/glassfish/grizzly/ssl/SSLConnectionContext;Lorg/glassfish/grizzly/filterchain/FilterChainContext;Lorg/glassfish/grizzly/Buffer;)Lorg/glassfish/grizzly/Buffer;
astore 3
75: StackMap locals:
StackMap stack:
aload 2
aload 9
invokevirtual org.glassfish.grizzly.filterchain.FilterChainContext.write:(Ljava/lang/Object;)V
76: StackMap locals:
StackMap stack:
aload 3
areturn
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 77 0 this Lorg/glassfish/grizzly/ssl/SSLBaseFilter;
0 77 1 sslCtx Lorg/glassfish/grizzly/ssl/SSLConnectionContext;
0 77 2 ctx Lorg/glassfish/grizzly/filterchain/FilterChainContext;
0 77 3 inputBuffer Lorg/glassfish/grizzly/Buffer;
0 77 4 tmpAppBuffer0 Lorg/glassfish/grizzly/Buffer;
1 77 5 sslEngine Ljavax/net/ssl/SSLEngine;
2 77 6 connection Lorg/glassfish/grizzly/Connection;
3 77 7 isLoggingFinest Z
4 77 8 tmpInputToDispose Lorg/glassfish/grizzly/Buffer;
5 77 9 tmpNetBuffer Lorg/glassfish/grizzly/Buffer;
6 77 10 tmpAppBuffer Lorg/glassfish/grizzly/Buffer;
7 46 11 handshakeStatus Ljavax/net/ssl/SSLEngineResult$HandshakeStatus;
17 33 12 expectedLength I
24 33 13 sslEngineResult Ljavax/net/ssl/SSLEngineResult;
28 33 14 status Ljavax/net/ssl/SSLEngineResult$Status;
48 50 11 ioe Ljava/io/IOException;
Exception table:
from to target type
6 46 47 Class java.io.IOException
6 50 50 any
Exceptions:
throws java.io.IOException
MethodParameters:
Name Flags
sslCtx final
ctx final
inputBuffer
tmpAppBuffer0 final
protected void renegotiate(org.glassfish.grizzly.ssl.SSLConnectionContext, org.glassfish.grizzly.filterchain.FilterChainContext);
descriptor: (Lorg/glassfish/grizzly/ssl/SSLConnectionContext;Lorg/glassfish/grizzly/filterchain/FilterChainContext;)V
flags: (0x0004) ACC_PROTECTED
Code:
stack=3, locals=6, args_size=3
start local 0 start local 1 start local 2 0: aload 0
getfield org.glassfish.grizzly.ssl.SSLBaseFilter.renegotiationDisabled:Z
ifeq 2
1: return
2: StackMap locals:
StackMap stack:
aload 1
invokevirtual org.glassfish.grizzly.ssl.SSLConnectionContext.getSslEngine:()Ljavax/net/ssl/SSLEngine;
astore 3
start local 3 3: aload 3
invokevirtual javax.net.ssl.SSLEngine.getWantClientAuth:()Z
ifeq 5
aload 0
getfield org.glassfish.grizzly.ssl.SSLBaseFilter.renegotiateOnClientAuthWant:Z
ifne 5
4: return
5: StackMap locals: javax.net.ssl.SSLEngine
StackMap stack:
aload 3
invokevirtual javax.net.ssl.SSLEngine.getWantClientAuth:()Z
ifne 8
6: aload 3
invokevirtual javax.net.ssl.SSLEngine.getNeedClientAuth:()Z
ifne 8
7: iconst_0
goto 9
StackMap locals:
StackMap stack:
8: iconst_1
StackMap locals:
StackMap stack: int
9: istore 4
start local 4 10: iload 4
ifne 12
11: aload 3
iconst_1
invokevirtual javax.net.ssl.SSLEngine.setNeedClientAuth:(Z)V
12: StackMap locals: int
StackMap stack:
aload 3
invokevirtual javax.net.ssl.SSLEngine.getSession:()Ljavax/net/ssl/SSLSession;
invokeinterface javax.net.ssl.SSLSession.invalidate:()V
13: aload 3
invokevirtual javax.net.ssl.SSLEngine.beginHandshake:()V
14: goto 20
StackMap locals:
StackMap stack: javax.net.ssl.SSLHandshakeException
15: astore 5
start local 5 16: aload 5
invokevirtual javax.net.ssl.SSLHandshakeException.toString:()Ljava/lang/String;
invokevirtual java.lang.String.toLowerCase:()Ljava/lang/String;
ldc "insecure renegotiation"
invokevirtual java.lang.String.contains:(Ljava/lang/CharSequence;)Z
ifeq 19
17: getstatic org.glassfish.grizzly.ssl.SSLBaseFilter.LOGGER:Ljava/util/logging/Logger;
getstatic java.util.logging.Level.SEVERE:Ljava/util/logging/Level;
invokevirtual java.util.logging.Logger.isLoggable:(Ljava/util/logging/Level;)Z
ifeq 19
18: getstatic org.glassfish.grizzly.ssl.SSLBaseFilter.LOGGER:Ljava/util/logging/Logger;
ldc "Secure SSL/TLS renegotiation is not supported by the peer. This is most likely due to the peer using an older SSL/TLS implementation that does not implement RFC 5746."
invokevirtual java.util.logging.Logger.severe:(Ljava/lang/String;)V
19: StackMap locals: javax.net.ssl.SSLHandshakeException
StackMap stack:
aload 5
athrow
end local 5 20: StackMap locals:
StackMap stack:
aload 0
aload 2
aload 1
invokevirtual org.glassfish.grizzly.ssl.SSLBaseFilter.rehandshake:(Lorg/glassfish/grizzly/filterchain/FilterChainContext;Lorg/glassfish/grizzly/ssl/SSLConnectionContext;)Lorg/glassfish/grizzly/Buffer;
pop
21: goto 26
StackMap locals:
StackMap stack: java.lang.Throwable
22: astore 5
23: iload 4
ifne 25
24: aload 3
iconst_0
invokevirtual javax.net.ssl.SSLEngine.setNeedClientAuth:(Z)V
25: StackMap locals: java.lang.Throwable
StackMap stack:
aload 5
athrow
26: StackMap locals:
StackMap stack:
iload 4
ifne 28
27: aload 3
iconst_0
invokevirtual javax.net.ssl.SSLEngine.setNeedClientAuth:(Z)V
28: StackMap locals:
StackMap stack:
return
end local 4 end local 3 end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 29 0 this Lorg/glassfish/grizzly/ssl/SSLBaseFilter;
0 29 1 sslCtx Lorg/glassfish/grizzly/ssl/SSLConnectionContext;
0 29 2 context Lorg/glassfish/grizzly/filterchain/FilterChainContext;
3 29 3 sslEngine Ljavax/net/ssl/SSLEngine;
10 29 4 authConfigured Z
16 20 5 e Ljavax/net/ssl/SSLHandshakeException;
Exception table:
from to target type
13 14 15 Class javax.net.ssl.SSLHandshakeException
20 22 22 any
Exceptions:
throws java.io.IOException
MethodParameters:
Name Flags
sslCtx final
context final
private org.glassfish.grizzly.Buffer silentRehandshake(org.glassfish.grizzly.filterchain.FilterChainContext, org.glassfish.grizzly.ssl.SSLConnectionContext);
descriptor: (Lorg/glassfish/grizzly/filterchain/FilterChainContext;Lorg/glassfish/grizzly/ssl/SSLConnectionContext;)Lorg/glassfish/grizzly/Buffer;
flags: (0x0002) ACC_PRIVATE
Code:
stack=6, locals=4, args_size=3
start local 0 start local 1 start local 2 0: aload 0
1: aload 2
aload 1
aconst_null
aload 0
getfield org.glassfish.grizzly.ssl.SSLBaseFilter.handshakeTimeoutMillis:J
2: invokevirtual org.glassfish.grizzly.ssl.SSLBaseFilter.doHandshakeSync:(Lorg/glassfish/grizzly/ssl/SSLConnectionContext;Lorg/glassfish/grizzly/filterchain/FilterChainContext;Lorg/glassfish/grizzly/Buffer;J)Lorg/glassfish/grizzly/Buffer;
3: areturn
4: StackMap locals:
StackMap stack: java.lang.Throwable
astore 3
start local 3 5: getstatic org.glassfish.grizzly.ssl.SSLBaseFilter.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 7
6: getstatic org.glassfish.grizzly.ssl.SSLBaseFilter.LOGGER:Ljava/util/logging/Logger;
getstatic java.util.logging.Level.FINE:Ljava/util/logging/Level;
ldc "Error during graceful ssl connection close"
aload 3
invokevirtual java.util.logging.Logger.log:(Ljava/util/logging/Level;Ljava/lang/String;Ljava/lang/Throwable;)V
7: StackMap locals: java.lang.Throwable
StackMap stack:
aload 3
instanceof javax.net.ssl.SSLException
ifeq 9
8: aload 3
checkcast javax.net.ssl.SSLException
athrow
9: StackMap locals:
StackMap stack:
new javax.net.ssl.SSLException
dup
ldc "Error during re-handshaking"
aload 3
invokespecial javax.net.ssl.SSLException.<init>:(Ljava/lang/String;Ljava/lang/Throwable;)V
athrow
end local 3 end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 10 0 this Lorg/glassfish/grizzly/ssl/SSLBaseFilter;
0 10 1 context Lorg/glassfish/grizzly/filterchain/FilterChainContext;
0 10 2 sslCtx Lorg/glassfish/grizzly/ssl/SSLConnectionContext;
5 10 3 t Ljava/lang/Throwable;
Exception table:
from to target type
0 3 4 Class java.lang.Throwable
Exceptions:
throws javax.net.ssl.SSLException
MethodParameters:
Name Flags
context final
sslCtx final
private org.glassfish.grizzly.Buffer rehandshake(org.glassfish.grizzly.filterchain.FilterChainContext, org.glassfish.grizzly.ssl.SSLConnectionContext);
descriptor: (Lorg/glassfish/grizzly/filterchain/FilterChainContext;Lorg/glassfish/grizzly/ssl/SSLConnectionContext;)Lorg/glassfish/grizzly/Buffer;
flags: (0x0002) ACC_PRIVATE
Code:
stack=6, locals=5, args_size=3
start local 0 start local 1 start local 2 0: aload 1
invokevirtual org.glassfish.grizzly.filterchain.FilterChainContext.getConnection:()Lorg/glassfish/grizzly/Connection;
astore 3
start local 3 1: aload 0
aload 3
invokevirtual org.glassfish.grizzly.ssl.SSLBaseFilter.notifyHandshakeStart:(Lorg/glassfish/grizzly/Connection;)V
2: aload 0
3: aload 2
aload 1
aconst_null
aload 0
getfield org.glassfish.grizzly.ssl.SSLBaseFilter.handshakeTimeoutMillis:J
4: invokevirtual org.glassfish.grizzly.ssl.SSLBaseFilter.doHandshakeSync:(Lorg/glassfish/grizzly/ssl/SSLConnectionContext;Lorg/glassfish/grizzly/filterchain/FilterChainContext;Lorg/glassfish/grizzly/Buffer;J)Lorg/glassfish/grizzly/Buffer;
astore 4
start local 4 5: aload 0
aload 3
aload 2
invokevirtual org.glassfish.grizzly.ssl.SSLConnectionContext.getSslEngine:()Ljavax/net/ssl/SSLEngine;
invokevirtual org.glassfish.grizzly.ssl.SSLBaseFilter.notifyHandshakeComplete:(Lorg/glassfish/grizzly/Connection;Ljavax/net/ssl/SSLEngine;)V
6: aload 4
7: areturn
end local 4 8: StackMap locals: org.glassfish.grizzly.ssl.SSLBaseFilter org.glassfish.grizzly.filterchain.FilterChainContext org.glassfish.grizzly.ssl.SSLConnectionContext org.glassfish.grizzly.Connection
StackMap stack: java.lang.Throwable
astore 4
start local 4 9: aload 0
aload 3
aload 4
invokevirtual org.glassfish.grizzly.ssl.SSLBaseFilter.notifyHandshakeFailed:(Lorg/glassfish/grizzly/Connection;Ljava/lang/Throwable;)V
10: getstatic org.glassfish.grizzly.ssl.SSLBaseFilter.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 12
11: getstatic org.glassfish.grizzly.ssl.SSLBaseFilter.LOGGER:Ljava/util/logging/Logger;
getstatic java.util.logging.Level.FINE:Ljava/util/logging/Level;
ldc "Error during re-handshaking"
aload 4
invokevirtual java.util.logging.Logger.log:(Ljava/util/logging/Level;Ljava/lang/String;Ljava/lang/Throwable;)V
12: StackMap locals: java.lang.Throwable
StackMap stack:
aload 4
instanceof javax.net.ssl.SSLException
ifeq 14
13: aload 4
checkcast javax.net.ssl.SSLException
athrow
14: StackMap locals:
StackMap stack:
new javax.net.ssl.SSLException
dup
ldc "Error during re-handshaking"
aload 4
invokespecial javax.net.ssl.SSLException.<init>:(Ljava/lang/String;Ljava/lang/Throwable;)V
athrow
end local 4 end local 3 end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 15 0 this Lorg/glassfish/grizzly/ssl/SSLBaseFilter;
0 15 1 context Lorg/glassfish/grizzly/filterchain/FilterChainContext;
0 15 2 sslCtx Lorg/glassfish/grizzly/ssl/SSLConnectionContext;
1 15 3 c Lorg/glassfish/grizzly/Connection;
5 8 4 buffer Lorg/glassfish/grizzly/Buffer;
9 15 4 t Ljava/lang/Throwable;
Exception table:
from to target type
2 7 8 Class java.lang.Throwable
Exceptions:
throws javax.net.ssl.SSLException
MethodParameters:
Name Flags
context final
sslCtx final
protected void getPeerCertificateChain(org.glassfish.grizzly.ssl.SSLConnectionContext, org.glassfish.grizzly.filterchain.FilterChainContext, boolean, org.glassfish.grizzly.impl.FutureImpl<java.lang.Object[]>);
descriptor: (Lorg/glassfish/grizzly/ssl/SSLConnectionContext;Lorg/glassfish/grizzly/filterchain/FilterChainContext;ZLorg/glassfish/grizzly/impl/FutureImpl;)V
flags: (0x0004) ACC_PROTECTED
Code:
stack=7, locals=8, args_size=5
start local 0 start local 1 start local 2 start local 3 start local 4 0: aload 1
invokestatic org.glassfish.grizzly.ssl.SSLBaseFilter.getPeerCertificates:(Lorg/glassfish/grizzly/ssl/SSLConnectionContext;)[Ljava/security/cert/Certificate;
astore 5
start local 5 1: aload 5
ifnull 4
2: aload 4
aload 5
invokeinterface org.glassfish.grizzly.impl.FutureImpl.result:(Ljava/lang/Object;)V
3: return
4: StackMap locals: java.security.cert.Certificate[]
StackMap stack:
iload 3
ifeq 10
5: aload 2
invokevirtual org.glassfish.grizzly.filterchain.FilterChainContext.getConnection:()Lorg/glassfish/grizzly/Connection;
invokeinterface org.glassfish.grizzly.Connection.getTransport:()Lorg/glassfish/grizzly/Transport;
astore 6
start local 6 6: aload 6
invokeinterface org.glassfish.grizzly.Transport.getWorkerThreadPool:()Ljava/util/concurrent/ExecutorService;
astore 7
start local 7 7: aload 7
ifnonnull 9
8: aload 6
invokeinterface org.glassfish.grizzly.Transport.getKernelThreadPool:()Ljava/util/concurrent/ExecutorService;
astore 7
9: StackMap locals: org.glassfish.grizzly.Transport java.util.concurrent.ExecutorService
StackMap stack:
aload 7
new org.glassfish.grizzly.ssl.SSLBaseFilter$3
dup
aload 0
aload 2
aload 1
aload 4
invokespecial org.glassfish.grizzly.ssl.SSLBaseFilter$3.<init>:(Lorg/glassfish/grizzly/ssl/SSLBaseFilter;Lorg/glassfish/grizzly/filterchain/FilterChainContext;Lorg/glassfish/grizzly/ssl/SSLConnectionContext;Lorg/glassfish/grizzly/impl/FutureImpl;)V
invokeinterface java.util.concurrent.ExecutorService.submit:(Ljava/lang/Runnable;)Ljava/util/concurrent/Future;
pop
end local 7 end local 6 10: StackMap locals:
StackMap stack:
return
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 11 0 this Lorg/glassfish/grizzly/ssl/SSLBaseFilter;
0 11 1 sslCtx Lorg/glassfish/grizzly/ssl/SSLConnectionContext;
0 11 2 context Lorg/glassfish/grizzly/filterchain/FilterChainContext;
0 11 3 needClientAuth Z
0 11 4 certFuture Lorg/glassfish/grizzly/impl/FutureImpl<[Ljava/lang/Object;>;
1 11 5 certs [Ljava/security/cert/Certificate;
6 10 6 transport Lorg/glassfish/grizzly/Transport;
7 10 7 threadPool Ljava/util/concurrent/ExecutorService;
Signature: (Lorg/glassfish/grizzly/ssl/SSLConnectionContext;Lorg/glassfish/grizzly/filterchain/FilterChainContext;ZLorg/glassfish/grizzly/impl/FutureImpl<[Ljava/lang/Object;>;)V
MethodParameters:
Name Flags
sslCtx final
context final
needClientAuth final
certFuture final
protected org.glassfish.grizzly.ssl.SSLConnectionContext obtainSslConnectionContext(org.glassfish.grizzly.Connection);
descriptor: (Lorg/glassfish/grizzly/Connection;)Lorg/glassfish/grizzly/ssl/SSLConnectionContext;
flags: (0x0004) ACC_PROTECTED
Code:
stack=3, locals=3, args_size=2
start local 0 start local 1 0: getstatic org.glassfish.grizzly.ssl.SSLUtils.SSL_CTX_ATTR:Lorg/glassfish/grizzly/attributes/Attribute;
aload 1
invokevirtual org.glassfish.grizzly.attributes.Attribute.get:(Lorg/glassfish/grizzly/attributes/AttributeStorage;)Ljava/lang/Object;
checkcast org.glassfish.grizzly.ssl.SSLConnectionContext
astore 2
start local 2 1: aload 2
ifnonnull 4
2: aload 0
aload 1
invokevirtual org.glassfish.grizzly.ssl.SSLBaseFilter.createSslConnectionContext:(Lorg/glassfish/grizzly/Connection;)Lorg/glassfish/grizzly/ssl/SSLConnectionContext;
astore 2
3: getstatic org.glassfish.grizzly.ssl.SSLUtils.SSL_CTX_ATTR:Lorg/glassfish/grizzly/attributes/Attribute;
aload 1
aload 2
invokevirtual org.glassfish.grizzly.attributes.Attribute.set:(Lorg/glassfish/grizzly/attributes/AttributeStorage;Ljava/lang/Object;)V
4: StackMap locals: org.glassfish.grizzly.ssl.SSLConnectionContext
StackMap stack:
aload 2
areturn
end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 5 0 this Lorg/glassfish/grizzly/ssl/SSLBaseFilter;
0 5 1 connection Lorg/glassfish/grizzly/Connection;
1 5 2 sslCtx Lorg/glassfish/grizzly/ssl/SSLConnectionContext;
MethodParameters:
Name Flags
connection final
protected org.glassfish.grizzly.ssl.SSLConnectionContext createSslConnectionContext(org.glassfish.grizzly.Connection);
descriptor: (Lorg/glassfish/grizzly/Connection;)Lorg/glassfish/grizzly/ssl/SSLConnectionContext;
flags: (0x0004) ACC_PROTECTED
Code:
stack=3, locals=2, args_size=2
start local 0 start local 1 0: new org.glassfish.grizzly.ssl.SSLConnectionContext
dup
aload 1
invokespecial org.glassfish.grizzly.ssl.SSLConnectionContext.<init>:(Lorg/glassfish/grizzly/Connection;)V
areturn
end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 1 0 this Lorg/glassfish/grizzly/ssl/SSLBaseFilter;
0 1 1 connection Lorg/glassfish/grizzly/Connection;
MethodParameters:
Name Flags
connection final
private static org.glassfish.grizzly.filterchain.FilterChainContext obtainProtocolChainContext(org.glassfish.grizzly.filterchain.FilterChainContext, org.glassfish.grizzly.filterchain.FilterChain);
descriptor: (Lorg/glassfish/grizzly/filterchain/FilterChainContext;Lorg/glassfish/grizzly/filterchain/FilterChain;)Lorg/glassfish/grizzly/filterchain/FilterChainContext;
flags: (0x000a) ACC_PRIVATE, ACC_STATIC
Code:
stack=5, locals=3, args_size=2
start local 0 start local 1 0: aload 1
1: aload 0
invokevirtual org.glassfish.grizzly.filterchain.FilterChainContext.getConnection:()Lorg/glassfish/grizzly/Connection;
2: aload 0
invokevirtual org.glassfish.grizzly.filterchain.FilterChainContext.getStartIdx:()I
3: aload 1
invokeinterface org.glassfish.grizzly.filterchain.FilterChain.size:()I
4: aload 0
invokevirtual org.glassfish.grizzly.filterchain.FilterChainContext.getFilterIdx:()I
5: invokeinterface org.glassfish.grizzly.filterchain.FilterChain.obtainFilterChainContext:(Lorg/glassfish/grizzly/Connection;III)Lorg/glassfish/grizzly/filterchain/FilterChainContext;
6: astore 2
start local 2 7: aload 2
aload 0
invokevirtual org.glassfish.grizzly.filterchain.FilterChainContext.getAddressHolder:()Lorg/glassfish/grizzly/utils/Holder;
invokevirtual org.glassfish.grizzly.filterchain.FilterChainContext.setAddressHolder:(Lorg/glassfish/grizzly/utils/Holder;)V
8: aload 2
aload 0
invokevirtual org.glassfish.grizzly.filterchain.FilterChainContext.getMessage:()Ljava/lang/Object;
invokevirtual org.glassfish.grizzly.filterchain.FilterChainContext.setMessage:(Ljava/lang/Object;)V
9: aload 2
invokevirtual org.glassfish.grizzly.filterchain.FilterChainContext.getInternalContext:()Lorg/glassfish/grizzly/Context;
getstatic org.glassfish.grizzly.IOEvent.READ:Lorg/glassfish/grizzly/IOEvent;
invokevirtual org.glassfish.grizzly.Context.setIoEvent:(Lorg/glassfish/grizzly/IOEvent;)V
10: aload 2
invokevirtual org.glassfish.grizzly.filterchain.FilterChainContext.getInternalContext:()Lorg/glassfish/grizzly/Context;
11: new org.glassfish.grizzly.ssl.SSLBaseFilter$InternalProcessingHandler
dup
aload 0
invokespecial org.glassfish.grizzly.ssl.SSLBaseFilter$InternalProcessingHandler.<init>:(Lorg/glassfish/grizzly/filterchain/FilterChainContext;)V
12: invokevirtual org.glassfish.grizzly.Context.addLifeCycleListener:(Lorg/glassfish/grizzly/IOEventLifeCycleListener;)V
13: aload 2
areturn
end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 14 0 ctx Lorg/glassfish/grizzly/filterchain/FilterChainContext;
0 14 1 completeProtocolFilterChain Lorg/glassfish/grizzly/filterchain/FilterChain;
7 14 2 newFilterChainContext Lorg/glassfish/grizzly/filterchain/FilterChainContext;
MethodParameters:
Name Flags
ctx final
completeProtocolFilterChain final
private static java.security.cert.X509Certificate[] (java.security.cert.Certificate[]);
descriptor: ([Ljava/security/cert/Certificate;)[Ljava/security/cert/X509Certificate;
flags: (0x000a) ACC_PRIVATE, ACC_STATIC
Code:
stack=8, locals=7, args_size=1
start local 0 0: aload 0
arraylength
anewarray java.security.cert.X509Certificate
astore 1
start local 1 1: iconst_0
istore 2
start local 2 2: aload 0
arraylength
istore 3
start local 3 3: goto 24
4: StackMap locals: java.security.cert.X509Certificate[] int int
StackMap stack:
aload 0
iload 2
aaload
instanceof java.security.cert.X509Certificate
ifeq 7
5: aload 1
iload 2
aload 0
iload 2
aaload
checkcast java.security.cert.X509Certificate
aastore
6: goto 21
7: StackMap locals:
StackMap stack:
aload 0
iload 2
aaload
invokevirtual java.security.cert.Certificate.getEncoded:()[B
astore 4
start local 4 8: ldc "X.509"
invokestatic java.security.cert.CertificateFactory.getInstance:(Ljava/lang/String;)Ljava/security/cert/CertificateFactory;
9: astore 5
start local 5 10: new java.io.ByteArrayInputStream
dup
aload 4
invokespecial java.io.ByteArrayInputStream.<init>:([B)V
astore 6
start local 6 11: aload 1
iload 2
12: aload 5
aload 6
invokevirtual java.security.cert.CertificateFactory.generateCertificate:(Ljava/io/InputStream;)Ljava/security/cert/Certificate;
13: checkcast java.security.cert.X509Certificate
aastore
end local 6 end local 5 end local 4 14: goto 21
StackMap locals:
StackMap stack: java.lang.Exception
15: astore 4
start local 4 16: getstatic org.glassfish.grizzly.ssl.SSLBaseFilter.LOGGER:Ljava/util/logging/Logger;
getstatic java.util.logging.Level.INFO:Ljava/util/logging/Level;
17: new java.lang.StringBuilder
dup
ldc "Error translating cert "
invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
aload 0
iload 2
aaload
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/Object;)Ljava/lang/StringBuilder;
invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
18: aload 4
19: invokevirtual java.util.logging.Logger.log:(Ljava/util/logging/Level;Ljava/lang/String;Ljava/lang/Throwable;)V
20: aconst_null
areturn
end local 4 21: StackMap locals:
StackMap stack:
getstatic org.glassfish.grizzly.ssl.SSLBaseFilter.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 23
22: getstatic org.glassfish.grizzly.ssl.SSLBaseFilter.LOGGER:Ljava/util/logging/Logger;
getstatic java.util.logging.Level.FINE:Ljava/util/logging/Level;
ldc "Cert #{0} = {1}"
iconst_2
anewarray java.lang.Object
dup
iconst_0
iload 2
invokestatic java.lang.Integer.valueOf:(I)Ljava/lang/Integer;
aastore
dup
iconst_1
aload 1
iload 2
aaload
aastore
invokevirtual java.util.logging.Logger.log:(Ljava/util/logging/Level;Ljava/lang/String;[Ljava/lang/Object;)V
23: StackMap locals:
StackMap stack:
iinc 2 1
StackMap locals:
StackMap stack:
24: iload 2
iload 3
if_icmplt 4
end local 3 end local 2 25: aload 1
areturn
end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 26 0 certs [Ljava/security/cert/Certificate;
1 26 1 x509Certs [Ljava/security/cert/X509Certificate;
2 25 2 i I
3 25 3 len I
8 14 4 buffer [B
10 14 5 cf Ljava/security/cert/CertificateFactory;
11 14 6 stream Ljava/io/ByteArrayInputStream;
16 21 4 ex Ljava/lang/Exception;
Exception table:
from to target type
7 14 15 Class java.lang.Exception
MethodParameters:
Name Flags
certs final
private static java.security.cert.Certificate[] getPeerCertificates(org.glassfish.grizzly.ssl.SSLConnectionContext);
descriptor: (Lorg/glassfish/grizzly/ssl/SSLConnectionContext;)[Ljava/security/cert/Certificate;
flags: (0x000a) ACC_PRIVATE, ACC_STATIC
Code:
stack=4, locals=2, args_size=1
start local 0 0: aload 0
invokevirtual org.glassfish.grizzly.ssl.SSLConnectionContext.getSslEngine:()Ljavax/net/ssl/SSLEngine;
invokevirtual javax.net.ssl.SSLEngine.getSession:()Ljavax/net/ssl/SSLSession;
invokeinterface javax.net.ssl.SSLSession.getPeerCertificates:()[Ljava/security/cert/Certificate;
1: areturn
2: StackMap locals:
StackMap stack: java.lang.Throwable
astore 1
start local 1 3: getstatic org.glassfish.grizzly.ssl.SSLBaseFilter.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 org.glassfish.grizzly.ssl.SSLBaseFilter.LOGGER:Ljava/util/logging/Logger;
getstatic java.util.logging.Level.FINE:Ljava/util/logging/Level;
ldc "Error getting client certs"
aload 1
invokevirtual java.util.logging.Logger.log:(Ljava/util/logging/Level;Ljava/lang/String;Ljava/lang/Throwable;)V
5: StackMap locals: java.lang.Throwable
StackMap stack:
aconst_null
areturn
end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 6 0 sslCtx Lorg/glassfish/grizzly/ssl/SSLConnectionContext;
3 6 1 t Ljava/lang/Throwable;
Exception table:
from to target type
0 1 2 Class java.lang.Throwable
MethodParameters:
Name Flags
sslCtx final
protected void notifyHandshakeStart(org.glassfish.grizzly.Connection);
descriptor: (Lorg/glassfish/grizzly/Connection;)V
flags: (0x0004) ACC_PROTECTED
Code:
stack=2, locals=4, args_size=2
start local 0 start local 1 0: aload 0
getfield org.glassfish.grizzly.ssl.SSLBaseFilter.handshakeListeners:Ljava/util/Set;
invokeinterface java.util.Set.isEmpty:()Z
ifne 5
1: aload 0
getfield org.glassfish.grizzly.ssl.SSLBaseFilter.handshakeListeners:Ljava/util/Set;
invokeinterface java.util.Set.iterator:()Ljava/util/Iterator;
astore 3
goto 4
StackMap locals: org.glassfish.grizzly.ssl.SSLBaseFilter org.glassfish.grizzly.Connection top java.util.Iterator
StackMap stack:
2: aload 3
invokeinterface java.util.Iterator.next:()Ljava/lang/Object;
checkcast org.glassfish.grizzly.ssl.SSLBaseFilter$HandshakeListener
astore 2
start local 2 3: aload 2
aload 1
invokeinterface org.glassfish.grizzly.ssl.SSLBaseFilter$HandshakeListener.onStart:(Lorg/glassfish/grizzly/Connection;)V
end local 2 4: StackMap locals:
StackMap stack:
aload 3
invokeinterface java.util.Iterator.hasNext:()Z
ifne 2
5: StackMap locals: org.glassfish.grizzly.ssl.SSLBaseFilter org.glassfish.grizzly.Connection
StackMap stack:
return
end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 6 0 this Lorg/glassfish/grizzly/ssl/SSLBaseFilter;
0 6 1 connection Lorg/glassfish/grizzly/Connection;
3 4 2 listener Lorg/glassfish/grizzly/ssl/SSLBaseFilter$HandshakeListener;
MethodParameters:
Name Flags
connection final
protected void notifyHandshakeComplete(org.glassfish.grizzly.Connection<?>, javax.net.ssl.SSLEngine);
descriptor: (Lorg/glassfish/grizzly/Connection;Ljavax/net/ssl/SSLEngine;)V
flags: (0x0004) ACC_PROTECTED
Code:
stack=2, locals=5, args_size=3
start local 0 start local 1 start local 2 0: aload 0
getfield org.glassfish.grizzly.ssl.SSLBaseFilter.handshakeListeners:Ljava/util/Set;
invokeinterface java.util.Set.isEmpty:()Z
ifne 5
1: aload 0
getfield org.glassfish.grizzly.ssl.SSLBaseFilter.handshakeListeners:Ljava/util/Set;
invokeinterface java.util.Set.iterator:()Ljava/util/Iterator;
astore 4
goto 4
StackMap locals: org.glassfish.grizzly.ssl.SSLBaseFilter org.glassfish.grizzly.Connection javax.net.ssl.SSLEngine top java.util.Iterator
StackMap stack:
2: aload 4
invokeinterface java.util.Iterator.next:()Ljava/lang/Object;
checkcast org.glassfish.grizzly.ssl.SSLBaseFilter$HandshakeListener
astore 3
start local 3 3: aload 3
aload 1
invokeinterface org.glassfish.grizzly.ssl.SSLBaseFilter$HandshakeListener.onComplete:(Lorg/glassfish/grizzly/Connection;)V
end local 3 4: StackMap locals:
StackMap stack:
aload 4
invokeinterface java.util.Iterator.hasNext:()Z
ifne 2
5: StackMap locals: org.glassfish.grizzly.ssl.SSLBaseFilter org.glassfish.grizzly.Connection javax.net.ssl.SSLEngine
StackMap stack:
return
end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 6 0 this Lorg/glassfish/grizzly/ssl/SSLBaseFilter;
0 6 1 connection Lorg/glassfish/grizzly/Connection<*>;
0 6 2 sslEngine Ljavax/net/ssl/SSLEngine;
3 4 3 listener Lorg/glassfish/grizzly/ssl/SSLBaseFilter$HandshakeListener;
Signature: (Lorg/glassfish/grizzly/Connection<*>;Ljavax/net/ssl/SSLEngine;)V
MethodParameters:
Name Flags
connection final
sslEngine final
protected void notifyHandshakeFailed(org.glassfish.grizzly.Connection, java.lang.Throwable);
descriptor: (Lorg/glassfish/grizzly/Connection;Ljava/lang/Throwable;)V
flags: (0x0004) ACC_PROTECTED
Code:
stack=3, locals=5, args_size=3
start local 0 start local 1 start local 2 0: aload 0
getfield org.glassfish.grizzly.ssl.SSLBaseFilter.handshakeListeners:Ljava/util/Set;
invokeinterface java.util.Set.isEmpty:()Z
ifne 5
1: aload 0
getfield org.glassfish.grizzly.ssl.SSLBaseFilter.handshakeListeners:Ljava/util/Set;
invokeinterface java.util.Set.iterator:()Ljava/util/Iterator;
astore 4
goto 4
StackMap locals: org.glassfish.grizzly.ssl.SSLBaseFilter org.glassfish.grizzly.Connection java.lang.Throwable top java.util.Iterator
StackMap stack:
2: aload 4
invokeinterface java.util.Iterator.next:()Ljava/lang/Object;
checkcast org.glassfish.grizzly.ssl.SSLBaseFilter$HandshakeListener
astore 3
start local 3 3: aload 3
aload 1
aload 2
invokeinterface org.glassfish.grizzly.ssl.SSLBaseFilter$HandshakeListener.onFailure:(Lorg/glassfish/grizzly/Connection;Ljava/lang/Throwable;)V
end local 3 4: StackMap locals:
StackMap stack:
aload 4
invokeinterface java.util.Iterator.hasNext:()Z
ifne 2
5: StackMap locals: org.glassfish.grizzly.ssl.SSLBaseFilter org.glassfish.grizzly.Connection java.lang.Throwable
StackMap stack:
return
end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 6 0 this Lorg/glassfish/grizzly/ssl/SSLBaseFilter;
0 6 1 connection Lorg/glassfish/grizzly/Connection;
0 6 2 t Ljava/lang/Throwable;
3 4 3 listener Lorg/glassfish/grizzly/ssl/SSLBaseFilter$HandshakeListener;
MethodParameters:
Name Flags
connection final
t final
static int[] $SWITCH_TABLE$javax$net$ssl$SSLEngineResult$Status();
descriptor: ()[I
flags: (0x1008) ACC_STATIC, ACC_SYNTHETIC
Code:
stack=3, locals=1, args_size=0
0: getstatic org.glassfish.grizzly.ssl.SSLBaseFilter.$SWITCH_TABLE$javax$net$ssl$SSLEngineResult$Status:[I
dup
ifnull 1
areturn
StackMap locals:
StackMap stack: int[]
1: pop
invokestatic javax.net.ssl.SSLEngineResult$Status.values:()[Ljavax/net/ssl/SSLEngineResult$Status;
arraylength
newarray 10
astore 0
2: aload 0
getstatic javax.net.ssl.SSLEngineResult$Status.BUFFER_OVERFLOW:Ljavax/net/ssl/SSLEngineResult$Status;
invokevirtual javax.net.ssl.SSLEngineResult$Status.ordinal:()I
iconst_2
iastore
3: goto 5
StackMap locals: int[]
StackMap stack: java.lang.NoSuchFieldError
4: pop
StackMap locals:
StackMap stack:
5: aload 0
getstatic javax.net.ssl.SSLEngineResult$Status.BUFFER_UNDERFLOW:Ljavax/net/ssl/SSLEngineResult$Status;
invokevirtual javax.net.ssl.SSLEngineResult$Status.ordinal:()I
iconst_1
iastore
6: goto 8
StackMap locals:
StackMap stack: java.lang.NoSuchFieldError
7: pop
StackMap locals:
StackMap stack:
8: aload 0
getstatic javax.net.ssl.SSLEngineResult$Status.CLOSED:Ljavax/net/ssl/SSLEngineResult$Status;
invokevirtual javax.net.ssl.SSLEngineResult$Status.ordinal:()I
iconst_4
iastore
9: goto 11
StackMap locals:
StackMap stack: java.lang.NoSuchFieldError
10: pop
StackMap locals:
StackMap stack:
11: aload 0
getstatic javax.net.ssl.SSLEngineResult$Status.OK:Ljavax/net/ssl/SSLEngineResult$Status;
invokevirtual javax.net.ssl.SSLEngineResult$Status.ordinal:()I
iconst_3
iastore
12: goto 14
StackMap locals:
StackMap stack: java.lang.NoSuchFieldError
13: pop
StackMap locals:
StackMap stack:
14: aload 0
dup
putstatic org.glassfish.grizzly.ssl.SSLBaseFilter.$SWITCH_TABLE$javax$net$ssl$SSLEngineResult$Status:[I
areturn
LocalVariableTable:
Start End Slot Name Signature
Exception table:
from to target type
2 3 4 Class java.lang.NoSuchFieldError
5 6 7 Class java.lang.NoSuchFieldError
8 9 10 Class java.lang.NoSuchFieldError
11 12 13 Class java.lang.NoSuchFieldError
static int[] $SWITCH_TABLE$javax$net$ssl$SSLEngineResult$HandshakeStatus();
descriptor: ()[I
flags: (0x1008) ACC_STATIC, ACC_SYNTHETIC
Code:
stack=3, locals=1, args_size=0
0: getstatic org.glassfish.grizzly.ssl.SSLBaseFilter.$SWITCH_TABLE$javax$net$ssl$SSLEngineResult$HandshakeStatus:[I
dup
ifnull 1
areturn
StackMap locals:
StackMap stack: int[]
1: pop
invokestatic javax.net.ssl.SSLEngineResult$HandshakeStatus.values:()[Ljavax/net/ssl/SSLEngineResult$HandshakeStatus;
arraylength
newarray 10
astore 0
2: aload 0
getstatic javax.net.ssl.SSLEngineResult$HandshakeStatus.FINISHED:Ljavax/net/ssl/SSLEngineResult$HandshakeStatus;
invokevirtual javax.net.ssl.SSLEngineResult$HandshakeStatus.ordinal:()I
iconst_2
iastore
3: goto 5
StackMap locals: int[]
StackMap stack: java.lang.NoSuchFieldError
4: pop
StackMap locals:
StackMap stack:
5: aload 0
getstatic javax.net.ssl.SSLEngineResult$HandshakeStatus.NEED_TASK:Ljavax/net/ssl/SSLEngineResult$HandshakeStatus;
invokevirtual javax.net.ssl.SSLEngineResult$HandshakeStatus.ordinal:()I
iconst_3
iastore
6: goto 8
StackMap locals:
StackMap stack: java.lang.NoSuchFieldError
7: pop
StackMap locals:
StackMap stack:
8: aload 0
getstatic javax.net.ssl.SSLEngineResult$HandshakeStatus.NEED_UNWRAP:Ljavax/net/ssl/SSLEngineResult$HandshakeStatus;
invokevirtual javax.net.ssl.SSLEngineResult$HandshakeStatus.ordinal:()I
iconst_5
iastore
9: goto 11
StackMap locals:
StackMap stack: java.lang.NoSuchFieldError
10: pop
StackMap locals:
StackMap stack:
11: aload 0
getstatic javax.net.ssl.SSLEngineResult$HandshakeStatus.NEED_WRAP:Ljavax/net/ssl/SSLEngineResult$HandshakeStatus;
invokevirtual javax.net.ssl.SSLEngineResult$HandshakeStatus.ordinal:()I
iconst_4
iastore
12: goto 14
StackMap locals:
StackMap stack: java.lang.NoSuchFieldError
13: pop
StackMap locals:
StackMap stack:
14: aload 0
getstatic javax.net.ssl.SSLEngineResult$HandshakeStatus.NOT_HANDSHAKING:Ljavax/net/ssl/SSLEngineResult$HandshakeStatus;
invokevirtual javax.net.ssl.SSLEngineResult$HandshakeStatus.ordinal:()I
iconst_1
iastore
15: goto 17
StackMap locals:
StackMap stack: java.lang.NoSuchFieldError
16: pop
StackMap locals:
StackMap stack:
17: aload 0
dup
putstatic org.glassfish.grizzly.ssl.SSLBaseFilter.$SWITCH_TABLE$javax$net$ssl$SSLEngineResult$HandshakeStatus:[I
areturn
LocalVariableTable:
Start End Slot Name Signature
Exception table:
from to target type
2 3 4 Class java.lang.NoSuchFieldError
5 6 7 Class java.lang.NoSuchFieldError
8 9 10 Class java.lang.NoSuchFieldError
11 12 13 Class java.lang.NoSuchFieldError
14 15 16 Class java.lang.NoSuchFieldError
}
SourceFile: "SSLBaseFilter.java"
NestMembers:
org.glassfish.grizzly.ssl.SSLBaseFilter$1 org.glassfish.grizzly.ssl.SSLBaseFilter$2 org.glassfish.grizzly.ssl.SSLBaseFilter$3 org.glassfish.grizzly.ssl.SSLBaseFilter$CertificateEvent org.glassfish.grizzly.ssl.SSLBaseFilter$HandshakeListener org.glassfish.grizzly.ssl.SSLBaseFilter$InternalProcessingHandler org.glassfish.grizzly.ssl.SSLBaseFilter$OnWriteCopyCloner org.glassfish.grizzly.ssl.SSLBaseFilter$SSLTransportFilterWrapper
InnerClasses:
public final HandshakeStatus = javax.net.ssl.SSLEngineResult$HandshakeStatus of javax.net.ssl.SSLEngineResult
public final Status = javax.net.ssl.SSLEngineResult$Status of javax.net.ssl.SSLEngineResult
public final TransportContext = org.glassfish.grizzly.filterchain.FilterChainContext$TransportContext of org.glassfish.grizzly.filterchain.FilterChainContext
org.glassfish.grizzly.ssl.SSLBaseFilter$1
org.glassfish.grizzly.ssl.SSLBaseFilter$2
org.glassfish.grizzly.ssl.SSLBaseFilter$3
public CertificateEvent = org.glassfish.grizzly.ssl.SSLBaseFilter$CertificateEvent of org.glassfish.grizzly.ssl.SSLBaseFilter
public abstract HandshakeListener = org.glassfish.grizzly.ssl.SSLBaseFilter$HandshakeListener of org.glassfish.grizzly.ssl.SSLBaseFilter
private InternalProcessingHandler = org.glassfish.grizzly.ssl.SSLBaseFilter$InternalProcessingHandler of org.glassfish.grizzly.ssl.SSLBaseFilter
private final OnWriteCopyCloner = org.glassfish.grizzly.ssl.SSLBaseFilter$OnWriteCopyCloner of org.glassfish.grizzly.ssl.SSLBaseFilter
protected SSLTransportFilterWrapper = org.glassfish.grizzly.ssl.SSLBaseFilter$SSLTransportFilterWrapper of org.glassfish.grizzly.ssl.SSLBaseFilter
abstract Allocator = org.glassfish.grizzly.ssl.SSLConnectionContext$Allocator of org.glassfish.grizzly.ssl.SSLConnectionContext
final SslResult = org.glassfish.grizzly.ssl.SSLConnectionContext$SslResult of org.glassfish.grizzly.ssl.SSLConnectionContext