|
Tor 0.4.9.3-alpha-dev
|
Header file for control_proto.c. More...
#include "lib/encoding/confline.h"Go to the source code of this file.
Data Structures | |
| struct | control_reply_line_t |
| A reply line for the control protocol. More... | |
Macros | |
| #define | control_reply_line_free(line) |
| Free and null a control_reply_line_t. | |
| #define | control_reply_free(r) FREE_AND_NULL(smartlist_t, control_reply_free_, (r)) |
| Free and null a smartlist of control_reply_line_t. | |
Functions | |
| void | control_reply_line_free_ (control_reply_line_t *line) |
| void | connection_write_str_to_buf (const char *s, control_connection_t *conn) |
| void | connection_printf_to_buf (control_connection_t *conn, const char *format,...) |
| size_t | write_escaped_data (const char *data, size_t len, char **out) |
| size_t | read_escaped_data (const char *data, size_t len, char **out) |
| void | send_control_done (control_connection_t *conn) |
| void | control_write_reply (control_connection_t *conn, int code, int c, const char *s) |
| void | control_vprintf_reply (control_connection_t *conn, int code, int c, const char *fmt, va_list ap) |
| void | control_write_endreply (control_connection_t *conn, int code, const char *s) |
| void | control_printf_endreply (control_connection_t *conn, int code, const char *fmt,...) |
| void | control_write_midreply (control_connection_t *conn, int code, const char *s) |
| void | control_printf_midreply (control_connection_t *conn, int code, const char *fmt,...) |
| void | control_write_datareply (control_connection_t *conn, int code, const char *s) |
| void | control_printf_datareply (control_connection_t *conn, int code, const char *fmt,...) |
| void | control_write_data (control_connection_t *conn, const char *data) |
| void | control_write_reply_line (control_connection_t *conn, const control_reply_line_t *line, bool lastone) |
| void | control_write_reply_lines (control_connection_t *conn, smartlist_t *lines) |
| void | control_reply_add_one_kv (smartlist_t *reply, int code, int flags, const char *key, const char *val) |
| void | control_reply_append_kv (smartlist_t *reply, const char *key, const char *val) |
| void | control_reply_add_str (smartlist_t *reply, int code, const char *s) |
| void | control_reply_add_printf (smartlist_t *reply, int code, const char *fmt,...) |
| void | control_reply_add_done (smartlist_t *reply) |
| void | control_reply_clear (smartlist_t *reply) |
| void | control_reply_free_ (smartlist_t *reply) |
Header file for control_proto.c.
See Control reply lines for details about the key-value abstraction for generating reply lines.
Definition in file control_proto.h.
| void connection_printf_to_buf | ( | control_connection_t * | conn, |
| const char * | format, | ||
| ... | |||
| ) |
Acts like sprintf, but writes its formatted string to the end of conn->outbuf.
Definition at line 41 of file control_proto.c.
Referenced by control_write_reply().
| void connection_write_str_to_buf | ( | const char * | s, |
| control_connection_t * | conn | ||
| ) |
Append a NUL-terminated string s to the end of conn->outbuf.
Definition at line 32 of file control_proto.c.
Referenced by control_send_http_reject().
| void control_printf_datareply | ( | control_connection_t * | conn, |
| int | code, | ||
| const char * | fmt, | ||
| ... | |||
| ) |
Write a formatted DataReplyLine
Definition at line 259 of file control_proto.c.
Referenced by control_write_reply_line().
| void control_printf_endreply | ( | control_connection_t * | conn, |
| int | code, | ||
| const char * | fmt, | ||
| ... | |||
| ) |
Write a formatted EndReplyLine
Definition at line 221 of file control_proto.c.
Referenced by add_onion_helper_keyarg(), handle_control_add_onion(), handle_control_attachstream(), handle_control_authchallenge(), handle_control_authenticate(), handle_control_closecircuit(), handle_control_closestream(), handle_control_command(), handle_control_extendcircuit(), handle_control_hsfetch(), handle_control_hspost(), handle_control_obsolete(), handle_control_onion_client_auth_add(), handle_control_onion_client_auth_remove(), handle_control_onion_client_auth_view(), handle_control_postdescriptor(), handle_control_protocolinfo(), handle_control_redirectstream(), handle_control_setcircuitpurpose(), handle_control_setevents(), handle_control_signal(), handle_control_usefeature(), handle_single_control_command(), and parse_private_key_from_control_port().
| void control_printf_midreply | ( | control_connection_t * | conn, |
| int | code, | ||
| const char * | fmt, | ||
| ... | |||
| ) |
Write a formatted MidReplyLine
Definition at line 240 of file control_proto.c.
Referenced by handle_control_add_onion(), and handle_control_onion_client_auth_view().
| void control_vprintf_reply | ( | control_connection_t * | conn, |
| int | code, | ||
| int | c, | ||
| const char * | fmt, | ||
| va_list | ap | ||
| ) |
Write a formatted reply to the control channel.
| conn | control connection |
| code | numeric result code |
| c | separator character, usually ' ', '-', or '+' |
| fmt | format string |
| ap | va_list from caller |
Definition at line 197 of file control_proto.c.
Referenced by control_printf_datareply(), control_printf_endreply(), and control_printf_midreply().
| void control_write_data | ( | control_connection_t * | conn, |
| const char * | data | ||
| ) |
Write a CmdData
Definition at line 271 of file control_proto.c.
Referenced by control_write_reply_line().
| void control_write_datareply | ( | control_connection_t * | conn, |
| int | code, | ||
| const char * | s | ||
| ) |
Write a DataReplyLine
Definition at line 252 of file control_proto.c.
| void control_write_endreply | ( | control_connection_t * | conn, |
| int | code, | ||
| const char * | s | ||
| ) |
Write an EndReplyLine
Definition at line 214 of file control_proto.c.
Referenced by add_onion_helper_keyarg(), connection_control_process_inbuf(), control_write_reply_line(), handle_control_add_onion(), handle_control_attachstream(), handle_control_authchallenge(), handle_control_authenticate(), handle_control_del_onion(), handle_control_extendcircuit(), handle_control_getinfo(), handle_control_hspost(), handle_control_mapaddress(), handle_control_onion_client_auth_add(), handle_control_postdescriptor(), handle_control_saveconf(), handle_control_setcircuitpurpose(), and send_control_done().
| void control_write_midreply | ( | control_connection_t * | conn, |
| int | code, | ||
| const char * | s | ||
| ) |
Write a MidReplyLine
Definition at line 233 of file control_proto.c.
Referenced by control_write_reply_line().
| void control_write_reply | ( | control_connection_t * | conn, |
| int | code, | ||
| int | c, | ||
| const char * | s | ||
| ) |
Write a reply to the control channel.
| conn | control connection |
| code | numeric result code |
| c | separator character, usually ' ', '-', or '+' |
| s | string reply content |
Definition at line 183 of file control_proto.c.
Referenced by control_vprintf_reply(), control_write_datareply(), control_write_endreply(), and control_write_midreply().
| size_t read_escaped_data | ( | const char * | data, |
| size_t | len, | ||
| char ** | out | ||
| ) |
Given a len-character string in data, made of lines terminated by CRLF, allocate a new string in *out, and copy the contents of data into *out, removing any period that appears at the start of a line, and replacing all CRLF sequences with LF. Return the number of bytes in *out.
This corresponds to CmdData in control-spec.txt.
Definition at line 130 of file control_proto.c.
Referenced by control_cmd_parse_args().
| void send_control_done | ( | control_connection_t * | conn | ) |
Send a "DONE" message down the control connection conn.
Definition at line 169 of file control_proto.c.
Referenced by control_setconf_helper(), handle_control_add_onion(), handle_control_attachstream(), handle_control_authenticate(), handle_control_closecircuit(), handle_control_closestream(), handle_control_del_onion(), handle_control_dropguards(), handle_control_dropownership(), handle_control_droptimeouts(), handle_control_getconf(), handle_control_hsfetch(), handle_control_hspost(), handle_control_loadconf(), handle_control_onion_client_auth_view(), handle_control_postdescriptor(), handle_control_redirectstream(), handle_control_resolve(), handle_control_saveconf(), handle_control_setcircuitpurpose(), handle_control_setevents(), handle_control_signal(), handle_control_takeownership(), and handle_control_usefeature().
| size_t write_escaped_data | ( | const char * | data, |
| size_t | len, | ||
| char ** | out | ||
| ) |
Given a len-character string in data, made of lines terminated by CRLF, allocate a new string in *out, and copy the contents of data into *out, adding a period before any period that appears at the start of a line, and adding a period-CRLF line at the end. Replace all LF characters sequences with CRLF. Return the number of bytes in *out.
This corresponds to CmdData in control-spec.txt.
Definition at line 71 of file control_proto.c.
Referenced by control_event_hs_descriptor_content(), control_event_networkstatus_changed_helper(), and control_write_data().