#include <or.h>
Data Fields | |
char | socks_version |
int | command |
size_t | replylen |
char | reply [MAX_SOCKS_REPLY_LEN] |
char | address [MAX_SOCKS_ADDR_LEN] |
uint16_t | port |
unsigned int | has_finished: 1 |
Which version of SOCKS did the client use? One of "0, 4, 5" -- where 0 means that no socks handshake ever took place, and this is just a stub connection (e.g. see connection_ap_make_link()).
Referenced by connection_ap_handshake_socks_reply(), connection_ap_handshake_socks_resolved(), connection_ap_make_link(), and fetch_from_buf_socks().
What is this stream's goal? One from the above list.
Referenced by _connection_mark_unattached_ap(), circuit_get_open_circ_or_launch(), connection_ap_can_use_exit(), connection_ap_handshake_attach_chosen_circuit(), connection_ap_handshake_process_socks(), connection_ap_handshake_rewrite_and_attach(), connection_ap_handshake_send_begin(), connection_ap_handshake_send_resolve(), connection_ap_make_link(), connection_ap_process_natd(), connection_ap_process_transparent(), connection_edge_process_relay_cell_not_open(), control_event_stream_status(), dnsserv_launch_request(), dnsserv_resolved(), evdns_server_callback(), fetch_from_buf_socks(), and getinfo_helper_events().
size_t socks_request_t::replylen |
Length of reply.
Referenced by connection_ap_handshake_process_socks(), and fetch_from_buf_socks().
char socks_request_t::reply[MAX_SOCKS_REPLY_LEN] |
Write an entry into this string if we want to specify our own socks reply, rather than using the default socks4 or socks5 socks reply. We use this for the two-stage socks5 handshake.
Referenced by connection_ap_handshake_process_socks(), and fetch_from_buf_socks().
char socks_request_t::address[MAX_SOCKS_ADDR_LEN] |
What address did the client ask to connect to/resolve?
Referenced by circuit_discard_optional_exit_enclaves(), circuit_get_open_circ_or_launch(), circuit_is_acceptable(), connection_ap_can_use_exit(), connection_ap_expire_beginning(), connection_ap_fail_onehop(), connection_ap_get_original_destination(), connection_ap_handshake_attach_circuit(), connection_ap_handshake_rewrite_and_attach(), connection_ap_handshake_send_begin(), connection_ap_handshake_send_resolve(), connection_ap_handshake_socks_resolved(), connection_ap_make_link(), connection_ap_process_end_not_open(), connection_ap_process_natd(), connection_edge_process_relay_cell_not_open(), consider_recording_trackhost(), directory_all_unreachable(), dnsserv_launch_request(), dnsserv_resolved(), evdns_server_callback(), fetch_from_buf_socks(), handle_control_redirectstream(), remap_event_helper(), tell_controller_about_resolved_result(), and write_stream_target_to_buf().
uint16_t socks_request_t::port |
What port did the client ask to connect to?
Referenced by circuit_discard_optional_exit_enclaves(), circuit_get_open_circ_or_launch(), circuit_is_acceptable(), circuit_stream_is_being_handled(), connection_ap_can_use_exit(), connection_ap_expire_beginning(), connection_ap_fail_onehop(), connection_ap_get_original_destination(), connection_ap_handshake_attach_circuit(), connection_ap_handshake_rewrite_and_attach(), connection_ap_handshake_send_begin(), connection_ap_make_link(), connection_ap_process_natd(), directory_all_unreachable(), fetch_from_buf_socks(), handle_control_redirectstream(), and write_stream_target_to_buf().
unsigned int socks_request_t::has_finished |
Has the SOCKS handshake finished? Used to make sure we send back a socks reply for every connection.
Referenced by _connection_mark_unattached_ap(), assert_connection_ok(), connection_about_to_close_connection(), connection_ap_handshake_socks_reply(), connection_ap_handshake_socks_resolved(), connection_ap_make_link(), connection_ap_process_natd(), connection_ap_process_transparent(), connection_edge_process_relay_cell(), connection_edge_process_relay_cell_not_open(), connection_edge_reached_eof(), and connection_handle_read_impl().