I've recently had a case where a customer is forcing everything on TLSv1.2 but it is not related to this. Still, we might want to consider release soonish.
Gary On Wed, Oct 21, 2020 at 4:35 PM <[email protected]> wrote: > This is an automated email from the ASF dual-hosted git repository. > > olegk pushed a commit to branch master > in repository https://gitbox.apache.org/repos/asf/httpcomponents-core.git > > > The following commit(s) were added to refs/heads/master by this push: > new 46a0652 HTTPCORE-644: non-blocking TLSv1.3 connections can end > up in an infinite event spin when closed concurrently by the local and the > remote endpoints > 46a0652 is described below > > commit 46a06524e14c280bb3be13f26e34add91fd82e3a > Author: Oleg Kalnichevski <[email protected]> > AuthorDate: Wed Oct 21 22:34:18 2020 +0200 > > HTTPCORE-644: non-blocking TLSv1.3 connections can end up in an > infinite event spin when closed concurrently by the local and the remote > endpoints > --- > .../src/main/java/org/apache/hc/core5/reactor/ssl/SSLIOSession.java | 4 > ++++ > 1 file changed, 4 insertions(+) > > diff --git > a/httpcore5/src/main/java/org/apache/hc/core5/reactor/ssl/SSLIOSession.java > b/httpcore5/src/main/java/org/apache/hc/core5/reactor/ssl/SSLIOSession.java > index c135ea4..806794c 100644 > --- > a/httpcore5/src/main/java/org/apache/hc/core5/reactor/ssl/SSLIOSession.java > +++ > b/httpcore5/src/main/java/org/apache/hc/core5/reactor/ssl/SSLIOSession.java > @@ -435,11 +435,15 @@ public class SSLIOSession implements IOSession { > > if (this.endOfStream && !this.inPlain.hasData()) { > newMask = newMask & ~EventMask.READ; > + } else if (this.status == Status.CLOSING) { > + newMask = newMask | EventMask.READ; > } > > // Do we have encrypted data ready to be sent? > if (this.outEncrypted.hasData()) { > newMask = newMask | EventMask.WRITE; > + } else if (this.sslEngine.isOutboundDone()) { > + newMask = newMask & ~EventMask.WRITE; > } > > // Update the mask if necessary > >
