Closed carryel closed 7 years ago
When I tried to fix it simply like this(https://github.com/carryel/grizzly/blob/2.3.x/modules/grizzly/src/main/java/org/glassfish/grizzly/ssl/SSLBaseFilter.java#L423L445), I didn't met the error.
@carryel Could you create a pull request?
@rlubke Sure. I just create a PR. https://github.com/javaee/grizzly/pull/1940
@carryel I've merged the PR. I'll take care of porting to 2.4.x and master.
@rlubke Thanks! Perhaps could I know when the next release of 2.3.x will be able?
@carryel Most likely by the end of the week.
@carryel I'm not sure if you've subscribed to the new discussion group, but 2.3.31 has been released.
@rlubke Thanks a lot. I already subscribed. :-)
I use Grizzly 2.3.30 + AHC 1.9.40.
When the HTTPS Server didn't support Keep-Alive(connection=close), the grizzly http client(AHC) failed to parse the last packet of response.
When I debug the SSLBaseFilter#unwrapAll, I could see some strange status of buffers.
https://github.com/javaee/grizzly/blob/2.3.x/modules/grizzly/src/main/java/org/glassfish/grizzly/ssl/SSLBaseFilter.java#L432 and https://github.com/javaee/grizzly/blob/2.3.x/modules/grizzly/src/main/java/org/glassfish/grizzly/ssl/SSLBaseFilter.java#L436
https://github.com/javaee/grizzly/blob/2.3.x/modules/grizzly/src/main/java/org/glassfish/grizzly/ssl/SSLBaseFilter.java#L423
https://github.com/javaee/grizzly/blob/2.3.x/modules/grizzly/src/main/java/org/glassfish/grizzly/ssl/SSLBaseFilter.java#L465
I think SSLEngine already read the last packet(result.output) but local output didn't be assigned in SSL termination because of https://github.com/javaee/grizzly/blob/2.3.x/modules/grizzly/src/main/java/org/glassfish/grizzly/ssl/SSLBaseFilter.java#L436.
Unfortunately, I couldn't reproduce it with simple testcase but sometimes I met it in production environment.