mirror of
https://github.com/esp8266/Arduino.git
synced 2025-04-21 10:26:06 +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->encrypt_ctx);
|
||||||
free(ssl->decrypt_ctx);
|
free(ssl->decrypt_ctx);
|
||||||
free(ssl->master_secret);
|
free(ssl->master_secret);
|
||||||
|
free(ssl->md5_ctx);
|
||||||
|
free(ssl->sha1_ctx);
|
||||||
#ifdef CONFIG_SSL_CERT_VERIFICATION
|
#ifdef CONFIG_SSL_CERT_VERIFICATION
|
||||||
x509_free(ssl->x509_ctx);
|
x509_free(ssl->x509_ctx);
|
||||||
#endif
|
#endif
|
||||||
@ -552,8 +554,10 @@ SSL *ssl_new(SSL_CTX *ssl_ctx, int client_fd)
|
|||||||
#ifdef CONFIG_ENABLE_VERIFICATION
|
#ifdef CONFIG_ENABLE_VERIFICATION
|
||||||
ssl->ca_cert_ctx = ssl_ctx->ca_cert_ctx;
|
ssl->ca_cert_ctx = ssl_ctx->ca_cert_ctx;
|
||||||
#endif
|
#endif
|
||||||
MD5_Init(&ssl->md5_ctx);
|
ssl->md5_ctx = (MD5_CTX *)malloc(sizeof(MD5_CTX));
|
||||||
SHA1_Init(&ssl->sha1_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 */
|
/* a bit hacky but saves a few bytes of memory */
|
||||||
ssl->flag |= ssl_ctx->options;
|
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)
|
void add_packet(SSL *ssl, const uint8_t *pkt, int len)
|
||||||
{
|
{
|
||||||
MD5_Update(&ssl->md5_ctx, pkt, len);
|
MD5_Update(ssl->md5_ctx, pkt, len);
|
||||||
SHA1_Update(&ssl->sha1_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 mac_buf[128];
|
||||||
uint8_t *q = mac_buf;
|
uint8_t *q = mac_buf;
|
||||||
MD5_CTX md5_ctx = ssl->md5_ctx;
|
MD5_CTX md5_ctx = *ssl->md5_ctx;
|
||||||
SHA1_CTX sha1_ctx = ssl->sha1_ctx;
|
SHA1_CTX sha1_ctx = *ssl->sha1_ctx;
|
||||||
|
|
||||||
if (label)
|
if (label)
|
||||||
{
|
{
|
||||||
|
@ -163,8 +163,8 @@ struct _SSL
|
|||||||
int16_t hs_status;
|
int16_t hs_status;
|
||||||
uint8_t *all_pkts;
|
uint8_t *all_pkts;
|
||||||
int all_pkts_len;
|
int all_pkts_len;
|
||||||
MD5_CTX md5_ctx;
|
MD5_CTX *md5_ctx;
|
||||||
SHA1_CTX sha1_ctx;
|
SHA1_CTX *sha1_ctx;
|
||||||
int client_fd;
|
int client_fd;
|
||||||
const cipher_info_t *cipher_info;
|
const cipher_info_t *cipher_info;
|
||||||
uint8_t *final_finish_mac;
|
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:
|
case HS_FINISHED:
|
||||||
ret = process_finished(ssl, hs_len);
|
ret = process_finished(ssl, hs_len);
|
||||||
|
free(ssl->md5_ctx);
|
||||||
|
free(ssl->sha1_ctx);
|
||||||
|
ssl->md5_ctx = NULL;
|
||||||
|
ssl->sha1_ctx = NULL;
|
||||||
break;
|
break;
|
||||||
|
|
||||||
case HS_HELLO_REQUEST:
|
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:
|
case HS_FINISHED:
|
||||||
ret = process_finished(ssl, hs_len);
|
ret = process_finished(ssl, hs_len);
|
||||||
|
free(ssl->md5_ctx);
|
||||||
|
free(ssl->sha1_ctx);
|
||||||
|
ssl->md5_ctx = NULL;
|
||||||
|
ssl->sha1_ctx = NULL;
|
||||||
break;
|
break;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
Loading…
x
Reference in New Issue
Block a user