Rename `NoiseStreamHandler` to `NoiseTransportHandler` for consistency with Noise specification terminology
This commit is contained in:
parent
75bb22f08b
commit
8a587d1d12
|
@ -29,7 +29,7 @@ class NoiseNXHandshakeHandler extends AbstractNoiseHandshakeHandler {
|
||||||
// All we need to do is accept the client's ephemeral key and send our own static keys; after that, we can consider
|
// All we need to do is accept the client's ephemeral key and send our own static keys; after that, we can consider
|
||||||
// the handshake complete
|
// the handshake complete
|
||||||
context.fireUserEventTriggered(new NoiseHandshakeCompleteEvent(Optional.empty()));
|
context.fireUserEventTriggered(new NoiseHandshakeCompleteEvent(Optional.empty()));
|
||||||
context.pipeline().replace(NoiseNXHandshakeHandler.this, null, new NoiseStreamHandler(getHandshakeState().split()));
|
context.pipeline().replace(NoiseNXHandshakeHandler.this, null, new NoiseTransportHandler(getHandshakeState().split()));
|
||||||
} else {
|
} else {
|
||||||
// Anything except binary WebSocket frames should have been filtered out of the pipeline by now; treat this as an
|
// Anything except binary WebSocket frames should have been filtered out of the pipeline by now; treat this as an
|
||||||
// error
|
// error
|
||||||
|
|
|
@ -17,15 +17,15 @@ import org.slf4j.Logger;
|
||||||
import org.slf4j.LoggerFactory;
|
import org.slf4j.LoggerFactory;
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* A Noise stream handler manages a bidirectional Noise session after a handshake has completed.
|
* A Noise transport handler manages a bidirectional Noise session after a handshake has completed.
|
||||||
*/
|
*/
|
||||||
class NoiseStreamHandler extends ChannelDuplexHandler {
|
class NoiseTransportHandler extends ChannelDuplexHandler {
|
||||||
|
|
||||||
private final CipherStatePair cipherStatePair;
|
private final CipherStatePair cipherStatePair;
|
||||||
|
|
||||||
private static final Logger log = LoggerFactory.getLogger(NoiseStreamHandler.class);
|
private static final Logger log = LoggerFactory.getLogger(NoiseTransportHandler.class);
|
||||||
|
|
||||||
NoiseStreamHandler(CipherStatePair cipherStatePair) {
|
NoiseTransportHandler(CipherStatePair cipherStatePair) {
|
||||||
this.cipherStatePair = cipherStatePair;
|
this.cipherStatePair = cipherStatePair;
|
||||||
}
|
}
|
||||||
|
|
|
@ -147,7 +147,7 @@ class NoiseXXHandshakeHandler extends AbstractNoiseHandshakeHandler {
|
||||||
context.fireUserEventTriggered(new NoiseHandshakeCompleteEvent(
|
context.fireUserEventTriggered(new NoiseHandshakeCompleteEvent(
|
||||||
Optional.of(new AuthenticatedDevice(accountIdentifier, deviceId))));
|
Optional.of(new AuthenticatedDevice(accountIdentifier, deviceId))));
|
||||||
|
|
||||||
context.pipeline().addAfter(context.name(), null, new NoiseStreamHandler(handshakeState.split()));
|
context.pipeline().addAfter(context.name(), null, new NoiseTransportHandler(handshakeState.split()));
|
||||||
|
|
||||||
// Flush any buffered reads
|
// Flush any buffered reads
|
||||||
pendingInboundFrames.forEach(context::fireChannelRead);
|
pendingInboundFrames.forEach(context::fireChannelRead);
|
||||||
|
|
|
@ -35,7 +35,7 @@ class NoiseNXClientHandshakeHandler extends AbstractNoiseClientHandler {
|
||||||
receivedServerStaticKeyMessage = true;
|
receivedServerStaticKeyMessage = true;
|
||||||
handleServerStaticKeyMessage(context, frame);
|
handleServerStaticKeyMessage(context, frame);
|
||||||
|
|
||||||
context.pipeline().replace(this, null, new NoiseStreamHandler(getHandshakeState().split()));
|
context.pipeline().replace(this, null, new NoiseTransportHandler(getHandshakeState().split()));
|
||||||
context.fireUserEventTriggered(new NoiseHandshakeCompleteEvent(Optional.empty()));
|
context.fireUserEventTriggered(new NoiseHandshakeCompleteEvent(Optional.empty()));
|
||||||
} finally {
|
} finally {
|
||||||
frame.release();
|
frame.release();
|
||||||
|
|
|
@ -78,7 +78,7 @@ class NoiseNXHandshakeHandlerTest extends AbstractNoiseHandshakeHandlerTest {
|
||||||
assertNull(embeddedChannel.pipeline().get(NoiseNXHandshakeHandler.class),
|
assertNull(embeddedChannel.pipeline().get(NoiseNXHandshakeHandler.class),
|
||||||
"Handshake handler should remove self from pipeline after successful handshake");
|
"Handshake handler should remove self from pipeline after successful handshake");
|
||||||
|
|
||||||
assertNotNull(embeddedChannel.pipeline().get(NoiseStreamHandler.class),
|
assertNotNull(embeddedChannel.pipeline().get(NoiseTransportHandler.class),
|
||||||
"Handshake handler should insert a Noise stream handler after successful handshake");
|
"Handshake handler should insert a Noise stream handler after successful handshake");
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
|
@ -21,7 +21,7 @@ import java.security.NoSuchAlgorithmException;
|
||||||
|
|
||||||
import static org.junit.jupiter.api.Assertions.*;
|
import static org.junit.jupiter.api.Assertions.*;
|
||||||
|
|
||||||
class NoiseStreamHandlerTest extends AbstractLeakDetectionTest {
|
class NoiseTransportHandlerTest extends AbstractLeakDetectionTest {
|
||||||
|
|
||||||
private CipherStatePair clientCipherStatePair;
|
private CipherStatePair clientCipherStatePair;
|
||||||
private EmbeddedChannel embeddedChannel;
|
private EmbeddedChannel embeddedChannel;
|
||||||
|
@ -51,7 +51,7 @@ class NoiseStreamHandlerTest extends AbstractLeakDetectionTest {
|
||||||
clientHandshakeState.readMessage(serverEphemeralKeyMessage, 0, serverEphemeralKeyMessage.length, EmptyArrays.EMPTY_BYTES, 0);
|
clientHandshakeState.readMessage(serverEphemeralKeyMessage, 0, serverEphemeralKeyMessage.length, EmptyArrays.EMPTY_BYTES, 0);
|
||||||
|
|
||||||
clientCipherStatePair = clientHandshakeState.split();
|
clientCipherStatePair = clientHandshakeState.split();
|
||||||
embeddedChannel = new EmbeddedChannel(new NoiseStreamHandler(serverHandshakeState.split()));
|
embeddedChannel = new EmbeddedChannel(new NoiseTransportHandler(serverHandshakeState.split()));
|
||||||
|
|
||||||
clientHandshakeState.destroy();
|
clientHandshakeState.destroy();
|
||||||
serverHandshakeState.destroy();
|
serverHandshakeState.destroy();
|
|
@ -77,7 +77,7 @@ class NoiseXXClientHandshakeHandler extends AbstractNoiseClientHandler {
|
||||||
context.writeAndFlush(new BinaryWebSocketFrame(Unpooled.wrappedBuffer(staticKeyAndIdentityMessage)))
|
context.writeAndFlush(new BinaryWebSocketFrame(Unpooled.wrappedBuffer(staticKeyAndIdentityMessage)))
|
||||||
.addListener(ChannelFutureListener.FIRE_EXCEPTION_ON_FAILURE);
|
.addListener(ChannelFutureListener.FIRE_EXCEPTION_ON_FAILURE);
|
||||||
|
|
||||||
context.pipeline().replace(this, null, new NoiseStreamHandler(handshakeState.split()));
|
context.pipeline().replace(this, null, new NoiseTransportHandler(handshakeState.split()));
|
||||||
context.fireUserEventTriggered(new NoiseHandshakeCompleteEvent(Optional.empty()));
|
context.fireUserEventTriggered(new NoiseHandshakeCompleteEvent(Optional.empty()));
|
||||||
} finally {
|
} finally {
|
||||||
frame.release();
|
frame.release();
|
||||||
|
|
|
@ -25,7 +25,6 @@ import java.util.concurrent.CompletableFuture;
|
||||||
import java.util.concurrent.ThreadLocalRandom;
|
import java.util.concurrent.ThreadLocalRandom;
|
||||||
import javax.crypto.BadPaddingException;
|
import javax.crypto.BadPaddingException;
|
||||||
import javax.crypto.ShortBufferException;
|
import javax.crypto.ShortBufferException;
|
||||||
import io.netty.util.ReferenceCountUtil;
|
|
||||||
import io.netty.util.internal.EmptyArrays;
|
import io.netty.util.internal.EmptyArrays;
|
||||||
import org.junit.jupiter.api.BeforeEach;
|
import org.junit.jupiter.api.BeforeEach;
|
||||||
import org.junit.jupiter.api.Test;
|
import org.junit.jupiter.api.Test;
|
||||||
|
@ -84,7 +83,7 @@ class NoiseXXHandshakeHandlerTest extends AbstractNoiseHandshakeHandlerTest {
|
||||||
assertNull(embeddedChannel.pipeline().get(NoiseXXHandshakeHandler.class),
|
assertNull(embeddedChannel.pipeline().get(NoiseXXHandshakeHandler.class),
|
||||||
"Handshake handler should remove self from pipeline after successful handshake");
|
"Handshake handler should remove self from pipeline after successful handshake");
|
||||||
|
|
||||||
assertNotNull(embeddedChannel.pipeline().get(NoiseStreamHandler.class),
|
assertNotNull(embeddedChannel.pipeline().get(NoiseTransportHandler.class),
|
||||||
"Handshake handler should insert a Noise stream handler after successful handshake");
|
"Handshake handler should insert a Noise stream handler after successful handshake");
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -133,7 +132,7 @@ class NoiseXXHandshakeHandlerTest extends AbstractNoiseHandshakeHandlerTest {
|
||||||
assertNotNull(embeddedChannel.pipeline().get(NoiseXXHandshakeHandler.class),
|
assertNotNull(embeddedChannel.pipeline().get(NoiseXXHandshakeHandler.class),
|
||||||
"Handshake handler should not remove self from pipeline after failed handshake");
|
"Handshake handler should not remove self from pipeline after failed handshake");
|
||||||
|
|
||||||
assertNull(embeddedChannel.pipeline().get(NoiseStreamHandler.class),
|
assertNull(embeddedChannel.pipeline().get(NoiseTransportHandler.class),
|
||||||
"Noise stream handler should not be added to pipeline after failed handshake");
|
"Noise stream handler should not be added to pipeline after failed handshake");
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -182,7 +181,7 @@ class NoiseXXHandshakeHandlerTest extends AbstractNoiseHandshakeHandlerTest {
|
||||||
assertNotNull(embeddedChannel.pipeline().get(NoiseXXHandshakeHandler.class),
|
assertNotNull(embeddedChannel.pipeline().get(NoiseXXHandshakeHandler.class),
|
||||||
"Handshake handler should not remove self from pipeline after failed handshake");
|
"Handshake handler should not remove self from pipeline after failed handshake");
|
||||||
|
|
||||||
assertNull(embeddedChannel.pipeline().get(NoiseStreamHandler.class),
|
assertNull(embeddedChannel.pipeline().get(NoiseTransportHandler.class),
|
||||||
"Noise stream handler should not be added to pipeline after failed handshake");
|
"Noise stream handler should not be added to pipeline after failed handshake");
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -216,7 +215,7 @@ class NoiseXXHandshakeHandlerTest extends AbstractNoiseHandshakeHandlerTest {
|
||||||
assertNotNull(embeddedChannel.pipeline().get(NoiseXXHandshakeHandler.class),
|
assertNotNull(embeddedChannel.pipeline().get(NoiseXXHandshakeHandler.class),
|
||||||
"Handshake handler should not remove self from pipeline after failed handshake");
|
"Handshake handler should not remove self from pipeline after failed handshake");
|
||||||
|
|
||||||
assertNull(embeddedChannel.pipeline().get(NoiseStreamHandler.class),
|
assertNull(embeddedChannel.pipeline().get(NoiseTransportHandler.class),
|
||||||
"Noise stream handler should not be added to pipeline after failed handshake");
|
"Noise stream handler should not be added to pipeline after failed handshake");
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -250,7 +249,7 @@ class NoiseXXHandshakeHandlerTest extends AbstractNoiseHandshakeHandlerTest {
|
||||||
assertNotNull(embeddedChannel.pipeline().get(NoiseXXHandshakeHandler.class),
|
assertNotNull(embeddedChannel.pipeline().get(NoiseXXHandshakeHandler.class),
|
||||||
"Handshake handler should not remove self from pipeline after failed handshake");
|
"Handshake handler should not remove self from pipeline after failed handshake");
|
||||||
|
|
||||||
assertNull(embeddedChannel.pipeline().get(NoiseStreamHandler.class),
|
assertNull(embeddedChannel.pipeline().get(NoiseTransportHandler.class),
|
||||||
"Noise stream handler should not be added to pipeline after failed handshake");
|
"Noise stream handler should not be added to pipeline after failed handshake");
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -306,7 +305,7 @@ class NoiseXXHandshakeHandlerTest extends AbstractNoiseHandshakeHandlerTest {
|
||||||
assertNull(embeddedChannel.pipeline().get(NoiseXXHandshakeHandler.class),
|
assertNull(embeddedChannel.pipeline().get(NoiseXXHandshakeHandler.class),
|
||||||
"Handshake handler should remove self from pipeline after successful handshake");
|
"Handshake handler should remove self from pipeline after successful handshake");
|
||||||
|
|
||||||
assertNotNull(embeddedChannel.pipeline().get(NoiseStreamHandler.class),
|
assertNotNull(embeddedChannel.pipeline().get(NoiseTransportHandler.class),
|
||||||
"Handshake handler should insert a Noise stream handler after successful handshake");
|
"Handshake handler should insert a Noise stream handler after successful handshake");
|
||||||
|
|
||||||
for (final ByteBuf additionalMessage : additionalMessages) {
|
for (final ByteBuf additionalMessage : additionalMessages) {
|
||||||
|
@ -369,7 +368,7 @@ class NoiseXXHandshakeHandlerTest extends AbstractNoiseHandshakeHandlerTest {
|
||||||
assertNotNull(embeddedChannel.pipeline().get(NoiseXXHandshakeHandler.class),
|
assertNotNull(embeddedChannel.pipeline().get(NoiseXXHandshakeHandler.class),
|
||||||
"Handshake handler should not remove self from pipeline after failed handshake");
|
"Handshake handler should not remove self from pipeline after failed handshake");
|
||||||
|
|
||||||
assertNull(embeddedChannel.pipeline().get(NoiseStreamHandler.class),
|
assertNull(embeddedChannel.pipeline().get(NoiseTransportHandler.class),
|
||||||
"Noise stream handler should not be added to pipeline after failed handshake");
|
"Noise stream handler should not be added to pipeline after failed handshake");
|
||||||
|
|
||||||
assertTrue(embeddedChannel.inboundMessages().isEmpty(),
|
assertTrue(embeddedChannel.inboundMessages().isEmpty(),
|
||||||
|
|
Loading…
Reference in New Issue