From a1d8d86ea0b4e26d54a3f33ba9147a84cc90c5ee Mon Sep 17 00:00:00 2001 From: John Fallows Date: Thu, 16 Sep 2021 15:27:53 -0700 Subject: [PATCH 1/2] Scenarios for close_notify --- .../client.rpt | 33 +++++++++++++++++++ .../server.rpt | 32 ++++++++++++++++++ .../client.rpt | 26 +++++++++++++++ .../server.rpt | 27 +++++++++++++++ .../nukleus/tls/stream/ApplicationIT.java | 9 +++++ .../nukleus/tls/stream/NetworkIT.java | 9 +++++ 6 files changed, 136 insertions(+) create mode 100644 src/main/scripts/org/reaktivity/specification/nukleus/tls/streams/application/client.sent.write.close.read.closed/client.rpt create mode 100644 src/main/scripts/org/reaktivity/specification/nukleus/tls/streams/application/client.sent.write.close.read.closed/server.rpt create mode 100644 src/main/scripts/org/reaktivity/specification/nukleus/tls/streams/network/client.sent.write.close.read.closed/client.rpt create mode 100644 src/main/scripts/org/reaktivity/specification/nukleus/tls/streams/network/client.sent.write.close.read.closed/server.rpt diff --git a/src/main/scripts/org/reaktivity/specification/nukleus/tls/streams/application/client.sent.write.close.read.closed/client.rpt b/src/main/scripts/org/reaktivity/specification/nukleus/tls/streams/application/client.sent.write.close.read.closed/client.rpt new file mode 100644 index 0000000..74a894c --- /dev/null +++ b/src/main/scripts/org/reaktivity/specification/nukleus/tls/streams/application/client.sent.write.close.read.closed/client.rpt @@ -0,0 +1,33 @@ +# +# Copyright 2016-2021 The Reaktivity Project +# +# The Reaktivity Project licenses this file to you under the Apache License, +# version 2.0 (the "License"); you may not use this file except in compliance +# with the License. You may obtain a copy of the License at: +# +# http://www.apache.org/licenses/LICENSE-2.0 +# +# Unless required by applicable law or agreed to in writing, software +# distributed under the License is distributed on an "AS IS" BASIS, WITHOUT +# WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the +# License for the specific language governing permissions and limitations +# under the License. +# + +connect "nukleus://streams/app#0" + option nukleus:window 65536 + option nukleus:transmission "duplex" + +write nukleus:begin.ext ${proxy:beginEx() + .typeId(nukleus:id("proxy")) + .addressNone() + .build() + .info() + .authority("localhost") + .build() + .build()} + +connected + +write close +read closed diff --git a/src/main/scripts/org/reaktivity/specification/nukleus/tls/streams/application/client.sent.write.close.read.closed/server.rpt b/src/main/scripts/org/reaktivity/specification/nukleus/tls/streams/application/client.sent.write.close.read.closed/server.rpt new file mode 100644 index 0000000..d1c6c62 --- /dev/null +++ b/src/main/scripts/org/reaktivity/specification/nukleus/tls/streams/application/client.sent.write.close.read.closed/server.rpt @@ -0,0 +1,32 @@ +# +# Copyright 2016-2021 The Reaktivity Project +# +# The Reaktivity Project licenses this file to you under the Apache License, +# version 2.0 (the "License"); you may not use this file except in compliance +# with the License. You may obtain a copy of the License at: +# +# http://www.apache.org/licenses/LICENSE-2.0 +# +# Unless required by applicable law or agreed to in writing, software +# distributed under the License is distributed on an "AS IS" BASIS, WITHOUT +# WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the +# License for the specific language governing permissions and limitations +# under the License. +# + +accept "nukleus://streams/app#0" + option nukleus:window 65536 + option nukleus:transmission "duplex" +accepted + +read nukleus:begin.ext ${proxy:matchBeginEx() + .typeId(nukleus:id("proxy")) + .info() + .authority("localhost") + .build() + .build()} + +connected + +read closed +write close diff --git a/src/main/scripts/org/reaktivity/specification/nukleus/tls/streams/network/client.sent.write.close.read.closed/client.rpt b/src/main/scripts/org/reaktivity/specification/nukleus/tls/streams/network/client.sent.write.close.read.closed/client.rpt new file mode 100644 index 0000000..7c9372e --- /dev/null +++ b/src/main/scripts/org/reaktivity/specification/nukleus/tls/streams/network/client.sent.write.close.read.closed/client.rpt @@ -0,0 +1,26 @@ +# +# Copyright 2016-2021 The Reaktivity Project +# +# The Reaktivity Project licenses this file to you under the Apache License, +# version 2.0 (the "License"); you may not use this file except in compliance +# with the License. You may obtain a copy of the License at: +# +# http://www.apache.org/licenses/LICENSE-2.0 +# +# Unless required by applicable law or agreed to in writing, software +# distributed under the License is distributed on an "AS IS" BASIS, WITHOUT +# WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the +# License for the specific language governing permissions and limitations +# under the License. +# + +connect "tls://localhost:9090" + option tls:transport "nukleus://streams/net#0" + option tls:trustStoreFile "src/test/democa/client/trust" + option tls:trustStorePassword "generated" + option nukleus:window 65536 + option nukleus:transmission "duplex" +connected + +write close +read closed diff --git a/src/main/scripts/org/reaktivity/specification/nukleus/tls/streams/network/client.sent.write.close.read.closed/server.rpt b/src/main/scripts/org/reaktivity/specification/nukleus/tls/streams/network/client.sent.write.close.read.closed/server.rpt new file mode 100644 index 0000000..dd72884 --- /dev/null +++ b/src/main/scripts/org/reaktivity/specification/nukleus/tls/streams/network/client.sent.write.close.read.closed/server.rpt @@ -0,0 +1,27 @@ +# +# Copyright 2016-2021 The Reaktivity Project +# +# The Reaktivity Project licenses this file to you under the Apache License, +# version 2.0 (the "License"); you may not use this file except in compliance +# with the License. You may obtain a copy of the License at: +# +# http://www.apache.org/licenses/LICENSE-2.0 +# +# Unless required by applicable law or agreed to in writing, software +# distributed under the License is distributed on an "AS IS" BASIS, WITHOUT +# WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the +# License for the specific language governing permissions and limitations +# under the License. +# + +accept "tls://localhost:9090" + option tls:transport "nukleus://streams/net#0" + option tls:keyStoreFile "src/test/democa/server/keys" + option tls:keyStorePassword "generated" + option nukleus:window 65536 + option nukleus:transmission "duplex" +accepted +connected + +read closed +write close diff --git a/src/test/java/org/reaktivity/specification/nukleus/tls/stream/ApplicationIT.java b/src/test/java/org/reaktivity/specification/nukleus/tls/stream/ApplicationIT.java index 03a526e..7448ece 100644 --- a/src/test/java/org/reaktivity/specification/nukleus/tls/stream/ApplicationIT.java +++ b/src/test/java/org/reaktivity/specification/nukleus/tls/stream/ApplicationIT.java @@ -174,6 +174,15 @@ public void shouldReceiveClientSentWriteClose() throws Exception k3po.finish(); } + @Test + @Specification({ + "${app}/client.sent.write.close.read.closed/client", + "${app}/client.sent.write.close.read.closed/server"}) + public void shouldReceiveClientSentWriteCloseReadClosed() throws Exception + { + k3po.finish(); + } + @Test @Specification({ "${app}/client.sent.write.close.before.handshake/client", diff --git a/src/test/java/org/reaktivity/specification/nukleus/tls/stream/NetworkIT.java b/src/test/java/org/reaktivity/specification/nukleus/tls/stream/NetworkIT.java index 851dca9..5b2f0ce 100644 --- a/src/test/java/org/reaktivity/specification/nukleus/tls/stream/NetworkIT.java +++ b/src/test/java/org/reaktivity/specification/nukleus/tls/stream/NetworkIT.java @@ -186,6 +186,15 @@ public void shouldReceiveClientSentWriteClose() throws Exception k3po.finish(); } + @Test + @Specification({ + "${net}/client.sent.write.close.read.closed/client", + "${net}/client.sent.write.close.read.closed/server"}) + public void shouldReceiveClientSentWriteCloseReadClosed() throws Exception + { + k3po.finish(); + } + @Test @Specification({ "${net}/server.sent.write.abort/client", From 2a2b0ce2e44bc3cc3882a95d065ca66f58f0a6c6 Mon Sep 17 00:00:00 2001 From: John Fallows Date: Thu, 16 Sep 2021 15:28:13 -0700 Subject: [PATCH 2/2] Prepare release 0.66 --- pom.xml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/pom.xml b/pom.xml index 0868eb7..50fe8fc 100644 --- a/pom.xml +++ b/pom.xml @@ -6,7 +6,7 @@ 4.0.0 org.reaktivity nukleus-tls.spec - develop-SNAPSHOT + 0.66 TLS Nukleus Specification TLS Nukleus Specification https://github.com/reaktivity/nukleus-tls.spec