Cosmetic touchups.

This commit is contained in:
Trevor 2013-06-24 15:59:05 -07:00 committed by Ben Laurie
parent 6d7fa9c25c
commit 355a6236be
4 changed files with 18 additions and 15 deletions

View File

@ -350,15 +350,15 @@ CERT *ssl_cert_dup(CERT *cert)
if (cert->pkeys[i].serverinfo != NULL) if (cert->pkeys[i].serverinfo != NULL)
{ {
/* Just copy everything. */ /* Just copy everything. */
ret->pkeys[i].serverinfo_length =
cert->pkeys[i].serverinfo_length;
ret->pkeys[i].serverinfo = ret->pkeys[i].serverinfo =
OPENSSL_malloc(ret->pkeys[i].serverinfo_length); OPENSSL_malloc(cert->pkeys[i].serverinfo_length);
if (ret->pkeys[i].serverinfo == NULL) if (ret->pkeys[i].serverinfo == NULL)
{ {
SSLerr(SSL_F_SSL_CERT_DUP, ERR_R_MALLOC_FAILURE); SSLerr(SSL_F_SSL_CERT_DUP, ERR_R_MALLOC_FAILURE);
return NULL; return NULL;
} }
ret->pkeys[i].serverinfo_length =
cert->pkeys[i].serverinfo_length;
memcpy(ret->pkeys[i].serverinfo, memcpy(ret->pkeys[i].serverinfo,
cert->pkeys[i].serverinfo, cert->pkeys[i].serverinfo,
cert->pkeys[i].serverinfo_length); cert->pkeys[i].serverinfo_length);
@ -488,6 +488,7 @@ void ssl_cert_clear_certs(CERT *c)
{ {
OPENSSL_free(cpk->serverinfo); OPENSSL_free(cpk->serverinfo);
cpk->serverinfo = NULL; cpk->serverinfo = NULL;
cpk->serverinfo_length = 0;
} }
#endif #endif
/* Clear all flags apart from explicit sign */ /* Clear all flags apart from explicit sign */

View File

@ -1715,16 +1715,17 @@ int SSL_CTX_set_custom_cli_ext(SSL_CTX *ctx, unsigned short ext_type,
custom_cli_ext_first_cb_fn fn1, custom_cli_ext_first_cb_fn fn1,
custom_cli_ext_second_cb_fn fn2, void* arg) custom_cli_ext_second_cb_fn fn2, void* arg)
{ {
/* Check for duplicates */
size_t i; size_t i;
custom_cli_ext_record* record; custom_cli_ext_record* record;
/* Check for duplicates */
for (i=0; i < ctx->custom_cli_ext_records_count; i++) for (i=0; i < ctx->custom_cli_ext_records_count; i++)
if (ext_type == ctx->custom_cli_ext_records[i].ext_type) if (ext_type == ctx->custom_cli_ext_records[i].ext_type)
return 0; return 0;
ctx->custom_cli_ext_records = OPENSSL_realloc(ctx->custom_cli_ext_records, ctx->custom_cli_ext_records = OPENSSL_realloc(ctx->custom_cli_ext_records,
(ctx->custom_cli_ext_records_count+1) * sizeof(custom_cli_ext_record)); (ctx->custom_cli_ext_records_count + 1) *
sizeof(custom_cli_ext_record));
if (!ctx->custom_cli_ext_records) { if (!ctx->custom_cli_ext_records) {
ctx->custom_cli_ext_records_count = 0; ctx->custom_cli_ext_records_count = 0;
return 0; return 0;
@ -1739,19 +1740,20 @@ int SSL_CTX_set_custom_cli_ext(SSL_CTX *ctx, unsigned short ext_type,
} }
int SSL_CTX_set_custom_srv_ext(SSL_CTX *ctx, unsigned short ext_type, int SSL_CTX_set_custom_srv_ext(SSL_CTX *ctx, unsigned short ext_type,
custom_srv_ext_first_cb_fn fn1, custom_srv_ext_first_cb_fn fn1,
custom_srv_ext_second_cb_fn fn2, void* arg) custom_srv_ext_second_cb_fn fn2, void* arg)
{ {
/* Check for duplicates */
size_t i; size_t i;
custom_srv_ext_record* record; custom_srv_ext_record* record;
/* Check for duplicates */
for (i=0; i < ctx->custom_srv_ext_records_count; i++) for (i=0; i < ctx->custom_srv_ext_records_count; i++)
if (ext_type == ctx->custom_srv_ext_records[i].ext_type) if (ext_type == ctx->custom_srv_ext_records[i].ext_type)
return 0; return 0;
ctx->custom_srv_ext_records = OPENSSL_realloc(ctx->custom_srv_ext_records, ctx->custom_srv_ext_records = OPENSSL_realloc(ctx->custom_srv_ext_records,
(ctx->custom_srv_ext_records_count+1) * sizeof(custom_srv_ext_record)); (ctx->custom_srv_ext_records_count + 1) *
sizeof(custom_srv_ext_record));
if (!ctx->custom_srv_ext_records) { if (!ctx->custom_srv_ext_records) {
ctx->custom_srv_ext_records_count = 0; ctx->custom_srv_ext_records_count = 0;
return 0; return 0;

View File

@ -1096,7 +1096,7 @@ int SSL_CTX_use_serverinfo(SSL_CTX *ctx, const unsigned char *serverinfo,
return 0; return 0;
} }
ctx->cert->key->serverinfo = OPENSSL_realloc(ctx->cert->key->serverinfo, ctx->cert->key->serverinfo = OPENSSL_realloc(ctx->cert->key->serverinfo,
serverinfo_length); serverinfo_length);
if (ctx->cert->key->serverinfo == NULL) if (ctx->cert->key->serverinfo == NULL)
{ {
SSLerr(SSL_F_SSL_CTX_USE_SERVERINFO,ERR_R_MALLOC_FAILURE); SSLerr(SSL_F_SSL_CTX_USE_SERVERINFO,ERR_R_MALLOC_FAILURE);

View File

@ -2325,19 +2325,19 @@ static int ssl_scan_clienthello_tlsext(SSL *s, unsigned char **p, unsigned char
record = &s->ctx->custom_srv_ext_records[i]; record = &s->ctx->custom_srv_ext_records[i];
if (type == record->ext_type) if (type == record->ext_type)
{ {
/* Error on duplicate TLS Extensions */
size_t j; size_t j;
/* Error on duplicate TLS Extensions */
for (j = 0; j < s->s3->tlsext_custom_types_count; j++) for (j = 0; j < s->s3->tlsext_custom_types_count; j++)
{ {
if (s->s3->tlsext_custom_types[j] == type) if (type == s->s3->tlsext_custom_types[j])
{ {
*al = TLS1_AD_DECODE_ERROR; *al = TLS1_AD_DECODE_ERROR;
return 0; return 0;
} }
} }
/* Callback */ /* NULL callback still notes the extension */
if (record->fn1 && !record->fn1(s, type, data, size, al, record->arg)) if (record->fn1 && !record->fn1(s, type, data, size, al, record->arg))
return 0; return 0;
@ -2345,7 +2345,7 @@ static int ssl_scan_clienthello_tlsext(SSL *s, unsigned char **p, unsigned char
s->s3->tlsext_custom_types_count++; s->s3->tlsext_custom_types_count++;
s->s3->tlsext_custom_types = OPENSSL_realloc( s->s3->tlsext_custom_types = OPENSSL_realloc(
s->s3->tlsext_custom_types, s->s3->tlsext_custom_types,
s->s3->tlsext_custom_types_count*2); s->s3->tlsext_custom_types_count * 2);
if (s->s3->tlsext_custom_types == NULL) if (s->s3->tlsext_custom_types == NULL)
{ {
s->s3->tlsext_custom_types = 0; s->s3->tlsext_custom_types = 0;
@ -2353,7 +2353,7 @@ static int ssl_scan_clienthello_tlsext(SSL *s, unsigned char **p, unsigned char
return 0; return 0;
} }
s->s3->tlsext_custom_types[ s->s3->tlsext_custom_types[
s->s3->tlsext_custom_types_count-1] = type; s->s3->tlsext_custom_types_count - 1] = type;
} }
} }
} }