#include "includes.h"
#include "common.h"
#include "crypto/md5.h"
#include "crypto/sha1.h"
#include "tlsv1_common.h"
#include "tlsv1_record.h"
Go to the source code of this file.
Functions | |
int | tlsv1_record_change_read_cipher (struct tlsv1_record_layer *rl) |
int | tlsv1_record_change_write_cipher (struct tlsv1_record_layer *rl) |
int | tlsv1_record_receive (struct tlsv1_record_layer *rl, const u8 *in_data, size_t in_len, u8 *out_data, size_t *out_len, u8 *alert) |
int | tlsv1_record_send (struct tlsv1_record_layer *rl, u8 content_type, u8 *buf, size_t buf_size, size_t payload_len, size_t *out_len) |
int | tlsv1_record_set_cipher_suite (struct tlsv1_record_layer *rl, u16 cipher_suite) |
int tlsv1_record_change_read_cipher | ( | struct tlsv1_record_layer * | rl | ) |
tlsv1_record_change_read_cipher - TLS record layer: Change read cipher : Pointer to TLS record layer data Returns: 0 on success (cipher changed), -1 on failure
This function changes TLS record layer to use the new cipher suite configured with tlsv1_record_set_cipher_suite() for reading.
Definition at line 111 of file tlsv1_record.c.
int tlsv1_record_change_write_cipher | ( | struct tlsv1_record_layer * | rl | ) |
tlsv1_record_change_write_cipher - TLS record layer: Change write cipher : Pointer to TLS record layer data Returns: 0 on success (cipher changed), -1 on failure
This function changes TLS record layer to use the new cipher suite configured with tlsv1_record_set_cipher_suite() for writing.
Definition at line 77 of file tlsv1_record.c.
int tlsv1_record_receive | ( | struct tlsv1_record_layer * | rl, |
const u8 * | in_data, | ||
size_t | in_len, | ||
u8 * | out_data, | ||
size_t * | out_len, | ||
u8 * | alert | ||
) |
tlsv1_record_receive - TLS record layer: Process a received message : Pointer to TLS record layer data : Received data : Length of the received data : Buffer for output data (must be at least as long as in_data) : Set to maximum out_data length by caller; used to return the length of the used data : Buffer for returning an alert value on failure Returns: 0 on success, -1 on failure
This function decrypts the received message, verifies HMAC and TLS record layer header.
Definition at line 245 of file tlsv1_record.c.
int tlsv1_record_send | ( | struct tlsv1_record_layer * | rl, |
u8 | content_type, | ||
u8 * | buf, | ||
size_t | buf_size, | ||
size_t | payload_len, | ||
size_t * | out_len | ||
) |
tlsv1_record_send - TLS record layer: Send a message : Pointer to TLS record layer data : Content type (TLS_CONTENT_TYPE_*) : Buffer to send (with TLS_RECORD_HEADER_LEN octets reserved in the beginning for record layer to fill in; payload filled in after this and extra space in the end for HMAC). : Maximum buf size : Length of the payload : Buffer for returning the used buf length Returns: 0 on success, -1 on failure
This function fills in the TLS record layer header, adds HMAC, and encrypts the data using the current write cipher.
Definition at line 152 of file tlsv1_record.c.
int tlsv1_record_set_cipher_suite | ( | struct tlsv1_record_layer * | rl, |
u16 | cipher_suite | ||
) |
tlsv1_record_set_cipher_suite - TLS record layer: Set cipher suite : Pointer to TLS record layer data : New cipher suite Returns: 0 on success, -1 on failure
This function is used to prepare TLS record layer for cipher suite change. tlsv1_record_change_write_cipher() and tlsv1_record_change_read_cipher() functions can then be used to change the currently used ciphers.
Definition at line 35 of file tlsv1_record.c.