#include "net/ssl/openssl_ssl_util.h"
#include <errno.h>
#include <utility>
#include "base/lazy_instance.h"
#include "base/location.h"
#include "base/logging.h"
#include "base/notreached.h"
#include "base/values.h"
#include "build/build_config.h"
#include "crypto/openssl_util.h"
#include "net/base/net_errors.h"
#include "net/cert/x509_util.h"
#include "net/log/net_log_with_source.h"
#include "net/ssl/ssl_connection_status_flags.h"
#include "third_party/boringssl/src/include/openssl/err.h"
#include "third_party/boringssl/src/include/openssl/ssl.h"
namespace net {
SslSetClearMask::SslSetClearMask() = default;
void SslSetClearMask::ConfigureFlag(long flag, bool state) { … }
namespace {
class OpenSSLNetErrorLibSingleton { … };
base::LazyInstance<OpenSSLNetErrorLibSingleton>::Leaky g_openssl_net_error_lib = …;
int OpenSSLNetErrorLib() { … }
int MapOpenSSLErrorSSL(uint32_t error_code) { … }
base::Value::Dict NetLogOpenSSLErrorParams(int net_error,
int ssl_error,
const OpenSSLErrorInfo& error_info) { … }
}
void OpenSSLPutNetError(const base::Location& location, int err) { … }
int MapOpenSSLError(int err, const crypto::OpenSSLErrStackTracer& tracer) { … }
int MapOpenSSLErrorWithDetails(int err,
const crypto::OpenSSLErrStackTracer& tracer,
OpenSSLErrorInfo* out_error_info) { … }
void NetLogOpenSSLError(const NetLogWithSource& net_log,
NetLogEventType type,
int net_error,
int ssl_error,
const OpenSSLErrorInfo& error_info) { … }
int GetNetSSLVersion(SSL* ssl) { … }
bool SetSSLChainAndKey(SSL* ssl,
X509Certificate* cert,
EVP_PKEY* pkey,
const SSL_PRIVATE_KEY_METHOD* custom_key) { … }
}