Package org.apache.hadoop.hbase.security
Class NettyHBaseSaslRpcClientHandler
java.lang.Object
org.apache.hbase.thirdparty.io.netty.channel.ChannelHandlerAdapter
org.apache.hbase.thirdparty.io.netty.channel.ChannelInboundHandlerAdapter
org.apache.hbase.thirdparty.io.netty.channel.SimpleChannelInboundHandler<org.apache.hbase.thirdparty.io.netty.buffer.ByteBuf>
org.apache.hadoop.hbase.security.NettyHBaseSaslRpcClientHandler
- All Implemented Interfaces:
org.apache.hbase.thirdparty.io.netty.channel.ChannelHandler
,org.apache.hbase.thirdparty.io.netty.channel.ChannelInboundHandler
@Private
public class NettyHBaseSaslRpcClientHandler
extends org.apache.hbase.thirdparty.io.netty.channel.SimpleChannelInboundHandler<org.apache.hbase.thirdparty.io.netty.buffer.ByteBuf>
Implement SASL logic for netty rpc client.
- Since:
- 2.0.0
-
Nested Class Summary
Nested classes/interfaces inherited from interface org.apache.hbase.thirdparty.io.netty.channel.ChannelHandler
org.apache.hbase.thirdparty.io.netty.channel.ChannelHandler.Sharable
-
Field Summary
Modifier and TypeFieldDescriptionprivate final org.apache.hadoop.conf.Configuration
static final String
private static final org.slf4j.Logger
private boolean
private final SaslClientAuthenticationProvider
private final org.apache.hbase.thirdparty.io.netty.util.concurrent.Promise<Boolean>
private final NettyHBaseSaslRpcClient
private final org.apache.hadoop.security.UserGroupInformation
-
Constructor Summary
ConstructorDescriptionNettyHBaseSaslRpcClientHandler
(org.apache.hbase.thirdparty.io.netty.util.concurrent.Promise<Boolean> saslPromise, org.apache.hadoop.security.UserGroupInformation ugi, SaslClientAuthenticationProvider provider, org.apache.hadoop.security.token.Token<? extends org.apache.hadoop.security.token.TokenIdentifier> token, InetAddress serverAddr, String serverPrincipal, boolean fallbackAllowed, org.apache.hadoop.conf.Configuration conf) -
Method Summary
Modifier and TypeMethodDescriptionvoid
channelInactive
(org.apache.hbase.thirdparty.io.netty.channel.ChannelHandlerContext ctx) protected void
channelRead0
(org.apache.hbase.thirdparty.io.netty.channel.ChannelHandlerContext ctx, org.apache.hbase.thirdparty.io.netty.buffer.ByteBuf msg) void
exceptionCaught
(org.apache.hbase.thirdparty.io.netty.channel.ChannelHandlerContext ctx, Throwable cause) void
handlerAdded
(org.apache.hbase.thirdparty.io.netty.channel.ChannelHandlerContext ctx) boolean
private void
removeHandlers
(org.apache.hbase.thirdparty.io.netty.channel.ChannelHandlerContext ctx) private void
private void
tryComplete
(org.apache.hbase.thirdparty.io.netty.channel.ChannelHandlerContext ctx) private void
writeResponse
(org.apache.hbase.thirdparty.io.netty.channel.ChannelHandlerContext ctx, byte[] response) Methods inherited from class org.apache.hbase.thirdparty.io.netty.channel.SimpleChannelInboundHandler
acceptInboundMessage, channelRead
Methods inherited from class org.apache.hbase.thirdparty.io.netty.channel.ChannelInboundHandlerAdapter
channelActive, channelReadComplete, channelRegistered, channelUnregistered, channelWritabilityChanged, userEventTriggered
Methods inherited from class org.apache.hbase.thirdparty.io.netty.channel.ChannelHandlerAdapter
ensureNotSharable, handlerRemoved, isSharable
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
Methods inherited from interface org.apache.hbase.thirdparty.io.netty.channel.ChannelHandler
handlerRemoved
-
Field Details
-
LOG
-
HANDLER_NAME
- See Also:
-
saslPromise
-
ugi
-
saslRpcClient
-
conf
-
provider
-
needProcessConnectionHeader
-
-
Constructor Details
-
NettyHBaseSaslRpcClientHandler
public NettyHBaseSaslRpcClientHandler(org.apache.hbase.thirdparty.io.netty.util.concurrent.Promise<Boolean> saslPromise, org.apache.hadoop.security.UserGroupInformation ugi, SaslClientAuthenticationProvider provider, org.apache.hadoop.security.token.Token<? extends org.apache.hadoop.security.token.TokenIdentifier> token, InetAddress serverAddr, String serverPrincipal, boolean fallbackAllowed, org.apache.hadoop.conf.Configuration conf) throws IOException - Parameters:
saslPromise
-true
if success,false
if server tells us to fallback to simple.- Throws:
IOException
-
-
Method Details
-
writeResponse
private void writeResponse(org.apache.hbase.thirdparty.io.netty.channel.ChannelHandlerContext ctx, byte[] response) -
tryComplete
-
removeHandlers
-
setCryptoAESOption
-
isNeedProcessConnectionHeader
-
handlerAdded
- Specified by:
handlerAdded
in interfaceorg.apache.hbase.thirdparty.io.netty.channel.ChannelHandler
- Overrides:
handlerAdded
in classorg.apache.hbase.thirdparty.io.netty.channel.ChannelHandlerAdapter
-
channelRead0
protected void channelRead0(org.apache.hbase.thirdparty.io.netty.channel.ChannelHandlerContext ctx, org.apache.hbase.thirdparty.io.netty.buffer.ByteBuf msg) throws Exception - Specified by:
channelRead0
in classorg.apache.hbase.thirdparty.io.netty.channel.SimpleChannelInboundHandler<org.apache.hbase.thirdparty.io.netty.buffer.ByteBuf>
- Throws:
Exception
-
channelInactive
public void channelInactive(org.apache.hbase.thirdparty.io.netty.channel.ChannelHandlerContext ctx) throws Exception - Specified by:
channelInactive
in interfaceorg.apache.hbase.thirdparty.io.netty.channel.ChannelInboundHandler
- Overrides:
channelInactive
in classorg.apache.hbase.thirdparty.io.netty.channel.ChannelInboundHandlerAdapter
- Throws:
Exception
-
exceptionCaught
public void exceptionCaught(org.apache.hbase.thirdparty.io.netty.channel.ChannelHandlerContext ctx, Throwable cause) - Specified by:
exceptionCaught
in interfaceorg.apache.hbase.thirdparty.io.netty.channel.ChannelHandler
- Specified by:
exceptionCaught
in interfaceorg.apache.hbase.thirdparty.io.netty.channel.ChannelInboundHandler
- Overrides:
exceptionCaught
in classorg.apache.hbase.thirdparty.io.netty.channel.ChannelInboundHandlerAdapter
-