Skip to content

OpenSSL platform

«interface»SolidSyslogStreamOpenSslStreamOpenSsl«interface»SolidSyslogStream

Struct SolidSyslogOpenSslStreamConfig

ClassList > SolidSyslogOpenSslStreamConfig

Wires SolidSyslogOpenSslStream to its transport, trust anchors, and identity.

  • #include <SolidSyslogOpenSslStream.h>
struct SolidSyslogOpenSslStreamConfig
{
    struct SolidSyslogStream* Transport;
    SolidSyslogSleepFunction Sleep;
    SolidSyslogTlsHandshakeTimeoutFunction GetHandshakeTimeoutMs;
    void* HandshakeTimeoutContext;
    const char* CaBundlePath;
    const char* ServerName;
    const char* CipherList;
    const char* ClientCertChainPath;
    const char* ClientKeyPath;
};

Public Attributes Documentation

CaBundlePath

PEM file of trust anchors the peer cert must chain to.

const char* SolidSyslogOpenSslStreamConfig::CaBundlePath;


CipherList

TLS 1.2 cipher list; NULL uses the OpenSSL default.

const char* SolidSyslogOpenSslStreamConfig::CipherList;


ClientCertChainPath

PEM leaf cert (+ intermediates) for mTLS; NULL = no mTLS.

const char* SolidSyslogOpenSslStreamConfig::ClientCertChainPath;

Cert and key are all-or-nothing — supplying one without the other is a setup error.


ClientKeyPath

PEM private key matching ClientCertChainPath; NULL = no mTLS.

const char* SolidSyslogOpenSslStreamConfig::ClientKeyPath;


GetHandshakeTimeoutMs

Per-attempt handshake deadline in ms; NULL uses the SOLIDSYSLOG_TLS_HANDSHAKE_TIMEOUT_MS tunable.

SolidSyslogTlsHandshakeTimeoutFunction SolidSyslogOpenSslStreamConfig::GetHandshakeTimeoutMs;


HandshakeTimeoutContext

Passed back to GetHandshakeTimeoutMs unchanged; NULL is fine.

void* SolidSyslogOpenSslStreamConfig::HandshakeTimeoutContext;


ServerName

SNI plus the expected peer identity.

const char* SolidSyslogOpenSslStreamConfig::ServerName;

A non-empty name is verified against the cert (SAN/CN). NULL connects chain-only but emits a WARNING — the peer is unverified (MITM-class). "" is the no-name-check opt-out (closed network / private CA): still chain-verified against CaBundlePath, endpoint identity unchecked; no diagnostic.


Sleep

Drives the bounded handshake retry between WANT_READ/WANT_WRITE polls; required.

SolidSyslogSleepFunction SolidSyslogOpenSslStreamConfig::Sleep;


Transport

Underlying byte stream carrying the ciphertext.

struct SolidSyslogStream* SolidSyslogOpenSslStreamConfig::Transport;

Borrowed — this stream may Close it but never destroys it; the caller owns it and must keep it valid until SolidSyslogOpenSslStream_Destroy.



The documentation for this class was generated from the following file Platform/OpenSsl/Interface/SolidSyslogOpenSslStream.h