You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@trafficserver.apache.org by zw...@apache.org on 2020/05/20 16:45:38 UTC
[trafficserver] 03/06: Fix SDK_API_TSSslServerContextCreate
This is an automated email from the ASF dual-hosted git repository.
zwoop pushed a commit to branch 9.0.x
in repository https://gitbox.apache.org/repos/asf/trafficserver.git
commit d18538b232131e83066b46c830ce707ad78ce6c8
Author: Susan Hinrichs <sh...@verizonmedia.com>
AuthorDate: Fri Mar 13 18:45:32 2020 +0000
Fix SDK_API_TSSslServerContextCreate
(cherry picked from commit 3808b31d3c679d4490d144383ae6df70a75fd150)
---
iocore/net/SSLUtils.cc | 12 +++++++-----
1 file changed, 7 insertions(+), 5 deletions(-)
diff --git a/iocore/net/SSLUtils.cc b/iocore/net/SSLUtils.cc
index 6b3774d..ffc6e8a 100644
--- a/iocore/net/SSLUtils.cc
+++ b/iocore/net/SSLUtils.cc
@@ -1917,16 +1917,18 @@ SSLMultiCertConfigLoader::load_certs_and_cross_reference_names(std::vector<X509
std::set<std::string> &common_names,
std::unordered_map<int, std::set<std::string>> &unique_names)
{
- SimpleTokenizer cert_tok(sslMultCertSettings->cert ? (const char *)sslMultCertSettings->cert : "", SSL_CERT_SEPARATE_DELIM);
- SimpleTokenizer key_tok((sslMultCertSettings->key ? (const char *)sslMultCertSettings->key : ""), SSL_CERT_SEPARATE_DELIM);
+ SimpleTokenizer cert_tok(sslMultCertSettings && sslMultCertSettings->cert ? (const char *)sslMultCertSettings->cert : "",
+ SSL_CERT_SEPARATE_DELIM);
+ SimpleTokenizer key_tok((sslMultCertSettings && sslMultCertSettings->key ? (const char *)sslMultCertSettings->key : ""),
+ SSL_CERT_SEPARATE_DELIM);
- if (sslMultCertSettings->key && cert_tok.getNumTokensRemaining() != key_tok.getNumTokensRemaining()) {
+ if (sslMultCertSettings && sslMultCertSettings->key && cert_tok.getNumTokensRemaining() != key_tok.getNumTokensRemaining()) {
Error("the number of certificates in ssl_cert_name and ssl_key_name doesn't match");
return false;
}
SimpleTokenizer ca_tok("", SSL_CERT_SEPARATE_DELIM);
- if (sslMultCertSettings->ca) {
+ if (sslMultCertSettings && sslMultCertSettings->ca) {
ca_tok.setString(sslMultCertSettings->ca);
if (cert_tok.getNumTokensRemaining() != ca_tok.getNumTokensRemaining()) {
Error("the number of certificates in ssl_cert_name and ssl_ca_name doesn't match");
@@ -1935,7 +1937,7 @@ SSLMultiCertConfigLoader::load_certs_and_cross_reference_names(std::vector<X509
}
SimpleTokenizer ocsp_tok("", SSL_CERT_SEPARATE_DELIM);
- if (sslMultCertSettings->ocsp_response) {
+ if (sslMultCertSettings && sslMultCertSettings->ocsp_response) {
ocsp_tok.setString(sslMultCertSettings->ocsp_response);
if (cert_tok.getNumTokensRemaining() != ocsp_tok.getNumTokensRemaining()) {
Error("the number of certificates in ssl_cert_name and ssl_ocsp_name doesn't match");