ssl3exthandle.h (8008B)
1 /* -*- Mode: C; tab-width: 8; indent-tabs-mode: nil; c-basic-offset: 4 -*- */ 2 /* 3 * This file is PRIVATE to SSL. 4 * 5 * This Source Code Form is subject to the terms of the Mozilla Public 6 * License, v. 2.0. If a copy of the MPL was not distributed with this 7 * file, You can obtain one at http://mozilla.org/MPL/2.0/. */ 8 9 #ifndef __ssl3exthandle_h_ 10 #define __ssl3exthandle_h_ 11 12 #include "sslencode.h" 13 14 SECStatus ssl3_SendRenegotiationInfoXtn(const sslSocket *ss, 15 TLSExtensionData *xtnData, 16 sslBuffer *buf, PRBool *added); 17 SECStatus ssl3_HandleRenegotiationInfoXtn(const sslSocket *ss, 18 TLSExtensionData *xtnData, 19 SECItem *data); 20 SECStatus ssl3_ClientHandleNextProtoNegoXtn(const sslSocket *ss, 21 TLSExtensionData *xtnData, 22 SECItem *data); 23 SECStatus ssl3_ClientHandleAppProtoXtn(const sslSocket *ss, 24 TLSExtensionData *xtnData, 25 SECItem *data); 26 SECStatus ssl3_ServerHandleNextProtoNegoXtn(const sslSocket *ss, 27 TLSExtensionData *xtnData, 28 SECItem *data); 29 SECStatus ssl3_ServerHandleAppProtoXtn(const sslSocket *ss, 30 TLSExtensionData *xtnData, 31 SECItem *data); 32 SECStatus ssl3_ClientSendNextProtoNegoXtn(const sslSocket *ss, 33 TLSExtensionData *xtnData, 34 sslBuffer *buf, PRBool *added); 35 SECStatus ssl3_ClientSendAppProtoXtn(const sslSocket *ss, 36 TLSExtensionData *xtnData, 37 sslBuffer *buf, PRBool *added); 38 SECStatus ssl3_ServerSendAppProtoXtn(const sslSocket *ss, 39 TLSExtensionData *xtnData, 40 sslBuffer *buf, PRBool *added); 41 SECStatus ssl3_ClientSendUseSRTPXtn(const sslSocket *ss, 42 TLSExtensionData *xtnData, 43 sslBuffer *buf, PRBool *added); 44 SECStatus ssl3_ServerSendUseSRTPXtn(const sslSocket *ss, 45 TLSExtensionData *xtnData, 46 sslBuffer *buf, PRBool *added); 47 SECStatus ssl3_ClientHandleUseSRTPXtn(const sslSocket *ss, 48 TLSExtensionData *xtnData, 49 SECItem *data); 50 SECStatus ssl3_ServerHandleUseSRTPXtn(const sslSocket *ss, 51 TLSExtensionData *xtnData, 52 SECItem *data); 53 SECStatus ssl3_ServerSendStatusRequestXtn(const sslSocket *ss, 54 TLSExtensionData *xtnData, 55 sslBuffer *buf, PRBool *added); 56 SECStatus ssl3_ServerHandleStatusRequestXtn(const sslSocket *ss, 57 TLSExtensionData *xtnData, 58 SECItem *data); 59 SECStatus ssl3_ClientHandleStatusRequestXtn(const sslSocket *ss, 60 TLSExtensionData *xtnData, 61 SECItem *data); 62 SECStatus ssl3_ClientSendStatusRequestXtn(const sslSocket *ss, 63 TLSExtensionData *xtnData, 64 sslBuffer *buf, PRBool *added); 65 SECStatus ssl3_SendSigAlgsXtn(const sslSocket *ss, TLSExtensionData *xtnData, 66 sslBuffer *buf, PRBool *added); 67 SECStatus ssl3_HandleSigAlgsXtn(const sslSocket *ss, TLSExtensionData *xtnData, 68 SECItem *data); 69 70 SECStatus ssl3_ClientSendPaddingExtension(const sslSocket *ss, 71 TLSExtensionData *xtnData, 72 sslBuffer *buf, PRBool *added); 73 74 SECStatus ssl3_ClientSendSignedCertTimestampXtn(const sslSocket *ss, 75 TLSExtensionData *xtnData, 76 sslBuffer *buf, PRBool *added); 77 SECStatus ssl3_ClientHandleSignedCertTimestampXtn(const sslSocket *ss, 78 TLSExtensionData *xtnData, 79 SECItem *data); 80 SECStatus ssl3_ServerSendSignedCertTimestampXtn(const sslSocket *ss, 81 TLSExtensionData *xtnData, 82 sslBuffer *buf, PRBool *added); 83 SECStatus ssl3_ServerHandleSignedCertTimestampXtn(const sslSocket *ss, 84 TLSExtensionData *xtnData, 85 SECItem *data); 86 SECStatus ssl3_SendExtendedMasterSecretXtn(const sslSocket *ss, 87 TLSExtensionData *xtnData, 88 sslBuffer *buf, PRBool *added); 89 SECStatus ssl3_HandleExtendedMasterSecretXtn(const sslSocket *ss, 90 TLSExtensionData *xtnData, 91 SECItem *data); 92 SECStatus ssl3_ProcessSessionTicketCommon(sslSocket *ss, const SECItem *ticket, 93 /* out */ SECItem *appToken); 94 PRBool ssl_ShouldSendSNIExtension(const sslSocket *ss, const char *url); 95 SECStatus ssl3_ClientFormatServerNameXtn(const sslSocket *ss, const char *url, 96 unsigned int len, TLSExtensionData *xtnData, 97 sslBuffer *buf); 98 SECStatus ssl3_ClientSendServerNameXtn(const sslSocket *ss, 99 TLSExtensionData *xtnData, 100 sslBuffer *buf, PRBool *added); 101 SECStatus ssl3_HandleServerNameXtn(const sslSocket *ss, 102 TLSExtensionData *xtnData, 103 SECItem *data); 104 SECStatus ssl_HandleSupportedGroupsXtn(const sslSocket *ss, 105 TLSExtensionData *xtnData, 106 SECItem *data); 107 SECStatus ssl3_HandleSupportedPointFormatsXtn(const sslSocket *ss, 108 TLSExtensionData *xtnData, 109 SECItem *data); 110 SECStatus ssl3_ClientHandleSessionTicketXtn(const sslSocket *ss, 111 TLSExtensionData *xtnData, 112 SECItem *data); 113 SECStatus ssl3_ServerHandleSessionTicketXtn(const sslSocket *ss, 114 TLSExtensionData *xtnData, 115 SECItem *data); 116 SECStatus ssl3_ClientSendSessionTicketXtn(const sslSocket *ss, 117 TLSExtensionData *xtnData, 118 sslBuffer *buf, PRBool *added); 119 120 SECStatus ssl_SendSupportedGroupsXtn(const sslSocket *ss, 121 TLSExtensionData *xtnData, 122 sslBuffer *buf, PRBool *added); 123 SECStatus ssl3_SendSupportedPointFormatsXtn(const sslSocket *ss, 124 TLSExtensionData *xtnData, 125 sslBuffer *buf, PRBool *added); 126 SECStatus ssl_HandleRecordSizeLimitXtn(const sslSocket *ss, 127 TLSExtensionData *xtnData, 128 SECItem *data); 129 SECStatus ssl_SendRecordSizeLimitXtn(const sslSocket *ss, 130 TLSExtensionData *xtnData, 131 sslBuffer *buf, PRBool *added); 132 133 #endif