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

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

Issue 27589002: Support new ChannelID extension. (Closed) Base URL: svn://svn.chromium.org/chrome/trunk/src
Patch Set: Add patch file Created 7 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 * This Source Code Form is subject to the terms of the Mozilla Public 4 * This Source Code Form is subject to the terms of the Mozilla Public
5 * License, v. 2.0. If a copy of the MPL was not distributed with this 5 * License, v. 2.0. If a copy of the MPL was not distributed with this
6 * file, You can obtain one at http://mozilla.org/MPL/2.0/. */ 6 * file, You can obtain one at http://mozilla.org/MPL/2.0/. */
7 7
8 /* TLS extension code moved here from ssl3ecc.c */ 8 /* TLS extension code moved here from ssl3ecc.c */
9 9
10 #include "nssrenam.h" 10 #include "nssrenam.h"
(...skipping 794 matching lines...) Expand 10 before | Expand all | Expand 10 after
805 PRInt32 extension_length = 4; 805 PRInt32 extension_length = 4;
806 806
807 if (!ss->getChannelID) 807 if (!ss->getChannelID)
808 return 0; 808 return 0;
809 809
810 if (maxBytes < extension_length) { 810 if (maxBytes < extension_length) {
811 PORT_Assert(0); 811 PORT_Assert(0);
812 return 0; 812 return 0;
813 } 813 }
814 814
815 if (ss->ssl3.hs.isResuming &&
816 ss->sec.ci.sid->u.ssl3.lastHandshakeHash.len == 0) {
817 /* We can't do ChannelID on a connection if we're resuming and didn't
818 * do ChannelID on the original connection: without ChannelID on the
819 * original connection we didn't record the handshake hashes needed for
820 * the signature. */
821 return 0;
822 }
823
815 if (append) { 824 if (append) {
816 SECStatus rv; 825 SECStatus rv;
817 rv = ssl3_AppendHandshakeNumber(ss, ssl_channel_id_xtn, 2); 826 rv = ssl3_AppendHandshakeNumber(ss, ssl_channel_id_xtn, 2);
818 if (rv != SECSuccess) 827 if (rv != SECSuccess)
819 goto loser; 828 goto loser;
820 rv = ssl3_AppendHandshakeNumber(ss, 0, 2); 829 rv = ssl3_AppendHandshakeNumber(ss, 0, 2);
821 if (rv != SECSuccess) 830 if (rv != SECSuccess)
822 goto loser; 831 goto loser;
823 ss->xtnData.advertised[ss->xtnData.numAdvertised++] = 832 ss->xtnData.advertised[ss->xtnData.numAdvertised++] =
824 ssl_channel_id_xtn; 833 ssl_channel_id_xtn;
(...skipping 1465 matching lines...) Expand 10 before | Expand all | Expand 10 after
2290 } else if (maxBytes < extension_length) { 2299 } else if (maxBytes < extension_length) {
2291 PORT_Assert(0); 2300 PORT_Assert(0);
2292 return 0; 2301 return 0;
2293 } 2302 }
2294 2303
2295 return extension_length; 2304 return extension_length;
2296 2305
2297 loser: 2306 loser:
2298 return -1; 2307 return -1;
2299 } 2308 }
OLDNEW

Powered by Google App Engine
This is Rietveld 408576698