10#ifndef PROTO_FUZZER_SMTPS_MOCK_SERVER_H_
11#define PROTO_FUZZER_SMTPS_MOCK_SERVER_H_
22namespace proto_fuzzer {
47 void Install(CURL* easy)
override;
SmtpMockServer(curl::fuzzer::proto::SmtpProbeMode mode=curl::fuzzer::proto::SMTP_PROBE_DEFAULT)
Begin without a borrowed protobuf or open socketpair.
std::size_t completed_handshake_count() const
void ObserveState() override
Retain protocol outcomes in coverage and introspector builds.
void Install(CURL *easy) override
Install the shared socket callbacks and a stable local trust anchor.
int negotiated_tls_version() const
~SmtpsMockServer() override
Release the TLS connection before the carrier-owned server context.
std::unique_ptr< MockConnection > CreateConnection() override
Wrap one socketpair endpoint in an OpenSSL acceptor.
SmtpsMockServer()
Construct the OpenSSL server carrier used by every SMTPS scenario.
std::string negotiated_alpn() const
Reusable TLS carrier for protocol-specific mock peers.
Command-aware in-process peer for curl's SMTP state machine.
Reusable TLS transport for structured in-process protocol peers.