Hi Prasad,
Thanks for take care of this issue.
SSLEngineImpl.java
------------------
1422 private HandshakeStatus finishHandshake() {
1423 handshaker = null;
1424 connectionState = cs_DATA;
1425 return HandshakeStatus.FINISHED;
1426 }
This method are used in two places, for different purposes. It is a
little bit confusing, especially the code in line 1019. I may just
remove this method, and update the calling line accordingly.
@@ -1024,12 +1014,11 @@:
-----------------------
- handshaker = null;
- receivedCCS = false;
+ finishHandshake();
May be sufficient to remove the "receivedCCS = false" only:
handshaker = null;
- receivedCCS = false;
@@ -1040,15 +1029,14 @@
-----------------------
if (!writer.hasOutboundData()) {
- hsStatus = HandshakeStatus.FINISHED;
+ hsStatus = finishHandshake();
}
- handshaker = null;
connectionState = cs_DATA;
- receivedCCS = false;
+ handshaker = null;
May be sufficient to remove the "receivedCCS = false" only:
if (!writer.hasOutboundData()) {
hsStatus = HandshakeStatus.FINISHED;
}
handshaker = null;
connectionState = cs_DATA;
- receivedCCS = false;
Otherwise, looks fine to me.
Xuelei
On 6/29/2018 1:06 AM, Prasadrao Koppula wrote:
Could you please review the changes
Webrev: http://cr.openjdk.java.net/~pkoppula/8074462/webrev.00/
JBS: https://bugs.openjdk.java.net/browse/JDK-8074462
To fix handshake message out-of-order issues, we extracted required
classes/ code from JEP 219 implementation.
Contributed by: Sean Coffey and Prasadrao Koppula
Thanks,
Prasad.K