17 static const auto testing_setup = MakeNoLogFileContext<>();
49 tor_controller.
add_onion_cb(conn, tor_control_reply,
true);
52 tor_controller.
add_onion_cb(conn, tor_control_reply,
false);
55 tor_controller.
auth_cb(conn, tor_control_reply);
A helper class for interruptible sleeps.
Low-level handling for Tor control connection.
Reply from Tor, can be single or multi-line.
std::vector< std::string > lines
Controller that connects to Tor control socket, authenticate, then create and maintain an ephemeral o...
void get_socks_cb(TorControlConnection &conn, const TorControlReply &reply)
Callback for GETINFO net/listeners/socks result.
void add_onion_cb(TorControlConnection &conn, const TorControlReply &reply, bool pow_was_enabled)
Callback for ADD_ONION result.
void authchallenge_cb(TorControlConnection &conn, const TorControlReply &reply)
Callback for AUTHCHALLENGE result.
void auth_cb(TorControlConnection &conn, const TorControlReply &reply)
Callback for AUTHENTICATE result.
void protocolinfo_cb(TorControlConnection &conn, const TorControlReply &reply)
Callback for PROTOCOLINFO result.
#define LIMITED_WHILE(condition, limit)
Can be used to limit a theoretically unbounded loop.
void initialize_torcontrol()
FUZZ_TARGET(torcontrol,.init=initialize_torcontrol)
size_t CallOneOf(FuzzedDataProvider &fuzzed_data_provider, Callables... callables)
std::vector< std::string > ConsumeRandomLengthStringVector(FuzzedDataProvider &fuzzed_data_provider, const size_t max_vector_size=16, const size_t max_string_length=16) noexcept
constexpr int TOR_REPLY_SYNTAX_ERROR
Syntax error in command argument.
constexpr int TOR_REPLY_OK
Tor control reply code.
constexpr int TOR_REPLY_UNRECOGNIZED
FuzzedDataProvider & fuzzed_data_provider