mirror of
https://github.com/yuzu-emu/mbedtls.git
synced 2024-11-26 18:45:43 +01:00
Add CID field to internal structure representing TLS records
This commit adds a static array `cid` to the internal structure `mbedtls_record` representing encrypted and decrypted TLS records. The expected evolution of state of this field is as follows: - When handling an incoming record, the caller of `mbedtls_decrypt_buf()` has to make sure the CID array field in `mbedtls_record` has been properly set. Concretely, it will be copied from the CID from the record header during record parsing. - During decryption in `mbedtls_decrypt_buf()`, the transforms incoming CID is compared to the CID in the `mbedtls_record` structure representing the record to be decrypted. - For an outgoing TLS record, the caller of `mbedtls_encrypt_buf()` clears the CID in the `mbedtls_record` structure. - During encryption in `mbedtls_encrypt_buf()`, the CID field in `mbedtls_record` will be copied from the out-CID in the transform.
This commit is contained in:
parent
8013b27481
commit
80fe63e082
@ -610,6 +610,12 @@ struct mbedtls_ssl_transform
|
||||
* make space for the fixed IV.
|
||||
*
|
||||
*/
|
||||
#if MBEDTLS_SSL_CID_OUT_LEN_MAX > MBEDTLS_SSL_CID_IN_LEN_MAX
|
||||
#define SSL_CID_LEN_MAX MBEDTLS_SSL_CID_OUT_LEN_MAX
|
||||
#else
|
||||
#define SSL_CID_LEN_MAX MBEDTLS_SSL_CID_IN_LEN_MAX
|
||||
#endif
|
||||
|
||||
typedef struct
|
||||
{
|
||||
uint8_t ctr[8]; /*!< Record sequence number */
|
||||
@ -621,6 +627,11 @@ typedef struct
|
||||
size_t data_offset; /*!< Offset of record content */
|
||||
size_t data_len; /*!< Length of record content */
|
||||
|
||||
#if defined(MBEDTLS_SSL_CID)
|
||||
uint8_t cid_len;
|
||||
unsigned char cid[ SSL_CID_LEN_MAX ];
|
||||
#endif /* MBEDTLS_SSL_CID */
|
||||
|
||||
} mbedtls_record;
|
||||
|
||||
#if defined(MBEDTLS_X509_CRT_PARSE_C)
|
||||
|
Loading…
Reference in New Issue
Block a user