From 162ba31064ad2093e1fcb11ef4e02ab2a62eacb6 Mon Sep 17 00:00:00 2001 From: Anirudh Ramachandran Date: Wed, 8 Mar 2017 10:10:42 -0800 Subject: [PATCH] Fix mcrouter-oss build Summary: D4624754 broke mcrouter-oss because that uses older OpenSSL (1.0.1). Reviewed By: yfeldblum, jmswen Differential Revision: D4670767 fbshipit-source-id: f297c8d3e013525bb36bd059eb40c70f0c4c2dcc --- folly/ssl/OpenSSLCertUtils.cpp | 24 +++++++++++++----------- 1 file changed, 13 insertions(+), 11 deletions(-) diff --git a/folly/ssl/OpenSSLCertUtils.cpp b/folly/ssl/OpenSSLCertUtils.cpp index d06cdac7..238fa689 100644 --- a/folly/ssl/OpenSSLCertUtils.cpp +++ b/folly/ssl/OpenSSLCertUtils.cpp @@ -128,17 +128,19 @@ folly::Optional OpenSSLCertUtils::toString(X509& x509) { throw std::runtime_error("Cannot allocate bio"); } - if (X509_print_ex( - in.get(), - &x509, - XN_FLAG_ONELINE, - X509_FLAG_NO_HEADER | /* A few bytes of cert and data */ - X509_FLAG_NO_PUBKEY | /* Public key */ - X509_FLAG_NO_IDS | /* Issuer/subject IDs */ - X509_FLAG_NO_AUX | /* Auxiliary info? */ - X509_FLAG_NO_SIGDUMP | /* Prints the signature */ - X509_FLAG_NO_SIGNAME /* Signature algorithms */ - ) > 0) { + int flags = 0; + + flags |= X509_FLAG_NO_HEADER | /* A few bytes of cert and data */ + X509_FLAG_NO_PUBKEY | /* Public key */ + X509_FLAG_NO_AUX | /* Auxiliary info? */ + X509_FLAG_NO_SIGDUMP | /* Prints the signature */ + X509_FLAG_NO_SIGNAME; /* Signature algorithms */ + +#ifdef X509_FLAG_NO_IDS + flags |= X509_FLAG_NO_IDS; /* Issuer/subject IDs */ +#endif + + if (X509_print_ex(in.get(), &x509, XN_FLAG_ONELINE, flags) > 0) { char* bioData = nullptr; size_t bioLen = BIO_get_mem_data(in.get(), &bioData); return std::string(bioData, bioLen); -- 2.34.1