17 #define EXT_OR_CONN_STATE_MIN_ 1
20 #define EXT_OR_CONN_STATE_AUTH_WAIT_AUTH_TYPE 1
22 #define EXT_OR_CONN_STATE_AUTH_WAIT_CLIENT_NONCE 2
24 #define EXT_OR_CONN_STATE_AUTH_WAIT_CLIENT_HASH 3
25 #define EXT_OR_CONN_STATE_AUTH_MAX 3
28 #define EXT_OR_CONN_STATE_OPEN 4
31 #define EXT_OR_CONN_STATE_FLUSHING 5
32 #define EXT_OR_CONN_STATE_MAX_ 5
34 #ifdef HAVE_MODULE_RELAY
44 int init_ext_or_cookie_authentication(
int is_enabled);
70 #define connection_or_set_ext_or_identifier(conn) \
73 #define get_ext_or_auth_cookie_file_name() \
78 #ifdef EXT_ORPORT_PRIVATE
83 STATIC int handle_client_auth_nonce(
const char *client_nonce,
84 size_t client_nonce_len,
85 char **client_hash_out,
86 char **reply_out,
size_t *reply_len_out);
tor_cmdline_mode_t command
STATIC uint8_t * ext_or_auth_cookie
STATIC int ext_or_auth_cookie_is_set
char * get_ext_or_auth_cookie_file_name(void)
void connection_or_set_ext_or_identifier(or_connection_t *conn)
int connection_ext_or_process_inbuf(or_connection_t *or_conn)
int connection_ext_or_start_auth(or_connection_t *or_conn)
void ext_orport_free_all(void)
int connection_ext_or_finished_flushing(or_connection_t *conn)
STATIC int connection_write_ext_or_command(connection_t *conn, uint16_t command, const char *body, size_t bodylen)
#define tor_assert_nonfatal_unreached()