public abstract class org.apache.hive.kudu.org.apache.kudu.shaded.io.netty.handler.ssl.SslMasterKeyHandler extends org.apache.hive.kudu.org.apache.kudu.shaded.io.netty.channel.ChannelInboundHandlerAdapter
{
private static final org.apache.hive.kudu.org.apache.kudu.shaded.io.netty.util.internal.logging.InternalLogger logger;
private static final java.lang.Class SSL_SESSIONIMPL_CLASS;
private static final java.lang.reflect.Field SSL_SESSIONIMPL_MASTER_SECRET_FIELD;
public static final java.lang.String SYSTEM_PROP_KEY;
private static final java.lang.Throwable UNAVAILABILITY_CAUSE;
protected void <init>()
{
org.apache.hive.kudu.org.apache.kudu.shaded.io.netty.handler.ssl.SslMasterKeyHandler v;
v := @this: org.apache.hive.kudu.org.apache.kudu.shaded.io.netty.handler.ssl.SslMasterKeyHandler;
specialinvoke v.<org.apache.hive.kudu.org.apache.kudu.shaded.io.netty.channel.ChannelInboundHandlerAdapter: void <init>()>();
return;
}
public static void ensureSunSslEngineAvailability()
{
java.lang.Throwable v, v;
java.lang.IllegalStateException v;
v = <org.apache.hive.kudu.org.apache.kudu.shaded.io.netty.handler.ssl.SslMasterKeyHandler: java.lang.Throwable UNAVAILABILITY_CAUSE>;
if v == null goto label;
v = new java.lang.IllegalStateException;
v = <org.apache.hive.kudu.org.apache.kudu.shaded.io.netty.handler.ssl.SslMasterKeyHandler: java.lang.Throwable UNAVAILABILITY_CAUSE>;
specialinvoke v.<java.lang.IllegalStateException: void <init>(java.lang.String,java.lang.Throwable)>("Failed to find SSLSessionImpl on classpath", v);
throw v;
label:
return;
}
public static java.lang.Throwable sunSslEngineUnavailabilityCause()
{
java.lang.Throwable v;
v = <org.apache.hive.kudu.org.apache.kudu.shaded.io.netty.handler.ssl.SslMasterKeyHandler: java.lang.Throwable UNAVAILABILITY_CAUSE>;
return v;
}
public static boolean isSunSslEngineAvailable()
{
java.lang.Throwable v;
boolean v;
v = <org.apache.hive.kudu.org.apache.kudu.shaded.io.netty.handler.ssl.SslMasterKeyHandler: java.lang.Throwable UNAVAILABILITY_CAUSE>;
if v != null goto label;
v = 1;
goto label;
label:
v = 0;
label:
return v;
}
protected abstract void accept(javax.crypto.SecretKey, javax.net.ssl.SSLSession);
public final void userEventTriggered(org.apache.hive.kudu.org.apache.kudu.shaded.io.netty.channel.ChannelHandlerContext, java.lang.Object)
{
org.apache.hive.kudu.org.apache.kudu.shaded.io.netty.handler.ssl.SslMasterKeyHandler v;
org.apache.hive.kudu.org.apache.kudu.shaded.io.netty.channel.ChannelHandler v;
javax.crypto.spec.SecretKeySpec v;
javax.net.ssl.SSLEngine v;
javax.net.ssl.SSLSession v;
org.apache.hive.kudu.org.apache.kudu.shaded.io.netty.handler.ssl.SslHandshakeCompletionEvent v;
org.apache.hive.kudu.org.apache.kudu.shaded.io.netty.channel.ChannelHandlerContext v;
boolean v, v, v, v, v;
java.lang.IllegalAccessException v;
java.lang.IllegalArgumentException v;
java.lang.reflect.Field v;
org.apache.hive.kudu.org.apache.kudu.shaded.io.netty.channel.ChannelPipeline v;
java.lang.Class v, v;
java.lang.Object v, v;
v := @this: org.apache.hive.kudu.org.apache.kudu.shaded.io.netty.handler.ssl.SslMasterKeyHandler;
v := @parameter: org.apache.hive.kudu.org.apache.kudu.shaded.io.netty.channel.ChannelHandlerContext;
v := @parameter: java.lang.Object;
v = <org.apache.hive.kudu.org.apache.kudu.shaded.io.netty.handler.ssl.SslHandshakeCompletionEvent: org.apache.hive.kudu.org.apache.kudu.shaded.io.netty.handler.ssl.SslHandshakeCompletionEvent SUCCESS>;
if v != v goto label;
v = staticinvoke <org.apache.hive.kudu.org.apache.kudu.shaded.io.netty.util.internal.SystemPropertyUtil: boolean getBoolean(java.lang.String,boolean)>("org.apache.hive.kudu.org.apache.kudu.shaded.io.netty.ssl.masterKeyHandler", 0);
if v == 0 goto label;
v = interfaceinvoke v.<org.apache.hive.kudu.org.apache.kudu.shaded.io.netty.channel.ChannelHandlerContext: org.apache.hive.kudu.org.apache.kudu.shaded.io.netty.channel.ChannelPipeline pipeline()>();
v = interfaceinvoke v.<org.apache.hive.kudu.org.apache.kudu.shaded.io.netty.channel.ChannelPipeline: org.apache.hive.kudu.org.apache.kudu.shaded.io.netty.channel.ChannelHandler get(java.lang.Class)>(class "Lorg/apache/hive/kudu/org/apache/kudu/shaded/io/netty/handler/ssl/SslHandler;");
v = virtualinvoke v.<org.apache.hive.kudu.org.apache.kudu.shaded.io.netty.handler.ssl.SslHandler: javax.net.ssl.SSLEngine engine()>();
v = virtualinvoke v.<javax.net.ssl.SSLEngine: javax.net.ssl.SSLSession getSession()>();
v = staticinvoke <org.apache.hive.kudu.org.apache.kudu.shaded.io.netty.handler.ssl.SslMasterKeyHandler: boolean isSunSslEngineAvailable()>();
if v == 0 goto label;
v = virtualinvoke v.<java.lang.Object: java.lang.Class getClass()>();
v = <org.apache.hive.kudu.org.apache.kudu.shaded.io.netty.handler.ssl.SslMasterKeyHandler: java.lang.Class SSL_SESSIONIMPL_CLASS>;
v = virtualinvoke v.<java.lang.Object: boolean equals(java.lang.Object)>(v);
if v == 0 goto label;
label:
v = <org.apache.hive.kudu.org.apache.kudu.shaded.io.netty.handler.ssl.SslMasterKeyHandler: java.lang.reflect.Field SSL_SESSIONIMPL_MASTER_SECRET_FIELD>;
v = virtualinvoke v.<java.lang.reflect.Field: java.lang.Object get(java.lang.Object)>(v);
label:
goto label;
label:
v := @caughtexception;
v = new java.lang.IllegalArgumentException;
specialinvoke v.<java.lang.IllegalArgumentException: void <init>(java.lang.String,java.lang.Throwable)>("Failed to access the field \'masterSecret\' via reflection.", v);
throw v;
label:
virtualinvoke v.<org.apache.hive.kudu.org.apache.kudu.shaded.io.netty.handler.ssl.SslMasterKeyHandler: void accept(javax.crypto.SecretKey,javax.net.ssl.SSLSession)>(v, v);
goto label;
label:
v = staticinvoke <org.apache.hive.kudu.org.apache.kudu.shaded.io.netty.handler.ssl.OpenSsl: boolean isAvailable()>();
if v == 0 goto label;
v = v instanceof org.apache.hive.kudu.org.apache.kudu.shaded.io.netty.handler.ssl.ReferenceCountedOpenSslEngine;
if v == 0 goto label;
v = virtualinvoke v.<org.apache.hive.kudu.org.apache.kudu.shaded.io.netty.handler.ssl.ReferenceCountedOpenSslEngine: javax.crypto.spec.SecretKeySpec masterKey()>();
virtualinvoke v.<org.apache.hive.kudu.org.apache.kudu.shaded.io.netty.handler.ssl.SslMasterKeyHandler: void accept(javax.crypto.SecretKey,javax.net.ssl.SSLSession)>(v, v);
label:
interfaceinvoke v.<org.apache.hive.kudu.org.apache.kudu.shaded.io.netty.channel.ChannelHandlerContext: org.apache.hive.kudu.org.apache.kudu.shaded.io.netty.channel.ChannelHandlerContext fireUserEventTriggered(java.lang.Object)>(v);
return;
catch java.lang.IllegalAccessException from label to label with label;
}
public static org.apache.hive.kudu.org.apache.kudu.shaded.io.netty.handler.ssl.SslMasterKeyHandler newWireSharkSslMasterKeyHandler()
{
org.apache.hive.kudu.org.apache.kudu.shaded.io.netty.handler.ssl.SslMasterKeyHandler$WiresharkSslMasterKeyHandler v;
v = new org.apache.hive.kudu.org.apache.kudu.shaded.io.netty.handler.ssl.SslMasterKeyHandler$WiresharkSslMasterKeyHandler;
specialinvoke v.<org.apache.hive.kudu.org.apache.kudu.shaded.io.netty.handler.ssl.SslMasterKeyHandler$WiresharkSslMasterKeyHandler: void <init>()>();
return v;
}
static void <clinit>()
{
java.lang.Throwable v, v;
java.lang.Class v;
java.lang.reflect.Field v;
org.apache.hive.kudu.org.apache.kudu.shaded.io.netty.util.internal.logging.InternalLogger v, v;
v = staticinvoke <org.apache.hive.kudu.org.apache.kudu.shaded.io.netty.util.internal.logging.InternalLoggerFactory: org.apache.hive.kudu.org.apache.kudu.shaded.io.netty.util.internal.logging.InternalLogger getInstance(java.lang.Class)>(class "Lorg/apache/hive/kudu/org/apache/kudu/shaded/io/netty/handler/ssl/SslMasterKeyHandler;");
<org.apache.hive.kudu.org.apache.kudu.shaded.io.netty.handler.ssl.SslMasterKeyHandler: org.apache.hive.kudu.org.apache.kudu.shaded.io.netty.util.internal.logging.InternalLogger logger> = v;
v = null;
v = null;
label:
v = staticinvoke <java.lang.Class: java.lang.Class forName(java.lang.String)>("sun.security.ssl.SSLSessionImpl");
v = virtualinvoke v.<java.lang.Class: java.lang.reflect.Field getDeclaredField(java.lang.String)>("masterSecret");
v = staticinvoke <org.apache.hive.kudu.org.apache.kudu.shaded.io.netty.util.internal.ReflectionUtil: java.lang.Throwable trySetAccessible(java.lang.reflect.AccessibleObject,boolean)>(v, 1);
label:
goto label;
label:
v := @caughtexception;
v = v;
v = <org.apache.hive.kudu.org.apache.kudu.shaded.io.netty.handler.ssl.SslMasterKeyHandler: org.apache.hive.kudu.org.apache.kudu.shaded.io.netty.util.internal.logging.InternalLogger logger>;
interfaceinvoke v.<org.apache.hive.kudu.org.apache.kudu.shaded.io.netty.util.internal.logging.InternalLogger: void debug(java.lang.String,java.lang.Throwable)>("sun.security.ssl.SSLSessionImpl is unavailable.", v);
label:
<org.apache.hive.kudu.org.apache.kudu.shaded.io.netty.handler.ssl.SslMasterKeyHandler: java.lang.Throwable UNAVAILABILITY_CAUSE> = v;
<org.apache.hive.kudu.org.apache.kudu.shaded.io.netty.handler.ssl.SslMasterKeyHandler: java.lang.Class SSL_SESSIONIMPL_CLASS> = v;
<org.apache.hive.kudu.org.apache.kudu.shaded.io.netty.handler.ssl.SslMasterKeyHandler: java.lang.reflect.Field SSL_SESSIONIMPL_MASTER_SECRET_FIELD> = v;
return;
catch java.lang.Throwable from label to label with label;
}
}