LGTM. Yes, I think we should find out how to uplift this to Nightly. Maybe roll 3.24.1 with Tim's changes too? https://codereview.appspot.com/293470043/diff/1/external_tests/ssl_gtest/libs... File external_tests/ssl_gtest/libssl_internals.c (right): https://codereview.appspot.com/293470043/diff/1/external_tests/ssl_gtest/libs... external_tests/ssl_gtest/libssl_internals.c:102: sslSocket *ss = ssl_FindSocket(fd); Check for error. https://codereview.appspot.com/293470043/diff/1/external_tests/ssl_gtest/libs... File external_tests/ssl_gtest/libssl_internals.h (left): https://codereview.appspot.com/293470043/diff/1/external_tests/ssl_gtest/libs... external_tests/ssl_gtest/libssl_internals.h:31: This is a weird comment. https://codereview.appspot.com/293470043/diff/1/external_tests/ssl_gtest/ssl_... File external_tests/ssl_gtest/ssl_loopback_unittest.cc (left): https://codereview.appspot.com/293470043/diff/1/external_tests/ssl_gtest/ssl_... external_tests/ssl_gtest/ssl_loopback_unittest.cc:1182: } Why this change? https://codereview.appspot.com/293470043/diff/1/external_tests/ssl_gtest/ssl_... File external_tests/ssl_gtest/ssl_loopback_unittest.cc (right): https://codereview.appspot.com/293470043/diff/1/external_tests/ssl_gtest/ssl_... external_tests/ssl_gtest/ssl_loopback_unittest.cc:1283: // messages. The Finished message is then processed with the sec. sec.? https://codereview.appspot.com/293470043/diff/1/external_tests/ssl_gtest/ssl_... external_tests/ssl_gtest/ssl_loopback_unittest.cc:1309: case 3: This is pretty confusing. Packet #1 is ServerHello...Finished?, so #2 is ServerHello...CertificateVerify and #3 is Finished? https://codereview.appspot.com/293470043/diff/1/external_tests/ssl_gtest/ssl_... external_tests/ssl_gtest/ssl_loopback_unittest.cc:1352: return SECWouldBlock; So in this case, the situation is that the whole server first flight has been processed?
https://codereview.appspot.com/293470043/diff/1/external_tests/ssl_gtest/libs... File external_tests/ssl_gtest/libssl_internals.c (right): https://codereview.appspot.com/293470043/diff/1/external_tests/ssl_gtest/libs... external_tests/ssl_gtest/libssl_internals.c:102: sslSocket *ss = ssl_FindSocket(fd); On 2016/05/21 19:23:14, ekr-webrtc wrote: > Check for error. Done. https://codereview.appspot.com/293470043/diff/1/external_tests/ssl_gtest/ssl_... File external_tests/ssl_gtest/ssl_loopback_unittest.cc (left): https://codereview.appspot.com/293470043/diff/1/external_tests/ssl_gtest/ssl_... external_tests/ssl_gtest/ssl_loopback_unittest.cc:1182: } On 2016/05/21 19:23:14, ekr-webrtc wrote: > Why this change? I originally thought that I would copy this to the new filter code that I added. But then I realized that Handshake() works well enough if you make the tweak that I made. https://codereview.appspot.com/293470043/diff/1/external_tests/ssl_gtest/ssl_... File external_tests/ssl_gtest/ssl_loopback_unittest.cc (right): https://codereview.appspot.com/293470043/diff/1/external_tests/ssl_gtest/ssl_... external_tests/ssl_gtest/ssl_loopback_unittest.cc:1283: // messages. The Finished message is then processed with the sec. On 2016/05/21 19:23:14, ekr-webrtc wrote: > sec.? Fixed. https://codereview.appspot.com/293470043/diff/1/external_tests/ssl_gtest/ssl_... external_tests/ssl_gtest/ssl_loopback_unittest.cc:1309: case 3: On 2016/05/21 19:23:14, ekr-webrtc wrote: > This is pretty confusing. Packet #1 is ServerHello...Finished?, so #2 is > ServerHello...CertificateVerify and #3 is Finished? I'll add a few comments. https://codereview.appspot.com/293470043/diff/1/external_tests/ssl_gtest/ssl_... external_tests/ssl_gtest/ssl_loopback_unittest.cc:1352: return SECWouldBlock; On 2016/05/21 19:23:14, ekr-webrtc wrote: > So in this case, the situation is that the whole server first flight has been > processed? Yes. More comments added.