mirror of
https://github.com/esp8266/Arduino.git
synced 2025-04-19 23:22:16 +03:00
made inc ms5/sha1 a tmp
git-svn-id: svn://svn.code.sf.net/p/axtls/code/trunk@134 9a5d90b5-6617-0410-8a86-bb477d3ed2e3
This commit is contained in:
parent
5094c5e81c
commit
6afb2ce28b
16
ssl/tls1.c
16
ssl/tls1.c
@ -274,6 +274,8 @@ EXP_FUNC void STDCALL ssl_free(SSL *ssl)
|
||||
free(ssl->encrypt_ctx);
|
||||
free(ssl->decrypt_ctx);
|
||||
free(ssl->master_secret);
|
||||
free(ssl->md5_ctx);
|
||||
free(ssl->sha1_ctx);
|
||||
#ifdef CONFIG_SSL_CERT_VERIFICATION
|
||||
x509_free(ssl->x509_ctx);
|
||||
#endif
|
||||
@ -552,8 +554,10 @@ SSL *ssl_new(SSL_CTX *ssl_ctx, int client_fd)
|
||||
#ifdef CONFIG_ENABLE_VERIFICATION
|
||||
ssl->ca_cert_ctx = ssl_ctx->ca_cert_ctx;
|
||||
#endif
|
||||
MD5_Init(&ssl->md5_ctx);
|
||||
SHA1_Init(&ssl->sha1_ctx);
|
||||
ssl->md5_ctx = (MD5_CTX *)malloc(sizeof(MD5_CTX));
|
||||
ssl->sha1_ctx = (SHA1_CTX *)malloc(sizeof(SHA1_CTX));
|
||||
MD5_Init(ssl->md5_ctx);
|
||||
SHA1_Init(ssl->sha1_ctx);
|
||||
|
||||
/* a bit hacky but saves a few bytes of memory */
|
||||
ssl->flag |= ssl_ctx->options;
|
||||
@ -714,8 +718,8 @@ static int verify_digest(SSL *ssl, int mode, const uint8_t *buf, int read_len)
|
||||
*/
|
||||
void add_packet(SSL *ssl, const uint8_t *pkt, int len)
|
||||
{
|
||||
MD5_Update(&ssl->md5_ctx, pkt, len);
|
||||
SHA1_Update(&ssl->sha1_ctx, pkt, len);
|
||||
MD5_Update(ssl->md5_ctx, pkt, len);
|
||||
SHA1_Update(ssl->sha1_ctx, pkt, len);
|
||||
}
|
||||
|
||||
/**
|
||||
@ -833,8 +837,8 @@ void finished_digest(SSL *ssl, const char *label, uint8_t *digest)
|
||||
{
|
||||
uint8_t mac_buf[128];
|
||||
uint8_t *q = mac_buf;
|
||||
MD5_CTX md5_ctx = ssl->md5_ctx;
|
||||
SHA1_CTX sha1_ctx = ssl->sha1_ctx;
|
||||
MD5_CTX md5_ctx = *ssl->md5_ctx;
|
||||
SHA1_CTX sha1_ctx = *ssl->sha1_ctx;
|
||||
|
||||
if (label)
|
||||
{
|
||||
|
@ -163,8 +163,8 @@ struct _SSL
|
||||
int16_t hs_status;
|
||||
uint8_t *all_pkts;
|
||||
int all_pkts_len;
|
||||
MD5_CTX md5_ctx;
|
||||
SHA1_CTX sha1_ctx;
|
||||
MD5_CTX *md5_ctx;
|
||||
SHA1_CTX *sha1_ctx;
|
||||
int client_fd;
|
||||
const cipher_info_t *cipher_info;
|
||||
uint8_t *final_finish_mac;
|
||||
|
@ -110,6 +110,10 @@ int do_clnt_handshake(SSL *ssl, int handshake_type, uint8_t *buf, int hs_len)
|
||||
|
||||
case HS_FINISHED:
|
||||
ret = process_finished(ssl, hs_len);
|
||||
free(ssl->md5_ctx);
|
||||
free(ssl->sha1_ctx);
|
||||
ssl->md5_ctx = NULL;
|
||||
ssl->sha1_ctx = NULL;
|
||||
break;
|
||||
|
||||
case HS_HELLO_REQUEST:
|
||||
|
@ -92,6 +92,10 @@ int do_svr_handshake(SSL *ssl, int handshake_type, uint8_t *buf, int hs_len)
|
||||
|
||||
case HS_FINISHED:
|
||||
ret = process_finished(ssl, hs_len);
|
||||
free(ssl->md5_ctx);
|
||||
free(ssl->sha1_ctx);
|
||||
ssl->md5_ctx = NULL;
|
||||
ssl->sha1_ctx = NULL;
|
||||
break;
|
||||
}
|
||||
|
||||
|
Loading…
x
Reference in New Issue
Block a user