tls: reorder tls_state fields for smaller offsets
function old new delta xwrite_encrypted 363 360 -3 xwrite_and_update_handshake_hash 117 114 -3 tls_xread_handshake_block 72 69 -3 tls_error_die 211 202 -9 tls_get_outbuf 64 49 -15 tls_main 2163 2127 -36 tls_xread_record 702 639 -63 ------------------------------------------------------------------------------ (add/remove: 0/0 grow/shrink: 0/7 up/down: 0/-132) Total: -132 bytes Signed-off-by: Denys Vlasenko <vda.linux@googlemail.com>
This commit is contained in:
parent
dd2577f21a
commit
f6e20724d4
@ -226,24 +226,28 @@ struct record_hdr {
|
|||||||
};
|
};
|
||||||
|
|
||||||
typedef struct tls_state {
|
typedef struct tls_state {
|
||||||
int fd;
|
int fd;
|
||||||
|
|
||||||
|
int min_encrypted_len_on_read;
|
||||||
|
uint8_t encrypt_on_write;
|
||||||
|
|
||||||
|
uint8_t *outbuf;
|
||||||
|
int outbuf_size;
|
||||||
|
|
||||||
|
int inbuf_size;
|
||||||
|
int ofs_to_buffered;
|
||||||
|
int buffered_size;
|
||||||
|
uint8_t *inbuf;
|
||||||
|
|
||||||
//TODO: store just the DER key here, parse/use/delete it when sending client key
|
//TODO: store just the DER key here, parse/use/delete it when sending client key
|
||||||
//this way it will stay key type agnostic here.
|
//this way it will stay key type agnostic here.
|
||||||
psRsaKey_t server_rsa_pub_key;
|
psRsaKey_t server_rsa_pub_key;
|
||||||
|
// this is also unused after client key is sent
|
||||||
sha256_ctx_t handshake_sha256_ctx;
|
|
||||||
|
|
||||||
uint8_t client_and_server_rand32[2 * 32];
|
uint8_t client_and_server_rand32[2 * 32];
|
||||||
|
// these two are unused after finished messages are exchanged:
|
||||||
|
sha256_ctx_t handshake_sha256_ctx;
|
||||||
uint8_t master_secret[48];
|
uint8_t master_secret[48];
|
||||||
|
|
||||||
uint8_t encrypt_on_write;
|
|
||||||
int min_encrypted_len_on_read;
|
|
||||||
uint8_t client_write_MAC_key[SHA256_OUTSIZE];
|
|
||||||
uint8_t server_write_MAC_key[SHA256_OUTSIZE];
|
|
||||||
uint8_t client_write_key[AES256_KEYSIZE];
|
|
||||||
uint8_t server_write_key[AES256_KEYSIZE];
|
|
||||||
|
|
||||||
// RFC 5246
|
// RFC 5246
|
||||||
// sequence number
|
// sequence number
|
||||||
// Each connection state contains a sequence number, which is
|
// Each connection state contains a sequence number, which is
|
||||||
@ -251,15 +255,13 @@ typedef struct tls_state {
|
|||||||
// number MUST be set to zero whenever a connection state is made the
|
// number MUST be set to zero whenever a connection state is made the
|
||||||
// active state. Sequence numbers are of type uint64 and may not
|
// active state. Sequence numbers are of type uint64 and may not
|
||||||
// exceed 2^64-1.
|
// exceed 2^64-1.
|
||||||
|
/*uint64_t read_seq64_be;*/
|
||||||
uint64_t write_seq64_be;
|
uint64_t write_seq64_be;
|
||||||
|
|
||||||
int outbuf_size;
|
uint8_t client_write_MAC_key[SHA256_OUTSIZE];
|
||||||
uint8_t *outbuf;
|
uint8_t server_write_MAC_key[SHA256_OUTSIZE];
|
||||||
|
uint8_t client_write_key[AES256_KEYSIZE];
|
||||||
int inbuf_size;
|
uint8_t server_write_key[AES256_KEYSIZE];
|
||||||
int ofs_to_buffered;
|
|
||||||
int buffered_size;
|
|
||||||
uint8_t *inbuf;
|
|
||||||
} tls_state_t;
|
} tls_state_t;
|
||||||
|
|
||||||
|
|
||||||
|
Loading…
Reference in New Issue
Block a user