dtls13con.h (2281B)
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 __dtls13con_h_ 10 #define __dtls13con_h_ 11 12 /* 13 The structure ssl3CipherSpecStr represents epoch as uint16 (DTLSEpoch epoch), 14 So the maximum epoch is 2 ^ 16 - 1 15 See bug: https://bugzilla.mozilla.org/show_bug.cgi?id=1809196 */ 16 #define RECORD_EPOCH_MAX UINT16_MAX 17 18 SECStatus dtls13_InsertCipherTextHeader(const sslSocket *ss, 19 const ssl3CipherSpec *cwSpec, 20 sslBuffer *wrBuf, 21 PRBool *needsLength); 22 SECStatus dtls13_RememberFragment(sslSocket *ss, PRCList *list, 23 PRUint32 sequence, PRUint32 offset, 24 PRUint32 length, DTLSEpoch epoch, 25 sslSequenceNumber record); 26 PRBool dtls_NextUnackedRange(sslSocket *ss, PRUint16 msgSeq, PRUint32 offset, 27 PRUint32 len, PRUint32 *startOut, PRUint32 *endOut); 28 SECStatus dtls13_SetupAcks(sslSocket *ss); 29 SECStatus dtls13_HandleOutOfEpochRecord(sslSocket *ss, const ssl3CipherSpec *spec, 30 SSLContentType rType, 31 sslBuffer *databuf); 32 SECStatus dtls13_HandleAck(sslSocket *ss, sslBuffer *databuf); 33 34 SECStatus dtls13_SendAck(sslSocket *ss); 35 void dtls13_SendAckCb(sslSocket *ss); 36 void dtls13_HolddownTimerCb(sslSocket *ss); 37 void dtls_ReceivedFirstMessageInFlight(sslSocket *ss); 38 SECStatus dtls13_MaskSequenceNumber(sslSocket *ss, ssl3CipherSpec *spec, 39 PRUint8 *hdr, PRUint8 *cipherText, PRUint32 cipherTextLen); 40 PRBool dtls13_AeadLimitReached(ssl3CipherSpec *spec); 41 42 CK_MECHANISM_TYPE tls13_SequenceNumberEncryptionMechanism(SSLCipherAlgorithm bulkAlgorithm); 43 SECStatus dtls13_MaybeSendKeyUpdate(sslSocket *ss, tls13KeyUpdateRequest request, PRBool buffer); 44 SECStatus dtls13_HandleKeyUpdate(sslSocket *ss, PRUint8 *b, unsigned int length, PRBool update_requested); 45 #endif