Loading kinetic-client/src/main/java/com/seagate/kinetic/client/io/MessageHandler.java +0 −20 Original line number Diff line number Diff line Loading @@ -88,9 +88,6 @@ public class MessageHandler implements ClientMessageService, Runnable { private boolean isStatusMessageReceived = false; // is this a TLS transport handler private boolean isSecuredChannel = false; /** * Constructor. * Loading @@ -110,23 +107,6 @@ public class MessageHandler implements ClientMessageService, Runnable { .getRequestTimeoutMillis(); } /** * Set to true if this is a secured channel. * * @param flag */ public void setSecuredChannel (boolean flag) { this.isSecuredChannel = flag; } /** * Get if this is a secured channel handler. * * @return true if this is a secured channel handler. */ public boolean getSecuredChannel () { return this.isSecuredChannel; } /** * process message from IoHandler. Loading kinetic-common/src/main/java/com/seagate/kinetic/common/lib/KineticMessage.java +21 −2 Original line number Diff line number Diff line Loading @@ -17,8 +17,6 @@ */ package com.seagate.kinetic.common.lib; import java.security.Key; import com.seagate.kinetic.proto.Kinetic.CommandOrBuilder; import com.seagate.kinetic.proto.Kinetic.MessageOrBuilder; Loading @@ -45,6 +43,9 @@ public class KineticMessage { // command private CommandOrBuilder command = null; // set to true if traveling through TLS/SSL private volatile boolean isSecuredChannel = false; /** * Set protocol buffer message. * Loading Loading @@ -99,4 +100,22 @@ public class KineticMessage { return this.command; } /** * set if this message travels through SSL * * @param flag true if TLS, otherwise set to false */ public void setIsSecureChannel(boolean flag) { this.isSecuredChannel = flag; } /** * Get if this message travels through SSL. * * @return true if this message travels through SSL. */ public boolean getIsSecureChannel() { return this.isSecuredChannel; } } kinetic-simulator/src/main/java/com/seagate/kinetic/simulator/internal/PinOperationHandler.java +22 −2 Original line number Diff line number Diff line Loading @@ -34,7 +34,6 @@ import com.seagate.kinetic.proto.Kinetic.Command.Setup; import com.seagate.kinetic.proto.Kinetic.Command.Status.StatusCode; import com.seagate.kinetic.proto.Kinetic.Message.AuthType; import com.seagate.kinetic.proto.Kinetic.Message; import com.seagate.kinetic.simulator.persist.Store; /** * Loading Loading @@ -65,6 +64,15 @@ public abstract class PinOperationHandler { commandBuilder.getHeaderBuilder() .setAckSequence(request.getCommand().getHeader().getSequence()); // check if met TLS requirement if (isSecureChannel (request, commandBuilder) == false) { /** * TLS requirement not met, return with INVALID_REQUEST. */ return; } // request pin ByteString requestPin = request.getMessage().getPinAuth().getPin(); Loading Loading @@ -166,4 +174,16 @@ public abstract class PinOperationHandler { return hasPermission; } private static boolean isSecureChannel (KineticMessage request, Command.Builder respCommandBuilder) { boolean hasPermission = request.getIsSecureChannel(); if (hasPermission == false) { respCommandBuilder.getStatusBuilder().setCode(StatusCode.INVALID_REQUEST); respCommandBuilder.getStatusBuilder().setStatusMessage("TLS channel is required for Pin operation"); } return hasPermission; } } kinetic-simulator/src/main/java/com/seagate/kinetic/simulator/io/provider/nio/NioConnectionStateManager.java +0 −1 Original line number Diff line number Diff line Loading @@ -26,7 +26,6 @@ import kinetic.simulator.SimulatorConfiguration; import com.seagate.kinetic.common.lib.KineticMessage; import com.seagate.kinetic.simulator.internal.ConnectionInfo; import com.seagate.kinetic.simulator.internal.SimulatorEngine; import com.seagate.kinetic.simulator.internal.StatefulMessage; import io.netty.channel.ChannelHandlerContext; Loading kinetic-simulator/src/main/java/com/seagate/kinetic/simulator/io/provider/nio/ssl/SslMessageServiceHandler.java +5 −1 Original line number Diff line number Diff line Loading @@ -28,7 +28,7 @@ import java.util.logging.Logger; import com.seagate.kinetic.common.lib.KineticMessage; import com.seagate.kinetic.simulator.internal.ConnectionInfo; import com.seagate.kinetic.simulator.internal.SimulatorEngine; import com.seagate.kinetic.simulator.internal.StatefulMessage; import com.seagate.kinetic.simulator.io.provider.nio.NioConnectionStateManager; import com.seagate.kinetic.simulator.io.provider.nio.NioQueuedRequestProcessRunner; import com.seagate.kinetic.simulator.io.provider.nio.RequestProcessRunner; Loading Loading @@ -77,6 +77,10 @@ public class SslMessageServiceHandler extends protected void channelRead0(ChannelHandlerContext ctx, KineticMessage request) throws Exception { // set secure channel flag request.setIsSecureChannel(true); // check if client set conn id NioConnectionStateManager.checkIfConnectionIdSet(ctx, request); if (enforceOrdering) { Loading Loading
kinetic-client/src/main/java/com/seagate/kinetic/client/io/MessageHandler.java +0 −20 Original line number Diff line number Diff line Loading @@ -88,9 +88,6 @@ public class MessageHandler implements ClientMessageService, Runnable { private boolean isStatusMessageReceived = false; // is this a TLS transport handler private boolean isSecuredChannel = false; /** * Constructor. * Loading @@ -110,23 +107,6 @@ public class MessageHandler implements ClientMessageService, Runnable { .getRequestTimeoutMillis(); } /** * Set to true if this is a secured channel. * * @param flag */ public void setSecuredChannel (boolean flag) { this.isSecuredChannel = flag; } /** * Get if this is a secured channel handler. * * @return true if this is a secured channel handler. */ public boolean getSecuredChannel () { return this.isSecuredChannel; } /** * process message from IoHandler. Loading
kinetic-common/src/main/java/com/seagate/kinetic/common/lib/KineticMessage.java +21 −2 Original line number Diff line number Diff line Loading @@ -17,8 +17,6 @@ */ package com.seagate.kinetic.common.lib; import java.security.Key; import com.seagate.kinetic.proto.Kinetic.CommandOrBuilder; import com.seagate.kinetic.proto.Kinetic.MessageOrBuilder; Loading @@ -45,6 +43,9 @@ public class KineticMessage { // command private CommandOrBuilder command = null; // set to true if traveling through TLS/SSL private volatile boolean isSecuredChannel = false; /** * Set protocol buffer message. * Loading Loading @@ -99,4 +100,22 @@ public class KineticMessage { return this.command; } /** * set if this message travels through SSL * * @param flag true if TLS, otherwise set to false */ public void setIsSecureChannel(boolean flag) { this.isSecuredChannel = flag; } /** * Get if this message travels through SSL. * * @return true if this message travels through SSL. */ public boolean getIsSecureChannel() { return this.isSecuredChannel; } }
kinetic-simulator/src/main/java/com/seagate/kinetic/simulator/internal/PinOperationHandler.java +22 −2 Original line number Diff line number Diff line Loading @@ -34,7 +34,6 @@ import com.seagate.kinetic.proto.Kinetic.Command.Setup; import com.seagate.kinetic.proto.Kinetic.Command.Status.StatusCode; import com.seagate.kinetic.proto.Kinetic.Message.AuthType; import com.seagate.kinetic.proto.Kinetic.Message; import com.seagate.kinetic.simulator.persist.Store; /** * Loading Loading @@ -65,6 +64,15 @@ public abstract class PinOperationHandler { commandBuilder.getHeaderBuilder() .setAckSequence(request.getCommand().getHeader().getSequence()); // check if met TLS requirement if (isSecureChannel (request, commandBuilder) == false) { /** * TLS requirement not met, return with INVALID_REQUEST. */ return; } // request pin ByteString requestPin = request.getMessage().getPinAuth().getPin(); Loading Loading @@ -166,4 +174,16 @@ public abstract class PinOperationHandler { return hasPermission; } private static boolean isSecureChannel (KineticMessage request, Command.Builder respCommandBuilder) { boolean hasPermission = request.getIsSecureChannel(); if (hasPermission == false) { respCommandBuilder.getStatusBuilder().setCode(StatusCode.INVALID_REQUEST); respCommandBuilder.getStatusBuilder().setStatusMessage("TLS channel is required for Pin operation"); } return hasPermission; } }
kinetic-simulator/src/main/java/com/seagate/kinetic/simulator/io/provider/nio/NioConnectionStateManager.java +0 −1 Original line number Diff line number Diff line Loading @@ -26,7 +26,6 @@ import kinetic.simulator.SimulatorConfiguration; import com.seagate.kinetic.common.lib.KineticMessage; import com.seagate.kinetic.simulator.internal.ConnectionInfo; import com.seagate.kinetic.simulator.internal.SimulatorEngine; import com.seagate.kinetic.simulator.internal.StatefulMessage; import io.netty.channel.ChannelHandlerContext; Loading
kinetic-simulator/src/main/java/com/seagate/kinetic/simulator/io/provider/nio/ssl/SslMessageServiceHandler.java +5 −1 Original line number Diff line number Diff line Loading @@ -28,7 +28,7 @@ import java.util.logging.Logger; import com.seagate.kinetic.common.lib.KineticMessage; import com.seagate.kinetic.simulator.internal.ConnectionInfo; import com.seagate.kinetic.simulator.internal.SimulatorEngine; import com.seagate.kinetic.simulator.internal.StatefulMessage; import com.seagate.kinetic.simulator.io.provider.nio.NioConnectionStateManager; import com.seagate.kinetic.simulator.io.provider.nio.NioQueuedRequestProcessRunner; import com.seagate.kinetic.simulator.io.provider.nio.RequestProcessRunner; Loading Loading @@ -77,6 +77,10 @@ public class SslMessageServiceHandler extends protected void channelRead0(ChannelHandlerContext ctx, KineticMessage request) throws Exception { // set secure channel flag request.setIsSecureChannel(true); // check if client set conn id NioConnectionStateManager.checkIfConnectionIdSet(ctx, request); if (enforceOrdering) { Loading