10#ifndef PROTO_FUZZER_TARGET_PROFILE_H_
11#define PROTO_FUZZER_TARGET_PROFILE_H_
13namespace proto_fuzzer {
constexpr ScenarioRunMode RunModeFor(TargetProfile profile)
Derive runtime behaviour from the compiled target identity.
ScenarioRunMode
Selects one of the complete, valid RunScenario behaviours.
@ kH2ProxyCoverage
Drive raw HTTP/2 proxy frames around one CONNECT tunnel.
@ kFtpCoverage
Drive FTP or FTPS through its concurrent control/passive-data peer.
@ kRtspCoverage
Drive RTSP through its request-aligned control peer, including response bodies and interleaved RTP da...
@ kPop3Coverage
Drive POP3 through its command-aware control peer, including RETR bodies.
@ kProtocolCoverage
Drive the protocol and inspect a compact set of public result APIs.
@ kFileCoverage
Drive file:// without a peer, reading only the canonical local target.
@ kLdapCoverage
Drive LDAP through its BER-aware single-socket peer, including the bind reply and scripted search-res...
@ kTlsCoverage
Drive HTTPS through a real TLS peer and inspect live TLS result state.
@ kTftpCoverage
Drive TFTP through its datagram-preserving loopback peer.
@ kDictCoverage
Drive DICT lookups through its command-aware stream peer and EOF-framed response body.
@ kTlsHttp2Coverage
Drive an HTTPS origin through fixed ALPN h2 with push/upkeep probes.
@ kHttp2Coverage
Drive a plaintext HTTP/2 prior-knowledge origin with the H2 peer.
@ kFastProtocol
Drive the protocol without charging its hot loop for generic API probes.
@ kImapCoverage
Drive IMAP through its command-aware control peer, including literals.
@ kDeepHttpCoverage
Drive deep HTTP plus its bounded filename-backed parser inputs.
@ kSmtpCoverage
Drive SMTP or SMTPS through its command-aware control peer, including the DATA body exchange.
@ kMqttCoverage
Drive MQTT or MQTTS through its packet-aware single-socket peer.
@ kTlsWebSocketCoverage
Drive WebSocket framing through a verified in-process TLS peer.
@ kMultiTransfer
Honour MultiPlan and drive several HTTP transfers through one multi.
@ kProxyTransportCoverage
Drive request-triggered SOCKS4/SOCKS5 negotiation, optional HAProxy framing, and the tunneled HTTP ex...
@ kResolverCoverage
Let curl resolve the origin while the socket callback still owns I/O.
@ kGopherCoverage
Drive Gopher through the bounded stream peer.
@ kApiLifecycle
Honour ApiPlan and run the dedicated lifecycle and typed-result probes.
@ kHttp3Coverage
Drive ordered plaintext HTTP/3 actions through the QUIC peer.
TargetProfile
Identifies one compiled proto-fuzzer lane.
@ kFastSmtp
Exercise single-connection SMTP and implicit-TLS SMTPS mail transfers.
@ kMulti
Exercise several easy handles through one shared multi handle.
@ kFastWebSocket
Exercise plaintext WebSocket framing without wall-clock waits.
@ kProxyTransport
Exercise HTTP through an in-process SOCKS proxy, optionally preceded by a HAProxy protocol-v1 prefix ...
@ kFastGopher
Exercise Gopher selectors through the bounded stream peer.
@ kApi
Exercise easy, share, multi, URL, and result API lifecycles.
@ kFastMqtt
Exercise binary MQTT and implicit-TLS MQTTS CONNECT/PUBLISH/SUBSCRIBE exchanges through the packet-aw...
@ kFastDict
Exercise line-based DICT lookups through the raw stream peer.
@ kFastHttp
Keep ordinary HTTP iterations cheap enough for a high mutation rate.
@ kFastFtp
Exercise FTP control and passive data connections, including implicit-TLS FTPS, without external I/O.
@ kFastRtsp
Exercise RTSP request/response exchanges and interleaved RTP delivery through the request-aligned str...
@ kResolver
Exercise localhost lookup and structured CURLOPT_RESOLVE host-cache work.
@ kFastHttp2
Exercise HTTP/2 origin frames over plaintext prior knowledge.
@ kH2Proxy
Exercise an HTTP/1.1 origin through an HTTPS/HTTP2 CONNECT proxy.
@ kTiming
Isolate deterministic backpressure and timed-wait behavior.
@ kFastSecureWebSocket
Exercise WebSocket framing through a verified TLS connection.
@ kFastFile
Exercise file:// URL parsing against a fixed read-only local target.
@ kHttpsH2
Exercise raw HTTP/2 origin frames after a verified TLS/ALPN handshake.
@ kFastTftp
Exercise packet-preserving TFTP exchanges over the loopback UDP peer.
@ kFastImap
Exercise single-connection IMAP mailbox transfers through the control peer.
@ kFastHttp3
Exercise HTTP/3 over a valid in-process QUIC/TLS connection.
@ kFastTelnet
Exercise bounded TELNET negotiation and callback-backed input.
@ kDeepHttp
Retain HTTP's complete structured request and response surface.
@ kCompatibility
Preserve the original mixed target and its accumulated corpus exactly.
@ kFastHttps
Exercise a complete HTTPS exchange against the in-process TLS peer.
@ kFastIpfs
Exercise curl's ipfs:// and ipns:// gateway rewrite as an ordinary HTTP GET against the in-process HT...
@ kFastLdap
Exercise binary BER LDAP bind and search exchanges through the OpenLDAP-backed single-socket peer.
@ kFastPop3
Exercise single-connection POP3 mailbox transfers through the control peer.