Convert existing usage of assert() to ossl_assert() in libssl
Provides consistent output and approach. Reviewed-by: Tim Hudson <tjh@openssl.org> (Merged from https://github.com/openssl/openssl/pull/3496)
This commit is contained in:
parent
a89325e41f
commit
b77f3ed171
15 changed files with 81 additions and 72 deletions
12
ssl/d1_lib.c
12
ssl/d1_lib.c
|
@ -104,7 +104,10 @@ int dtls1_new(SSL *s)
|
||||||
}
|
}
|
||||||
|
|
||||||
s->d1 = d1;
|
s->d1 = d1;
|
||||||
s->method->ssl_clear(s);
|
|
||||||
|
if (!s->method->ssl_clear(s))
|
||||||
|
return 0;
|
||||||
|
|
||||||
return 1;
|
return 1;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -154,7 +157,7 @@ void dtls1_free(SSL *s)
|
||||||
s->d1 = NULL;
|
s->d1 = NULL;
|
||||||
}
|
}
|
||||||
|
|
||||||
void dtls1_clear(SSL *s)
|
int dtls1_clear(SSL *s)
|
||||||
{
|
{
|
||||||
pqueue *buffered_messages;
|
pqueue *buffered_messages;
|
||||||
pqueue *sent_messages;
|
pqueue *sent_messages;
|
||||||
|
@ -186,7 +189,8 @@ void dtls1_clear(SSL *s)
|
||||||
s->d1->sent_messages = sent_messages;
|
s->d1->sent_messages = sent_messages;
|
||||||
}
|
}
|
||||||
|
|
||||||
ssl3_clear(s);
|
if (!ssl3_clear(s))
|
||||||
|
return 0;
|
||||||
|
|
||||||
if (s->method->version == DTLS_ANY_VERSION)
|
if (s->method->version == DTLS_ANY_VERSION)
|
||||||
s->version = DTLS_MAX_VERSION;
|
s->version = DTLS_MAX_VERSION;
|
||||||
|
@ -196,6 +200,8 @@ void dtls1_clear(SSL *s)
|
||||||
#endif
|
#endif
|
||||||
else
|
else
|
||||||
s->version = s->method->version;
|
s->version = s->method->version;
|
||||||
|
|
||||||
|
return 1;
|
||||||
}
|
}
|
||||||
|
|
||||||
long dtls1_ctrl(SSL *s, int cmd, long larg, void *parg)
|
long dtls1_ctrl(SSL *s, int cmd, long larg, void *parg)
|
||||||
|
|
33
ssl/packet.c
33
ssl/packet.c
|
@ -7,7 +7,7 @@
|
||||||
* https://www.openssl.org/source/license.html
|
* https://www.openssl.org/source/license.html
|
||||||
*/
|
*/
|
||||||
|
|
||||||
#include <assert.h>
|
#include "e_os.h"
|
||||||
#include "packet_locl.h"
|
#include "packet_locl.h"
|
||||||
|
|
||||||
#define DEFAULT_BUF_SIZE 256
|
#define DEFAULT_BUF_SIZE 256
|
||||||
|
@ -39,8 +39,7 @@ int WPACKET_sub_allocate_bytes__(WPACKET *pkt, size_t len,
|
||||||
int WPACKET_reserve_bytes(WPACKET *pkt, size_t len, unsigned char **allocbytes)
|
int WPACKET_reserve_bytes(WPACKET *pkt, size_t len, unsigned char **allocbytes)
|
||||||
{
|
{
|
||||||
/* Internal API, so should not fail */
|
/* Internal API, so should not fail */
|
||||||
assert(pkt->subs != NULL && len != 0);
|
if (!ossl_assert(pkt->subs != NULL && len != 0))
|
||||||
if (pkt->subs == NULL || len == 0)
|
|
||||||
return 0;
|
return 0;
|
||||||
|
|
||||||
if (pkt->maxsize - pkt->written < len)
|
if (pkt->maxsize - pkt->written < len)
|
||||||
|
@ -120,8 +119,7 @@ int WPACKET_init_static_len(WPACKET *pkt, unsigned char *buf, size_t len,
|
||||||
size_t max = maxmaxsize(lenbytes);
|
size_t max = maxmaxsize(lenbytes);
|
||||||
|
|
||||||
/* Internal API, so should not fail */
|
/* Internal API, so should not fail */
|
||||||
assert(buf != NULL && len > 0);
|
if (!ossl_assert(buf != NULL && len > 0))
|
||||||
if (buf == NULL || len == 0)
|
|
||||||
return 0;
|
return 0;
|
||||||
|
|
||||||
pkt->staticbuf = buf;
|
pkt->staticbuf = buf;
|
||||||
|
@ -134,8 +132,7 @@ int WPACKET_init_static_len(WPACKET *pkt, unsigned char *buf, size_t len,
|
||||||
int WPACKET_init_len(WPACKET *pkt, BUF_MEM *buf, size_t lenbytes)
|
int WPACKET_init_len(WPACKET *pkt, BUF_MEM *buf, size_t lenbytes)
|
||||||
{
|
{
|
||||||
/* Internal API, so should not fail */
|
/* Internal API, so should not fail */
|
||||||
assert(buf != NULL);
|
if (!ossl_assert(buf != NULL))
|
||||||
if (buf == NULL)
|
|
||||||
return 0;
|
return 0;
|
||||||
|
|
||||||
pkt->staticbuf = NULL;
|
pkt->staticbuf = NULL;
|
||||||
|
@ -153,8 +150,7 @@ int WPACKET_init(WPACKET *pkt, BUF_MEM *buf)
|
||||||
int WPACKET_set_flags(WPACKET *pkt, unsigned int flags)
|
int WPACKET_set_flags(WPACKET *pkt, unsigned int flags)
|
||||||
{
|
{
|
||||||
/* Internal API, so should not fail */
|
/* Internal API, so should not fail */
|
||||||
assert(pkt->subs != NULL);
|
if (!ossl_assert(pkt->subs != NULL))
|
||||||
if (pkt->subs == NULL)
|
|
||||||
return 0;
|
return 0;
|
||||||
|
|
||||||
pkt->subs->flags = flags;
|
pkt->subs->flags = flags;
|
||||||
|
@ -228,8 +224,7 @@ int WPACKET_fill_lengths(WPACKET *pkt)
|
||||||
{
|
{
|
||||||
WPACKET_SUB *sub;
|
WPACKET_SUB *sub;
|
||||||
|
|
||||||
assert(pkt->subs != NULL);
|
if (!ossl_assert(pkt->subs != NULL))
|
||||||
if (pkt->subs == NULL)
|
|
||||||
return 0;
|
return 0;
|
||||||
|
|
||||||
for (sub = pkt->subs; sub != NULL; sub = sub->parent) {
|
for (sub = pkt->subs; sub != NULL; sub = sub->parent) {
|
||||||
|
@ -278,8 +273,7 @@ int WPACKET_start_sub_packet_len__(WPACKET *pkt, size_t lenbytes)
|
||||||
unsigned char *lenchars;
|
unsigned char *lenchars;
|
||||||
|
|
||||||
/* Internal API, so should not fail */
|
/* Internal API, so should not fail */
|
||||||
assert(pkt->subs != NULL);
|
if (!ossl_assert(pkt->subs != NULL))
|
||||||
if (pkt->subs == NULL)
|
|
||||||
return 0;
|
return 0;
|
||||||
|
|
||||||
sub = OPENSSL_zalloc(sizeof(*sub));
|
sub = OPENSSL_zalloc(sizeof(*sub));
|
||||||
|
@ -314,9 +308,7 @@ int WPACKET_put_bytes__(WPACKET *pkt, unsigned int val, size_t size)
|
||||||
unsigned char *data;
|
unsigned char *data;
|
||||||
|
|
||||||
/* Internal API, so should not fail */
|
/* Internal API, so should not fail */
|
||||||
assert(size <= sizeof(unsigned int));
|
if (!ossl_assert(size <= sizeof(unsigned int))
|
||||||
|
|
||||||
if (size > sizeof(unsigned int)
|
|
||||||
|| !WPACKET_allocate_bytes(pkt, size, &data)
|
|| !WPACKET_allocate_bytes(pkt, size, &data)
|
||||||
|| !put_value(data, val, size))
|
|| !put_value(data, val, size))
|
||||||
return 0;
|
return 0;
|
||||||
|
@ -330,8 +322,7 @@ int WPACKET_set_max_size(WPACKET *pkt, size_t maxsize)
|
||||||
size_t lenbytes;
|
size_t lenbytes;
|
||||||
|
|
||||||
/* Internal API, so should not fail */
|
/* Internal API, so should not fail */
|
||||||
assert(pkt->subs != NULL);
|
if (!ossl_assert(pkt->subs != NULL))
|
||||||
if (pkt->subs == NULL)
|
|
||||||
return 0;
|
return 0;
|
||||||
|
|
||||||
/* Find the WPACKET_SUB for the top level */
|
/* Find the WPACKET_SUB for the top level */
|
||||||
|
@ -394,8 +385,7 @@ int WPACKET_sub_memcpy__(WPACKET *pkt, const void *src, size_t len,
|
||||||
int WPACKET_get_total_written(WPACKET *pkt, size_t *written)
|
int WPACKET_get_total_written(WPACKET *pkt, size_t *written)
|
||||||
{
|
{
|
||||||
/* Internal API, so should not fail */
|
/* Internal API, so should not fail */
|
||||||
assert(written != NULL);
|
if (!ossl_assert(written != NULL))
|
||||||
if (written == NULL)
|
|
||||||
return 0;
|
return 0;
|
||||||
|
|
||||||
*written = pkt->written;
|
*written = pkt->written;
|
||||||
|
@ -406,8 +396,7 @@ int WPACKET_get_total_written(WPACKET *pkt, size_t *written)
|
||||||
int WPACKET_get_length(WPACKET *pkt, size_t *len)
|
int WPACKET_get_length(WPACKET *pkt, size_t *len)
|
||||||
{
|
{
|
||||||
/* Internal API, so should not fail */
|
/* Internal API, so should not fail */
|
||||||
assert(pkt->subs != NULL && len != NULL);
|
if (!ossl_assert(pkt->subs != NULL && len != NULL))
|
||||||
if (pkt->subs == NULL || len == NULL)
|
|
||||||
return 0;
|
return 0;
|
||||||
|
|
||||||
*len = pkt->written - pkt->subs->pwritten;
|
*len = pkt->written - pkt->subs->pwritten;
|
||||||
|
|
|
@ -14,7 +14,6 @@
|
||||||
#include <openssl/evp.h>
|
#include <openssl/evp.h>
|
||||||
#include <openssl/buffer.h>
|
#include <openssl/buffer.h>
|
||||||
#include "record_locl.h"
|
#include "record_locl.h"
|
||||||
#include <assert.h>
|
|
||||||
#include "../packet_locl.h"
|
#include "../packet_locl.h"
|
||||||
|
|
||||||
int DTLS_RECORD_LAYER_new(RECORD_LAYER *rl)
|
int DTLS_RECORD_LAYER_new(RECORD_LAYER *rl)
|
||||||
|
@ -645,8 +644,7 @@ int dtls1_read_bytes(SSL *s, int type, int *recvd_type, unsigned char *buf,
|
||||||
* (which is tested for at the top of this function) then init must be
|
* (which is tested for at the top of this function) then init must be
|
||||||
* finished
|
* finished
|
||||||
*/
|
*/
|
||||||
assert(SSL_is_init_finished(s));
|
if (!ossl_assert(SSL_is_init_finished(s))) {
|
||||||
if (!SSL_is_init_finished(s)) {
|
|
||||||
al = SSL_AD_INTERNAL_ERROR;
|
al = SSL_AD_INTERNAL_ERROR;
|
||||||
SSLerr(SSL_F_DTLS1_READ_BYTES, ERR_R_INTERNAL_ERROR);
|
SSLerr(SSL_F_DTLS1_READ_BYTES, ERR_R_INTERNAL_ERROR);
|
||||||
goto f_err;
|
goto f_err;
|
||||||
|
|
|
@ -8,7 +8,6 @@
|
||||||
*/
|
*/
|
||||||
|
|
||||||
#include <stdio.h>
|
#include <stdio.h>
|
||||||
#include <assert.h>
|
|
||||||
#include <limits.h>
|
#include <limits.h>
|
||||||
#include <errno.h>
|
#include <errno.h>
|
||||||
#define USE_SOCKETS
|
#define USE_SOCKETS
|
||||||
|
|
|
@ -7,7 +7,6 @@
|
||||||
* https://www.openssl.org/source/license.html
|
* https://www.openssl.org/source/license.html
|
||||||
*/
|
*/
|
||||||
|
|
||||||
#include <assert.h>
|
|
||||||
#include "../ssl_locl.h"
|
#include "../ssl_locl.h"
|
||||||
#include "internal/constant_time_locl.h"
|
#include "internal/constant_time_locl.h"
|
||||||
#include <openssl/rand.h>
|
#include <openssl/rand.h>
|
||||||
|
@ -436,8 +435,7 @@ int ssl3_get_record(SSL *s)
|
||||||
unsigned char *mac;
|
unsigned char *mac;
|
||||||
/* TODO(size_t): convert this to do size_t properly */
|
/* TODO(size_t): convert this to do size_t properly */
|
||||||
imac_size = EVP_MD_CTX_size(s->read_hash);
|
imac_size = EVP_MD_CTX_size(s->read_hash);
|
||||||
assert(imac_size >= 0 && imac_size <= EVP_MAX_MD_SIZE);
|
if (!ossl_assert(imac_size >= 0 && imac_size <= EVP_MAX_MD_SIZE)) {
|
||||||
if (imac_size < 0 || imac_size > EVP_MAX_MD_SIZE) {
|
|
||||||
al = SSL_AD_INTERNAL_ERROR;
|
al = SSL_AD_INTERNAL_ERROR;
|
||||||
SSLerr(SSL_F_SSL3_GET_RECORD, ERR_LIB_EVP);
|
SSLerr(SSL_F_SSL3_GET_RECORD, ERR_LIB_EVP);
|
||||||
goto f_err;
|
goto f_err;
|
||||||
|
|
|
@ -7,7 +7,6 @@
|
||||||
* https://www.openssl.org/source/license.html
|
* https://www.openssl.org/source/license.html
|
||||||
*/
|
*/
|
||||||
|
|
||||||
#include <assert.h>
|
|
||||||
#include "../ssl_locl.h"
|
#include "../ssl_locl.h"
|
||||||
#include "record_locl.h"
|
#include "record_locl.h"
|
||||||
|
|
||||||
|
@ -64,8 +63,7 @@ int tls13_enc(SSL *s, SSL3_RECORD *recs, size_t n_recs, int sending)
|
||||||
* To get here we must have selected a ciphersuite - otherwise ctx would
|
* To get here we must have selected a ciphersuite - otherwise ctx would
|
||||||
* be NULL
|
* be NULL
|
||||||
*/
|
*/
|
||||||
assert(s->s3->tmp.new_cipher != NULL);
|
if (!ossl_assert(s->s3->tmp.new_cipher != NULL))
|
||||||
if (s->s3->tmp.new_cipher == NULL)
|
|
||||||
return -1;
|
return -1;
|
||||||
alg_enc = s->s3->tmp.new_cipher->algorithm_enc;
|
alg_enc = s->s3->tmp.new_cipher->algorithm_enc;
|
||||||
}
|
}
|
||||||
|
|
12
ssl/s3_cbc.c
12
ssl/s3_cbc.c
|
@ -7,7 +7,6 @@
|
||||||
* https://www.openssl.org/source/license.html
|
* https://www.openssl.org/source/license.html
|
||||||
*/
|
*/
|
||||||
|
|
||||||
#include <assert.h>
|
|
||||||
#include "internal/constant_time_locl.h"
|
#include "internal/constant_time_locl.h"
|
||||||
#include "ssl_locl.h"
|
#include "ssl_locl.h"
|
||||||
|
|
||||||
|
@ -229,15 +228,14 @@ int ssl3_cbc_digest_record(const EVP_MD_CTX *ctx,
|
||||||
* ssl3_cbc_record_digest_supported should have been called first to
|
* ssl3_cbc_record_digest_supported should have been called first to
|
||||||
* check that the hash function is supported.
|
* check that the hash function is supported.
|
||||||
*/
|
*/
|
||||||
assert(0);
|
if (md_out_size != NULL)
|
||||||
if (md_out_size)
|
|
||||||
*md_out_size = 0;
|
*md_out_size = 0;
|
||||||
return 0;
|
return ossl_assert(0);
|
||||||
}
|
}
|
||||||
|
|
||||||
if (!ossl_assert(md_length_size <= MAX_HASH_BIT_COUNT_BYTES
|
if (!ossl_assert(md_length_size <= MAX_HASH_BIT_COUNT_BYTES)
|
||||||
&& md_block_size <= MAX_HASH_BLOCK_SIZE
|
|| !ossl_assert(md_block_size <= MAX_HASH_BLOCK_SIZE)
|
||||||
&& md_size <= EVP_MAX_MD_SIZE))
|
|| !ossl_assert(md_size <= EVP_MAX_MD_SIZE))
|
||||||
return 0;
|
return 0;
|
||||||
|
|
||||||
header_length = 13;
|
header_length = 13;
|
||||||
|
|
17
ssl/s3_lib.c
17
ssl/s3_lib.c
|
@ -48,7 +48,6 @@
|
||||||
*/
|
*/
|
||||||
|
|
||||||
#include <stdio.h>
|
#include <stdio.h>
|
||||||
#include <assert.h>
|
|
||||||
#include <openssl/objects.h>
|
#include <openssl/objects.h>
|
||||||
#include "ssl_locl.h"
|
#include "ssl_locl.h"
|
||||||
#include <openssl/md5.h>
|
#include <openssl/md5.h>
|
||||||
|
@ -2914,7 +2913,10 @@ int ssl3_new(SSL *s)
|
||||||
if (!SSL_SRP_CTX_init(s))
|
if (!SSL_SRP_CTX_init(s))
|
||||||
goto err;
|
goto err;
|
||||||
#endif
|
#endif
|
||||||
s->method->ssl_clear(s);
|
|
||||||
|
if (!s->method->ssl_clear(s))
|
||||||
|
return 0;
|
||||||
|
|
||||||
return 1;
|
return 1;
|
||||||
err:
|
err:
|
||||||
return 0;
|
return 0;
|
||||||
|
@ -2950,7 +2952,7 @@ void ssl3_free(SSL *s)
|
||||||
s->s3 = NULL;
|
s->s3 = NULL;
|
||||||
}
|
}
|
||||||
|
|
||||||
void ssl3_clear(SSL *s)
|
int ssl3_clear(SSL *s)
|
||||||
{
|
{
|
||||||
ssl3_cleanup_key_block(s);
|
ssl3_cleanup_key_block(s);
|
||||||
OPENSSL_free(s->s3->tmp.ctype);
|
OPENSSL_free(s->s3->tmp.ctype);
|
||||||
|
@ -2972,7 +2974,8 @@ void ssl3_clear(SSL *s)
|
||||||
/* NULL/zero-out everything in the s3 struct */
|
/* NULL/zero-out everything in the s3 struct */
|
||||||
memset(s->s3, 0, sizeof(*s->s3));
|
memset(s->s3, 0, sizeof(*s->s3));
|
||||||
|
|
||||||
ssl_free_wbio_buffer(s);
|
if (!ssl_free_wbio_buffer(s))
|
||||||
|
return 0;
|
||||||
|
|
||||||
s->version = SSL3_VERSION;
|
s->version = SSL3_VERSION;
|
||||||
|
|
||||||
|
@ -2981,6 +2984,8 @@ void ssl3_clear(SSL *s)
|
||||||
s->ext.npn = NULL;
|
s->ext.npn = NULL;
|
||||||
s->ext.npn_len = 0;
|
s->ext.npn_len = 0;
|
||||||
#endif
|
#endif
|
||||||
|
|
||||||
|
return 1;
|
||||||
}
|
}
|
||||||
|
|
||||||
#ifndef OPENSSL_NO_SRP
|
#ifndef OPENSSL_NO_SRP
|
||||||
|
@ -4038,7 +4043,9 @@ int ssl_fill_hello_random(SSL *s, int server, unsigned char *result, size_t len,
|
||||||
}
|
}
|
||||||
#ifndef OPENSSL_NO_TLS13DOWNGRADE
|
#ifndef OPENSSL_NO_TLS13DOWNGRADE
|
||||||
if (ret) {
|
if (ret) {
|
||||||
assert(sizeof(tls11downgrade) < len && sizeof(tls12downgrade) < len);
|
if (!ossl_assert(sizeof(tls11downgrade) < len)
|
||||||
|
|| !ossl_assert(sizeof(tls12downgrade) < len))
|
||||||
|
return 0;
|
||||||
if (dgrd == DOWNGRADE_TO_1_2)
|
if (dgrd == DOWNGRADE_TO_1_2)
|
||||||
memcpy(result + len - sizeof(tls12downgrade), tls12downgrade,
|
memcpy(result + len - sizeof(tls12downgrade), tls12downgrade,
|
||||||
sizeof(tls12downgrade));
|
sizeof(tls12downgrade));
|
||||||
|
|
|
@ -12,7 +12,6 @@
|
||||||
#include "internal/err.h"
|
#include "internal/err.h"
|
||||||
#include <openssl/crypto.h>
|
#include <openssl/crypto.h>
|
||||||
#include <openssl/evp.h>
|
#include <openssl/evp.h>
|
||||||
#include <assert.h>
|
|
||||||
#include "ssl_locl.h"
|
#include "ssl_locl.h"
|
||||||
#include "internal/thread_once.h"
|
#include "internal/thread_once.h"
|
||||||
|
|
||||||
|
|
|
@ -39,7 +39,6 @@
|
||||||
* OTHERWISE.
|
* OTHERWISE.
|
||||||
*/
|
*/
|
||||||
|
|
||||||
#include <assert.h>
|
|
||||||
#include <stdio.h>
|
#include <stdio.h>
|
||||||
#include "ssl_locl.h"
|
#include "ssl_locl.h"
|
||||||
#include <openssl/objects.h>
|
#include <openssl/objects.h>
|
||||||
|
@ -493,8 +492,10 @@ int SSL_clear(SSL *s)
|
||||||
s->method = s->ctx->method;
|
s->method = s->ctx->method;
|
||||||
if (!s->method->ssl_new(s))
|
if (!s->method->ssl_new(s))
|
||||||
return 0;
|
return 0;
|
||||||
} else
|
} else {
|
||||||
s->method->ssl_clear(s);
|
if (!s->method->ssl_clear(s))
|
||||||
|
return 0;
|
||||||
|
}
|
||||||
|
|
||||||
RECORD_LAYER_clear(&s->rlayer);
|
RECORD_LAYER_clear(&s->rlayer);
|
||||||
|
|
||||||
|
@ -981,6 +982,7 @@ void SSL_free(SSL *s)
|
||||||
dane_final(&s->dane);
|
dane_final(&s->dane);
|
||||||
CRYPTO_free_ex_data(CRYPTO_EX_INDEX_SSL, s, &s->ex_data);
|
CRYPTO_free_ex_data(CRYPTO_EX_INDEX_SSL, s, &s->ex_data);
|
||||||
|
|
||||||
|
/* Ignore return value */
|
||||||
ssl_free_wbio_buffer(s);
|
ssl_free_wbio_buffer(s);
|
||||||
|
|
||||||
BIO_free_all(s->wbio);
|
BIO_free_all(s->wbio);
|
||||||
|
@ -3529,16 +3531,19 @@ int ssl_init_wbio_buffer(SSL *s)
|
||||||
return 1;
|
return 1;
|
||||||
}
|
}
|
||||||
|
|
||||||
void ssl_free_wbio_buffer(SSL *s)
|
int ssl_free_wbio_buffer(SSL *s)
|
||||||
{
|
{
|
||||||
/* callers ensure s is never null */
|
/* callers ensure s is never null */
|
||||||
if (s->bbio == NULL)
|
if (s->bbio == NULL)
|
||||||
return;
|
return 1;
|
||||||
|
|
||||||
s->wbio = BIO_pop(s->wbio);
|
s->wbio = BIO_pop(s->wbio);
|
||||||
assert(s->wbio != NULL);
|
if (!ossl_assert(s->wbio != NULL))
|
||||||
|
return 0;
|
||||||
BIO_free(s->bbio);
|
BIO_free(s->bbio);
|
||||||
s->bbio = NULL;
|
s->bbio = NULL;
|
||||||
|
|
||||||
|
return 1;
|
||||||
}
|
}
|
||||||
|
|
||||||
void SSL_CTX_set_quiet_shutdown(SSL_CTX *ctx, int mode)
|
void SSL_CTX_set_quiet_shutdown(SSL_CTX *ctx, int mode)
|
||||||
|
|
|
@ -452,7 +452,7 @@ struct ssl_method_st {
|
||||||
unsigned flags;
|
unsigned flags;
|
||||||
unsigned long mask;
|
unsigned long mask;
|
||||||
int (*ssl_new) (SSL *s);
|
int (*ssl_new) (SSL *s);
|
||||||
void (*ssl_clear) (SSL *s);
|
int (*ssl_clear) (SSL *s);
|
||||||
void (*ssl_free) (SSL *s);
|
void (*ssl_free) (SSL *s);
|
||||||
int (*ssl_accept) (SSL *s);
|
int (*ssl_accept) (SSL *s);
|
||||||
int (*ssl_connect) (SSL *s);
|
int (*ssl_connect) (SSL *s);
|
||||||
|
@ -2181,7 +2181,7 @@ __owur int ssl3_read(SSL *s, void *buf, size_t len, size_t *readbytes);
|
||||||
__owur int ssl3_peek(SSL *s, void *buf, size_t len, size_t *readbytes);
|
__owur int ssl3_peek(SSL *s, void *buf, size_t len, size_t *readbytes);
|
||||||
__owur int ssl3_write(SSL *s, const void *buf, size_t len, size_t *written);
|
__owur int ssl3_write(SSL *s, const void *buf, size_t len, size_t *written);
|
||||||
__owur int ssl3_shutdown(SSL *s);
|
__owur int ssl3_shutdown(SSL *s);
|
||||||
void ssl3_clear(SSL *s);
|
int ssl3_clear(SSL *s);
|
||||||
__owur long ssl3_ctrl(SSL *s, int cmd, long larg, void *parg);
|
__owur long ssl3_ctrl(SSL *s, int cmd, long larg, void *parg);
|
||||||
__owur long ssl3_ctx_ctrl(SSL_CTX *s, int cmd, long larg, void *parg);
|
__owur long ssl3_ctx_ctrl(SSL_CTX *s, int cmd, long larg, void *parg);
|
||||||
__owur long ssl3_callback_ctrl(SSL *s, int cmd, void (*fp) (void));
|
__owur long ssl3_callback_ctrl(SSL *s, int cmd, void (*fp) (void));
|
||||||
|
@ -2246,20 +2246,20 @@ __owur int dtls1_query_mtu(SSL *s);
|
||||||
|
|
||||||
__owur int tls1_new(SSL *s);
|
__owur int tls1_new(SSL *s);
|
||||||
void tls1_free(SSL *s);
|
void tls1_free(SSL *s);
|
||||||
void tls1_clear(SSL *s);
|
int tls1_clear(SSL *s);
|
||||||
long tls1_ctrl(SSL *s, int cmd, long larg, void *parg);
|
long tls1_ctrl(SSL *s, int cmd, long larg, void *parg);
|
||||||
long tls1_callback_ctrl(SSL *s, int cmd, void (*fp) (void));
|
long tls1_callback_ctrl(SSL *s, int cmd, void (*fp) (void));
|
||||||
|
|
||||||
__owur int dtls1_new(SSL *s);
|
__owur int dtls1_new(SSL *s);
|
||||||
void dtls1_free(SSL *s);
|
void dtls1_free(SSL *s);
|
||||||
void dtls1_clear(SSL *s);
|
int dtls1_clear(SSL *s);
|
||||||
long dtls1_ctrl(SSL *s, int cmd, long larg, void *parg);
|
long dtls1_ctrl(SSL *s, int cmd, long larg, void *parg);
|
||||||
__owur int dtls1_shutdown(SSL *s);
|
__owur int dtls1_shutdown(SSL *s);
|
||||||
|
|
||||||
__owur int dtls1_dispatch_alert(SSL *s);
|
__owur int dtls1_dispatch_alert(SSL *s);
|
||||||
|
|
||||||
__owur int ssl_init_wbio_buffer(SSL *s);
|
__owur int ssl_init_wbio_buffer(SSL *s);
|
||||||
void ssl_free_wbio_buffer(SSL *s);
|
int ssl_free_wbio_buffer(SSL *s);
|
||||||
|
|
||||||
__owur int tls1_change_cipher_state(SSL *s, int which);
|
__owur int tls1_change_cipher_state(SSL *s, int which);
|
||||||
__owur int tls1_setup_key_block(SSL *s);
|
__owur int tls1_setup_key_block(SSL *s);
|
||||||
|
|
|
@ -7,7 +7,6 @@
|
||||||
* https://www.openssl.org/source/license.html
|
* https://www.openssl.org/source/license.html
|
||||||
*/
|
*/
|
||||||
|
|
||||||
#include <assert.h>
|
|
||||||
#include <openssl/ocsp.h>
|
#include <openssl/ocsp.h>
|
||||||
#include "../ssl_locl.h"
|
#include "../ssl_locl.h"
|
||||||
#include "statem_locl.h"
|
#include "statem_locl.h"
|
||||||
|
@ -541,8 +540,7 @@ static int add_key_share(SSL *s, WPACKET *pkt, unsigned int curve_id)
|
||||||
size_t encodedlen;
|
size_t encodedlen;
|
||||||
|
|
||||||
if (s->s3->tmp.pkey != NULL) {
|
if (s->s3->tmp.pkey != NULL) {
|
||||||
assert(s->hello_retry_request);
|
if (!ossl_assert(s->hello_retry_request)) {
|
||||||
if (!s->hello_retry_request) {
|
|
||||||
SSLerr(SSL_F_ADD_KEY_SHARE, ERR_R_INTERNAL_ERROR);
|
SSLerr(SSL_F_ADD_KEY_SHARE, ERR_R_INTERNAL_ERROR);
|
||||||
return 0;
|
return 0;
|
||||||
}
|
}
|
||||||
|
@ -923,8 +921,13 @@ int tls_parse_stoc_renegotiate(SSL *s, PACKET *pkt, unsigned int context,
|
||||||
const unsigned char *data;
|
const unsigned char *data;
|
||||||
|
|
||||||
/* Check for logic errors */
|
/* Check for logic errors */
|
||||||
assert(expected_len == 0 || s->s3->previous_client_finished_len != 0);
|
if (!ossl_assert(expected_len == 0
|
||||||
assert(expected_len == 0 || s->s3->previous_server_finished_len != 0);
|
|| s->s3->previous_client_finished_len != 0)
|
||||||
|
|| !ossl_assert(expected_len == 0
|
||||||
|
|| s->s3->previous_server_finished_len != 0)) {
|
||||||
|
*al = SSL_AD_INTERNAL_ERROR;
|
||||||
|
return 0;
|
||||||
|
}
|
||||||
|
|
||||||
/* Parse the length byte */
|
/* Parse the length byte */
|
||||||
if (!PACKET_get_1_len(pkt, &ilen)) {
|
if (!PACKET_get_1_len(pkt, &ilen)) {
|
||||||
|
|
|
@ -9,7 +9,6 @@
|
||||||
|
|
||||||
/* Custom extension utility functions */
|
/* Custom extension utility functions */
|
||||||
|
|
||||||
#include <assert.h>
|
|
||||||
#include <openssl/ct.h>
|
#include <openssl/ct.h>
|
||||||
#include "../ssl_locl.h"
|
#include "../ssl_locl.h"
|
||||||
#include "statem_locl.h"
|
#include "statem_locl.h"
|
||||||
|
@ -217,7 +216,10 @@ int custom_ext_add(SSL *s, int context, WPACKET *pkt, X509 *x, size_t chainidx,
|
||||||
/*
|
/*
|
||||||
* We can't send duplicates: code logic should prevent this.
|
* We can't send duplicates: code logic should prevent this.
|
||||||
*/
|
*/
|
||||||
assert((meth->ext_flags & SSL_EXT_FLAG_SENT) == 0);
|
if (!ossl_assert((meth->ext_flags & SSL_EXT_FLAG_SENT) == 0)) {
|
||||||
|
*al = SSL_AD_INTERNAL_ERROR;
|
||||||
|
return 0;
|
||||||
|
}
|
||||||
/*
|
/*
|
||||||
* Indicate extension has been sent: this is both a sanity check to
|
* Indicate extension has been sent: this is both a sanity check to
|
||||||
* ensure we don't send duplicate extensions and indicates that it
|
* ensure we don't send duplicate extensions and indicates that it
|
||||||
|
|
|
@ -995,7 +995,8 @@ WORK_STATE tls_finish_handshake(SSL *s, WORK_STATE wst, int clearbufs)
|
||||||
BUF_MEM_free(s->init_buf);
|
BUF_MEM_free(s->init_buf);
|
||||||
s->init_buf = NULL;
|
s->init_buf = NULL;
|
||||||
}
|
}
|
||||||
ssl_free_wbio_buffer(s);
|
if (!ssl_free_wbio_buffer(s))
|
||||||
|
return WORK_ERROR;
|
||||||
s->init_num = 0;
|
s->init_num = 0;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
16
ssl/t1_lib.c
16
ssl/t1_lib.c
|
@ -101,9 +101,11 @@ long tls1_default_timeout(void)
|
||||||
int tls1_new(SSL *s)
|
int tls1_new(SSL *s)
|
||||||
{
|
{
|
||||||
if (!ssl3_new(s))
|
if (!ssl3_new(s))
|
||||||
return (0);
|
return 0;
|
||||||
s->method->ssl_clear(s);
|
if (!s->method->ssl_clear(s))
|
||||||
return (1);
|
return 0;
|
||||||
|
|
||||||
|
return 1;
|
||||||
}
|
}
|
||||||
|
|
||||||
void tls1_free(SSL *s)
|
void tls1_free(SSL *s)
|
||||||
|
@ -112,13 +114,17 @@ void tls1_free(SSL *s)
|
||||||
ssl3_free(s);
|
ssl3_free(s);
|
||||||
}
|
}
|
||||||
|
|
||||||
void tls1_clear(SSL *s)
|
int tls1_clear(SSL *s)
|
||||||
{
|
{
|
||||||
ssl3_clear(s);
|
if (!ssl3_clear(s))
|
||||||
|
return 0;
|
||||||
|
|
||||||
if (s->method->version == TLS_ANY_VERSION)
|
if (s->method->version == TLS_ANY_VERSION)
|
||||||
s->version = TLS_MAX_VERSION;
|
s->version = TLS_MAX_VERSION;
|
||||||
else
|
else
|
||||||
s->version = s->method->version;
|
s->version = s->method->version;
|
||||||
|
|
||||||
|
return 1;
|
||||||
}
|
}
|
||||||
|
|
||||||
#ifndef OPENSSL_NO_EC
|
#ifndef OPENSSL_NO_EC
|
||||||
|
|
Loading…
Reference in a new issue