|
Tor 0.4.9.8
|
Header file for control.c. More...
Go to the source code of this file.
Macros | |
| #define | CONTROL_CONN_STATE_MIN_ 1 |
| #define | CONTROL_CONN_STATE_OPEN 1 |
| #define | CONTROL_CONN_STATE_NEEDAUTH 2 |
| #define | CONTROL_CONN_STATE_MAX_ 2 |
| #define | LOG_FN_CONN(conn, args) |
| #define | CC_LOCAL_FD_IS_OWNER (1u<<0) |
| #define | CC_LOCAL_FD_IS_AUTHENTICATED (1u<<1) |
Functions | |
| control_connection_t * | TO_CONTROL_CONN (connection_t *) |
| const control_connection_t * | CONST_TO_CONTROL_CONN (const connection_t *) |
| void | control_ports_write_to_file (void) |
| int | control_connection_add_local_fd (tor_socket_t sock, unsigned flags) |
| int | connection_control_finished_flushing (control_connection_t *conn) |
| int | connection_control_reached_eof (control_connection_t *conn) |
| void | connection_control_closed (control_connection_t *conn) |
| int | connection_control_process_inbuf (control_connection_t *conn) |
| void | disable_control_logging (void) |
| void | enable_control_logging (void) |
| void | monitor_owning_controller_process (const char *process_spec) |
| const char * | rend_auth_type_to_string (rend_auth_type_t auth_type) |
| void | control_free_all (void) |
| #define CONTROL_CONN_STATE_NEEDAUTH 2 |
State for a control connection: Waiting for authentication; speaking protocol v1.
Definition at line 23 of file control.h.
Referenced by conn_state_to_string(), connection_control_process_inbuf(), connection_init_accepted_conn(), and control_protocol_is_valid().
| #define CONTROL_CONN_STATE_OPEN 1 |
State for a control connection: Authenticated and accepting v1 commands.
Definition at line 20 of file control.h.
Referenced by conn_state_to_string(), connection_control_process_inbuf(), connection_state_is_open(), control_connection_add_local_fd(), handle_control_authenticate(), is_valid_initial_command(), and queued_events_flush_all().
| #define LOG_FN_CONN | ( | conn, | |
| args ) |
Log information about the connection conn, protecting it as with CONN_LOG_PROTECT. Example:
LOG_FN_CONN(conn, (LOG_DEBUG, "Socket %d wants to write", conn->s));
Definition at line 33 of file control.h.
Referenced by conn_close_if_marked(), conn_write_callback(), connection_consider_empty_read_buckets(), and connection_consider_empty_write_buckets().
| void connection_control_closed | ( | control_connection_t * | conn | ) |
Called when conn is being freed.
Definition at line 231 of file control.c.
Referenced by connection_free_().
| int connection_control_finished_flushing | ( | control_connection_t * | conn | ) |
Called when conn has no more bytes left on its outbuf.
Definition at line 201 of file control.c.
Referenced by connection_finished_flushing().
| int connection_control_process_inbuf | ( | control_connection_t * | conn | ) |
Called when data has arrived on a v1 control connection: Try to fetch commands from conn->inbuf, and execute them.
Definition at line 420 of file control.c.
Referenced by connection_process_inbuf().
| int connection_control_reached_eof | ( | control_connection_t * | conn | ) |
Called when conn has gotten its socket closed.
Definition at line 209 of file control.c.
Referenced by connection_reached_eof().
| const control_connection_t * CONST_TO_CONTROL_CONN | ( | const connection_t * | c | ) |
Cast a const connection_t * to a const control_connection_t *.
Exit with an assertion failure if the input is not a control_connection_t.
| int control_connection_add_local_fd | ( | tor_socket_t | sock, |
| unsigned | flags ) |
Create and add a new controller connection on sock. If CC_LOCAL_FD_IS_OWNER is set in flags, this Tor process should exit when the connection closes. If CC_LOCAL_FD_IS_AUTHENTICATED is set, then the connection does not need to authenticate.
Definition at line 95 of file control.c.
Referenced by options_act().
| void control_free_all | ( | void | ) |
Free any leftover allocated memory of the control.c subsystem.
Definition at line 622 of file control.c.
Referenced by tor_free_all().
| void control_ports_write_to_file | ( | void | ) |
Write all of the open control ports to ControlPortWriteToFile
Definition at line 134 of file control.c.
Referenced by options_act().
| void disable_control_logging | ( | void | ) |
Called when we are sending a log message to the controllers: suspend sending further log messages to the controllers until we're done. Used by CONN_LOG_PROTECT.
Definition at line 1368 of file control_events.c.
| void enable_control_logging | ( | void | ) |
We're done sending a log message to the controllers: re-enable controller logging. Used by CONN_LOG_PROTECT.
Definition at line 1376 of file control_events.c.
| void monitor_owning_controller_process | ( | const char * | process_spec | ) |
Set process_spec as Tor's owning controller process. Exit on failure.
Definition at line 573 of file control.c.
Referenced by options_act().
| const char * rend_auth_type_to_string | ( | rend_auth_type_t | auth_type | ) |
Convert rendezvous auth type to string for HS_DESC control events
Definition at line 1952 of file control_events.c.
Referenced by control_event_hs_descriptor_requested(), and event_hs_descriptor_receive_end().
| control_connection_t * TO_CONTROL_CONN | ( | connection_t * | c | ) |
Cast a connection_t * to a control_connection_t *.
Exit with an assertion failure if the input is not a control_connection_t.
Definition at line 71 of file control.c.
Referenced by connection_finished_flushing(), connection_free_(), connection_free_all(), connection_free_minimal(), connection_process_inbuf(), connection_reached_eof(), CONST_TO_CONTROL_CONN(), control_update_global_event_mask(), and queued_events_flush_all().