1
0
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:
cameronrich 2007-10-03 22:10:21 +00:00
parent 5094c5e81c
commit 6afb2ce28b
4 changed files with 20 additions and 8 deletions

View File

@ -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)
{

View File

@ -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;

View File

@ -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:

View File

@ -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;
}