18namespace proto_fuzzer {
36 transport_.Install(easy);
55#if defined(PROTO_FUZZER_OBSERVE_STATE)
57 const volatile std::size_t pop3s_observation[] = {
59 (void)pop3s_observation;
virtual void Install(CURL *easy)
Install the common OPENSOCKETFUNCTION / OPENSOCKETDATA / SOCKOPTFUNCTION callbacks on 'easy'.
std::unique_ptr< MockConnection > connection_
The per-scenario MockConnection, lazily created by HandleOpenSocket().
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.
~Pop3sMockServer() override
Release the TLS connection before the carrier-owned server context.
std::size_t completed_handshake_count() const
int negotiated_tls_version() const
Pop3sMockServer()
Construct the OpenSSL server carrier used by every POP3S scenario.
void ObserveState() override
Retain protocol outcomes in coverage and introspector builds.
std::unique_ptr< MockConnection > CreateConnection() override
Wrap one socketpair endpoint in an OpenSSL acceptor.
std::string negotiated_alpn() const
MockConnection and MockServer — the in-process peer that feeds canned response bytes to libcurl over ...
Implicit-TLS in-process peer for curl's POP3S state machine.
TlsApplicationProtocol
Application protocol selected by the in-process TLS peer.
@ kHttp11
Ordinary HTTPS scripts contain HTTP/1.1 response bytes.