Chromium Code Reviews| Index: net/third_party/nss/ssl/ssl3con.c |
| diff --git a/net/third_party/nss/ssl/ssl3con.c b/net/third_party/nss/ssl/ssl3con.c |
| index 9dbf3996525d3232ee2f1fc2cef3ac99952282b0..326fe5d558d5c99f97cadef62e251388e4669773 100644 |
| --- a/net/third_party/nss/ssl/ssl3con.c |
| +++ b/net/third_party/nss/ssl/ssl3con.c |
| @@ -5899,9 +5899,11 @@ ssl3_HandleServerHelloDone(sslSocket *ss) |
| goto loser; /* err code was set. */ |
| } |
| - rv = ssl3_SendNextProto(ss); |
| - if (rv != SECSuccess) { |
| - goto loser; /* err code was set. */ |
| + if (!ss->firstHsDone) { |
|
wtc
2011/10/28 18:22:05
We should add a comment to explain this, because t
agl
2011/10/28 19:15:18
Done.
|
| + rv = ssl3_SendNextProto(ss); |
| + if (rv != SECSuccess) { |
| + goto loser; /* err code was set. */ |
| + } |
| } |
| rv = ssl3_SendFinished(ss, 0); |
| @@ -8836,7 +8838,7 @@ ssl3_HandleFinished(sslSocket *ss, SSL3Opaque *b, PRUint32 length, |
| flags = ssl_SEND_FLAG_FORCE_INTO_BUFFER; |
| } |
| - if (!isServer) { |
| + if (!isServer && !ss->firstHsDone) { |
| rv = ssl3_SendNextProto(ss); |
| if (rv != SECSuccess) { |
| goto xmit_loser; /* err code was set. */ |