Chromium Code Reviews
chromiumcodereview-hr@appspot.gserviceaccount.com (chromiumcodereview-hr) | Please choose your nickname with Settings | Help | Chromium Project | Gerrit Changes | Sign out
(478)

Side by Side Diff: net/third_party/nss/ssl/ssl3con.c

Issue 4213003: Don't resend payload after Snap Start misprediction. (Closed) Base URL: svn://svn.chromium.org/chrome/trunk/src
Patch Set: ... Created 10 years, 1 month ago
Use n/p to move between diff chunks; N/P to move between comments. Draft comments are only viewable by you.
Jump to:
View unified diff | Download patch | Annotate | Revision Log
OLDNEW
1 /* 1 /*
2 * SSL3 Protocol 2 * SSL3 Protocol
3 * 3 *
4 * ***** BEGIN LICENSE BLOCK ***** 4 * ***** BEGIN LICENSE BLOCK *****
5 * Version: MPL 1.1/GPL 2.0/LGPL 2.1 5 * Version: MPL 1.1/GPL 2.0/LGPL 2.1
6 * 6 *
7 * The contents of this file are subject to the Mozilla Public License Version 7 * The contents of this file are subject to the Mozilla Public License Version
8 * 1.1 (the "License"); you may not use this file except in compliance with 8 * 1.1 (the "License"); you may not use this file except in compliance with
9 * the License. You may obtain a copy of the License at 9 * the License. You may obtain a copy of the License at
10 * http://www.mozilla.org/MPL/ 10 * http://www.mozilla.org/MPL/
(...skipping 8348 matching lines...) Expand 10 before | Expand all | Expand 10 after
8359 if (rv != SECSuccess) 8359 if (rv != SECSuccess)
8360 goto fail; /* err set by AppendHandshake. */ 8360 goto fail; /* err set by AppendHandshake. */
8361 } 8361 }
8362 if ((flags & ssl_SEND_FLAG_NO_FLUSH) == 0) { 8362 if ((flags & ssl_SEND_FLAG_NO_FLUSH) == 0) {
8363 rv = ssl3_FlushHandshake(ss, flags); 8363 rv = ssl3_FlushHandshake(ss, flags);
8364 if (rv != SECSuccess) { 8364 if (rv != SECSuccess) {
8365 goto fail; /* error code set by ssl3_FlushHandshake */ 8365 goto fail; /* error code set by ssl3_FlushHandshake */
8366 } 8366 }
8367 } 8367 }
8368 8368
8369 if ((ss->ssl3.hs.snapStartType == snap_start_recovery ||
8370 ss->ssl3.hs.snapStartType == snap_start_resume_recovery) &&
8371 ss->ssl3.snapStartApplicationData.data) {
8372 /* In the event that the server ignored the application data in our
8373 * snap start extension, we need to retransmit it now. */
8374 PRInt32 sent = ssl3_SendRecord(ss, content_application_data,
8375 ss->ssl3.snapStartApplicationData.data,
8376 ss->ssl3.snapStartApplicationData.len,
8377 flags);
8378 SECITEM_FreeItem(&ss->ssl3.snapStartApplicationData, PR_FALSE);
8379 if (sent < 0)
8380 return (SECStatus)sent; /* error code set by ssl3_SendRecord */
8381 }
8382
8383 return SECSuccess; 8369 return SECSuccess;
8384 8370
8385 fail: 8371 fail:
8386 return rv; 8372 return rv;
8387 } 8373 }
8388 8374
8389 /* wrap the master secret, and put it into the SID. 8375 /* wrap the master secret, and put it into the SID.
8390 * Caller holds the Spec read lock. 8376 * Caller holds the Spec read lock.
8391 */ 8377 */
8392 SECStatus 8378 SECStatus
(...skipping 1295 matching lines...) Expand 10 before | Expand all | Expand 10 after
9688 9674
9689 ss->ssl3.initialized = PR_FALSE; 9675 ss->ssl3.initialized = PR_FALSE;
9690 9676
9691 if (ss->ssl3.nextProto.data) { 9677 if (ss->ssl3.nextProto.data) {
9692 PORT_Free(ss->ssl3.nextProto.data); 9678 PORT_Free(ss->ssl3.nextProto.data);
9693 ss->ssl3.nextProto.data = NULL; 9679 ss->ssl3.nextProto.data = NULL;
9694 } 9680 }
9695 } 9681 }
9696 9682
9697 /* End of ssl3con.c */ 9683 /* End of ssl3con.c */
OLDNEW
« net/socket/ssl_client_socket_nss.cc ('K') | « net/third_party/nss/ssl/snapstart.c ('k') | no next file » | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698