summaryrefslogtreecommitdiffstats
path: root/jrt
diff options
context:
space:
mode:
authorHåvard Pettersen <havardpe@oath.com>2018-11-09 11:15:20 +0000
committerHåvard Pettersen <havardpe@oath.com>2018-11-09 11:15:20 +0000
commitb1181c1e3c65eff42eee4a03142a5454b0117ee5 (patch)
treeeb5a6ac05d18e7f84003a159e22abc877a9d6320 /jrt
parenta9d8f3fcbb5e348ef1e91aefd7bd5caf4356e533 (diff)
detect eof during tls handshake detection
Diffstat (limited to 'jrt')
-rw-r--r--jrt/src/com/yahoo/jrt/MaybeTlsCryptoSocket.java4
1 files changed, 3 insertions, 1 deletions
diff --git a/jrt/src/com/yahoo/jrt/MaybeTlsCryptoSocket.java b/jrt/src/com/yahoo/jrt/MaybeTlsCryptoSocket.java
index 1cf3dfd1261..7c09b8b47ca 100644
--- a/jrt/src/com/yahoo/jrt/MaybeTlsCryptoSocket.java
+++ b/jrt/src/com/yahoo/jrt/MaybeTlsCryptoSocket.java
@@ -67,7 +67,9 @@ public class MaybeTlsCryptoSocket implements CryptoSocket {
@Override public HandshakeResult handshake() throws IOException {
if (factory != null) {
- channel().read(buffer.getWritable(SNOOP_SIZE));
+ if (channel().read(buffer.getWritable(SNOOP_SIZE)) == -1) {
+ throw new IOException("jrt: Connection closed by peer during tls detection");
+ }
if (buffer.bytes() < SNOOP_SIZE) {
return HandshakeResult.NEED_READ;
}