提交 bd2e3a95 编写于 作者: M Matt Caswell

Introduce macro RECORD_LAYER_setup_comp_buffer

Reviewed-by: NRichard Levitte <levitte@openssl.org>
上级 75d40c93
...@@ -164,6 +164,7 @@ typedef struct record_layer_st { ...@@ -164,6 +164,7 @@ typedef struct record_layer_st {
#define RECORD_LAYER_get_wbuf(rl) (&(rl)->wbuf) #define RECORD_LAYER_get_wbuf(rl) (&(rl)->wbuf)
#define RECORD_LAYER_get_rrec(rl) (&(rl)->rrec) #define RECORD_LAYER_get_rrec(rl) (&(rl)->rrec)
#define RECORD_LAYER_get_wrec(rl) (&(rl)->wrec) #define RECORD_LAYER_get_wrec(rl) (&(rl)->wrec)
#define RECORD_LAYER_setup_comp_buffer(rl) (SSL3_RECORD_setup(&(rl)->rrec))
void RECORD_LAYER_init(RECORD_LAYER *rl, SSL *s); void RECORD_LAYER_init(RECORD_LAYER *rl, SSL *s);
void RECORD_LAYER_clear(RECORD_LAYER *rl); void RECORD_LAYER_clear(RECORD_LAYER *rl);
......
...@@ -143,10 +143,11 @@ void SSL3_RECORD_release(SSL3_RECORD *r) ...@@ -143,10 +143,11 @@ void SSL3_RECORD_release(SSL3_RECORD *r)
r->comp = NULL; r->comp = NULL;
} }
int SSL3_RECORD_setup(SSL3_RECORD *r, size_t len) int SSL3_RECORD_setup(SSL3_RECORD *r)
{ {
if (r->comp == NULL) if (r->comp == NULL)
r->comp = (unsigned char *) OPENSSL_malloc(len); r->comp = (unsigned char *)
OPENSSL_malloc(SSL3_RT_MAX_ENCRYPTED_LENGTH);
if (r->comp == NULL) if (r->comp == NULL)
return 0; return 0;
return 1; return 1;
......
...@@ -158,7 +158,7 @@ typedef struct ssl3_record_st { ...@@ -158,7 +158,7 @@ typedef struct ssl3_record_st {
void SSL3_RECORD_clear(SSL3_RECORD *r); void SSL3_RECORD_clear(SSL3_RECORD *r);
void SSL3_RECORD_release(SSL3_RECORD *r); void SSL3_RECORD_release(SSL3_RECORD *r);
int SSL3_RECORD_setup(SSL3_RECORD *r, size_t len); int SSL3_RECORD_setup(SSL3_RECORD *r);
void SSL3_RECORD_set_seq_num(SSL3_RECORD *r, const unsigned char *seq_num); void SSL3_RECORD_set_seq_num(SSL3_RECORD *r, const unsigned char *seq_num);
int ssl3_get_record(SSL *s); int ssl3_get_record(SSL *s);
__owur int ssl3_do_compress(SSL *ssl); __owur int ssl3_do_compress(SSL *ssl);
......
...@@ -270,8 +270,7 @@ int ssl3_change_cipher_state(SSL *s, int which) ...@@ -270,8 +270,7 @@ int ssl3_change_cipher_state(SSL *s, int which)
SSL_R_COMPRESSION_LIBRARY_ERROR); SSL_R_COMPRESSION_LIBRARY_ERROR);
goto err2; goto err2;
} }
if(!SSL3_RECORD_setup(RECORD_LAYER_get_rrec(&s->rlayer), if(!RECORD_LAYER_setup_comp_buffer(&s->rlayer))
SSL3_RT_MAX_PLAIN_LENGTH))
goto err; goto err;
} }
#endif #endif
......
...@@ -396,8 +396,7 @@ int tls1_change_cipher_state(SSL *s, int which) ...@@ -396,8 +396,7 @@ int tls1_change_cipher_state(SSL *s, int which)
SSL_R_COMPRESSION_LIBRARY_ERROR); SSL_R_COMPRESSION_LIBRARY_ERROR);
goto err2; goto err2;
} }
if (SSL3_RECORD_setup(RECORD_LAYER_get_rrec(&s->rlayer), if (!RECORD_LAYER_setup_comp_buffer(&s->rlayer))
SSL3_RT_MAX_ENCRYPTED_LENGTH))
goto err; goto err;
} }
#endif #endif
......
Markdown is supported
0% .
You are about to add 0 people to the discussion. Proceed with caution.
先完成此消息的编辑!
想要评论请 注册