diff options
author | Dr. Stephen Henson <steve@openssl.org> | 2012-06-25 14:32:30 +0000 |
---|---|---|
committer | Dr. Stephen Henson <steve@openssl.org> | 2012-06-25 14:32:30 +0000 |
commit | 4453cd8c734349f4515eaa1b047464de0f34a1b5 (patch) | |
tree | 724963358f13bfc1b6f8c7986982875af95bb71d /ssl/ssl_cert.c | |
parent | a8f3b8b519ddf028f7b1f915813b4ba2ceb858aa (diff) |
Reorganise supported signature algorithm extension processing.
Only store encoded versions of peer and configured signature algorithms.
Determine shared signature algorithms and cache the result along with NID
equivalents of each algorithm.
Diffstat (limited to 'ssl/ssl_cert.c')
-rw-r--r-- | ssl/ssl_cert.c | 6 |
1 files changed, 5 insertions, 1 deletions
diff --git a/ssl/ssl_cert.c b/ssl/ssl_cert.c index 72443ec1f5..4205f6e6cc 100644 --- a/ssl/ssl_cert.c +++ b/ssl/ssl_cert.c @@ -160,7 +160,7 @@ int SSL_get_ex_data_X509_STORE_CTX_idx(void) return ssl_x509_store_ctx_idx; } -static void ssl_cert_set_default_md(CERT *cert) +void ssl_cert_set_default_md(CERT *cert) { /* Set digest values to defaults */ #ifndef OPENSSL_NO_DSA @@ -373,6 +373,8 @@ CERT *ssl_cert_dup(CERT *cert) } else ret->conf_sigalgs = NULL; + /* Shared sigalgs also NULL */ + ret->shared_sigalgs = NULL; return(ret); @@ -464,6 +466,8 @@ void ssl_cert_free(CERT *c) OPENSSL_free(c->peer_sigalgs); if (c->conf_sigalgs) OPENSSL_free(c->conf_sigalgs); + if (c->shared_sigalgs) + OPENSSL_free(c->shared_sigalgs); OPENSSL_free(c); } |