public class org.apache.hive.kudu.org.apache.kudu.client.Negotiator extends org.apache.hive.kudu.org.apache.kudu.shaded.io.netty.channel.SimpleChannelInboundHandler
{
private static final org.slf4j.Logger LOG;
private final org.apache.hive.kudu.org.apache.kudu.client.Negotiator$SaslClientCallbackHandler saslCallback;
private static final org.apache.hive.kudu.org.apache.kudu.shaded.com.google.common.collect.ImmutableSet SUPPORTED_RPC_FEATURES;
static final int CONNECTION_CTX_CALL_ID;
static final int SASL_CALL_ID;
static final java.lang.String[] PREFERRED_CIPHER_SUITES;
private final java.lang.String remoteHostname;
private final org.apache.hive.kudu.org.apache.kudu.client.SecurityContext securityContext;
private final org.apache.hive.kudu.org.apache.kudu.security.Token$SignedTokenPB authnToken;
private org.apache.hive.kudu.org.apache.kudu.client.Negotiator$AuthnTokenNotUsedReason authnTokenNotUsedReason;
private org.apache.hive.kudu.org.apache.kudu.client.Negotiator$State state;
private javax.security.sasl.SaslClient saslClient;
private org.apache.hive.kudu.org.apache.kudu.client.Negotiator$SaslMechanism chosenMech;
private org.apache.hive.kudu.org.apache.kudu.rpc.RpcHeader$AuthenticationTypePB$TypeCase chosenAuthnType;
private java.util.Set serverFeatures;
private org.apache.hive.kudu.org.apache.kudu.shaded.io.netty.channel.embedded.EmbeddedChannel sslEmbedder;
private byte[] nonce;
private org.apache.hive.kudu.org.apache.kudu.shaded.io.netty.util.concurrent.Future sslHandshakeFuture;
private java.security.cert.Certificate peerCert;
boolean overrideLoopbackForTests;
static final boolean $assertionsDisabled;
public void <init>(java.lang.String, org.apache.hive.kudu.org.apache.kudu.client.SecurityContext, boolean)
{
org.apache.hive.kudu.org.apache.kudu.client.Negotiator$State v;
org.apache.hive.kudu.org.apache.kudu.client.SecurityContext v;
org.apache.hive.kudu.org.apache.kudu.client.Negotiator$AuthnTokenNotUsedReason v, v, v;
org.apache.hive.kudu.org.apache.kudu.client.Negotiator$SaslClientCallbackHandler v;
org.apache.hive.kudu.org.apache.kudu.client.Negotiator v;
org.apache.hive.kudu.org.apache.kudu.security.Token$SignedTokenPB v;
java.lang.String v;
boolean v, v;
v := @this: org.apache.hive.kudu.org.apache.kudu.client.Negotiator;
v := @parameter: java.lang.String;
v := @parameter: org.apache.hive.kudu.org.apache.kudu.client.SecurityContext;
v := @parameter: boolean;
specialinvoke v.<org.apache.hive.kudu.org.apache.kudu.shaded.io.netty.channel.SimpleChannelInboundHandler: void <init>()>();
v = new org.apache.hive.kudu.org.apache.kudu.client.Negotiator$SaslClientCallbackHandler;
specialinvoke v.<org.apache.hive.kudu.org.apache.kudu.client.Negotiator$SaslClientCallbackHandler: void <init>(org.apache.hive.kudu.org.apache.kudu.client.Negotiator)>(v);
v.<org.apache.hive.kudu.org.apache.kudu.client.Negotiator: org.apache.hive.kudu.org.apache.kudu.client.Negotiator$SaslClientCallbackHandler saslCallback> = v;
v.<org.apache.hive.kudu.org.apache.kudu.client.Negotiator: org.apache.hive.kudu.org.apache.kudu.client.Negotiator$AuthnTokenNotUsedReason authnTokenNotUsedReason> = null;
v = <org.apache.hive.kudu.org.apache.kudu.client.Negotiator$State: org.apache.hive.kudu.org.apache.kudu.client.Negotiator$State INITIAL>;
v.<org.apache.hive.kudu.org.apache.kudu.client.Negotiator: org.apache.hive.kudu.org.apache.kudu.client.Negotiator$State state> = v;
v.<org.apache.hive.kudu.org.apache.kudu.client.Negotiator: java.lang.String remoteHostname> = v;
v.<org.apache.hive.kudu.org.apache.kudu.client.Negotiator: org.apache.hive.kudu.org.apache.kudu.client.SecurityContext securityContext> = v;
v = virtualinvoke v.<org.apache.hive.kudu.org.apache.kudu.client.SecurityContext: org.apache.hive.kudu.org.apache.kudu.security.Token$SignedTokenPB getAuthenticationToken()>();
if v == null goto label;
if v == 0 goto label;
v.<org.apache.hive.kudu.org.apache.kudu.client.Negotiator: org.apache.hive.kudu.org.apache.kudu.security.Token$SignedTokenPB authnToken> = null;
v = <org.apache.hive.kudu.org.apache.kudu.client.Negotiator$AuthnTokenNotUsedReason: org.apache.hive.kudu.org.apache.kudu.client.Negotiator$AuthnTokenNotUsedReason FORBIDDEN_BY_POLICY>;
v.<org.apache.hive.kudu.org.apache.kudu.client.Negotiator: org.apache.hive.kudu.org.apache.kudu.client.Negotiator$AuthnTokenNotUsedReason authnTokenNotUsedReason> = v;
goto label;
label:
v = virtualinvoke v.<org.apache.hive.kudu.org.apache.kudu.client.SecurityContext: boolean hasTrustedCerts()>();
if v != 0 goto label;
v.<org.apache.hive.kudu.org.apache.kudu.client.Negotiator: org.apache.hive.kudu.org.apache.kudu.security.Token$SignedTokenPB authnToken> = null;
v = <org.apache.hive.kudu.org.apache.kudu.client.Negotiator$AuthnTokenNotUsedReason: org.apache.hive.kudu.org.apache.kudu.client.Negotiator$AuthnTokenNotUsedReason NO_TRUSTED_CERTS>;
v.<org.apache.hive.kudu.org.apache.kudu.client.Negotiator: org.apache.hive.kudu.org.apache.kudu.client.Negotiator$AuthnTokenNotUsedReason authnTokenNotUsedReason> = v;
goto label;
label:
v.<org.apache.hive.kudu.org.apache.kudu.client.Negotiator: org.apache.hive.kudu.org.apache.kudu.security.Token$SignedTokenPB authnToken> = v;
goto label;
label:
v.<org.apache.hive.kudu.org.apache.kudu.client.Negotiator: org.apache.hive.kudu.org.apache.kudu.security.Token$SignedTokenPB authnToken> = null;
v = <org.apache.hive.kudu.org.apache.kudu.client.Negotiator$AuthnTokenNotUsedReason: org.apache.hive.kudu.org.apache.kudu.client.Negotiator$AuthnTokenNotUsedReason NONE_AVAILABLE>;
v.<org.apache.hive.kudu.org.apache.kudu.client.Negotiator: org.apache.hive.kudu.org.apache.kudu.client.Negotiator$AuthnTokenNotUsedReason authnTokenNotUsedReason> = v;
label:
return;
}
public void sendHello(org.apache.hive.kudu.org.apache.kudu.shaded.io.netty.channel.ChannelHandlerContext)
{
org.apache.hive.kudu.org.apache.kudu.client.Negotiator v;
org.apache.hive.kudu.org.apache.kudu.shaded.io.netty.channel.ChannelHandlerContext v;
v := @this: org.apache.hive.kudu.org.apache.kudu.client.Negotiator;
v := @parameter: org.apache.hive.kudu.org.apache.kudu.shaded.io.netty.channel.ChannelHandlerContext;
specialinvoke v.<org.apache.hive.kudu.org.apache.kudu.client.Negotiator: void sendNegotiateMessage(org.apache.hive.kudu.org.apache.kudu.shaded.io.netty.channel.ChannelHandlerContext)>(v);
return;
}
private void sendNegotiateMessage(org.apache.hive.kudu.org.apache.kudu.shaded.io.netty.channel.ChannelHandlerContext)
{
org.apache.hive.kudu.org.apache.kudu.rpc.RpcHeader$NegotiatePB v;
org.apache.hive.kudu.org.apache.kudu.shaded.com.google.common.collect.ImmutableSet v;
org.apache.hive.kudu.org.apache.kudu.rpc.RpcHeader$NegotiatePB$NegotiateStep v;
org.apache.hive.kudu.org.apache.kudu.rpc.RpcHeader$AuthenticationTypePB$Sasl v;
org.apache.hive.kudu.org.apache.kudu.rpc.RpcHeader$NegotiatePB$Builder v, v;
org.apache.hive.kudu.org.apache.kudu.rpc.RpcHeader$AuthenticationTypePB$Token v;
org.apache.hive.kudu.org.apache.kudu.shaded.io.netty.channel.ChannelHandlerContext v;
boolean v, v;
org.apache.hive.kudu.org.apache.kudu.client.Negotiator$State v;
org.apache.hive.kudu.org.apache.kudu.rpc.RpcHeader$RpcFeatureFlag v;
org.apache.hive.kudu.org.apache.kudu.shaded.io.netty.channel.Channel v;
org.apache.hive.kudu.org.apache.kudu.rpc.RpcHeader$AuthenticationTypePB$Builder v, v;
org.apache.hive.kudu.org.apache.kudu.client.Negotiator v;
org.apache.hive.kudu.org.apache.kudu.security.Token$SignedTokenPB v;
org.apache.hive.kudu.org.apache.kudu.shaded.com.google.common.collect.UnmodifiableIterator v;
java.lang.Object v;
v := @this: org.apache.hive.kudu.org.apache.kudu.client.Negotiator;
v := @parameter: org.apache.hive.kudu.org.apache.kudu.shaded.io.netty.channel.ChannelHandlerContext;
v = staticinvoke <org.apache.hive.kudu.org.apache.kudu.rpc.RpcHeader$NegotiatePB: org.apache.hive.kudu.org.apache.kudu.rpc.RpcHeader$NegotiatePB$Builder newBuilder()>();
v = <org.apache.hive.kudu.org.apache.kudu.rpc.RpcHeader$NegotiatePB$NegotiateStep: org.apache.hive.kudu.org.apache.kudu.rpc.RpcHeader$NegotiatePB$NegotiateStep NEGOTIATE>;
v = virtualinvoke v.<org.apache.hive.kudu.org.apache.kudu.rpc.RpcHeader$NegotiatePB$Builder: org.apache.hive.kudu.org.apache.kudu.rpc.RpcHeader$NegotiatePB$Builder setStep(org.apache.hive.kudu.org.apache.kudu.rpc.RpcHeader$NegotiatePB$NegotiateStep)>(v);
v = <org.apache.hive.kudu.org.apache.kudu.client.Negotiator: org.apache.hive.kudu.org.apache.kudu.shaded.com.google.common.collect.ImmutableSet SUPPORTED_RPC_FEATURES>;
v = virtualinvoke v.<org.apache.hive.kudu.org.apache.kudu.shaded.com.google.common.collect.ImmutableSet: org.apache.hive.kudu.org.apache.kudu.shaded.com.google.common.collect.UnmodifiableIterator iterator()>();
label:
v = interfaceinvoke v.<java.util.Iterator: boolean hasNext()>();
if v == 0 goto label;
v = interfaceinvoke v.<java.util.Iterator: java.lang.Object next()>();
virtualinvoke v.<org.apache.hive.kudu.org.apache.kudu.rpc.RpcHeader$NegotiatePB$Builder: org.apache.hive.kudu.org.apache.kudu.rpc.RpcHeader$NegotiatePB$Builder addSupportedFeatures(org.apache.hive.kudu.org.apache.kudu.rpc.RpcHeader$RpcFeatureFlag)>(v);
goto label;
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.Channel channel()>();
v = specialinvoke v.<org.apache.hive.kudu.org.apache.kudu.client.Negotiator: boolean isLoopbackConnection(org.apache.hive.kudu.org.apache.kudu.shaded.io.netty.channel.Channel)>(v);
if v == 0 goto label;
v = <org.apache.hive.kudu.org.apache.kudu.rpc.RpcHeader$RpcFeatureFlag: org.apache.hive.kudu.org.apache.kudu.rpc.RpcHeader$RpcFeatureFlag TLS_AUTHENTICATION_ONLY>;
virtualinvoke v.<org.apache.hive.kudu.org.apache.kudu.rpc.RpcHeader$NegotiatePB$Builder: org.apache.hive.kudu.org.apache.kudu.rpc.RpcHeader$NegotiatePB$Builder addSupportedFeatures(org.apache.hive.kudu.org.apache.kudu.rpc.RpcHeader$RpcFeatureFlag)>(v);
label:
v = virtualinvoke v.<org.apache.hive.kudu.org.apache.kudu.rpc.RpcHeader$NegotiatePB$Builder: org.apache.hive.kudu.org.apache.kudu.rpc.RpcHeader$AuthenticationTypePB$Builder addAuthnTypesBuilder()>();
v = staticinvoke <org.apache.hive.kudu.org.apache.kudu.rpc.RpcHeader$AuthenticationTypePB$Sasl: org.apache.hive.kudu.org.apache.kudu.rpc.RpcHeader$AuthenticationTypePB$Sasl getDefaultInstance()>();
virtualinvoke v.<org.apache.hive.kudu.org.apache.kudu.rpc.RpcHeader$AuthenticationTypePB$Builder: org.apache.hive.kudu.org.apache.kudu.rpc.RpcHeader$AuthenticationTypePB$Builder setSasl(org.apache.hive.kudu.org.apache.kudu.rpc.RpcHeader$AuthenticationTypePB$Sasl)>(v);
v = v.<org.apache.hive.kudu.org.apache.kudu.client.Negotiator: org.apache.hive.kudu.org.apache.kudu.security.Token$SignedTokenPB authnToken>;
if v == null goto label;
v = virtualinvoke v.<org.apache.hive.kudu.org.apache.kudu.rpc.RpcHeader$NegotiatePB$Builder: org.apache.hive.kudu.org.apache.kudu.rpc.RpcHeader$AuthenticationTypePB$Builder addAuthnTypesBuilder()>();
v = staticinvoke <org.apache.hive.kudu.org.apache.kudu.rpc.RpcHeader$AuthenticationTypePB$Token: org.apache.hive.kudu.org.apache.kudu.rpc.RpcHeader$AuthenticationTypePB$Token getDefaultInstance()>();
virtualinvoke v.<org.apache.hive.kudu.org.apache.kudu.rpc.RpcHeader$AuthenticationTypePB$Builder: org.apache.hive.kudu.org.apache.kudu.rpc.RpcHeader$AuthenticationTypePB$Builder setToken(org.apache.hive.kudu.org.apache.kudu.rpc.RpcHeader$AuthenticationTypePB$Token)>(v);
label:
v = <org.apache.hive.kudu.org.apache.kudu.client.Negotiator$State: org.apache.hive.kudu.org.apache.kudu.client.Negotiator$State AWAIT_NEGOTIATE>;
v.<org.apache.hive.kudu.org.apache.kudu.client.Negotiator: org.apache.hive.kudu.org.apache.kudu.client.Negotiator$State state> = v;
v = virtualinvoke v.<org.apache.hive.kudu.org.apache.kudu.rpc.RpcHeader$NegotiatePB$Builder: org.apache.hive.kudu.org.apache.kudu.rpc.RpcHeader$NegotiatePB build()>();
specialinvoke v.<org.apache.hive.kudu.org.apache.kudu.client.Negotiator: void sendSaslMessage(org.apache.hive.kudu.org.apache.kudu.shaded.io.netty.channel.ChannelHandlerContext,org.apache.hive.kudu.org.apache.kudu.rpc.RpcHeader$NegotiatePB)>(v, v);
return;
}
private void sendSaslMessage(org.apache.hive.kudu.org.apache.kudu.shaded.io.netty.channel.ChannelHandlerContext, org.apache.hive.kudu.org.apache.kudu.rpc.RpcHeader$NegotiatePB)
{
org.apache.hive.kudu.org.apache.kudu.rpc.RpcHeader$NegotiatePB v;
org.apache.hive.kudu.org.apache.kudu.shaded.io.netty.channel.ChannelPromise v;
org.apache.hive.kudu.org.apache.kudu.client.RpcOutboundMessage v;
int v;
org.apache.hive.kudu.org.apache.kudu.rpc.RpcHeader$RequestHeader$Builder v;
org.apache.hive.kudu.org.apache.kudu.client.Negotiator v;
org.apache.hive.kudu.org.apache.kudu.shaded.io.netty.channel.ChannelHandlerContext v;
v := @this: org.apache.hive.kudu.org.apache.kudu.client.Negotiator;
v := @parameter: org.apache.hive.kudu.org.apache.kudu.shaded.io.netty.channel.ChannelHandlerContext;
v := @parameter: org.apache.hive.kudu.org.apache.kudu.rpc.RpcHeader$NegotiatePB;
v = staticinvoke <org.apache.hive.kudu.org.apache.kudu.rpc.RpcHeader$RequestHeader: org.apache.hive.kudu.org.apache.kudu.rpc.RpcHeader$RequestHeader$Builder newBuilder()>();
v = (int) -33;
virtualinvoke v.<org.apache.hive.kudu.org.apache.kudu.rpc.RpcHeader$RequestHeader$Builder: org.apache.hive.kudu.org.apache.kudu.rpc.RpcHeader$RequestHeader$Builder setCallId(int)>(v);
v = new org.apache.hive.kudu.org.apache.kudu.client.RpcOutboundMessage;
specialinvoke v.<org.apache.hive.kudu.org.apache.kudu.client.RpcOutboundMessage: void <init>(org.apache.hive.kudu.org.apache.kudu.rpc.RpcHeader$RequestHeader$Builder,org.apache.hive.kudu.org.apache.kudu.shaded.com.google.protobuf.Message)>(v, v);
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.ChannelPromise voidPromise()>();
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.ChannelFuture writeAndFlush(java.lang.Object,org.apache.hive.kudu.org.apache.kudu.shaded.io.netty.channel.ChannelPromise)>(v, v);
return;
}
public void channelRead0(org.apache.hive.kudu.org.apache.kudu.shaded.io.netty.channel.ChannelHandlerContext, org.apache.hive.kudu.org.apache.kudu.client.CallResponse) throws java.io.IOException
{
org.apache.hive.kudu.org.apache.kudu.rpc.RpcHeader$NegotiatePB v;
java.lang.IllegalStateException v;
java.net.SocketAddress v;
org.apache.hive.kudu.org.apache.kudu.rpc.RpcHeader$ResponseHeader v;
org.apache.hive.kudu.org.apache.kudu.client.Negotiator$Failure v;
org.apache.hive.kudu.org.apache.kudu.client.CallResponse v;
org.apache.hive.kudu.org.apache.kudu.rpc.RpcHeader$ErrorStatusPB$Builder v;
int[] v;
int v, v;
java.lang.String v, v, v;
org.apache.hive.kudu.org.apache.kudu.shaded.io.netty.channel.ChannelHandlerContext v;
boolean v;
org.apache.hive.kudu.org.apache.kudu.client.Negotiator$State v, v, v;
org.apache.hive.kudu.org.apache.kudu.util.Slice v;
org.slf4j.Logger v;
org.apache.hive.kudu.org.apache.kudu.shaded.io.netty.channel.Channel v;
org.apache.hive.kudu.org.apache.kudu.client.Negotiator v;
org.apache.hive.kudu.org.apache.kudu.shaded.io.netty.channel.ChannelPipeline v;
org.apache.hive.kudu.org.apache.kudu.rpc.RpcHeader$ErrorStatusPB v;
v := @this: org.apache.hive.kudu.org.apache.kudu.client.Negotiator;
v := @parameter: org.apache.hive.kudu.org.apache.kudu.shaded.io.netty.channel.ChannelHandlerContext;
v := @parameter: org.apache.hive.kudu.org.apache.kudu.client.CallResponse;
v = virtualinvoke v.<org.apache.hive.kudu.org.apache.kudu.client.CallResponse: org.apache.hive.kudu.org.apache.kudu.rpc.RpcHeader$ResponseHeader getHeader()>();
v = virtualinvoke v.<org.apache.hive.kudu.org.apache.kudu.rpc.RpcHeader$ResponseHeader: boolean getIsError()>();
if v == 0 goto label;
v = staticinvoke <org.apache.hive.kudu.org.apache.kudu.rpc.RpcHeader$ErrorStatusPB: org.apache.hive.kudu.org.apache.kudu.rpc.RpcHeader$ErrorStatusPB$Builder newBuilder()>();
v = virtualinvoke v.<org.apache.hive.kudu.org.apache.kudu.client.CallResponse: org.apache.hive.kudu.org.apache.kudu.util.Slice getPBMessage()>();
staticinvoke <org.apache.hive.kudu.org.apache.kudu.client.KuduRpc: void readProtobuf(org.apache.hive.kudu.org.apache.kudu.util.Slice,org.apache.hive.kudu.org.apache.kudu.shaded.com.google.protobuf.Message$Builder)>(v, v);
v = virtualinvoke v.<org.apache.hive.kudu.org.apache.kudu.rpc.RpcHeader$ErrorStatusPB$Builder: org.apache.hive.kudu.org.apache.kudu.rpc.RpcHeader$ErrorStatusPB build()>();
v = <org.apache.hive.kudu.org.apache.kudu.client.Negotiator: org.slf4j.Logger LOG>;
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.Channel channel()>();
v = interfaceinvoke v.<org.apache.hive.kudu.org.apache.kudu.shaded.io.netty.channel.Channel: java.net.SocketAddress remoteAddress()>();
v = virtualinvoke v.<org.apache.hive.kudu.org.apache.kudu.rpc.RpcHeader$ErrorStatusPB: java.lang.String getMessage()>();
interfaceinvoke v.<org.slf4j.Logger: void debug(java.lang.String,java.lang.Object,java.lang.Object)>("peer {} sent connection negotiation error: {}", v, v);
v = <org.apache.hive.kudu.org.apache.kudu.client.Negotiator$State: org.apache.hive.kudu.org.apache.kudu.client.Negotiator$State FINISHED>;
v.<org.apache.hive.kudu.org.apache.kudu.client.Negotiator: org.apache.hive.kudu.org.apache.kudu.client.Negotiator$State state> = v;
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()>();
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.ChannelPipeline remove(org.apache.hive.kudu.org.apache.kudu.shaded.io.netty.channel.ChannelHandler)>(v);
v = new org.apache.hive.kudu.org.apache.kudu.client.Negotiator$Failure;
specialinvoke v.<org.apache.hive.kudu.org.apache.kudu.client.Negotiator$Failure: void <init>(org.apache.hive.kudu.org.apache.kudu.rpc.RpcHeader$ErrorStatusPB)>(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.ChannelHandlerContext fireChannelRead(java.lang.Object)>(v);
return;
label:
v = specialinvoke v.<org.apache.hive.kudu.org.apache.kudu.client.Negotiator: org.apache.hive.kudu.org.apache.kudu.rpc.RpcHeader$NegotiatePB parseSaslMsgResponse(org.apache.hive.kudu.org.apache.kudu.client.CallResponse)>(v);
v = <org.apache.hive.kudu.org.apache.kudu.client.Negotiator$2: int[] $SwitchMap$org$apache$kudu$client$Negotiator$State>;
v = v.<org.apache.hive.kudu.org.apache.kudu.client.Negotiator: org.apache.hive.kudu.org.apache.kudu.client.Negotiator$State state>;
v = virtualinvoke v.<org.apache.hive.kudu.org.apache.kudu.client.Negotiator$State: int ordinal()>();
v = v[v];
tableswitch(v)
{
case 1: goto label;
case 2: goto label;
case 3: goto label;
case 4: goto label;
default: goto label;
};
label:
specialinvoke v.<org.apache.hive.kudu.org.apache.kudu.client.Negotiator: void handleNegotiateResponse(org.apache.hive.kudu.org.apache.kudu.shaded.io.netty.channel.ChannelHandlerContext,org.apache.hive.kudu.org.apache.kudu.rpc.RpcHeader$NegotiatePB)>(v, v);
goto label;
label:
specialinvoke v.<org.apache.hive.kudu.org.apache.kudu.client.Negotiator: void handleSaslMessage(org.apache.hive.kudu.org.apache.kudu.shaded.io.netty.channel.ChannelHandlerContext,org.apache.hive.kudu.org.apache.kudu.rpc.RpcHeader$NegotiatePB)>(v, v);
goto label;
label:
specialinvoke v.<org.apache.hive.kudu.org.apache.kudu.client.Negotiator: void handleTokenExchangeResponse(org.apache.hive.kudu.org.apache.kudu.shaded.io.netty.channel.ChannelHandlerContext,org.apache.hive.kudu.org.apache.kudu.rpc.RpcHeader$NegotiatePB)>(v, v);
goto label;
label:
specialinvoke v.<org.apache.hive.kudu.org.apache.kudu.client.Negotiator: void handleTlsMessage(org.apache.hive.kudu.org.apache.kudu.shaded.io.netty.channel.ChannelHandlerContext,org.apache.hive.kudu.org.apache.kudu.rpc.RpcHeader$NegotiatePB)>(v, v);
goto label;
label:
v = new java.lang.IllegalStateException;
v = v.<org.apache.hive.kudu.org.apache.kudu.client.Negotiator: org.apache.hive.kudu.org.apache.kudu.client.Negotiator$State state>;
v = virtualinvoke v.<org.apache.hive.kudu.org.apache.kudu.client.Negotiator$State: java.lang.String toString()>();
v = dynamicinvoke "makeConcatWithConstants" <java.lang.String (java.lang.String)>(v) <java.lang.invoke.StringConcatFactory: java.lang.invoke.CallSite makeConcatWithConstants(java.lang.invoke.MethodHandles$Lookup,java.lang.String,java.lang.invoke.MethodType,java.lang.String,java.lang.Object[])>("received a message in unexpected state: \u0001");
specialinvoke v.<java.lang.IllegalStateException: void <init>(java.lang.String)>(v);
throw v;
label:
return;
}
private void handleSaslMessage(org.apache.hive.kudu.org.apache.kudu.shaded.io.netty.channel.ChannelHandlerContext, org.apache.hive.kudu.org.apache.kudu.rpc.RpcHeader$NegotiatePB) throws java.io.IOException
{
org.apache.hive.kudu.org.apache.kudu.rpc.RpcHeader$NegotiatePB v;
java.lang.IllegalStateException v;
org.apache.hive.kudu.org.apache.kudu.rpc.RpcHeader$NegotiatePB$NegotiateStep v, v;
org.apache.hive.kudu.org.apache.kudu.client.Negotiator v;
int[] v;
int v, v;
java.lang.String v;
org.apache.hive.kudu.org.apache.kudu.shaded.io.netty.channel.ChannelHandlerContext v;
v := @this: org.apache.hive.kudu.org.apache.kudu.client.Negotiator;
v := @parameter: org.apache.hive.kudu.org.apache.kudu.shaded.io.netty.channel.ChannelHandlerContext;
v := @parameter: org.apache.hive.kudu.org.apache.kudu.rpc.RpcHeader$NegotiatePB;
v = <org.apache.hive.kudu.org.apache.kudu.client.Negotiator$2: int[] $SwitchMap$org$apache$kudu$rpc$RpcHeader$NegotiatePB$NegotiateStep>;
v = virtualinvoke v.<org.apache.hive.kudu.org.apache.kudu.rpc.RpcHeader$NegotiatePB: org.apache.hive.kudu.org.apache.kudu.rpc.RpcHeader$NegotiatePB$NegotiateStep getStep()>();
v = virtualinvoke v.<org.apache.hive.kudu.org.apache.kudu.rpc.RpcHeader$NegotiatePB$NegotiateStep: int ordinal()>();
v = v[v];
lookupswitch(v)
{
case 1: goto label;
case 2: goto label;
default: goto label;
};
label:
specialinvoke v.<org.apache.hive.kudu.org.apache.kudu.client.Negotiator: void handleChallengeResponse(org.apache.hive.kudu.org.apache.kudu.shaded.io.netty.channel.ChannelHandlerContext,org.apache.hive.kudu.org.apache.kudu.rpc.RpcHeader$NegotiatePB)>(v, v);
goto label;
label:
specialinvoke v.<org.apache.hive.kudu.org.apache.kudu.client.Negotiator: void handleSuccessResponse(org.apache.hive.kudu.org.apache.kudu.shaded.io.netty.channel.ChannelHandlerContext,org.apache.hive.kudu.org.apache.kudu.rpc.RpcHeader$NegotiatePB)>(v, v);
goto label;
label:
v = new java.lang.IllegalStateException;
v = virtualinvoke v.<org.apache.hive.kudu.org.apache.kudu.rpc.RpcHeader$NegotiatePB: org.apache.hive.kudu.org.apache.kudu.rpc.RpcHeader$NegotiatePB$NegotiateStep getStep()>();
v = dynamicinvoke "makeConcatWithConstants" <java.lang.String (org.apache.hive.kudu.org.apache.kudu.rpc.RpcHeader$NegotiatePB$NegotiateStep)>(v) <java.lang.invoke.StringConcatFactory: java.lang.invoke.CallSite makeConcatWithConstants(java.lang.invoke.MethodHandles$Lookup,java.lang.String,java.lang.invoke.MethodType,java.lang.String,java.lang.Object[])>("Wrong negotiation step: \u0001");
specialinvoke v.<java.lang.IllegalStateException: void <init>(java.lang.String)>(v);
throw v;
label:
return;
}
private org.apache.hive.kudu.org.apache.kudu.rpc.RpcHeader$NegotiatePB parseSaslMsgResponse(org.apache.hive.kudu.org.apache.kudu.client.CallResponse)
{
org.apache.hive.kudu.org.apache.kudu.rpc.RpcHeader$NegotiatePB v;
org.apache.hive.kudu.org.apache.kudu.util.Slice v;
java.lang.IllegalStateException v;
org.apache.hive.kudu.org.apache.kudu.rpc.RpcHeader$ResponseHeader v;
org.apache.hive.kudu.org.apache.kudu.client.CallResponse v;
org.apache.hive.kudu.org.apache.kudu.client.Negotiator v;
org.apache.hive.kudu.org.apache.kudu.rpc.RpcHeader$NegotiatePB$Builder v;
int v, v;
v := @this: org.apache.hive.kudu.org.apache.kudu.client.Negotiator;
v := @parameter: org.apache.hive.kudu.org.apache.kudu.client.CallResponse;
v = virtualinvoke v.<org.apache.hive.kudu.org.apache.kudu.client.CallResponse: org.apache.hive.kudu.org.apache.kudu.rpc.RpcHeader$ResponseHeader getHeader()>();
v = virtualinvoke v.<org.apache.hive.kudu.org.apache.kudu.rpc.RpcHeader$ResponseHeader: int getCallId()>();
v = (int) -33;
if v == v goto label;
v = new java.lang.IllegalStateException;
specialinvoke v.<java.lang.IllegalStateException: void <init>(java.lang.String)>("Received a call that wasn\'t for SASL");
throw v;
label:
v = staticinvoke <org.apache.hive.kudu.org.apache.kudu.rpc.RpcHeader$NegotiatePB: org.apache.hive.kudu.org.apache.kudu.rpc.RpcHeader$NegotiatePB$Builder newBuilder()>();
v = virtualinvoke v.<org.apache.hive.kudu.org.apache.kudu.client.CallResponse: org.apache.hive.kudu.org.apache.kudu.util.Slice getPBMessage()>();
staticinvoke <org.apache.hive.kudu.org.apache.kudu.client.KuduRpc: void readProtobuf(org.apache.hive.kudu.org.apache.kudu.util.Slice,org.apache.hive.kudu.org.apache.kudu.shaded.com.google.protobuf.Message$Builder)>(v, v);
v = virtualinvoke v.<org.apache.hive.kudu.org.apache.kudu.rpc.RpcHeader$NegotiatePB$Builder: org.apache.hive.kudu.org.apache.kudu.rpc.RpcHeader$NegotiatePB build()>();
return v;
}
private void handleNegotiateResponse(org.apache.hive.kudu.org.apache.kudu.shaded.io.netty.channel.ChannelHandlerContext, org.apache.hive.kudu.org.apache.kudu.rpc.RpcHeader$NegotiatePB) throws java.io.IOException
{
org.apache.hive.kudu.org.apache.kudu.rpc.RpcHeader$NegotiatePB v;
org.apache.hive.kudu.org.apache.kudu.rpc.RpcHeader$RpcFeatureFlag v;
org.apache.hive.kudu.org.apache.kudu.rpc.RpcHeader$NegotiatePB$NegotiateStep v, v, v;
java.util.Set v, v;
org.apache.hive.kudu.org.apache.kudu.client.Negotiator v;
org.apache.hive.kudu.org.apache.kudu.rpc.RpcHeader$AuthenticationTypePB$TypeCase v, v, v;
org.apache.hive.kudu.org.apache.kudu.shaded.io.netty.channel.ChannelHandlerContext v;
boolean v, v;
v := @this: org.apache.hive.kudu.org.apache.kudu.client.Negotiator;
v := @parameter: org.apache.hive.kudu.org.apache.kudu.shaded.io.netty.channel.ChannelHandlerContext;
v := @parameter: org.apache.hive.kudu.org.apache.kudu.rpc.RpcHeader$NegotiatePB;
v = virtualinvoke v.<org.apache.hive.kudu.org.apache.kudu.rpc.RpcHeader$NegotiatePB: org.apache.hive.kudu.org.apache.kudu.rpc.RpcHeader$NegotiatePB$NegotiateStep getStep()>();
v = <org.apache.hive.kudu.org.apache.kudu.rpc.RpcHeader$NegotiatePB$NegotiateStep: org.apache.hive.kudu.org.apache.kudu.rpc.RpcHeader$NegotiatePB$NegotiateStep NEGOTIATE>;
if v != v goto label;
v = 1;
goto label;
label:
v = 0;
label:
v = virtualinvoke v.<org.apache.hive.kudu.org.apache.kudu.rpc.RpcHeader$NegotiatePB: org.apache.hive.kudu.org.apache.kudu.rpc.RpcHeader$NegotiatePB$NegotiateStep getStep()>();
staticinvoke <org.apache.hive.kudu.org.apache.kudu.shaded.com.google.common.base.Preconditions: void checkState(boolean,java.lang.String,java.lang.Object)>(v, "Expected NEGOTIATE message, got {}", v);
v = specialinvoke v.<org.apache.hive.kudu.org.apache.kudu.client.Negotiator: java.util.Set getFeatureFlags(org.apache.hive.kudu.org.apache.kudu.rpc.RpcHeader$NegotiatePB)>(v);
v.<org.apache.hive.kudu.org.apache.kudu.client.Negotiator: java.util.Set serverFeatures> = v;
v = v.<org.apache.hive.kudu.org.apache.kudu.client.Negotiator: java.util.Set serverFeatures>;
v = <org.apache.hive.kudu.org.apache.kudu.rpc.RpcHeader$RpcFeatureFlag: org.apache.hive.kudu.org.apache.kudu.rpc.RpcHeader$RpcFeatureFlag TLS>;
v = interfaceinvoke v.<java.util.Set: boolean contains(java.lang.Object)>(v);
v = specialinvoke v.<org.apache.hive.kudu.org.apache.kudu.client.Negotiator: org.apache.hive.kudu.org.apache.kudu.rpc.RpcHeader$AuthenticationTypePB$TypeCase chooseAuthenticationType(org.apache.hive.kudu.org.apache.kudu.rpc.RpcHeader$NegotiatePB)>(v);
v.<org.apache.hive.kudu.org.apache.kudu.client.Negotiator: org.apache.hive.kudu.org.apache.kudu.rpc.RpcHeader$AuthenticationTypePB$TypeCase chosenAuthnType> = v;
v = v.<org.apache.hive.kudu.org.apache.kudu.client.Negotiator: org.apache.hive.kudu.org.apache.kudu.rpc.RpcHeader$AuthenticationTypePB$TypeCase chosenAuthnType>;
v = <org.apache.hive.kudu.org.apache.kudu.rpc.RpcHeader$AuthenticationTypePB$TypeCase: org.apache.hive.kudu.org.apache.kudu.rpc.RpcHeader$AuthenticationTypePB$TypeCase SASL>;
if v != v goto label;
specialinvoke v.<org.apache.hive.kudu.org.apache.kudu.client.Negotiator: void chooseAndInitializeSaslMech(org.apache.hive.kudu.org.apache.kudu.rpc.RpcHeader$NegotiatePB)>(v);
label:
if v == 0 goto label;
specialinvoke v.<org.apache.hive.kudu.org.apache.kudu.client.Negotiator: void startTlsHandshake(org.apache.hive.kudu.org.apache.kudu.shaded.io.netty.channel.ChannelHandlerContext)>(v);
goto label;
label:
specialinvoke v.<org.apache.hive.kudu.org.apache.kudu.client.Negotiator: void startAuthentication(org.apache.hive.kudu.org.apache.kudu.shaded.io.netty.channel.ChannelHandlerContext)>(v);
label:
return;
}
private boolean isLoopbackConnection(org.apache.hive.kudu.org.apache.kudu.shaded.io.netty.channel.Channel)
{
java.net.SocketAddress v, v;
org.apache.hive.kudu.org.apache.kudu.shaded.io.netty.channel.Channel v;
java.lang.ClassCastException v;
org.apache.hive.kudu.org.apache.kudu.client.Negotiator v;
java.net.InetAddress v, v;
boolean v, v;
v := @this: org.apache.hive.kudu.org.apache.kudu.client.Negotiator;
v := @parameter: org.apache.hive.kudu.org.apache.kudu.shaded.io.netty.channel.Channel;
v = v.<org.apache.hive.kudu.org.apache.kudu.client.Negotiator: boolean overrideLoopbackForTests>;
if v == 0 goto label;
return 1;
label:
v = interfaceinvoke v.<org.apache.hive.kudu.org.apache.kudu.shaded.io.netty.channel.Channel: java.net.SocketAddress localAddress()>();
v = virtualinvoke v.<java.net.InetSocketAddress: java.net.InetAddress getAddress()>();
v = interfaceinvoke v.<org.apache.hive.kudu.org.apache.kudu.shaded.io.netty.channel.Channel: java.net.SocketAddress remoteAddress()>();
v = virtualinvoke v.<java.net.InetSocketAddress: java.net.InetAddress getAddress()>();
v = virtualinvoke v.<java.net.InetAddress: boolean equals(java.lang.Object)>(v);
label:
return v;
label:
v := @caughtexception;
return 0;
catch java.lang.ClassCastException from label to label with label;
}
private void chooseAndInitializeSaslMech(org.apache.hive.kudu.org.apache.kudu.rpc.RpcHeader$NegotiatePB) throws org.apache.hive.kudu.org.apache.kudu.client.KuduException
{
org.apache.hive.kudu.org.apache.kudu.client.Negotiator$SaslMechanism[] v;
org.apache.hive.kudu.org.apache.kudu.client.SecurityContext v, v;
javax.security.sasl.SaslException v;
javax.security.sasl.SaslClient v;
byte v;
org.apache.hive.kudu.org.apache.kudu.shaded.com.google.common.base.Joiner v;
java.util.Set v;
org.apache.hive.kudu.org.apache.kudu.client.Negotiator v;
org.apache.hive.kudu.org.apache.kudu.client.Negotiator$SaslMechanism v, v, v, v, v, v, v, v, v;
org.apache.hive.kudu.org.apache.kudu.rpc.RpcHeader$NegotiatePB v;
java.lang.String v, v, v, v, v, v, v, v, v, v, v, v, v, v, v, v;
org.apache.hive.kudu.org.apache.kudu.client.NonRecoverableException v;
org.apache.hive.kudu.org.apache.kudu.shaded.com.google.common.base.Joiner$MapJoiner v;
org.apache.hive.kudu.org.apache.kudu.client.Negotiator$AuthnTokenNotUsedReason v, v;
java.util.Locale v;
boolean v, v, v, v, v, v, v, v;
org.apache.hive.kudu.org.apache.kudu.client.Negotiator$SaslClientCallbackHandler v;
java.util.List v;
java.lang.String[] v;
java.util.HashMap v, v;
java.util.HashSet v;
int v, v, v, v;
org.slf4j.Logger v;
java.util.Iterator v;
org.apache.hive.kudu.org.apache.kudu.client.Status v, v;
javax.security.auth.Subject v;
org.apache.hive.kudu.org.apache.kudu.security.Token$SignedTokenPB v;
org.apache.hive.kudu.org.apache.kudu.client.RecoverableException v;
java.lang.Object v, v;
v := @this: org.apache.hive.kudu.org.apache.kudu.client.Negotiator;
v := @parameter: org.apache.hive.kudu.org.apache.kudu.rpc.RpcHeader$NegotiatePB;
v = v.<org.apache.hive.kudu.org.apache.kudu.client.Negotiator: org.apache.hive.kudu.org.apache.kudu.client.SecurityContext securityContext>;
virtualinvoke v.<org.apache.hive.kudu.org.apache.kudu.client.SecurityContext: void refreshSubject()>();
v = staticinvoke <org.apache.hive.kudu.org.apache.kudu.shaded.com.google.common.collect.Maps: java.util.HashMap newHashMap()>();
v = staticinvoke <org.apache.hive.kudu.org.apache.kudu.shaded.com.google.common.collect.Sets: java.util.HashSet newHashSet()>();
v = virtualinvoke v.<org.apache.hive.kudu.org.apache.kudu.rpc.RpcHeader$NegotiatePB: java.util.List getSaslMechanismsList()>();
v = interfaceinvoke v.<java.util.List: java.util.Iterator iterator()>();
label:
v = interfaceinvoke v.<java.util.Iterator: boolean hasNext()>();
if v == 0 goto label;
v = interfaceinvoke v.<java.util.Iterator: java.lang.Object next()>();
v = virtualinvoke v.<org.apache.hive.kudu.org.apache.kudu.rpc.RpcHeader$NegotiatePB$SaslMechanism: java.lang.String getMechanism()>();
v = <java.util.Locale: java.util.Locale ENGLISH>;
v = virtualinvoke v.<java.lang.String: java.lang.String toUpperCase(java.util.Locale)>(v);
v = -1;
v = virtualinvoke v.<java.lang.String: int hashCode()>();
lookupswitch(v)
{
case 76210602: goto label;
case 2111859635: goto label;
default: goto label;
};
label:
v = virtualinvoke v.<java.lang.String: boolean equals(java.lang.Object)>("GSSAPI");
if v == 0 goto label;
v = 0;
goto label;
label:
v = virtualinvoke v.<java.lang.String: boolean equals(java.lang.Object)>("PLAIN");
if v == 0 goto label;
v = 1;
label:
lookupswitch(v)
{
case 0: goto label;
case 1: goto label;
default: goto label;
};
label:
v = <org.apache.hive.kudu.org.apache.kudu.client.Negotiator$SaslMechanism: org.apache.hive.kudu.org.apache.kudu.client.Negotiator$SaslMechanism GSSAPI>;
interfaceinvoke v.<java.util.Set: boolean add(java.lang.Object)>(v);
goto label;
label:
v = <org.apache.hive.kudu.org.apache.kudu.client.Negotiator$SaslMechanism: org.apache.hive.kudu.org.apache.kudu.client.Negotiator$SaslMechanism PLAIN>;
interfaceinvoke v.<java.util.Set: boolean add(java.lang.Object)>(v);
goto label;
label:
v = virtualinvoke v.<org.apache.hive.kudu.org.apache.kudu.rpc.RpcHeader$NegotiatePB$SaslMechanism: java.lang.String getMechanism()>();
interfaceinvoke v.<java.util.Map: java.lang.Object put(java.lang.Object,java.lang.Object)>(v, "unrecognized mechanism");
goto label;
label:
v = staticinvoke <org.apache.hive.kudu.org.apache.kudu.client.Negotiator$SaslMechanism: org.apache.hive.kudu.org.apache.kudu.client.Negotiator$SaslMechanism[] values()>();
v = lengthof v;
v = 0;
label:
if v >= v goto label;
v = v[v];
v = <org.apache.hive.kudu.org.apache.kudu.client.Negotiator$SaslMechanism: org.apache.hive.kudu.org.apache.kudu.client.Negotiator$SaslMechanism GSSAPI>;
v = virtualinvoke v.<org.apache.hive.kudu.org.apache.kudu.client.Negotiator$SaslMechanism: boolean equals(java.lang.Object)>(v);
if v == 0 goto label;
v = v.<org.apache.hive.kudu.org.apache.kudu.client.Negotiator: org.apache.hive.kudu.org.apache.kudu.client.SecurityContext securityContext>;
v = virtualinvoke v.<org.apache.hive.kudu.org.apache.kudu.client.SecurityContext: javax.security.auth.Subject getSubject()>();
if v == null goto label;
v = virtualinvoke v.<javax.security.auth.Subject: java.util.Set getPrivateCredentials(java.lang.Class)>(class "Ljavax/security/auth/kerberos/KerberosTicket;");
v = interfaceinvoke v.<java.util.Set: boolean isEmpty()>();
if v == 0 goto label;
label:
v = virtualinvoke v.<org.apache.hive.kudu.org.apache.kudu.client.Negotiator$SaslMechanism: java.lang.String name()>();
interfaceinvoke v.<java.util.Map: java.lang.Object put(java.lang.Object,java.lang.Object)>(v, "client does not have Kerberos credentials (tgt)");
goto label;
label:
v = staticinvoke <org.apache.hive.kudu.org.apache.kudu.util.SecurityUtil: boolean isTgtExpired(javax.security.auth.Subject)>(v);
if v == 0 goto label;
v = virtualinvoke v.<org.apache.hive.kudu.org.apache.kudu.client.Negotiator$SaslMechanism: java.lang.String name()>();
interfaceinvoke v.<java.util.Map: java.lang.Object put(java.lang.Object,java.lang.Object)>(v, "client Kerberos credentials (TGT) have expired");
goto label;
label:
v = interfaceinvoke v.<java.util.Set: boolean contains(java.lang.Object)>(v);
if v != 0 goto label;
v = virtualinvoke v.<org.apache.hive.kudu.org.apache.kudu.client.Negotiator$SaslMechanism: java.lang.String name()>();
interfaceinvoke v.<java.util.Map: java.lang.Object put(java.lang.Object,java.lang.Object)>(v, "not advertised by server");
goto label;
label:
v = staticinvoke <org.apache.hive.kudu.org.apache.kudu.shaded.com.google.common.collect.Maps: java.util.HashMap newHashMap()>();
v = <org.apache.hive.kudu.org.apache.kudu.client.Negotiator$SaslMechanism: org.apache.hive.kudu.org.apache.kudu.client.Negotiator$SaslMechanism GSSAPI>;
if v != v goto label;
interfaceinvoke v.<java.util.Map: java.lang.Object put(java.lang.Object,java.lang.Object)>("javax.security.sasl.qop", "auth-int");
label:
v = newarray (java.lang.String)[1];
v = virtualinvoke v.<org.apache.hive.kudu.org.apache.kudu.client.Negotiator$SaslMechanism: java.lang.String name()>();
v[0] = v;
v = v.<org.apache.hive.kudu.org.apache.kudu.client.Negotiator: java.lang.String remoteHostname>;
v = v.<org.apache.hive.kudu.org.apache.kudu.client.Negotiator: org.apache.hive.kudu.org.apache.kudu.client.Negotiator$SaslClientCallbackHandler saslCallback>;
v = staticinvoke <javax.security.sasl.Sasl: javax.security.sasl.SaslClient createSaslClient(java.lang.String[],java.lang.String,java.lang.String,java.lang.String,java.util.Map,javax.security.auth.callback.CallbackHandler)>(v, null, "kudu", v, v, v);
v.<org.apache.hive.kudu.org.apache.kudu.client.Negotiator: javax.security.sasl.SaslClient saslClient> = v;
v.<org.apache.hive.kudu.org.apache.kudu.client.Negotiator: org.apache.hive.kudu.org.apache.kudu.client.Negotiator$SaslMechanism chosenMech> = v;
label:
goto label;
label:
v := @caughtexception;
v = virtualinvoke v.<org.apache.hive.kudu.org.apache.kudu.client.Negotiator$SaslMechanism: java.lang.String name()>();
v = virtualinvoke v.<javax.security.sasl.SaslException: java.lang.String getMessage()>();
interfaceinvoke v.<java.util.Map: java.lang.Object put(java.lang.Object,java.lang.Object)>(v, v);
label:
v = v + 1;
goto label;
label:
v = v.<org.apache.hive.kudu.org.apache.kudu.client.Negotiator: org.apache.hive.kudu.org.apache.kudu.client.Negotiator$SaslMechanism chosenMech>;
if v == null goto label;
v = <org.apache.hive.kudu.org.apache.kudu.client.Negotiator: org.slf4j.Logger LOG>;
v = v.<org.apache.hive.kudu.org.apache.kudu.client.Negotiator: org.apache.hive.kudu.org.apache.kudu.client.Negotiator$SaslMechanism chosenMech>;
v = virtualinvoke v.<org.apache.hive.kudu.org.apache.kudu.client.Negotiator$SaslMechanism: java.lang.String name()>();
v = v.<org.apache.hive.kudu.org.apache.kudu.client.Negotiator: java.lang.String remoteHostname>;
interfaceinvoke v.<org.slf4j.Logger: void debug(java.lang.String,java.lang.Object,java.lang.Object)>("SASL mechanism {} chosen for peer {}", v, v);
return;
label:
v = interfaceinvoke v.<java.util.Set: int size()>();
if v != 1 goto label;
v = <org.apache.hive.kudu.org.apache.kudu.client.Negotiator$SaslMechanism: org.apache.hive.kudu.org.apache.kudu.client.Negotiator$SaslMechanism GSSAPI>;
v = interfaceinvoke v.<java.util.Set: boolean contains(java.lang.Object)>(v);
if v == 0 goto label;
v = <org.apache.hive.kudu.org.apache.kudu.client.Negotiator$SaslMechanism: org.apache.hive.kudu.org.apache.kudu.client.Negotiator$SaslMechanism GSSAPI>;
v = virtualinvoke v.<org.apache.hive.kudu.org.apache.kudu.client.Negotiator$SaslMechanism: java.lang.String name()>();
v = interfaceinvoke v.<java.util.Map: java.lang.Object get(java.lang.Object)>(v);
v = dynamicinvoke "makeConcatWithConstants" <java.lang.String (java.lang.Object)>(v) <java.lang.invoke.StringConcatFactory: java.lang.invoke.CallSite makeConcatWithConstants(java.lang.invoke.MethodHandles$Lookup,java.lang.String,java.lang.invoke.MethodType,java.lang.String,java.lang.Object[])>("server requires authentication, but \u0001");
goto label;
label:
v = staticinvoke <org.apache.hive.kudu.org.apache.kudu.shaded.com.google.common.base.Joiner: org.apache.hive.kudu.org.apache.kudu.shaded.com.google.common.base.Joiner on(java.lang.String)>(", ");
v = virtualinvoke v.<org.apache.hive.kudu.org.apache.kudu.shaded.com.google.common.base.Joiner: org.apache.hive.kudu.org.apache.kudu.shaded.com.google.common.base.Joiner$MapJoiner withKeyValueSeparator(java.lang.String)>(": ");
v = virtualinvoke v.<org.apache.hive.kudu.org.apache.kudu.shaded.com.google.common.base.Joiner$MapJoiner: java.lang.String join(java.util.Map)>(v);
v = dynamicinvoke "makeConcatWithConstants" <java.lang.String (java.lang.String)>(v) <java.lang.invoke.StringConcatFactory: java.lang.invoke.CallSite makeConcatWithConstants(java.lang.invoke.MethodHandles$Lookup,java.lang.String,java.lang.invoke.MethodType,java.lang.String,java.lang.Object[])>("client/server supported SASL mechanism mismatch: [\u]");
label:
v = v.<org.apache.hive.kudu.org.apache.kudu.client.Negotiator: org.apache.hive.kudu.org.apache.kudu.client.Negotiator$AuthnTokenNotUsedReason authnTokenNotUsedReason>;
if v == null goto label;
v = v.<org.apache.hive.kudu.org.apache.kudu.client.Negotiator: org.apache.hive.kudu.org.apache.kudu.client.Negotiator$AuthnTokenNotUsedReason authnTokenNotUsedReason>;
v = v.<org.apache.hive.kudu.org.apache.kudu.client.Negotiator$AuthnTokenNotUsedReason: java.lang.String msg>;
v = dynamicinvoke "makeConcatWithConstants" <java.lang.String (java.lang.String,java.lang.String)>(v, v) <java.lang.invoke.StringConcatFactory: java.lang.invoke.CallSite makeConcatWithConstants(java.lang.invoke.MethodHandles$Lookup,java.lang.String,java.lang.invoke.MethodType,java.lang.String,java.lang.Object[])>("\u. Authentication tokens were not used because \u0001");
label:
v = v.<org.apache.hive.kudu.org.apache.kudu.client.Negotiator: org.apache.hive.kudu.org.apache.kudu.security.Token$SignedTokenPB authnToken>;
if v == null goto label;
v = new org.apache.hive.kudu.org.apache.kudu.client.RecoverableException;
v = staticinvoke <org.apache.hive.kudu.org.apache.kudu.client.Status: org.apache.hive.kudu.org.apache.kudu.client.Status NotAuthorized(java.lang.String)>(v);
specialinvoke v.<org.apache.hive.kudu.org.apache.kudu.client.RecoverableException: void <init>(org.apache.hive.kudu.org.apache.kudu.client.Status)>(v);
throw v;
label:
v = new org.apache.hive.kudu.org.apache.kudu.client.NonRecoverableException;
v = staticinvoke <org.apache.hive.kudu.org.apache.kudu.client.Status: org.apache.hive.kudu.org.apache.kudu.client.Status NotAuthorized(java.lang.String)>(v);
specialinvoke v.<org.apache.hive.kudu.org.apache.kudu.client.NonRecoverableException: void <init>(org.apache.hive.kudu.org.apache.kudu.client.Status)>(v);
throw v;
catch javax.security.sasl.SaslException from label to label with label;
}
private org.apache.hive.kudu.org.apache.kudu.rpc.RpcHeader$AuthenticationTypePB$TypeCase chooseAuthenticationType(org.apache.hive.kudu.org.apache.kudu.rpc.RpcHeader$NegotiatePB)
{
org.apache.hive.kudu.org.apache.kudu.rpc.RpcHeader$NegotiatePB v;
org.apache.hive.kudu.org.apache.kudu.client.Negotiator$AuthnTokenNotUsedReason v;
int[] v;
int v, v, v, v;
java.lang.String v;
boolean v;
java.lang.IllegalArgumentException v, v;
org.apache.hive.kudu.org.apache.kudu.client.Negotiator v;
org.apache.hive.kudu.org.apache.kudu.security.Token$SignedTokenPB v, v;
org.apache.hive.kudu.org.apache.kudu.rpc.RpcHeader$AuthenticationTypePB$TypeCase v, v, v;
org.apache.hive.kudu.org.apache.kudu.rpc.RpcHeader$AuthenticationTypePB v;
v := @this: org.apache.hive.kudu.org.apache.kudu.client.Negotiator;
v := @parameter: org.apache.hive.kudu.org.apache.kudu.rpc.RpcHeader$NegotiatePB;
v = virtualinvoke v.<org.apache.hive.kudu.org.apache.kudu.rpc.RpcHeader$NegotiatePB: int getAuthnTypesCount()>();
if v > 1 goto label;
v = 1;
goto label;
label:
v = 0;
label:
staticinvoke <org.apache.hive.kudu.org.apache.kudu.shaded.com.google.common.base.Preconditions: void checkArgument(boolean,java.lang.Object)>(v, "Expected server to reply with at most one authn type");
v = virtualinvoke v.<org.apache.hive.kudu.org.apache.kudu.rpc.RpcHeader$NegotiatePB: int getAuthnTypesCount()>();
if v != 0 goto label;
v = <org.apache.hive.kudu.org.apache.kudu.rpc.RpcHeader$AuthenticationTypePB$TypeCase: org.apache.hive.kudu.org.apache.kudu.rpc.RpcHeader$AuthenticationTypePB$TypeCase SASL>;
return v;
label:
v = virtualinvoke v.<org.apache.hive.kudu.org.apache.kudu.rpc.RpcHeader$NegotiatePB: org.apache.hive.kudu.org.apache.kudu.rpc.RpcHeader$AuthenticationTypePB getAuthnTypes(int)>(0);
v = virtualinvoke v.<org.apache.hive.kudu.org.apache.kudu.rpc.RpcHeader$AuthenticationTypePB: org.apache.hive.kudu.org.apache.kudu.rpc.RpcHeader$AuthenticationTypePB$TypeCase getTypeCase()>();
v = <org.apache.hive.kudu.org.apache.kudu.client.Negotiator$2: int[] $SwitchMap$org$apache$kudu$rpc$RpcHeader$AuthenticationTypePB$TypeCase>;
v = virtualinvoke v.<org.apache.hive.kudu.org.apache.kudu.rpc.RpcHeader$AuthenticationTypePB$TypeCase: int ordinal()>();
v = v[v];
lookupswitch(v)
{
case 1: goto label;
case 2: goto label;
default: goto label;
};
label:
v = v.<org.apache.hive.kudu.org.apache.kudu.client.Negotiator: org.apache.hive.kudu.org.apache.kudu.security.Token$SignedTokenPB authnToken>;
if v == null goto label;
v = <org.apache.hive.kudu.org.apache.kudu.client.Negotiator$AuthnTokenNotUsedReason: org.apache.hive.kudu.org.apache.kudu.client.Negotiator$AuthnTokenNotUsedReason NOT_CHOSEN_BY_SERVER>;
v.<org.apache.hive.kudu.org.apache.kudu.client.Negotiator: org.apache.hive.kudu.org.apache.kudu.client.Negotiator$AuthnTokenNotUsedReason authnTokenNotUsedReason> = v;
goto label;
label:
v = v.<org.apache.hive.kudu.org.apache.kudu.client.Negotiator: org.apache.hive.kudu.org.apache.kudu.security.Token$SignedTokenPB authnToken>;
if v != null goto label;
v = new java.lang.IllegalArgumentException;
specialinvoke v.<java.lang.IllegalArgumentException: void <init>(java.lang.String)>("server chose token authentication but client had no valid token");
throw v;
label:
v = new java.lang.IllegalArgumentException;
v = v.<org.apache.hive.kudu.org.apache.kudu.client.Negotiator: org.apache.hive.kudu.org.apache.kudu.rpc.RpcHeader$AuthenticationTypePB$TypeCase chosenAuthnType>;
v = dynamicinvoke "makeConcatWithConstants" <java.lang.String (org.apache.hive.kudu.org.apache.kudu.rpc.RpcHeader$AuthenticationTypePB$TypeCase)>(v) <java.lang.invoke.StringConcatFactory: java.lang.invoke.CallSite makeConcatWithConstants(java.lang.invoke.MethodHandles$Lookup,java.lang.String,java.lang.invoke.MethodType,java.lang.String,java.lang.Object[])>("server chose bad authn type \u0001");
specialinvoke v.<java.lang.IllegalArgumentException: void <init>(java.lang.String)>(v);
throw v;
label:
return v;
}
private java.util.Set getFeatureFlags(org.apache.hive.kudu.org.apache.kudu.rpc.RpcHeader$NegotiatePB)
{
org.apache.hive.kudu.org.apache.kudu.rpc.RpcHeader$NegotiatePB v;
org.apache.hive.kudu.org.apache.kudu.rpc.RpcHeader$RpcFeatureFlag v;
java.util.Iterator v;
org.apache.hive.kudu.org.apache.kudu.shaded.com.google.common.collect.ImmutableSet v;
org.apache.hive.kudu.org.apache.kudu.client.Negotiator v;
org.apache.hive.kudu.org.apache.kudu.shaded.com.google.common.collect.ImmutableSet$Builder v;
java.util.List v;
java.lang.Object v;
boolean v;
v := @this: org.apache.hive.kudu.org.apache.kudu.client.Negotiator;
v := @parameter: org.apache.hive.kudu.org.apache.kudu.rpc.RpcHeader$NegotiatePB;
v = staticinvoke <org.apache.hive.kudu.org.apache.kudu.shaded.com.google.common.collect.ImmutableSet: org.apache.hive.kudu.org.apache.kudu.shaded.com.google.common.collect.ImmutableSet$Builder builder()>();
v = virtualinvoke v.<org.apache.hive.kudu.org.apache.kudu.rpc.RpcHeader$NegotiatePB: java.util.List getSupportedFeaturesList()>();
v = interfaceinvoke v.<java.util.List: java.util.Iterator iterator()>();
label:
v = interfaceinvoke v.<java.util.Iterator: boolean hasNext()>();
if v == 0 goto label;
v = interfaceinvoke v.<java.util.Iterator: java.lang.Object next()>();
v = <org.apache.hive.kudu.org.apache.kudu.rpc.RpcHeader$RpcFeatureFlag: org.apache.hive.kudu.org.apache.kudu.rpc.RpcHeader$RpcFeatureFlag UNKNOWN>;
if v == v goto label;
virtualinvoke v.<org.apache.hive.kudu.org.apache.kudu.shaded.com.google.common.collect.ImmutableSet$Builder: org.apache.hive.kudu.org.apache.kudu.shaded.com.google.common.collect.ImmutableSet$Builder add(java.lang.Object)>(v);
goto label;
label:
v = virtualinvoke v.<org.apache.hive.kudu.org.apache.kudu.shaded.com.google.common.collect.ImmutableSet$Builder: org.apache.hive.kudu.org.apache.kudu.shaded.com.google.common.collect.ImmutableSet build()>();
return v;
}
private void startTlsHandshake(org.apache.hive.kudu.org.apache.kudu.shaded.io.netty.channel.ChannelHandlerContext) throws javax.net.ssl.SSLException
{
org.apache.hive.kudu.org.apache.kudu.client.SecurityContext v, v;
org.apache.hive.kudu.org.apache.kudu.shaded.com.google.common.base.Joiner v;
int[] v;
org.apache.hive.kudu.org.apache.kudu.shaded.io.netty.channel.ChannelHandler[] v;
org.apache.hive.kudu.org.apache.kudu.shaded.io.netty.channel.embedded.EmbeddedChannel v;
boolean v, v, v, v;
org.apache.hive.kudu.org.apache.kudu.client.Negotiator$State v;
org.apache.hive.kudu.org.apache.kudu.client.Negotiator v;
java.lang.Object[] v;
org.apache.hive.kudu.org.apache.kudu.shaded.io.netty.util.concurrent.Future v;
java.lang.String[] v, v, v;
java.lang.AssertionError v, v;
java.util.ArrayList v;
javax.net.ssl.SSLEngine v;
java.util.HashSet v;
int v, v, v, v;
java.lang.String v, v, v;
org.apache.hive.kudu.org.apache.kudu.shaded.io.netty.channel.ChannelHandlerContext v;
org.apache.hive.kudu.org.apache.kudu.client.Negotiator$SharableSslHandler v;
java.lang.RuntimeException v;
org.apache.hive.kudu.org.apache.kudu.rpc.RpcHeader$AuthenticationTypePB$TypeCase v;
v := @this: org.apache.hive.kudu.org.apache.kudu.client.Negotiator;
v := @parameter: org.apache.hive.kudu.org.apache.kudu.shaded.io.netty.channel.ChannelHandlerContext;
v = <org.apache.hive.kudu.org.apache.kudu.client.Negotiator$2: int[] $SwitchMap$org$apache$kudu$rpc$RpcHeader$AuthenticationTypePB$TypeCase>;
v = v.<org.apache.hive.kudu.org.apache.kudu.client.Negotiator: org.apache.hive.kudu.org.apache.kudu.rpc.RpcHeader$AuthenticationTypePB$TypeCase chosenAuthnType>;
v = virtualinvoke v.<org.apache.hive.kudu.org.apache.kudu.rpc.RpcHeader$AuthenticationTypePB$TypeCase: int ordinal()>();
v = v[v];
lookupswitch(v)
{
case 1: goto label;
case 2: goto label;
default: goto label;
};
label:
v = v.<org.apache.hive.kudu.org.apache.kudu.client.Negotiator: org.apache.hive.kudu.org.apache.kudu.client.SecurityContext securityContext>;
v = virtualinvoke v.<org.apache.hive.kudu.org.apache.kudu.client.SecurityContext: javax.net.ssl.SSLEngine createSSLEngineTrustAll()>();
goto label;
label:
v = v.<org.apache.hive.kudu.org.apache.kudu.client.Negotiator: org.apache.hive.kudu.org.apache.kudu.client.SecurityContext securityContext>;
v = virtualinvoke v.<org.apache.hive.kudu.org.apache.kudu.client.SecurityContext: javax.net.ssl.SSLEngine createSSLEngine()>();
goto label;
label:
v = new java.lang.AssertionError;
specialinvoke v.<java.lang.AssertionError: void <init>(java.lang.Object)>("unreachable");
throw v;
label:
virtualinvoke v.<javax.net.ssl.SSLEngine: void setUseClientMode(boolean)>(1);
v = virtualinvoke v.<javax.net.ssl.SSLEngine: java.lang.String[] getSupportedCipherSuites()>();
v = staticinvoke <org.apache.hive.kudu.org.apache.kudu.shaded.com.google.common.collect.Sets: java.util.HashSet newHashSet(java.lang.Object[])>(v);
v = staticinvoke <org.apache.hive.kudu.org.apache.kudu.shaded.com.google.common.collect.Lists: java.util.ArrayList newArrayList()>();
v = <org.apache.hive.kudu.org.apache.kudu.client.Negotiator: java.lang.String[] PREFERRED_CIPHER_SUITES>;
v = lengthof v;
v = 0;
label:
if v >= v goto label;
v = v[v];
v = interfaceinvoke v.<java.util.Set: boolean contains(java.lang.Object)>(v);
if v == 0 goto label;
interfaceinvoke v.<java.util.List: boolean add(java.lang.Object)>(v);
label:
v = v + 1;
goto label;
label:
v = interfaceinvoke v.<java.util.List: boolean isEmpty()>();
if v == 0 goto label;
v = new java.lang.RuntimeException;
v = staticinvoke <org.apache.hive.kudu.org.apache.kudu.shaded.com.google.common.base.Joiner: org.apache.hive.kudu.org.apache.kudu.shaded.com.google.common.base.Joiner on(char)>(44);
v = virtualinvoke v.<org.apache.hive.kudu.org.apache.kudu.shaded.com.google.common.base.Joiner: java.lang.String join(java.lang.Iterable)>(v);
v = dynamicinvoke "makeConcatWithConstants" <java.lang.String (java.lang.String)>(v) <java.lang.invoke.StringConcatFactory: java.lang.invoke.CallSite makeConcatWithConstants(java.lang.invoke.MethodHandles$Lookup,java.lang.String,java.lang.invoke.MethodType,java.lang.String,java.lang.Object[])>("No preferred cipher suites were supported. Supported suites: \u0001");
specialinvoke v.<java.lang.RuntimeException: void <init>(java.lang.String)>(v);
throw v;
label:
v = newarray (java.lang.String)[0];
v = interfaceinvoke v.<java.util.List: java.lang.Object[] toArray(java.lang.Object[])>(v);
virtualinvoke v.<javax.net.ssl.SSLEngine: void setEnabledCipherSuites(java.lang.String[])>(v);
v = new org.apache.hive.kudu.org.apache.kudu.client.Negotiator$SharableSslHandler;
specialinvoke v.<org.apache.hive.kudu.org.apache.kudu.client.Negotiator$SharableSslHandler: void <init>(javax.net.ssl.SSLEngine)>(v);
v = new org.apache.hive.kudu.org.apache.kudu.shaded.io.netty.channel.embedded.EmbeddedChannel;
v = newarray (org.apache.hive.kudu.org.apache.kudu.shaded.io.netty.channel.ChannelHandler)[1];
v[0] = v;
specialinvoke v.<org.apache.hive.kudu.org.apache.kudu.shaded.io.netty.channel.embedded.EmbeddedChannel: void <init>(org.apache.hive.kudu.org.apache.kudu.shaded.io.netty.channel.ChannelHandler[])>(v);
v.<org.apache.hive.kudu.org.apache.kudu.client.Negotiator: org.apache.hive.kudu.org.apache.kudu.shaded.io.netty.channel.embedded.EmbeddedChannel sslEmbedder> = v;
v = virtualinvoke v.<org.apache.hive.kudu.org.apache.kudu.client.Negotiator$SharableSslHandler: org.apache.hive.kudu.org.apache.kudu.shaded.io.netty.util.concurrent.Future handshakeFuture()>();
v.<org.apache.hive.kudu.org.apache.kudu.client.Negotiator: org.apache.hive.kudu.org.apache.kudu.shaded.io.netty.util.concurrent.Future sslHandshakeFuture> = v;
v = <org.apache.hive.kudu.org.apache.kudu.client.Negotiator$State: org.apache.hive.kudu.org.apache.kudu.client.Negotiator$State AWAIT_TLS_HANDSHAKE>;
v.<org.apache.hive.kudu.org.apache.kudu.client.Negotiator: org.apache.hive.kudu.org.apache.kudu.client.Negotiator$State state> = v;
v = specialinvoke v.<org.apache.hive.kudu.org.apache.kudu.client.Negotiator: boolean sendPendingOutboundTls(org.apache.hive.kudu.org.apache.kudu.shaded.io.netty.channel.ChannelHandlerContext)>(v);
v = <org.apache.hive.kudu.org.apache.kudu.client.Negotiator: boolean $assertionsDisabled>;
if v != 0 goto label;
if v != 0 goto label;
v = new java.lang.AssertionError;
specialinvoke v.<java.lang.AssertionError: void <init>()>();
throw v;
label:
return;
}
private void handleTlsMessage(org.apache.hive.kudu.org.apache.kudu.shaded.io.netty.channel.ChannelHandlerContext, org.apache.hive.kudu.org.apache.kudu.rpc.RpcHeader$NegotiatePB) throws java.io.IOException
{
org.apache.hive.kudu.org.apache.kudu.shaded.io.netty.channel.ChannelHandler v;
org.apache.hive.kudu.org.apache.kudu.rpc.RpcHeader$NegotiatePB$NegotiateStep v, v;
java.nio.ByteBuffer v;
org.apache.hive.kudu.org.apache.kudu.shaded.com.google.protobuf.ByteString v, v;
org.apache.hive.kudu.org.apache.kudu.shaded.io.netty.channel.embedded.EmbeddedChannel v, v, v;
boolean v, v, v, v, v, v, v;
org.apache.hive.kudu.org.apache.kudu.shaded.io.netty.channel.Channel v;
java.util.Set v;
org.apache.hive.kudu.org.apache.kudu.client.Negotiator v;
java.security.cert.Certificate v;
org.apache.hive.kudu.org.apache.kudu.shaded.io.netty.channel.ChannelPipeline v, v;
java.security.cert.Certificate[] v;
org.apache.hive.kudu.org.apache.kudu.rpc.RpcHeader$NegotiatePB v;
java.lang.Object[] v;
javax.net.ssl.SSLEngine v;
javax.net.ssl.SSLSession v;
int v;
org.apache.hive.kudu.org.apache.kudu.shaded.io.netty.channel.ChannelHandlerContext v;
org.apache.hive.kudu.org.apache.kudu.rpc.RpcHeader$RpcFeatureFlag v;
org.apache.hive.kudu.org.apache.kudu.shaded.io.netty.buffer.ByteBuf v;
javax.net.ssl.SSLPeerUnverifiedException v;
v := @this: org.apache.hive.kudu.org.apache.kudu.client.Negotiator;
v := @parameter: org.apache.hive.kudu.org.apache.kudu.shaded.io.netty.channel.ChannelHandlerContext;
v := @parameter: org.apache.hive.kudu.org.apache.kudu.rpc.RpcHeader$NegotiatePB;
v = virtualinvoke v.<org.apache.hive.kudu.org.apache.kudu.rpc.RpcHeader$NegotiatePB: org.apache.hive.kudu.org.apache.kudu.rpc.RpcHeader$NegotiatePB$NegotiateStep getStep()>();
v = <org.apache.hive.kudu.org.apache.kudu.rpc.RpcHeader$NegotiatePB$NegotiateStep: org.apache.hive.kudu.org.apache.kudu.rpc.RpcHeader$NegotiatePB$NegotiateStep TLS_HANDSHAKE>;
if v != v goto label;
v = 1;
goto label;
label:
v = 0;
label:
staticinvoke <org.apache.hive.kudu.org.apache.kudu.shaded.com.google.common.base.Preconditions: void checkState(boolean)>(v);
v = virtualinvoke v.<org.apache.hive.kudu.org.apache.kudu.rpc.RpcHeader$NegotiatePB: org.apache.hive.kudu.org.apache.kudu.shaded.com.google.protobuf.ByteString getTlsHandshake()>();
v = virtualinvoke v.<org.apache.hive.kudu.org.apache.kudu.shaded.com.google.protobuf.ByteString: boolean isEmpty()>();
if v != 0 goto label;
v = 1;
goto label;
label:
v = 0;
label:
staticinvoke <org.apache.hive.kudu.org.apache.kudu.shaded.com.google.common.base.Preconditions: void checkArgument(boolean,java.lang.Object)>(v, "empty TLS message from server");
v = v.<org.apache.hive.kudu.org.apache.kudu.client.Negotiator: org.apache.hive.kudu.org.apache.kudu.shaded.io.netty.channel.embedded.EmbeddedChannel sslEmbedder>;
v = newarray (java.lang.Object)[1];
v = virtualinvoke v.<org.apache.hive.kudu.org.apache.kudu.rpc.RpcHeader$NegotiatePB: org.apache.hive.kudu.org.apache.kudu.shaded.com.google.protobuf.ByteString getTlsHandshake()>();
v = virtualinvoke v.<org.apache.hive.kudu.org.apache.kudu.shaded.com.google.protobuf.ByteString: java.nio.ByteBuffer asReadOnlyByteBuffer()>();
v = staticinvoke <org.apache.hive.kudu.org.apache.kudu.shaded.io.netty.buffer.Unpooled: org.apache.hive.kudu.org.apache.kudu.shaded.io.netty.buffer.ByteBuf copiedBuffer(java.nio.ByteBuffer)>(v);
v[0] = v;
virtualinvoke v.<org.apache.hive.kudu.org.apache.kudu.shaded.io.netty.channel.embedded.EmbeddedChannel: boolean writeInbound(java.lang.Object[])>(v);
v = v.<org.apache.hive.kudu.org.apache.kudu.client.Negotiator: org.apache.hive.kudu.org.apache.kudu.shaded.io.netty.channel.embedded.EmbeddedChannel sslEmbedder>;
virtualinvoke v.<org.apache.hive.kudu.org.apache.kudu.shaded.io.netty.channel.embedded.EmbeddedChannel: org.apache.hive.kudu.org.apache.kudu.shaded.io.netty.channel.Channel flush()>();
v = specialinvoke v.<org.apache.hive.kudu.org.apache.kudu.client.Negotiator: boolean sendPendingOutboundTls(org.apache.hive.kudu.org.apache.kudu.shaded.io.netty.channel.ChannelHandlerContext)>(v);
if v == 0 goto label;
return;
label:
v = v.<org.apache.hive.kudu.org.apache.kudu.client.Negotiator: org.apache.hive.kudu.org.apache.kudu.shaded.io.netty.channel.embedded.EmbeddedChannel sslEmbedder>;
v = virtualinvoke v.<org.apache.hive.kudu.org.apache.kudu.shaded.io.netty.channel.embedded.EmbeddedChannel: 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 first()>();
virtualinvoke v.<org.apache.hive.kudu.org.apache.kudu.client.Negotiator$SharableSslHandler: void resetAdded()>();
v = virtualinvoke v.<org.apache.hive.kudu.org.apache.kudu.client.Negotiator$SharableSslHandler: javax.net.ssl.SSLEngine engine()>();
v = virtualinvoke v.<javax.net.ssl.SSLEngine: javax.net.ssl.SSLSession getSession()>();
v = interfaceinvoke v.<javax.net.ssl.SSLSession: java.security.cert.Certificate[] getPeerCertificates()>();
v = lengthof v;
if v != 0 goto label;
v = new javax.net.ssl.SSLPeerUnverifiedException;
specialinvoke v.<javax.net.ssl.SSLPeerUnverifiedException: void <init>(java.lang.String)>("no peer cert found");
throw v;
label:
v = v[0];
v.<org.apache.hive.kudu.org.apache.kudu.client.Negotiator: java.security.cert.Certificate peerCert> = v;
v = v.<org.apache.hive.kudu.org.apache.kudu.client.Negotiator: java.util.Set serverFeatures>;
v = <org.apache.hive.kudu.org.apache.kudu.rpc.RpcHeader$RpcFeatureFlag: org.apache.hive.kudu.org.apache.kudu.rpc.RpcHeader$RpcFeatureFlag TLS_AUTHENTICATION_ONLY>;
v = interfaceinvoke v.<java.util.Set: boolean contains(java.lang.Object)>(v);
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.Channel channel()>();
v = specialinvoke v.<org.apache.hive.kudu.org.apache.kudu.client.Negotiator: boolean isLoopbackConnection(org.apache.hive.kudu.org.apache.kudu.shaded.io.netty.channel.Channel)>(v);
if v == 0 goto label;
v = 1;
goto label;
label:
v = 0;
label:
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()>();
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.ChannelPipeline addFirst(java.lang.String,org.apache.hive.kudu.org.apache.kudu.shaded.io.netty.channel.ChannelHandler)>("tls", v);
label:
specialinvoke v.<org.apache.hive.kudu.org.apache.kudu.client.Negotiator: void startAuthentication(org.apache.hive.kudu.org.apache.kudu.shaded.io.netty.channel.ChannelHandlerContext)>(v);
return;
}
private boolean sendPendingOutboundTls(org.apache.hive.kudu.org.apache.kudu.shaded.io.netty.channel.ChannelHandlerContext)
{
org.apache.hive.kudu.org.apache.kudu.shaded.io.netty.util.concurrent.Future v;
java.lang.AssertionError v, v;
java.nio.ByteBuffer v;
java.util.ArrayList v;
org.apache.hive.kudu.org.apache.kudu.shaded.com.google.protobuf.ByteString v, v;
int v;
org.apache.hive.kudu.org.apache.kudu.shaded.io.netty.channel.ChannelHandlerContext v;
org.apache.hive.kudu.org.apache.kudu.shaded.io.netty.channel.embedded.EmbeddedChannel v, v;
boolean v, v, v, v, v;
org.apache.hive.kudu.org.apache.kudu.client.Negotiator v;
java.lang.Object v;
java.util.Queue v;
v := @this: org.apache.hive.kudu.org.apache.kudu.client.Negotiator;
v := @parameter: org.apache.hive.kudu.org.apache.kudu.shaded.io.netty.channel.ChannelHandlerContext;
v = staticinvoke <org.apache.hive.kudu.org.apache.kudu.shaded.com.google.common.collect.Lists: java.util.ArrayList newArrayList()>();
label:
v = v.<org.apache.hive.kudu.org.apache.kudu.client.Negotiator: org.apache.hive.kudu.org.apache.kudu.shaded.io.netty.channel.embedded.EmbeddedChannel sslEmbedder>;
v = virtualinvoke v.<org.apache.hive.kudu.org.apache.kudu.shaded.io.netty.channel.embedded.EmbeddedChannel: java.util.Queue outboundMessages()>();
v = interfaceinvoke v.<java.util.Queue: boolean isEmpty()>();
if v != 0 goto label;
v = v.<org.apache.hive.kudu.org.apache.kudu.client.Negotiator: org.apache.hive.kudu.org.apache.kudu.shaded.io.netty.channel.embedded.EmbeddedChannel sslEmbedder>;
v = virtualinvoke v.<org.apache.hive.kudu.org.apache.kudu.shaded.io.netty.channel.embedded.EmbeddedChannel: java.lang.Object readOutbound()>();
v = virtualinvoke v.<org.apache.hive.kudu.org.apache.kudu.shaded.io.netty.buffer.ByteBuf: java.nio.ByteBuffer nioBuffer()>();
v = staticinvoke <org.apache.hive.kudu.org.apache.kudu.shaded.com.google.protobuf.ByteString: org.apache.hive.kudu.org.apache.kudu.shaded.com.google.protobuf.ByteString copyFrom(java.nio.ByteBuffer)>(v);
interfaceinvoke v.<java.util.List: boolean add(java.lang.Object)>(v);
virtualinvoke v.<org.apache.hive.kudu.org.apache.kudu.shaded.io.netty.buffer.ByteBuf: boolean release()>();
goto label;
label:
v = staticinvoke <org.apache.hive.kudu.org.apache.kudu.shaded.com.google.protobuf.ByteString: org.apache.hive.kudu.org.apache.kudu.shaded.com.google.protobuf.ByteString copyFrom(java.lang.Iterable)>(v);
v = v.<org.apache.hive.kudu.org.apache.kudu.client.Negotiator: org.apache.hive.kudu.org.apache.kudu.shaded.io.netty.util.concurrent.Future sslHandshakeFuture>;
v = interfaceinvoke v.<org.apache.hive.kudu.org.apache.kudu.shaded.io.netty.util.concurrent.Future: boolean isDone()>();
if v == 0 goto label;
v = <org.apache.hive.kudu.org.apache.kudu.client.Negotiator: boolean $assertionsDisabled>;
if v != 0 goto label;
v = virtualinvoke v.<org.apache.hive.kudu.org.apache.kudu.shaded.com.google.protobuf.ByteString: boolean isEmpty()>();
if v != 0 goto label;
v = new java.lang.AssertionError;
specialinvoke v.<java.lang.AssertionError: void <init>()>();
throw v;
label:
return 0;
label:
v = <org.apache.hive.kudu.org.apache.kudu.client.Negotiator: boolean $assertionsDisabled>;
if v != 0 goto label;
v = virtualinvoke v.<org.apache.hive.kudu.org.apache.kudu.shaded.com.google.protobuf.ByteString: int size()>();
if v > 0 goto label;
v = new java.lang.AssertionError;
specialinvoke v.<java.lang.AssertionError: void <init>()>();
throw v;
label:
specialinvoke v.<org.apache.hive.kudu.org.apache.kudu.client.Negotiator: void sendTunneledTls(org.apache.hive.kudu.org.apache.kudu.shaded.io.netty.channel.ChannelHandlerContext,org.apache.hive.kudu.org.apache.kudu.shaded.com.google.protobuf.ByteString)>(v, v);
return 1;
}
private void sendTunneledTls(org.apache.hive.kudu.org.apache.kudu.shaded.io.netty.channel.ChannelHandlerContext, org.apache.hive.kudu.org.apache.kudu.shaded.com.google.protobuf.ByteString)
{
org.apache.hive.kudu.org.apache.kudu.rpc.RpcHeader$NegotiatePB v;
org.apache.hive.kudu.org.apache.kudu.rpc.RpcHeader$NegotiatePB$NegotiateStep v;
org.apache.hive.kudu.org.apache.kudu.client.Negotiator v;
org.apache.hive.kudu.org.apache.kudu.rpc.RpcHeader$NegotiatePB$Builder v, v, v;
org.apache.hive.kudu.org.apache.kudu.shaded.com.google.protobuf.ByteString v;
org.apache.hive.kudu.org.apache.kudu.shaded.io.netty.channel.ChannelHandlerContext v;
v := @this: org.apache.hive.kudu.org.apache.kudu.client.Negotiator;
v := @parameter: org.apache.hive.kudu.org.apache.kudu.shaded.io.netty.channel.ChannelHandlerContext;
v := @parameter: org.apache.hive.kudu.org.apache.kudu.shaded.com.google.protobuf.ByteString;
v = staticinvoke <org.apache.hive.kudu.org.apache.kudu.rpc.RpcHeader$NegotiatePB: org.apache.hive.kudu.org.apache.kudu.rpc.RpcHeader$NegotiatePB$Builder newBuilder()>();
v = <org.apache.hive.kudu.org.apache.kudu.rpc.RpcHeader$NegotiatePB$NegotiateStep: org.apache.hive.kudu.org.apache.kudu.rpc.RpcHeader$NegotiatePB$NegotiateStep TLS_HANDSHAKE>;
v = virtualinvoke v.<org.apache.hive.kudu.org.apache.kudu.rpc.RpcHeader$NegotiatePB$Builder: org.apache.hive.kudu.org.apache.kudu.rpc.RpcHeader$NegotiatePB$Builder setStep(org.apache.hive.kudu.org.apache.kudu.rpc.RpcHeader$NegotiatePB$NegotiateStep)>(v);
v = virtualinvoke v.<org.apache.hive.kudu.org.apache.kudu.rpc.RpcHeader$NegotiatePB$Builder: org.apache.hive.kudu.org.apache.kudu.rpc.RpcHeader$NegotiatePB$Builder setTlsHandshake(org.apache.hive.kudu.org.apache.kudu.shaded.com.google.protobuf.ByteString)>(v);
v = virtualinvoke v.<org.apache.hive.kudu.org.apache.kudu.rpc.RpcHeader$NegotiatePB$Builder: org.apache.hive.kudu.org.apache.kudu.rpc.RpcHeader$NegotiatePB build()>();
specialinvoke v.<org.apache.hive.kudu.org.apache.kudu.client.Negotiator: void sendSaslMessage(org.apache.hive.kudu.org.apache.kudu.shaded.io.netty.channel.ChannelHandlerContext,org.apache.hive.kudu.org.apache.kudu.rpc.RpcHeader$NegotiatePB)>(v, v);
return;
}
private void startAuthentication(org.apache.hive.kudu.org.apache.kudu.shaded.io.netty.channel.ChannelHandlerContext) throws javax.security.sasl.SaslException, org.apache.hive.kudu.org.apache.kudu.client.NonRecoverableException
{
org.apache.hive.kudu.org.apache.kudu.rpc.RpcHeader$AuthenticationTypePB$TypeCase v;
int[] v;
int v, v;
java.lang.AssertionError v;
org.apache.hive.kudu.org.apache.kudu.client.Negotiator v;
org.apache.hive.kudu.org.apache.kudu.shaded.io.netty.channel.ChannelHandlerContext v;
v := @this: org.apache.hive.kudu.org.apache.kudu.client.Negotiator;
v := @parameter: org.apache.hive.kudu.org.apache.kudu.shaded.io.netty.channel.ChannelHandlerContext;
v = <org.apache.hive.kudu.org.apache.kudu.client.Negotiator$2: int[] $SwitchMap$org$apache$kudu$rpc$RpcHeader$AuthenticationTypePB$TypeCase>;
v = v.<org.apache.hive.kudu.org.apache.kudu.client.Negotiator: org.apache.hive.kudu.org.apache.kudu.rpc.RpcHeader$AuthenticationTypePB$TypeCase chosenAuthnType>;
v = virtualinvoke v.<org.apache.hive.kudu.org.apache.kudu.rpc.RpcHeader$AuthenticationTypePB$TypeCase: int ordinal()>();
v = v[v];
lookupswitch(v)
{
case 1: goto label;
case 2: goto label;
default: goto label;
};
label:
specialinvoke v.<org.apache.hive.kudu.org.apache.kudu.client.Negotiator: void sendSaslInitiate(org.apache.hive.kudu.org.apache.kudu.shaded.io.netty.channel.ChannelHandlerContext)>(v);
goto label;
label:
specialinvoke v.<org.apache.hive.kudu.org.apache.kudu.client.Negotiator: void sendTokenExchange(org.apache.hive.kudu.org.apache.kudu.shaded.io.netty.channel.ChannelHandlerContext)>(v);
goto label;
label:
v = new java.lang.AssertionError;
specialinvoke v.<java.lang.AssertionError: void <init>(java.lang.Object)>("unreachable");
throw v;
label:
return;
}
private void sendTokenExchange(org.apache.hive.kudu.org.apache.kudu.shaded.io.netty.channel.ChannelHandlerContext)
{
org.apache.hive.kudu.org.apache.kudu.client.Negotiator$State v;
org.apache.hive.kudu.org.apache.kudu.rpc.RpcHeader$NegotiatePB v;
org.apache.hive.kudu.org.apache.kudu.shaded.io.netty.util.concurrent.Future v, v;
org.apache.hive.kudu.org.apache.kudu.rpc.RpcHeader$NegotiatePB$NegotiateStep v;
org.apache.hive.kudu.org.apache.kudu.client.Negotiator v;
org.apache.hive.kudu.org.apache.kudu.rpc.RpcHeader$NegotiatePB$Builder v, v, v;
org.apache.hive.kudu.org.apache.kudu.security.Token$SignedTokenPB v, v;
org.apache.hive.kudu.org.apache.kudu.shaded.io.netty.channel.ChannelHandlerContext v;
boolean v;
v := @this: org.apache.hive.kudu.org.apache.kudu.client.Negotiator;
v := @parameter: org.apache.hive.kudu.org.apache.kudu.shaded.io.netty.channel.ChannelHandlerContext;
v = v.<org.apache.hive.kudu.org.apache.kudu.client.Negotiator: org.apache.hive.kudu.org.apache.kudu.security.Token$SignedTokenPB authnToken>;
staticinvoke <org.apache.hive.kudu.org.apache.kudu.shaded.com.google.common.base.Preconditions: java.lang.Object checkNotNull(java.lang.Object)>(v);
v = v.<org.apache.hive.kudu.org.apache.kudu.client.Negotiator: org.apache.hive.kudu.org.apache.kudu.shaded.io.netty.util.concurrent.Future sslHandshakeFuture>;
staticinvoke <org.apache.hive.kudu.org.apache.kudu.shaded.com.google.common.base.Preconditions: java.lang.Object checkNotNull(java.lang.Object)>(v);
v = v.<org.apache.hive.kudu.org.apache.kudu.client.Negotiator: org.apache.hive.kudu.org.apache.kudu.shaded.io.netty.util.concurrent.Future sslHandshakeFuture>;
v = interfaceinvoke v.<org.apache.hive.kudu.org.apache.kudu.shaded.io.netty.util.concurrent.Future: boolean isSuccess()>();
staticinvoke <org.apache.hive.kudu.org.apache.kudu.shaded.com.google.common.base.Preconditions: void checkState(boolean)>(v);
v = staticinvoke <org.apache.hive.kudu.org.apache.kudu.rpc.RpcHeader$NegotiatePB: org.apache.hive.kudu.org.apache.kudu.rpc.RpcHeader$NegotiatePB$Builder newBuilder()>();
v = <org.apache.hive.kudu.org.apache.kudu.rpc.RpcHeader$NegotiatePB$NegotiateStep: org.apache.hive.kudu.org.apache.kudu.rpc.RpcHeader$NegotiatePB$NegotiateStep TOKEN_EXCHANGE>;
v = virtualinvoke v.<org.apache.hive.kudu.org.apache.kudu.rpc.RpcHeader$NegotiatePB$Builder: org.apache.hive.kudu.org.apache.kudu.rpc.RpcHeader$NegotiatePB$Builder setStep(org.apache.hive.kudu.org.apache.kudu.rpc.RpcHeader$NegotiatePB$NegotiateStep)>(v);
v = v.<org.apache.hive.kudu.org.apache.kudu.client.Negotiator: org.apache.hive.kudu.org.apache.kudu.security.Token$SignedTokenPB authnToken>;
v = virtualinvoke v.<org.apache.hive.kudu.org.apache.kudu.rpc.RpcHeader$NegotiatePB$Builder: org.apache.hive.kudu.org.apache.kudu.rpc.RpcHeader$NegotiatePB$Builder setAuthnToken(org.apache.hive.kudu.org.apache.kudu.security.Token$SignedTokenPB)>(v);
v = <org.apache.hive.kudu.org.apache.kudu.client.Negotiator$State: org.apache.hive.kudu.org.apache.kudu.client.Negotiator$State AWAIT_TOKEN_EXCHANGE>;
v.<org.apache.hive.kudu.org.apache.kudu.client.Negotiator: org.apache.hive.kudu.org.apache.kudu.client.Negotiator$State state> = v;
v = virtualinvoke v.<org.apache.hive.kudu.org.apache.kudu.rpc.RpcHeader$NegotiatePB$Builder: org.apache.hive.kudu.org.apache.kudu.rpc.RpcHeader$NegotiatePB build()>();
specialinvoke v.<org.apache.hive.kudu.org.apache.kudu.client.Negotiator: void sendSaslMessage(org.apache.hive.kudu.org.apache.kudu.shaded.io.netty.channel.ChannelHandlerContext,org.apache.hive.kudu.org.apache.kudu.rpc.RpcHeader$NegotiatePB)>(v, v);
return;
}
private void handleTokenExchangeResponse(org.apache.hive.kudu.org.apache.kudu.shaded.io.netty.channel.ChannelHandlerContext, org.apache.hive.kudu.org.apache.kudu.rpc.RpcHeader$NegotiatePB) throws javax.security.sasl.SaslException
{
org.apache.hive.kudu.org.apache.kudu.rpc.RpcHeader$NegotiatePB v;
org.apache.hive.kudu.org.apache.kudu.rpc.RpcHeader$NegotiatePB$NegotiateStep v, v, v;
org.apache.hive.kudu.org.apache.kudu.client.Negotiator v;
org.apache.hive.kudu.org.apache.kudu.shaded.io.netty.channel.ChannelHandlerContext v;
boolean v;
v := @this: org.apache.hive.kudu.org.apache.kudu.client.Negotiator;
v := @parameter: org.apache.hive.kudu.org.apache.kudu.shaded.io.netty.channel.ChannelHandlerContext;
v := @parameter: org.apache.hive.kudu.org.apache.kudu.rpc.RpcHeader$NegotiatePB;
v = virtualinvoke v.<org.apache.hive.kudu.org.apache.kudu.rpc.RpcHeader$NegotiatePB: org.apache.hive.kudu.org.apache.kudu.rpc.RpcHeader$NegotiatePB$NegotiateStep getStep()>();
v = <org.apache.hive.kudu.org.apache.kudu.rpc.RpcHeader$NegotiatePB$NegotiateStep: org.apache.hive.kudu.org.apache.kudu.rpc.RpcHeader$NegotiatePB$NegotiateStep TOKEN_EXCHANGE>;
if v != v goto label;
v = 1;
goto label;
label:
v = 0;
label:
v = virtualinvoke v.<org.apache.hive.kudu.org.apache.kudu.rpc.RpcHeader$NegotiatePB: org.apache.hive.kudu.org.apache.kudu.rpc.RpcHeader$NegotiatePB$NegotiateStep getStep()>();
staticinvoke <org.apache.hive.kudu.org.apache.kudu.shaded.com.google.common.base.Preconditions: void checkArgument(boolean,java.lang.String,java.lang.Object)>(v, "expected TOKEN_EXCHANGE, got step: {}", v);
specialinvoke v.<org.apache.hive.kudu.org.apache.kudu.client.Negotiator: void finish(org.apache.hive.kudu.org.apache.kudu.shaded.io.netty.channel.ChannelHandlerContext)>(v);
return;
}
private void sendSaslInitiate(org.apache.hive.kudu.org.apache.kudu.shaded.io.netty.channel.ChannelHandlerContext) throws javax.security.sasl.SaslException, org.apache.hive.kudu.org.apache.kudu.client.NonRecoverableException
{
org.apache.hive.kudu.org.apache.kudu.client.Negotiator$State v;
org.apache.hive.kudu.org.apache.kudu.rpc.RpcHeader$NegotiatePB v;
byte[] v, v;
org.apache.hive.kudu.org.apache.kudu.rpc.RpcHeader$NegotiatePB$SaslMechanism$Builder v;
org.apache.hive.kudu.org.apache.kudu.rpc.RpcHeader$NegotiatePB$NegotiateStep v;
org.apache.hive.kudu.org.apache.kudu.client.Negotiator v;
org.apache.hive.kudu.org.apache.kudu.rpc.RpcHeader$NegotiatePB$Builder v;
javax.security.sasl.SaslClient v;
org.apache.hive.kudu.org.apache.kudu.shaded.com.google.protobuf.ByteString v;
java.lang.String v;
org.apache.hive.kudu.org.apache.kudu.client.Negotiator$SaslMechanism v;
org.apache.hive.kudu.org.apache.kudu.shaded.io.netty.channel.ChannelHandlerContext v;
boolean v;
v := @this: org.apache.hive.kudu.org.apache.kudu.client.Negotiator;
v := @parameter: org.apache.hive.kudu.org.apache.kudu.shaded.io.netty.channel.ChannelHandlerContext;
v = staticinvoke <org.apache.hive.kudu.org.apache.kudu.rpc.RpcHeader$NegotiatePB: org.apache.hive.kudu.org.apache.kudu.rpc.RpcHeader$NegotiatePB$Builder newBuilder()>();
v = v.<org.apache.hive.kudu.org.apache.kudu.client.Negotiator: javax.security.sasl.SaslClient saslClient>;
v = interfaceinvoke v.<javax.security.sasl.SaslClient: boolean hasInitialResponse()>();
if v == 0 goto label;
v = newarray (byte)[0];
v = specialinvoke v.<org.apache.hive.kudu.org.apache.kudu.client.Negotiator: byte[] evaluateChallenge(byte[])>(v);
v = staticinvoke <org.apache.hive.kudu.org.apache.kudu.shaded.com.google.protobuf.UnsafeByteOperations: org.apache.hive.kudu.org.apache.kudu.shaded.com.google.protobuf.ByteString unsafeWrap(byte[])>(v);
virtualinvoke v.<org.apache.hive.kudu.org.apache.kudu.rpc.RpcHeader$NegotiatePB$Builder: org.apache.hive.kudu.org.apache.kudu.rpc.RpcHeader$NegotiatePB$Builder setToken(org.apache.hive.kudu.org.apache.kudu.shaded.com.google.protobuf.ByteString)>(v);
label:
v = <org.apache.hive.kudu.org.apache.kudu.rpc.RpcHeader$NegotiatePB$NegotiateStep: org.apache.hive.kudu.org.apache.kudu.rpc.RpcHeader$NegotiatePB$NegotiateStep SASL_INITIATE>;
virtualinvoke v.<org.apache.hive.kudu.org.apache.kudu.rpc.RpcHeader$NegotiatePB$Builder: org.apache.hive.kudu.org.apache.kudu.rpc.RpcHeader$NegotiatePB$Builder setStep(org.apache.hive.kudu.org.apache.kudu.rpc.RpcHeader$NegotiatePB$NegotiateStep)>(v);
v = virtualinvoke v.<org.apache.hive.kudu.org.apache.kudu.rpc.RpcHeader$NegotiatePB$Builder: org.apache.hive.kudu.org.apache.kudu.rpc.RpcHeader$NegotiatePB$SaslMechanism$Builder addSaslMechanismsBuilder()>();
v = v.<org.apache.hive.kudu.org.apache.kudu.client.Negotiator: org.apache.hive.kudu.org.apache.kudu.client.Negotiator$SaslMechanism chosenMech>;
v = virtualinvoke v.<org.apache.hive.kudu.org.apache.kudu.client.Negotiator$SaslMechanism: java.lang.String name()>();
virtualinvoke v.<org.apache.hive.kudu.org.apache.kudu.rpc.RpcHeader$NegotiatePB$SaslMechanism$Builder: org.apache.hive.kudu.org.apache.kudu.rpc.RpcHeader$NegotiatePB$SaslMechanism$Builder setMechanism(java.lang.String)>(v);
v = <org.apache.hive.kudu.org.apache.kudu.client.Negotiator$State: org.apache.hive.kudu.org.apache.kudu.client.Negotiator$State AWAIT_SASL>;
v.<org.apache.hive.kudu.org.apache.kudu.client.Negotiator: org.apache.hive.kudu.org.apache.kudu.client.Negotiator$State state> = v;
v = virtualinvoke v.<org.apache.hive.kudu.org.apache.kudu.rpc.RpcHeader$NegotiatePB$Builder: org.apache.hive.kudu.org.apache.kudu.rpc.RpcHeader$NegotiatePB build()>();
specialinvoke v.<org.apache.hive.kudu.org.apache.kudu.client.Negotiator: void sendSaslMessage(org.apache.hive.kudu.org.apache.kudu.shaded.io.netty.channel.ChannelHandlerContext,org.apache.hive.kudu.org.apache.kudu.rpc.RpcHeader$NegotiatePB)>(v, v);
return;
}
private void handleChallengeResponse(org.apache.hive.kudu.org.apache.kudu.shaded.io.netty.channel.ChannelHandlerContext, org.apache.hive.kudu.org.apache.kudu.rpc.RpcHeader$NegotiatePB) throws javax.security.sasl.SaslException, org.apache.hive.kudu.org.apache.kudu.client.NonRecoverableException
{
org.apache.hive.kudu.org.apache.kudu.rpc.RpcHeader$NegotiatePB v, v;
byte[] v, v;
java.lang.IllegalStateException v;
org.apache.hive.kudu.org.apache.kudu.rpc.RpcHeader$NegotiatePB$NegotiateStep v;
org.apache.hive.kudu.org.apache.kudu.client.Negotiator v;
org.apache.hive.kudu.org.apache.kudu.rpc.RpcHeader$NegotiatePB$Builder v;
org.apache.hive.kudu.org.apache.kudu.shaded.com.google.protobuf.ByteString v, v;
org.apache.hive.kudu.org.apache.kudu.shaded.io.netty.channel.ChannelHandlerContext v;
v := @this: org.apache.hive.kudu.org.apache.kudu.client.Negotiator;
v := @parameter: org.apache.hive.kudu.org.apache.kudu.shaded.io.netty.channel.ChannelHandlerContext;
v := @parameter: org.apache.hive.kudu.org.apache.kudu.rpc.RpcHeader$NegotiatePB;
v = virtualinvoke v.<org.apache.hive.kudu.org.apache.kudu.rpc.RpcHeader$NegotiatePB: org.apache.hive.kudu.org.apache.kudu.shaded.com.google.protobuf.ByteString getToken()>();
v = virtualinvoke v.<org.apache.hive.kudu.org.apache.kudu.shaded.com.google.protobuf.ByteString: byte[] toByteArray()>();
v = specialinvoke v.<org.apache.hive.kudu.org.apache.kudu.client.Negotiator: byte[] evaluateChallenge(byte[])>(v);
if v != null goto label;
v = new java.lang.IllegalStateException;
specialinvoke v.<java.lang.IllegalStateException: void <init>(java.lang.String)>("Not expecting an empty token");
throw v;
label:
v = staticinvoke <org.apache.hive.kudu.org.apache.kudu.rpc.RpcHeader$NegotiatePB: org.apache.hive.kudu.org.apache.kudu.rpc.RpcHeader$NegotiatePB$Builder newBuilder()>();
v = staticinvoke <org.apache.hive.kudu.org.apache.kudu.shaded.com.google.protobuf.UnsafeByteOperations: org.apache.hive.kudu.org.apache.kudu.shaded.com.google.protobuf.ByteString unsafeWrap(byte[])>(v);
virtualinvoke v.<org.apache.hive.kudu.org.apache.kudu.rpc.RpcHeader$NegotiatePB$Builder: org.apache.hive.kudu.org.apache.kudu.rpc.RpcHeader$NegotiatePB$Builder setToken(org.apache.hive.kudu.org.apache.kudu.shaded.com.google.protobuf.ByteString)>(v);
v = <org.apache.hive.kudu.org.apache.kudu.rpc.RpcHeader$NegotiatePB$NegotiateStep: org.apache.hive.kudu.org.apache.kudu.rpc.RpcHeader$NegotiatePB$NegotiateStep SASL_RESPONSE>;
virtualinvoke v.<org.apache.hive.kudu.org.apache.kudu.rpc.RpcHeader$NegotiatePB$Builder: org.apache.hive.kudu.org.apache.kudu.rpc.RpcHeader$NegotiatePB$Builder setStep(org.apache.hive.kudu.org.apache.kudu.rpc.RpcHeader$NegotiatePB$NegotiateStep)>(v);
v = virtualinvoke v.<org.apache.hive.kudu.org.apache.kudu.rpc.RpcHeader$NegotiatePB$Builder: org.apache.hive.kudu.org.apache.kudu.rpc.RpcHeader$NegotiatePB build()>();
specialinvoke v.<org.apache.hive.kudu.org.apache.kudu.client.Negotiator: void sendSaslMessage(org.apache.hive.kudu.org.apache.kudu.shaded.io.netty.channel.ChannelHandlerContext,org.apache.hive.kudu.org.apache.kudu.rpc.RpcHeader$NegotiatePB)>(v, v);
return;
}
private void verifyChannelBindings(org.apache.hive.kudu.org.apache.kudu.rpc.RpcHeader$NegotiatePB) throws java.io.IOException
{
org.apache.hive.kudu.org.apache.kudu.rpc.RpcHeader$NegotiatePB v;
byte[] v, v, v;
javax.security.sasl.SaslClient v;
org.apache.hive.kudu.org.apache.kudu.shaded.com.google.protobuf.ByteString v;
int v, v, v;
boolean v, v;
org.apache.hive.kudu.org.apache.kudu.client.Negotiator v;
java.security.cert.Certificate v;
javax.net.ssl.SSLPeerUnverifiedException v, v, v;
v := @this: org.apache.hive.kudu.org.apache.kudu.client.Negotiator;
v := @parameter: org.apache.hive.kudu.org.apache.kudu.rpc.RpcHeader$NegotiatePB;
v = v.<org.apache.hive.kudu.org.apache.kudu.client.Negotiator: java.security.cert.Certificate peerCert>;
v = staticinvoke <org.apache.hive.kudu.org.apache.kudu.util.SecurityUtil: byte[] getEndpointChannelBindings(java.security.cert.Certificate)>(v);
v = virtualinvoke v.<org.apache.hive.kudu.org.apache.kudu.rpc.RpcHeader$NegotiatePB: boolean hasChannelBindings()>();
if v != 0 goto label;
v = new javax.net.ssl.SSLPeerUnverifiedException;
specialinvoke v.<javax.net.ssl.SSLPeerUnverifiedException: void <init>(java.lang.String)>("no channel bindings provided by remote peer");
throw v;
label:
v = virtualinvoke v.<org.apache.hive.kudu.org.apache.kudu.rpc.RpcHeader$NegotiatePB: org.apache.hive.kudu.org.apache.kudu.shaded.com.google.protobuf.ByteString getChannelBindings()>();
v = virtualinvoke v.<org.apache.hive.kudu.org.apache.kudu.shaded.com.google.protobuf.ByteString: byte[] toByteArray()>();
v = lengthof v;
if v >= 4 goto label;
v = new javax.net.ssl.SSLPeerUnverifiedException;
specialinvoke v.<javax.net.ssl.SSLPeerUnverifiedException: void <init>(java.lang.String)>("invalid too-short channel bindings");
throw v;
label:
v = v.<org.apache.hive.kudu.org.apache.kudu.client.Negotiator: javax.security.sasl.SaslClient saslClient>;
v = lengthof v;
v = v - 4;
v = interfaceinvoke v.<javax.security.sasl.SaslClient: byte[] unwrap(byte[],int,int)>(v, 4, v);
v = staticinvoke <org.apache.hive.kudu.org.apache.kudu.client.Bytes: boolean equals(byte[],byte[])>(v, v);
if v != 0 goto label;
v = new javax.net.ssl.SSLPeerUnverifiedException;
specialinvoke v.<javax.net.ssl.SSLPeerUnverifiedException: void <init>(java.lang.String)>("invalid channel bindings provided by remote peer");
throw v;
label:
return;
}
private void handleSuccessResponse(org.apache.hive.kudu.org.apache.kudu.shaded.io.netty.channel.ChannelHandlerContext, org.apache.hive.kudu.org.apache.kudu.rpc.RpcHeader$NegotiatePB) throws java.io.IOException
{
org.apache.hive.kudu.org.apache.kudu.rpc.RpcHeader$NegotiatePB v;
byte[] v;
org.apache.hive.kudu.org.apache.kudu.client.Negotiator v;
javax.security.sasl.SaslClient v;
java.security.cert.Certificate v;
org.apache.hive.kudu.org.apache.kudu.shaded.com.google.protobuf.ByteString v;
org.apache.hive.kudu.org.apache.kudu.client.Negotiator$SaslMechanism v, v;
org.apache.hive.kudu.org.apache.kudu.shaded.io.netty.channel.ChannelHandlerContext v;
boolean v, v;
v := @this: org.apache.hive.kudu.org.apache.kudu.client.Negotiator;
v := @parameter: org.apache.hive.kudu.org.apache.kudu.shaded.io.netty.channel.ChannelHandlerContext;
v := @parameter: org.apache.hive.kudu.org.apache.kudu.rpc.RpcHeader$NegotiatePB;
v = v.<org.apache.hive.kudu.org.apache.kudu.client.Negotiator: javax.security.sasl.SaslClient saslClient>;
v = interfaceinvoke v.<javax.security.sasl.SaslClient: boolean isComplete()>();
staticinvoke <org.apache.hive.kudu.org.apache.kudu.shaded.com.google.common.base.Preconditions: void checkState(boolean,java.lang.Object)>(v, "server sent SASL_SUCCESS step, but SASL negotiation is not complete");
v = v.<org.apache.hive.kudu.org.apache.kudu.client.Negotiator: org.apache.hive.kudu.org.apache.kudu.client.Negotiator$SaslMechanism chosenMech>;
v = <org.apache.hive.kudu.org.apache.kudu.client.Negotiator$SaslMechanism: org.apache.hive.kudu.org.apache.kudu.client.Negotiator$SaslMechanism GSSAPI>;
if v != v goto label;
v = virtualinvoke v.<org.apache.hive.kudu.org.apache.kudu.rpc.RpcHeader$NegotiatePB: boolean hasNonce()>();
if v == 0 goto label;
v = virtualinvoke v.<org.apache.hive.kudu.org.apache.kudu.rpc.RpcHeader$NegotiatePB: org.apache.hive.kudu.org.apache.kudu.shaded.com.google.protobuf.ByteString getNonce()>();
v = virtualinvoke v.<org.apache.hive.kudu.org.apache.kudu.shaded.com.google.protobuf.ByteString: byte[] toByteArray()>();
v.<org.apache.hive.kudu.org.apache.kudu.client.Negotiator: byte[] nonce> = v;
label:
v = v.<org.apache.hive.kudu.org.apache.kudu.client.Negotiator: java.security.cert.Certificate peerCert>;
if v == null goto label;
specialinvoke v.<org.apache.hive.kudu.org.apache.kudu.client.Negotiator: void verifyChannelBindings(org.apache.hive.kudu.org.apache.kudu.rpc.RpcHeader$NegotiatePB)>(v);
label:
specialinvoke v.<org.apache.hive.kudu.org.apache.kudu.client.Negotiator: void finish(org.apache.hive.kudu.org.apache.kudu.shaded.io.netty.channel.ChannelHandlerContext)>(v);
return;
}
private void finish(org.apache.hive.kudu.org.apache.kudu.shaded.io.netty.channel.ChannelHandlerContext) throws javax.security.sasl.SaslException
{
org.apache.hive.kudu.org.apache.kudu.client.Negotiator$State v;
java.lang.Object[] v;
org.slf4j.Logger v;
org.apache.hive.kudu.org.apache.kudu.shaded.io.netty.channel.Channel v;
java.util.Set v;
org.apache.hive.kudu.org.apache.kudu.client.Negotiator v;
org.apache.hive.kudu.org.apache.kudu.rpc.RpcHeader$AuthenticationTypePB$TypeCase v;
org.apache.hive.kudu.org.apache.kudu.shaded.io.netty.channel.ChannelPromise v;
org.apache.hive.kudu.org.apache.kudu.shaded.io.netty.channel.ChannelPipeline v;
org.apache.hive.kudu.org.apache.kudu.client.RpcOutboundMessage v;
org.apache.hive.kudu.org.apache.kudu.client.Negotiator$SaslMechanism v;
org.apache.hive.kudu.org.apache.kudu.client.Negotiator$Success v;
org.apache.hive.kudu.org.apache.kudu.shaded.io.netty.channel.ChannelHandlerContext v;
v := @this: org.apache.hive.kudu.org.apache.kudu.client.Negotiator;
v := @parameter: org.apache.hive.kudu.org.apache.kudu.shaded.io.netty.channel.ChannelHandlerContext;
v = <org.apache.hive.kudu.org.apache.kudu.client.Negotiator$State: org.apache.hive.kudu.org.apache.kudu.client.Negotiator$State FINISHED>;
v.<org.apache.hive.kudu.org.apache.kudu.client.Negotiator: org.apache.hive.kudu.org.apache.kudu.client.Negotiator$State state> = v;
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()>();
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.ChannelPipeline remove(org.apache.hive.kudu.org.apache.kudu.shaded.io.netty.channel.ChannelHandler)>(v);
v = specialinvoke v.<org.apache.hive.kudu.org.apache.kudu.client.Negotiator: org.apache.hive.kudu.org.apache.kudu.client.RpcOutboundMessage makeConnectionContext()>();
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.ChannelPromise voidPromise()>();
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.ChannelFuture writeAndFlush(java.lang.Object,org.apache.hive.kudu.org.apache.kudu.shaded.io.netty.channel.ChannelPromise)>(v, v);
v = <org.apache.hive.kudu.org.apache.kudu.client.Negotiator: org.slf4j.Logger LOG>;
v = newarray (java.lang.Object)[3];
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.Channel channel()>();
v[0] = v;
v = v.<org.apache.hive.kudu.org.apache.kudu.client.Negotiator: org.apache.hive.kudu.org.apache.kudu.rpc.RpcHeader$AuthenticationTypePB$TypeCase chosenAuthnType>;
v[1] = v;
v = v.<org.apache.hive.kudu.org.apache.kudu.client.Negotiator: org.apache.hive.kudu.org.apache.kudu.client.Negotiator$SaslMechanism chosenMech>;
v[2] = v;
interfaceinvoke v.<org.slf4j.Logger: void debug(java.lang.String,java.lang.Object[])>("Authenticated connection {} using {}/{}", v);
v = new org.apache.hive.kudu.org.apache.kudu.client.Negotiator$Success;
v = v.<org.apache.hive.kudu.org.apache.kudu.client.Negotiator: java.util.Set serverFeatures>;
specialinvoke v.<org.apache.hive.kudu.org.apache.kudu.client.Negotiator$Success: void <init>(java.util.Set)>(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.ChannelHandlerContext fireChannelRead(java.lang.Object)>(v);
return;
}
private org.apache.hive.kudu.org.apache.kudu.client.RpcOutboundMessage makeConnectionContext() throws javax.security.sasl.SaslException
{
byte[] v, v, v, v, v;
org.apache.hive.kudu.org.apache.kudu.client.SecurityContext v;
org.apache.hive.kudu.org.apache.kudu.rpc.RpcHeader$RequestHeader$Builder v, v;
java.nio.ByteBuffer v;
javax.security.sasl.SaslClient v;
org.apache.hive.kudu.org.apache.kudu.shaded.com.google.protobuf.ByteString v;
org.apache.hive.kudu.org.apache.kudu.client.RpcOutboundMessage v;
int v, v, v, v, v;
org.apache.hive.kudu.org.apache.kudu.rpc.RpcHeader$ConnectionContextPB v;
java.lang.String v;
org.apache.hive.kudu.org.apache.kudu.rpc.RpcHeader$UserInformationPB v;
org.apache.hive.kudu.org.apache.kudu.rpc.RpcHeader$ConnectionContextPB$Builder v;
org.apache.hive.kudu.org.apache.kudu.client.Negotiator v;
java.nio.ByteOrder v;
org.apache.hive.kudu.org.apache.kudu.rpc.RpcHeader$UserInformationPB$Builder v;
v := @this: org.apache.hive.kudu.org.apache.kudu.client.Negotiator;
v = staticinvoke <org.apache.hive.kudu.org.apache.kudu.rpc.RpcHeader$ConnectionContextPB: org.apache.hive.kudu.org.apache.kudu.rpc.RpcHeader$ConnectionContextPB$Builder newBuilder()>();
v = staticinvoke <org.apache.hive.kudu.org.apache.kudu.rpc.RpcHeader$UserInformationPB: org.apache.hive.kudu.org.apache.kudu.rpc.RpcHeader$UserInformationPB$Builder newBuilder()>();
v = v.<org.apache.hive.kudu.org.apache.kudu.client.Negotiator: org.apache.hive.kudu.org.apache.kudu.client.SecurityContext securityContext>;
v = virtualinvoke v.<org.apache.hive.kudu.org.apache.kudu.client.SecurityContext: java.lang.String getRealUser()>();
virtualinvoke v.<org.apache.hive.kudu.org.apache.kudu.rpc.RpcHeader$UserInformationPB$Builder: org.apache.hive.kudu.org.apache.kudu.rpc.RpcHeader$UserInformationPB$Builder setEffectiveUser(java.lang.String)>(v);
virtualinvoke v.<org.apache.hive.kudu.org.apache.kudu.rpc.RpcHeader$UserInformationPB$Builder: org.apache.hive.kudu.org.apache.kudu.rpc.RpcHeader$UserInformationPB$Builder setRealUser(java.lang.String)>(v);
v = virtualinvoke v.<org.apache.hive.kudu.org.apache.kudu.rpc.RpcHeader$UserInformationPB$Builder: org.apache.hive.kudu.org.apache.kudu.rpc.RpcHeader$UserInformationPB build()>();
virtualinvoke v.<org.apache.hive.kudu.org.apache.kudu.rpc.RpcHeader$ConnectionContextPB$Builder: org.apache.hive.kudu.org.apache.kudu.rpc.RpcHeader$ConnectionContextPB$Builder setDEPRECATEDUserInfo(org.apache.hive.kudu.org.apache.kudu.rpc.RpcHeader$UserInformationPB)>(v);
v = v.<org.apache.hive.kudu.org.apache.kudu.client.Negotiator: byte[] nonce>;
if v == null goto label;
v = v.<org.apache.hive.kudu.org.apache.kudu.client.Negotiator: javax.security.sasl.SaslClient saslClient>;
v = v.<org.apache.hive.kudu.org.apache.kudu.client.Negotiator: byte[] nonce>;
v = v.<org.apache.hive.kudu.org.apache.kudu.client.Negotiator: byte[] nonce>;
v = lengthof v;
v = interfaceinvoke v.<javax.security.sasl.SaslClient: byte[] wrap(byte[],int,int)>(v, 0, v);
v = lengthof v;
v = v + 4;
v = staticinvoke <java.nio.ByteBuffer: java.nio.ByteBuffer allocate(int)>(v);
v = <java.nio.ByteOrder: java.nio.ByteOrder BIG_ENDIAN>;
virtualinvoke v.<java.nio.ByteBuffer: java.nio.ByteBuffer order(java.nio.ByteOrder)>(v);
v = lengthof v;
virtualinvoke v.<java.nio.ByteBuffer: java.nio.ByteBuffer putInt(int)>(v);
virtualinvoke v.<java.nio.ByteBuffer: java.nio.ByteBuffer put(byte[])>(v);
v = virtualinvoke v.<java.nio.ByteBuffer: byte[] array()>();
v = staticinvoke <org.apache.hive.kudu.org.apache.kudu.shaded.com.google.protobuf.UnsafeByteOperations: org.apache.hive.kudu.org.apache.kudu.shaded.com.google.protobuf.ByteString unsafeWrap(byte[])>(v);
virtualinvoke v.<org.apache.hive.kudu.org.apache.kudu.rpc.RpcHeader$ConnectionContextPB$Builder: org.apache.hive.kudu.org.apache.kudu.rpc.RpcHeader$ConnectionContextPB$Builder setEncodedNonce(org.apache.hive.kudu.org.apache.kudu.shaded.com.google.protobuf.ByteString)>(v);
label:
v = virtualinvoke v.<org.apache.hive.kudu.org.apache.kudu.rpc.RpcHeader$ConnectionContextPB$Builder: org.apache.hive.kudu.org.apache.kudu.rpc.RpcHeader$ConnectionContextPB build()>();
v = staticinvoke <org.apache.hive.kudu.org.apache.kudu.rpc.RpcHeader$RequestHeader: org.apache.hive.kudu.org.apache.kudu.rpc.RpcHeader$RequestHeader$Builder newBuilder()>();
v = (int) -3;
v = virtualinvoke v.<org.apache.hive.kudu.org.apache.kudu.rpc.RpcHeader$RequestHeader$Builder: org.apache.hive.kudu.org.apache.kudu.rpc.RpcHeader$RequestHeader$Builder setCallId(int)>(v);
v = new org.apache.hive.kudu.org.apache.kudu.client.RpcOutboundMessage;
specialinvoke v.<org.apache.hive.kudu.org.apache.kudu.client.RpcOutboundMessage: void <init>(org.apache.hive.kudu.org.apache.kudu.rpc.RpcHeader$RequestHeader$Builder,org.apache.hive.kudu.org.apache.kudu.shaded.com.google.protobuf.Message)>(v, v);
return v;
}
private byte[] evaluateChallenge(byte[]) throws javax.security.sasl.SaslException, org.apache.hive.kudu.org.apache.kudu.client.NonRecoverableException
{
java.lang.Throwable v, v;
byte[] v;
java.security.PrivilegedActionException v;
org.apache.hive.kudu.org.apache.kudu.client.SecurityContext v;
org.apache.hive.kudu.org.apache.kudu.client.Status v;
javax.security.auth.Subject v;
org.apache.hive.kudu.org.apache.kudu.client.Negotiator v;
int v;
java.lang.Object v;
org.apache.hive.kudu.org.apache.kudu.client.NonRecoverableException v;
org.apache.hive.kudu.org.apache.kudu.client.Negotiator$1 v;
boolean v;
v := @this: org.apache.hive.kudu.org.apache.kudu.client.Negotiator;
v := @parameter: byte[];
label:
v = v.<org.apache.hive.kudu.org.apache.kudu.client.Negotiator: org.apache.hive.kudu.org.apache.kudu.client.SecurityContext securityContext>;
v = virtualinvoke v.<org.apache.hive.kudu.org.apache.kudu.client.SecurityContext: javax.security.auth.Subject getSubject()>();
v = new org.apache.hive.kudu.org.apache.kudu.client.Negotiator$1;
specialinvoke v.<org.apache.hive.kudu.org.apache.kudu.client.Negotiator$1: void <init>(org.apache.hive.kudu.org.apache.kudu.client.Negotiator,byte[])>(v, v);
v = staticinvoke <javax.security.auth.Subject: java.lang.Object doAs(javax.security.auth.Subject,java.security.PrivilegedExceptionAction)>(v, v);
label:
return v;
label:
v := @caughtexception;
v = virtualinvoke v.<java.security.PrivilegedActionException: java.lang.Throwable getCause()>();
v = virtualinvoke v.<javax.security.sasl.SaslException: java.lang.Throwable getCause()>();
v = v instanceof org.ietf.jgss.GSSException;
if v == 0 goto label;
v = virtualinvoke v.<org.ietf.jgss.GSSException: int getMajor()>();
if v != 13 goto label;
v = new org.apache.hive.kudu.org.apache.kudu.client.NonRecoverableException;
v = staticinvoke <org.apache.hive.kudu.org.apache.kudu.client.Status: org.apache.hive.kudu.org.apache.kudu.client.Status ConfigurationError(java.lang.String)>("Server requires Kerberos, but this client is not authenticated (missing or expired TGT)");
specialinvoke v.<org.apache.hive.kudu.org.apache.kudu.client.NonRecoverableException: void <init>(org.apache.hive.kudu.org.apache.kudu.client.Status,java.lang.Throwable)>(v, v);
throw v;
label:
throw v;
catch java.security.PrivilegedActionException from label to label with label;
}
static void <clinit>()
{
org.apache.hive.kudu.org.apache.kudu.rpc.RpcHeader$RpcFeatureFlag v, v;
org.slf4j.Logger v;
org.apache.hive.kudu.org.apache.kudu.shaded.com.google.common.collect.ImmutableSet v;
java.lang.String[] v;
java.lang.Class v;
boolean v, v;
v = class "Lorg/apache/hive/kudu/org/apache/kudu/client/Negotiator;";
v = virtualinvoke v.<java.lang.Class: boolean desiredAssertionStatus()>();
if v != 0 goto label;
v = 1;
goto label;
label:
v = 0;
label:
<org.apache.hive.kudu.org.apache.kudu.client.Negotiator: boolean $assertionsDisabled> = v;
v = staticinvoke <org.slf4j.LoggerFactory: org.slf4j.Logger getLogger(java.lang.Class)>(class "Lorg/apache/hive/kudu/org/apache/kudu/client/Negotiator;");
<org.apache.hive.kudu.org.apache.kudu.client.Negotiator: org.slf4j.Logger LOG> = v;
v = <org.apache.hive.kudu.org.apache.kudu.rpc.RpcHeader$RpcFeatureFlag: org.apache.hive.kudu.org.apache.kudu.rpc.RpcHeader$RpcFeatureFlag APPLICATION_FEATURE_FLAGS>;
v = <org.apache.hive.kudu.org.apache.kudu.rpc.RpcHeader$RpcFeatureFlag: org.apache.hive.kudu.org.apache.kudu.rpc.RpcHeader$RpcFeatureFlag TLS>;
v = staticinvoke <org.apache.hive.kudu.org.apache.kudu.shaded.com.google.common.collect.ImmutableSet: org.apache.hive.kudu.org.apache.kudu.shaded.com.google.common.collect.ImmutableSet of(java.lang.Object,java.lang.Object)>(v, v);
<org.apache.hive.kudu.org.apache.kudu.client.Negotiator: org.apache.hive.kudu.org.apache.kudu.shaded.com.google.common.collect.ImmutableSet SUPPORTED_RPC_FEATURES> = v;
v = newarray (java.lang.String)[14];
v[0] = "TLS_ECDHE_ECDSA_WITH_AES_256_GCM_SHA384";
v[1] = "TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384";
v[2] = "TLS_ECDHE_ECDSA_WITH_AES_128_GCM_SHA256";
v[3] = "TLS_ECDHE_RSA_WITH_AES_128_GCM_SHA256";
v[4] = "TLS_ECDHE_ECDSA_WITH_AES_256_CBC_SHA384";
v[5] = "TLS_ECDHE_RSA_WITH_AES_256_CBC_SHA384";
v[6] = "TLS_ECDHE_ECDSA_WITH_AES_128_CBC_SHA256";
v[7] = "TLS_ECDHE_RSA_WITH_AES_128_CBC_SHA256";
v[8] = "TLS_RSA_WITH_AES_256_GCM_SHA384";
v[9] = "TLS_RSA_WITH_AES_128_GCM_SHA256";
v[10] = "TLS_RSA_WITH_AES_256_CBC_SHA256";
v[11] = "TLS_RSA_WITH_AES_128_CBC_SHA256";
v[12] = "TLS_RSA_WITH_AES_256_CBC_SHA";
v[13] = "TLS_RSA_WITH_AES_128_CBC_SHA";
<org.apache.hive.kudu.org.apache.kudu.client.Negotiator: java.lang.String[] PREFERRED_CIPHER_SUITES> = v;
return;
}
}