diff options
Diffstat (limited to 'src/lib/libssl/ssl_rsa.c')
-rw-r--r-- | src/lib/libssl/ssl_rsa.c | 14 |
1 files changed, 5 insertions, 9 deletions
diff --git a/src/lib/libssl/ssl_rsa.c b/src/lib/libssl/ssl_rsa.c index 60e7b66859..c0960b5712 100644 --- a/src/lib/libssl/ssl_rsa.c +++ b/src/lib/libssl/ssl_rsa.c | |||
@@ -710,7 +710,7 @@ int SSL_CTX_use_certificate_chain_file(SSL_CTX *ctx, const char *file) | |||
710 | 710 | ||
711 | ERR_clear_error(); /* clear error stack for SSL_CTX_use_certificate() */ | 711 | ERR_clear_error(); /* clear error stack for SSL_CTX_use_certificate() */ |
712 | 712 | ||
713 | in = BIO_new(BIO_s_file_internal()); | 713 | in=BIO_new(BIO_s_file_internal()); |
714 | if (in == NULL) | 714 | if (in == NULL) |
715 | { | 715 | { |
716 | SSLerr(SSL_F_SSL_CTX_USE_CERTIFICATE_CHAIN_FILE,ERR_R_BUF_LIB); | 716 | SSLerr(SSL_F_SSL_CTX_USE_CERTIFICATE_CHAIN_FILE,ERR_R_BUF_LIB); |
@@ -723,16 +723,14 @@ int SSL_CTX_use_certificate_chain_file(SSL_CTX *ctx, const char *file) | |||
723 | goto end; | 723 | goto end; |
724 | } | 724 | } |
725 | 725 | ||
726 | x=PEM_read_bio_X509_AUX(in,NULL,ctx->default_passwd_callback, | 726 | x=PEM_read_bio_X509_AUX(in,NULL,ctx->default_passwd_callback,ctx->default_passwd_callback_userdata); |
727 | ctx->default_passwd_callback_userdata); | ||
728 | if (x == NULL) | 727 | if (x == NULL) |
729 | { | 728 | { |
730 | SSLerr(SSL_F_SSL_CTX_USE_CERTIFICATE_CHAIN_FILE,ERR_R_PEM_LIB); | 729 | SSLerr(SSL_F_SSL_CTX_USE_CERTIFICATE_CHAIN_FILE,ERR_R_PEM_LIB); |
731 | goto end; | 730 | goto end; |
732 | } | 731 | } |
733 | 732 | ||
734 | ret = SSL_CTX_use_certificate(ctx, x); | 733 | ret=SSL_CTX_use_certificate(ctx,x); |
735 | |||
736 | if (ERR_peek_error() != 0) | 734 | if (ERR_peek_error() != 0) |
737 | ret = 0; /* Key/certificate mismatch doesn't imply ret==0 ... */ | 735 | ret = 0; /* Key/certificate mismatch doesn't imply ret==0 ... */ |
738 | if (ret) | 736 | if (ret) |
@@ -744,15 +742,13 @@ int SSL_CTX_use_certificate_chain_file(SSL_CTX *ctx, const char *file) | |||
744 | int r; | 742 | int r; |
745 | unsigned long err; | 743 | unsigned long err; |
746 | 744 | ||
747 | if (ctx->extra_certs != NULL) | 745 | if (ctx->extra_certs != NULL) |
748 | { | 746 | { |
749 | sk_X509_pop_free(ctx->extra_certs, X509_free); | 747 | sk_X509_pop_free(ctx->extra_certs, X509_free); |
750 | ctx->extra_certs = NULL; | 748 | ctx->extra_certs = NULL; |
751 | } | 749 | } |
752 | 750 | ||
753 | while ((ca = PEM_read_bio_X509(in, NULL, | 751 | while ((ca = PEM_read_bio_X509(in,NULL,ctx->default_passwd_callback,ctx->default_passwd_callback_userdata)) |
754 | ctx->default_passwd_callback, | ||
755 | ctx->default_passwd_callback_userdata)) | ||
756 | != NULL) | 752 | != NULL) |
757 | { | 753 | { |
758 | r = SSL_CTX_add_extra_chain_cert(ctx, ca); | 754 | r = SSL_CTX_add_extra_chain_cert(ctx, ca); |