I like this. Lots of red. The sslgathr.c suggestion you can act on later; the other is a question I'd appreciate an answer to before moving on. https://codereview.appspot.com/275650043/diff/1/lib/ssl/ssl3con.c File lib/ssl/ssl3con.c (left): https://codereview.appspot.com/275650043/diff/1/lib/ssl/ssl3con.c#oldcode7906 lib/ssl/ssl3con.c:7906: * call ssl2_HandleMessage. I don't see any changes in ssl_Do1stHandshake. Can you explain to me why removing this is safe? https://codereview.appspot.com/275650043/diff/1/lib/ssl/sslgathr.c File lib/ssl/sslgathr.c (right): https://codereview.appspot.com/275650043/diff/1/lib/ssl/sslgathr.c#newcode2 lib/ssl/sslgathr.c:2: * Gather (Read) entire SSL2 records from socket into buffer. This file might not be big enough now to justify its continued existence.
https://codereview.appspot.com/275650043/diff/1/lib/ssl/ssl3con.c File lib/ssl/ssl3con.c (left): https://codereview.appspot.com/275650043/diff/1/lib/ssl/ssl3con.c#oldcode7906 lib/ssl/ssl3con.c:7906: * call ssl2_HandleMessage. On 2015/12/05 09:15:26, mt wrote: > I don't see any changes in ssl_Do1stHandshake. Can you explain to me why > removing this is safe? ssl2_HandleMessage() doesn't exist anymore and we don't need to zero the pointers anymore when upgrading from a v2 client hello. https://codereview.appspot.com/275650043/diff/1/lib/ssl/sslgathr.c File lib/ssl/sslgathr.c (right): https://codereview.appspot.com/275650043/diff/1/lib/ssl/sslgathr.c#newcode2 lib/ssl/sslgathr.c:2: * Gather (Read) entire SSL2 records from socket into buffer. On 2015/12/05 09:15:26, mt wrote: > This file might not be big enough now to justify its continued existence. Will merge everything into sslgathr.c