9#ifndef SQUID_SRC_SECURITY_ERRORDETAIL_H
10#define SQUID_SRC_SECURITY_ERRORDETAIL_H
interface for supplying additional information about a transaction failure
MEMPROXY_CLASS(Security::ErrorDetail)
int sysErrorNo
errno(3); system call failure code or zero
Certificate * peerCert()
the peer certificate (or nil)
ErrorCode error_no
Squid-discovered error, validation error, or zero;.
void printErrorCode(std::ostream &os) const
textual representation of error_no
SBuf verbose(const HttpRequestPointer &) const override
void printCommonName(std::ostream &os) const
a list of the broken certificates CN and alternate names
LibErrorCode lib_error_no
TLS library-reported non-validation error or zero;.
CertPointer broken_cert
A pointer to the broken certificate (peer or intermediate)
void printSubject(std::ostream &os) const
textual representation of the subject of the broken certificate
size_t convertErrorCodeToDescription(const char *code, std::ostream &os) const
ErrorCode errorNo() const
void printErrorLibError(std::ostream &os) const
textual representation of lib_error_no
ErrorDetailPointer Pointer
void printErrorDescription(std::ostream &os) const
short description of error_no
String errReason
a custom reason for the error
void setPeerCertificate(const CertPointer &)
std::optional< ErrorDetailEntry > detailEntry
SBuf brief() const override
void printNotBefore(std::ostream &os) const
textual representation of the "not before" field of the broken certificate
Certificate * brokenCert()
peer or intermediate certificate that failed validation (or nil)
void printCaName(std::ostream &os) const
the issuer of the broken certificate
void printNotAfter(std::ostream &os) const
textual representation of the "not after" field of the broken certificate
CertPointer peer_cert
A pointer to the peer certificate.
T * get() const
Returns raw and possibly nullptr pointer.
Network/connection security abstraction layer.
int ErrorCode
Squid-defined error code (<0), an error code returned by X.509 API, or zero.
const char * ErrorNameFromCode(ErrorCode err, bool prefixRawCode=false)
unsigned long LibErrorCode
TLS library-reported non-validation error.
ErrorCode ErrorCodeFromName(const char *name)
std::ostream & operator<<(std::ostream &, const EncryptorAnswer &)