| Index: net/third_party/nss/ssl/sslgathr.c
|
| ===================================================================
|
| --- net/third_party/nss/ssl/sslgathr.c (revision 127513)
|
| +++ net/third_party/nss/ssl/sslgathr.c (working copy)
|
| @@ -36,7 +36,7 @@
|
| * the terms of any one of the MPL, the GPL or the LGPL.
|
| *
|
| * ***** END LICENSE BLOCK ***** */
|
| -/* $Id: sslgathr.c,v 1.12 2010/04/25 23:37:38 nelson%bolyard.com Exp $ */
|
| +/* $Id: sslgathr.c,v 1.13 2012/03/11 04:32:35 wtc%google.com Exp $ */
|
| #include "cert.h"
|
| #include "ssl.h"
|
| #include "sslimpl.h"
|
| @@ -141,7 +141,7 @@
|
| /* Probably finished this piece */
|
| switch (gs->state) {
|
| case GS_HEADER:
|
| - if ((ss->opt.enableSSL3 || ss->opt.enableTLS) && !ss->firstHsDone) {
|
| + if (!SSL3_ALL_VERSIONS_DISABLED(&ss->vrange) && !ss->firstHsDone) {
|
|
|
| PORT_Assert( ss->opt.noLocks || ssl_Have1stHandshakeLock(ss) );
|
|
|
| @@ -185,7 +185,7 @@
|
| return SECFailure;
|
| }
|
| }
|
| - } /* ((ss->opt.enableSSL3 || ss->opt.enableTLS) && !ss->firstHsDone) */
|
| + }
|
|
|
| /* we've got the first 3 bytes. The header may be two or three. */
|
| if (gs->hdr[0] & 0x80) {
|
| @@ -453,7 +453,6 @@
|
| ssl2_HandleV3HandshakeRecord(sslSocket *ss)
|
| {
|
| SECStatus rv;
|
| - SSL3ProtocolVersion version = (ss->gs.hdr[1] << 8) | ss->gs.hdr[2];
|
|
|
| PORT_Assert( ss->opt.noLocks || ssl_HaveRecvBufLock(ss) );
|
| PORT_Assert( ss->opt.noLocks || ssl_Have1stHandshakeLock(ss) );
|
| @@ -472,7 +471,8 @@
|
| ** ssl_GatherRecord1stHandshake to invoke ssl3_GatherCompleteHandshake()
|
| ** the next time it is called.
|
| **/
|
| - rv = ssl3_NegotiateVersion(ss, version);
|
| + rv = ssl3_NegotiateVersion(ss, SSL_LIBRARY_VERSION_MAX_SUPPORTED,
|
| + PR_TRUE);
|
| if (rv != SECSuccess) {
|
| return rv;
|
| }
|
|
|