byte[] bytes = readBytes(buf);
byte[] challenge = server.evaluateResponse(bytes);
if (!server.isComplete()) {
ch.writeAndFlush(newContinueMessage(ctx, Unpooled.wrappedBuffer(challenge)));
} else {
ch.writeAndFlush(newSuccessMessage(ctx, Unpooled.wrappedBuffer(challenge)));
ChannelPipeline pipeline = ctx.pipeline();
String qop = (String) server.getNegotiatedProperty(Sasl.QOP);
if (qop != null
&& (qop.equalsIgnoreCase(AUTH_INT)