Conform to existing Doxygen style

This commit is contained in:
Andrea Shepard 2012-10-08 21:30:07 -07:00
parent 06a76d1db4
commit 6391f963fb
No known key found for this signature in database
GPG key ID: 80BF498218A1E61B
2 changed files with 18 additions and 345 deletions

View file

@ -97,9 +97,6 @@ channel_write_cell_queue_entry(channel_t *chan, cell_queue_entry_t *q);
/** /**
* Indicate whether a given channel state is valid * Indicate whether a given channel state is valid
*
* @param state A channel state
* @return A boolean value indicating whether state is a valid channel state
*/ */
int int
@ -131,10 +128,6 @@ channel_state_is_valid(channel_state_t state)
* This function takes two channel states and indicates whether a * This function takes two channel states and indicates whether a
* transition between them is permitted (see the state definitions and * transition between them is permitted (see the state definitions and
* transition table in or.h at the channel_state_t typedef). * transition table in or.h at the channel_state_t typedef).
*
* @param from Proposed state to transition from
* @param to Proposed state to transition to
* @return A boolean value indicating whether the posposed transition is valid
*/ */
int int
@ -183,9 +176,6 @@ channel_state_can_transition(channel_state_t from, channel_state_t to)
/** /**
* Return a human-readable description for a channel state * Return a human-readable description for a channel state
*
* @param state A channel state
* @return A pointer to a string with a human-readable description of state
*/ */
const char * const char *
@ -232,8 +222,6 @@ channel_state_to_string(channel_state_t state)
* *
* This function registers a newly created channel in the global lists/maps * This function registers a newly created channel in the global lists/maps
* of active channels. * of active channels.
*
* @param chan A pointer to an unregistered channel
*/ */
void void
@ -306,8 +294,6 @@ channel_register(channel_t *chan)
* *
* This function removes a channel from the global lists and maps and is used * This function removes a channel from the global lists and maps and is used
* when freeing a closed/errored channel. * when freeing a closed/errored channel.
*
* @param chan A pointer to a channel to be unregistered
*/ */
void void
@ -363,8 +349,6 @@ channel_unregister(channel_t *chan)
* This function adds a channel to the digest map and inserts it into the * This function adds a channel to the digest map and inserts it into the
* correct linked list if channels with that remote endpoint identity digest * correct linked list if channels with that remote endpoint identity digest
* already exist. * already exist.
*
* @param chan A pointer to a channel to add
*/ */
static void static void
@ -416,8 +400,6 @@ channel_add_to_digest_map(channel_t *chan)
* *
* This function removes a channel from the digest map and the linked list of * This function removes a channel from the digest map and the linked list of
* channels for that digest if more than one exists. * channels for that digest if more than one exists.
*
* @param chan A pointer to a channel to remove
*/ */
static void static void
@ -563,10 +545,6 @@ channel_remove_from_digest_map(channel_t *chan)
* This function searches for a channel by the global_identifier assigned * This function searches for a channel by the global_identifier assigned
* at initialization time. This identifier is unique for the lifetime of the * at initialization time. This identifier is unique for the lifetime of the
* Tor process. * Tor process.
*
* @param global_identifier The global_identifier value to search for
* @return A pointer to the channel with that global identifier, or NULL if
* none exists.
*/ */
channel_t * channel_t *
@ -593,9 +571,6 @@ channel_find_by_global_id(uint64_t global_identifier)
* the channel digest map. It's possible that more than one channel to a * the channel digest map. It's possible that more than one channel to a
* given endpoint exists. Use channel_next_with_digest() and * given endpoint exists. Use channel_next_with_digest() and
* channel_prev_with_digest() to walk the list. * channel_prev_with_digest() to walk the list.
*
* @param identity_digest A digest to search for
* @return A channel pointer, or NULL if no channel to this endpoint exists.
*/ */
channel_t * channel_t *
@ -614,14 +589,10 @@ channel_find_by_remote_digest(const char *identity_digest)
} }
/** /**
* Next channel with digest * Get next channel with digest
* *
* This function takes a channel and finds the next channel in the list * This function takes a channel and finds the next channel in the list
* with the same digest. * with the same digest.
*
* @param chan Channel pointer to iterate
* @return A pointer to the next channel after chan with the same remote
* endpoint identity digest, or NULL if none exists.
*/ */
channel_t * channel_t *
@ -634,14 +605,10 @@ channel_next_with_digest(channel_t *chan)
} }
/** /**
* Previous channel with digest * Get previous channel with digest
* *
* This function takes a channel and finds the previos channel in the list * This function takes a channel and finds the previos channel in the list
* with the same digest. * with the same digest.
*
* @param chan Channel pointer to iterate
* @return A pointer to the previous channel after chan with the same remote
* endpoint identity digest, or NULL if none exists.
*/ */
channel_t * channel_t *
@ -659,13 +626,11 @@ channel_prev_with_digest(channel_t *chan)
} }
/** /**
* Internal-only channel init function for cell channels * Initialize a cell channel
* *
* This function should be called by subclasses to set up some per-channel * This function should be called by subclasses to set up some per-channel
* variables. I.e., this is the superclass constructor. Before this, the * variables. I.e., this is the superclass constructor. Before this, the
* channel should be allocated with tor_malloc_zero(). * channel should be allocated with tor_malloc_zero().
*
* @param chan Pointer to a channel to initialize.
*/ */
void void
@ -690,13 +655,11 @@ channel_init_for_cells(channel_t *chan)
} }
/** /**
* Internal-only channel init function for listener channels * Initialize a listener channel
* *
* This function should be called by subclasses to set up some per-channel * This function should be called by subclasses to set up some per-channel
* variables. I.e., this is the superclass constructor. Before this, the * variables. I.e., this is the superclass constructor. Before this, the
* channel should be allocated with tor_malloc_zero(). * channel should be allocated with tor_malloc_zero().
*
* @param chan Pointer to a channel to initialize.
*/ */
void void
@ -715,12 +678,8 @@ channel_init_listener(channel_t *chan)
} }
/** /**
* Internal-only channel free function * Free a channel; nothing outside of channel.c and subclasses should call
* * this - it frees channels after they have closed and been unregistered.
* Nothing outside of channel.c should call this; it frees channels after
* they have closed and been unregistered.
*
* @param chan Channel to free
*/ */
void void
@ -752,10 +711,9 @@ channel_free(channel_t *chan)
} }
/** /**
* Internal-only forcible channel free function * Free a channel and skip the state/reigstration asserts; this internal-
* * use-only function should be called only from channel_free_all() when
* This is like channel_free, but doesn't do the state/registration asserts; * shutting down the Tor process.
* it should only be used from channel_free_all() when shutting down.
*/ */
static void static void
@ -821,9 +779,6 @@ channel_force_free(channel_t *chan)
* *
* This function returns a function pointer to the current registered * This function returns a function pointer to the current registered
* handler for new incoming channels on a listener channel. * handler for new incoming channels on a listener channel.
*
* @param chan Channel to get listener for
* @return Function pointer to an incoming channel handler
*/ */
channel_listener_fn_ptr channel_listener_fn_ptr
@ -843,9 +798,6 @@ channel_get_listener_fn(channel_t *chan)
* *
* This function sets the handler for new incoming channels on a listener * This function sets the handler for new incoming channels on a listener
* channel. * channel.
*
* @param chan Listener channel to set handler on
* @param listener Function pointer to new incoming channel handler
*/ */
void void
@ -869,9 +821,6 @@ channel_set_listener_fn(channel_t *chan,
* *
* This function gets the handler for incoming fixed-length cells installed * This function gets the handler for incoming fixed-length cells installed
* on a channel. * on a channel.
*
* @param chan Channel to get the fixed-length cell handler for
* @return A function pointer to chan's fixed-length cell handler, if any.
*/ */
channel_cell_handler_fn_ptr channel_cell_handler_fn_ptr
@ -893,9 +842,6 @@ channel_get_cell_handler(channel_t *chan)
* *
* This function gets the handler for incoming variable-length cells * This function gets the handler for incoming variable-length cells
* installed on a channel. * installed on a channel.
*
* @param chan Channel to get the variable-length cell handler for
* @return A function pointer to chan's variable-length cell handler, if any.
*/ */
channel_var_cell_handler_fn_ptr channel_var_cell_handler_fn_ptr
@ -918,11 +864,6 @@ channel_get_var_cell_handler(channel_t *chan)
* This function sets both the fixed-length and variable length cell handlers * This function sets both the fixed-length and variable length cell handlers
* for a channel and processes any incoming cells that had been blocked in the * for a channel and processes any incoming cells that had been blocked in the
* queue because none were available. * queue because none were available.
*
* @param chan Channel to set the fixed-length cell handler for
* @param cell_handler Function pointer to new fixed-length cell handler
* @param var_cell_handler Function pointer to new variable-length cell
handler
*/ */
void void
@ -965,13 +906,11 @@ channel_set_cell_handlers(channel_t *chan,
} }
/** /**
* Mark a channel to be closed * Mark a channel for closure
* *
* This function tries to close a channel_t; it will go into the CLOSING * This function tries to close a channel_t; it will go into the CLOSING
* state, and eventually the lower layer should put it into the CLOSED or * state, and eventually the lower layer should put it into the CLOSED or
* ERROR state. Then, channel_run_cleanup() will eventually free it. * ERROR state. Then, channel_run_cleanup() will eventually free it.
*
* @param chan Channel to close
*/ */
void void
@ -1012,8 +951,6 @@ channel_mark_for_close(channel_t *chan)
* Notify the channel code that the channel is being closed due to a non-error * Notify the channel code that the channel is being closed due to a non-error
* condition in the lower layer. This does not call the close() method, since * condition in the lower layer. This does not call the close() method, since
* the lower layer already knows. * the lower layer already knows.
*
* @param chan Channel to notify for close
*/ */
void void
@ -1043,8 +980,6 @@ channel_close_from_lower_layer(channel_t *chan)
* This function is called by the lower layer implementing the transport * This function is called by the lower layer implementing the transport
* when a channel must be closed due to an error condition. This does not * when a channel must be closed due to an error condition. This does not
* call the channel's close method, since the lower layer already knows. * call the channel's close method, since the lower layer already knows.
*
* @param chan Channel to notify for error
*/ */
void void
@ -1074,8 +1009,6 @@ channel_close_for_error(channel_t *chan)
* This function should be called by the lower layer when a channel * This function should be called by the lower layer when a channel
* is finished closing and it should be regarded as inactive and * is finished closing and it should be regarded as inactive and
* freed by the channel code. * freed by the channel code.
*
* @param chan Channel to notify closure on
*/ */
void void
@ -1110,8 +1043,6 @@ channel_closed(channel_t *chan)
* *
* This function clears the identity digest of the remote endpoint for a * This function clears the identity digest of the remote endpoint for a
* channel; this is intended for use by the lower layer. * channel; this is intended for use by the lower layer.
*
* @param chan Channel to clear
*/ */
void void
@ -1147,9 +1078,6 @@ channel_clear_identity_digest(channel_t *chan)
* *
* This function sets the identity digest of the remote endpoint for a * This function sets the identity digest of the remote endpoint for a
* channel; this is intended for use by the lower layer. * channel; this is intended for use by the lower layer.
*
* @param chan Channel to clear
* @param identity_digest New identity digest for chan
*/ */
void void
@ -1208,8 +1136,6 @@ channel_set_identity_digest(channel_t *chan,
* *
* This function clears all the remote end info from a channel; this is * This function clears all the remote end info from a channel; this is
* intended for use by the lower layer. * intended for use by the lower layer.
*
* @param chan Channel to clear
*/ */
void void
@ -1246,10 +1172,6 @@ channel_clear_remote_end(channel_t *chan)
* *
* This function sets new remote end info on a channel; this is intended * This function sets new remote end info on a channel; this is intended
* for use by the lower layer. * for use by the lower layer.
*
* @chan Channel to set data on
* @chan identity_digest New identity digest for chan
* @chan nickname New remote nickname for chan
*/ */
void void
@ -1340,6 +1262,8 @@ cell_queue_entry_is_padding(cell_queue_entry_t *q)
} }
/** /**
* Write to a channel based on a cell_queue_entry_t
*
* Given a cell_queue_entry_t filled out by the caller, try to send the cell * Given a cell_queue_entry_t filled out by the caller, try to send the cell
* and queue it if we can't. * and queue it if we can't.
*/ */
@ -1502,9 +1426,6 @@ channel_write_var_cell(channel_t *chan, var_cell_t *var_cell)
* This internal and subclass use only function is used to change channel * This internal and subclass use only function is used to change channel
* state, performing all transition validity checks and whatever actions * state, performing all transition validity checks and whatever actions
* are appropriate to the state transition in question. * are appropriate to the state transition in question.
*
* @param chan Channel to change state on
* @param to_state State to change chan to
*/ */
void void
@ -1653,10 +1574,6 @@ channel_change_state(channel_t *chan, channel_state_t to_state)
* it will try to write up to num_cells cells from the channel's cell queue or * it will try to write up to num_cells cells from the channel's cell queue or
* from circuits active on that channel, or as many as it has available if * from circuits active on that channel, or as many as it has available if
* num_cells == -1. * num_cells == -1.
*
* @param chan Channel to flush from
* @param num_cells Maximum number of cells to flush, or -1 for unlimited
* @return Number of cells flushed
*/ */
#define MAX_CELLS_TO_GET_FROM_CIRCUITS_FOR_UNLIMITED 256 #define MAX_CELLS_TO_GET_FROM_CIRCUITS_FOR_UNLIMITED 256
@ -1701,14 +1618,10 @@ channel_flush_some_cells(channel_t *chan, ssize_t num_cells)
} }
/** /**
* Flush cells from just the channel's out going cell queue * Flush cells from just the channel's outgoing cell queue
* *
* This gets called from channel_flush_some_cells() above to flush cells * This gets called from channel_flush_some_cells() above to flush cells
* just from the queue without trying for active_circuits. * just from the queue without trying for active_circuits.
*
* @param chan Channel to flush from
* @param num_cells Maximum number of cells to flush, or -1 for unlimited
* @return Number of cells flushed
*/ */
static ssize_t static ssize_t
@ -1841,13 +1754,11 @@ channel_flush_some_cells_from_outgoing_queue(channel_t *chan,
} }
/** /**
* Try to flush as many cells as we possibly can from the queue * Flush as many cells as we possibly can from the queue
* *
* This tries to flush as many cells from the queue as the lower layer * This tries to flush as many cells from the queue as the lower layer
* will take. It just calls channel_flush_some_cells_from_outgoing_queue() * will take. It just calls channel_flush_some_cells_from_outgoing_queue()
* in unlimited mode. * in unlimited mode.
*
* @param chan Channel to flush
*/ */
void void
@ -1861,9 +1772,6 @@ channel_flush_cells(channel_t *chan)
* *
* This gets used from the lower layer to check if any more cells are * This gets used from the lower layer to check if any more cells are
* available. * available.
*
* @param chan Channel to check on
* @return 1 if cells are available, 0 otherwise
*/ */
int int
@ -1888,8 +1796,6 @@ channel_more_to_flush(channel_t *chan)
* *
* Connection.c will call this when we've flushed the output; there's some * Connection.c will call this when we've flushed the output; there's some
* dirreq-related maintenance to do. * dirreq-related maintenance to do.
*
* @param chan Channel to notify
*/ */
void void
@ -1909,8 +1815,6 @@ channel_notify_flushed(channel_t *chan)
* *
* Use a listener's registered callback to process as many entries in the * Use a listener's registered callback to process as many entries in the
* queue of incoming channels as possible. * queue of incoming channels as possible.
*
* @param listener Pointer to a listening channel.
*/ */
void void
@ -1965,8 +1869,6 @@ channel_process_incoming(channel_t *listener)
* until there is positive confirmation that the network is operational. * until there is positive confirmation that the network is operational.
* In particular, anything UDP-based should not make this transition until a * In particular, anything UDP-based should not make this transition until a
* packet is received from the other side. * packet is received from the other side.
*
* @param chan Channel that has become open
*/ */
void void
@ -2016,9 +1918,6 @@ channel_do_open_actions(channel_t *chan)
* Internal and subclass use only function to queue an incoming channel from * Internal and subclass use only function to queue an incoming channel from
* a listening one. A subclass of channel_t should call this when a new * a listening one. A subclass of channel_t should call this when a new
* incoming channel is created. * incoming channel is created.
*
* @param listener Listening channel to queue on
* @param incoming New incoming channel
*/ */
void void
@ -2079,8 +1978,6 @@ channel_queue_incoming(channel_t *listener, channel_t *incoming)
* *
* Process as many queued cells as we can from the incoming * Process as many queued cells as we can from the incoming
* cell queue. * cell queue.
*
* @param chan Channel to process incoming cell queue on
*/ */
void void
@ -2150,9 +2047,6 @@ channel_process_cells(channel_t *chan)
* *
* This should be called by a channel_t subclass to queue an incoming fixed- * This should be called by a channel_t subclass to queue an incoming fixed-
* length cell for processing, and process it if possible. * length cell for processing, and process it if possible.
*
* @param chan Channel the cell is arriving on
* @param cell Incoming cell to queue and process
*/ */
void void
@ -2212,9 +2106,6 @@ channel_queue_cell(channel_t *chan, cell_t *cell)
* *
* This should be called by a channel_t subclass to queue an incoming * This should be called by a channel_t subclass to queue an incoming
* variable-length cell for processing, and process it if possible. * variable-length cell for processing, and process it if possible.
*
* @param chan Channel the cell is arriving on
* @param var_cell Incoming cell to queue and process
*/ */
void void
@ -2275,11 +2166,6 @@ channel_queue_var_cell(channel_t *chan, var_cell_t *var_cell)
* Write a destroy cell with circ ID <b>circ_id</b> and reason <b>reason</b> * Write a destroy cell with circ ID <b>circ_id</b> and reason <b>reason</b>
* onto channel <b>chan</b>. Don't perform range-checking on reason: * onto channel <b>chan</b>. Don't perform range-checking on reason:
* we may want to propagate reasons from other cells. * we may want to propagate reasons from other cells.
*
* @param circ_id Circuit ID to destroy
* @param chan Channel to send on
* @param reason Reason code
* @return Always 0
*/ */
int int
@ -2302,7 +2188,7 @@ channel_send_destroy(circid_t circ_id, channel_t *chan, int reason)
} }
/** /**
* Channel statistics * Dump channel statistics to the log
* *
* This is called from dumpstats() in main.c and spams the log with * This is called from dumpstats() in main.c and spams the log with
* statistics on channels. * statistics on channels.
@ -2337,7 +2223,7 @@ channel_dumpstats(int severity)
} }
/** /**
* Channel cleanup * Clean up channels
* *
* This gets called periodically from run_scheduled_events() in main.c; * This gets called periodically from run_scheduled_events() in main.c;
* it cleans up after closed channels. * it cleans up after closed channels.
@ -2487,11 +2373,6 @@ channel_free_all(void)
* or make a new type including a tor_addr_t and port, so we have a * or make a new type including a tor_addr_t and port, so we have a
* single abstract object encapsulating all the protocol details of * single abstract object encapsulating all the protocol details of
* how to contact an OR. * how to contact an OR.
*
* @param addr Address of remote node to establish a channel to
* @param port ORport of remote OR
* @param id_digest Identity digest of remote OR
* @return New channel, or NULL if failure
*/ */
channel_t * channel_t *
@ -2510,12 +2391,6 @@ channel_connect(const tor_addr_t *addr, uint16_t port,
* number of circuits and the age are used as tie-breakers. * number of circuits and the age are used as tie-breakers.
* *
* This is based on the former connection_or_is_better() of connection_or.c * This is based on the former connection_or_is_better() of connection_or.c
*
* @param now Current time to use for deciding grace period for new channels
* @param a Channel A for comparison
* @param b Channel B for comparison
* @param forgive_new_connections Whether to use grace period for new channels
* @return 1 iff a is better than b
*/ */
int int
@ -2576,13 +2451,6 @@ channel_is_better(time_t now, channel_t *a, channel_t *b,
* channel, set *msg_out to a message describing the channel's state * channel, set *msg_out to a message describing the channel's state
* and our next action, and set *launch_out to a boolean indicated whether * and our next action, and set *launch_out to a boolean indicated whether
* the caller should try to launch a new channel with channel_connect(). * the caller should try to launch a new channel with channel_connect().
*
* @param digest Endpoint digest we want
* @param target_addr Endpoint address we want
* @param msg_out Write out status message here if we fail
* @param launch_out Write 1 here if caller should try to connect a new
* channel.
* @return Pointer to selected channel, or NULL if none available
*/ */
channel_t * channel_t *
@ -2869,7 +2737,6 @@ channel_dump_statistics(channel_t *chan, int severity)
(chan->u.cell_chan.active_circuit_pqueue != NULL) ? (chan->u.cell_chan.active_circuit_pqueue != NULL) ?
smartlist_len(chan->u.cell_chan.active_circuit_pqueue) : 0, smartlist_len(chan->u.cell_chan.active_circuit_pqueue) : 0,
chan->u.cell_chan.n_circuits); chan->u.cell_chan.n_circuits);
/* TODO better circuit info once circuit structure refactor is finished */
/* Describe timestamps */ /* Describe timestamps */
log(severity, LD_GENERAL, log(severity, LD_GENERAL,
@ -2963,9 +2830,6 @@ channel_dump_transport_statistics(channel_t *chan, int severity)
* This function return a test provided by the lower layer of the remote * This function return a test provided by the lower layer of the remote
* endpoint for this channel; it should specify the actual address connected * endpoint for this channel; it should specify the actual address connected
* to/from. * to/from.
*
* @param chan Channel to describe
* @return Pointer to string description
*/ */
const char * const char *
@ -2985,9 +2849,6 @@ channel_get_actual_remote_descr(channel_t *chan)
* This function return a test provided by the lower layer of the remote * This function return a test provided by the lower layer of the remote
* endpoint for this channel; it should use the known canonical address for * endpoint for this channel; it should use the known canonical address for
* this OR's identity digest if possible. * this OR's identity digest if possible.
*
* @param chan Channel to describe
* @return Pointer to string description
*/ */
const char * const char *
@ -3006,10 +2867,6 @@ channel_get_canonical_remote_descr(channel_t *chan)
* *
* Write the remote address out to a tor_addr_t if the underlying transport * Write the remote address out to a tor_addr_t if the underlying transport
* supports this operation. * supports this operation.
*
* @param chan Channel to request remote address from
* @param addr_out Write the address out here
* @return 1 if successful, 0 if not
*/ */
int int
@ -3030,9 +2887,6 @@ channel_get_addr_if_possible(channel_t *chan, tor_addr_t *addr_out)
* *
* Indicate if either we have queued cells, or if not, whether the underlying * Indicate if either we have queued cells, or if not, whether the underlying
* lower-layer transport thinks it has an output queue. * lower-layer transport thinks it has an output queue.
*
* @param chan Channel to query
* @return 1 if there are queued writes, 0 otherwise
*/ */
int int
@ -3060,9 +2914,6 @@ channel_has_queued_writes(channel_t *chan)
* *
* This function returns the is_bad_for_new_circs flag of the specified * This function returns the is_bad_for_new_circs flag of the specified
* channel. * channel.
*
* @param chan Channel to get flag on
* @return Flag value
*/ */
int int
@ -3078,8 +2929,6 @@ channel_is_bad_for_new_circs(channel_t *chan)
* Mark a channel as bad for new circuits * Mark a channel as bad for new circuits
* *
* Set the is_bad_for_new_circs_flag on chan. * Set the is_bad_for_new_circs_flag on chan.
*
* @param chan Channel to mark
*/ */
void void
@ -3097,9 +2946,6 @@ channel_mark_bad_for_new_circs(channel_t *chan)
* This returns the client flag of a channel, which will be set if * This returns the client flag of a channel, which will be set if
* command_process_create_cell() in command.c thinks this is a connection * command_process_create_cell() in command.c thinks this is a connection
* from a client. * from a client.
*
* @param chan Channel to query flag
* @return Flag value
*/ */
int int
@ -3115,8 +2961,6 @@ channel_is_client(channel_t *chan)
* Set the client flag * Set the client flag
* *
* Mark a channel as being from a client * Mark a channel as being from a client
*
* @param chan Channel to mark
*/ */
void void
@ -3133,9 +2977,6 @@ channel_mark_client(channel_t *chan)
* *
* This returns the is_canonical for a channel; this flag is determined by * This returns the is_canonical for a channel; this flag is determined by
* the lower layer and can't be set in a transport-independent way. * the lower layer and can't be set in a transport-independent way.
*
* @param chan Channel to query
* @return Flag value
*/ */
int int
@ -3153,10 +2994,6 @@ channel_is_canonical(channel_t *chan)
* *
* This function asks if the lower layer thinks it's safe to trust the * This function asks if the lower layer thinks it's safe to trust the
* result of channel_is_canonical() * result of channel_is_canonical()
*
* @param chan Channel to query
* @return 1 if the lower layer thinks the is_canonical flag is reliable, 0
* otherwise.
*/ */
int int
@ -3174,9 +3011,6 @@ channel_is_canonical_is_reliable(channel_t *chan)
* *
* This function gets the incoming flag; this is set when a listener spawns * This function gets the incoming flag; this is set when a listener spawns
* a channel. If this returns true the channel was remotely initiated. * a channel. If this returns true the channel was remotely initiated.
*
* @param chan Channel to query
* @return Flag value
*/ */
int int
@ -3193,8 +3027,6 @@ channel_is_incoming(channel_t *chan)
* *
* This function is called when a channel arrives on a listening channel * This function is called when a channel arrives on a listening channel
* to mark it as incoming. * to mark it as incoming.
*
* @param chan Channel to mark
*/ */
void void
@ -3214,9 +3046,6 @@ channel_mark_incoming(channel_t *chan)
* destinations it will communicate with on behalf of this channel. It's * destinations it will communicate with on behalf of this channel. It's
* used to decide whether to declare the network reachable when seeing incoming * used to decide whether to declare the network reachable when seeing incoming
* traffic on the channel. * traffic on the channel.
*
* @param chan Channel to query
* @return Flag value
*/ */
int int
@ -3234,8 +3063,6 @@ channel_is_local(channel_t *chan)
* This internal-only function should be called by the lower layer if the * This internal-only function should be called by the lower layer if the
* channel is to a local address. See channel_is_local() above or the * channel is to a local address. See channel_is_local() above or the
* description of the is_local bit in channel.h * description of the is_local bit in channel.h
*
* @param chan Channel to mark
*/ */
void void
@ -3253,9 +3080,6 @@ channel_mark_local(channel_t *chan)
* This function gets the outgoing flag; this is the inverse of the incoming * This function gets the outgoing flag; this is the inverse of the incoming
* bit set when a listener spawns a channel. If this returns true the channel * bit set when a listener spawns a channel. If this returns true the channel
* was locally initiated. * was locally initiated.
*
* @param chan Channel to query
* @return Flag value
*/ */
int int
@ -3272,8 +3096,6 @@ channel_is_outgoing(channel_t *chan)
* *
* This function clears the incoming flag and thus marks a channel as * This function clears the incoming flag and thus marks a channel as
* outgoing. * outgoing.
*
* @param chan Channel to mark
*/ */
void void
@ -3294,8 +3116,6 @@ channel_mark_outgoing(channel_t *chan)
* *
* This updates the channel's created timestamp and should only be called * This updates the channel's created timestamp and should only be called
* from channel_init(). * from channel_init().
*
* @param chan Channel to update
*/ */
void void
@ -3317,8 +3137,6 @@ channel_timestamp_created(channel_t *chan)
* is also updated from channel_timestamp_recv() and channel_timestamp_xmit(), * is also updated from channel_timestamp_recv() and channel_timestamp_xmit(),
* but it should be updated for things like the v3 handshake and stuff that * but it should be updated for things like the v3 handshake and stuff that
* produce activity only visible to the lower layer. * produce activity only visible to the lower layer.
*
* @param chan Channel to update
*/ */
void void
@ -3336,8 +3154,6 @@ channel_timestamp_active(channel_t *chan)
* *
* This function updates the channel's last accepted timestamp; it should be * This function updates the channel's last accepted timestamp; it should be
* called whenever a new incoming channel is accepted on a listener. * called whenever a new incoming channel is accepted on a listener.
*
* @param chan Channel to update
*/ */
void void
@ -3356,8 +3172,6 @@ channel_timestamp_accepted(channel_t *chan)
* *
* This function is called by relay.c to timestamp a channel that appears to * This function is called by relay.c to timestamp a channel that appears to
* be used as a client. * be used as a client.
*
* @param chan Channel to update
*/ */
void void
@ -3376,8 +3190,6 @@ channel_timestamp_client(channel_t *chan)
* *
* This is called whenever we transmit a cell which leaves the outgoing cell * This is called whenever we transmit a cell which leaves the outgoing cell
* queue completely empty. It also updates the xmit time and the active time. * queue completely empty. It also updates the xmit time and the active time.
*
* @param chan Channel to update
*/ */
void void
@ -3398,8 +3210,6 @@ channel_timestamp_drained(channel_t *chan)
* *
* This is called whenever we get an incoming cell from the lower layer. * This is called whenever we get an incoming cell from the lower layer.
* This also updates the active timestamp. * This also updates the active timestamp.
*
* @param chan Channel to update
*/ */
void void
@ -3418,8 +3228,6 @@ channel_timestamp_recv(channel_t *chan)
* Update the xmit timestamp * Update the xmit timestamp
* This is called whenever we pass an outgoing cell to the lower layer. This * This is called whenever we pass an outgoing cell to the lower layer. This
* also updates the active timestamp. * also updates the active timestamp.
*
* @param chan Channel to update
*/ */
void void
@ -3440,9 +3248,6 @@ channel_timestamp_xmit(channel_t *chan)
/** /**
* Query created timestamp * Query created timestamp
*
* @param chan Channel to query
* @return Created timestamp value for chan
*/ */
time_t time_t
@ -3455,9 +3260,6 @@ channel_when_created(channel_t *chan)
/** /**
* Query last active timestamp * Query last active timestamp
*
* @param chan Channel to query
* @return Last active timestamp value for chan
*/ */
time_t time_t
@ -3470,9 +3272,6 @@ channel_when_last_active(channel_t *chan)
/** /**
* Query last accepted timestamp * Query last accepted timestamp
*
* @param chan Channel to query
* @return Last accepted timestamp value for chan
*/ */
time_t time_t
@ -3486,9 +3285,6 @@ channel_when_last_accepted(channel_t *chan)
/** /**
* Query client timestamp * Query client timestamp
*
* @param chan Channel to query
* @return Client timestamp value for chan
*/ */
time_t time_t
@ -3502,9 +3298,6 @@ channel_when_last_client(channel_t *chan)
/** /**
* Query drained timestamp * Query drained timestamp
*
* @param chan Channel to query
* @return drained timestamp value for chan
*/ */
time_t time_t
@ -3518,9 +3311,6 @@ channel_when_last_drained(channel_t *chan)
/** /**
* Query recv timestamp * Query recv timestamp
*
* @param chan Channel to query
* @return Recv timestamp value for chan
*/ */
time_t time_t
@ -3534,9 +3324,6 @@ channel_when_last_recv(channel_t *chan)
/** /**
* Query xmit timestamp * Query xmit timestamp
*
* @param chan Channel to query
* @return Xmit timestamp value for chan
*/ */
time_t time_t
@ -3550,9 +3337,6 @@ channel_when_last_xmit(channel_t *chan)
/** /**
* Query accepted counter * Query accepted counter
*
* @param chan Channel to query
* @return Number of incoming channels accepted by this listener
*/ */
uint64_t uint64_t
@ -3566,9 +3350,6 @@ channel_count_accepted(channel_t *chan)
/** /**
* Query received cell counter * Query received cell counter
*
* @param chan Channel to query
* @return Number of cells received by this channel
*/ */
uint64_t uint64_t
@ -3582,9 +3363,6 @@ channel_count_recved(channel_t *chan)
/** /**
* Query transmitted cell counter * Query transmitted cell counter
*
* @param chan Channel to query
* @return Number of cells transmitted by this channel
*/ */
uint64_t uint64_t
@ -3601,10 +3379,6 @@ channel_count_xmitted(channel_t *chan)
* *
* This function calls the lower layer and asks if this channel matches a * This function calls the lower layer and asks if this channel matches a
* given extend_info_t. * given extend_info_t.
*
* @param chan Channel to test
* @param extend_info Pointer to extend_info_t to match
* @return 1 if they match, 0 otherwise
*/ */
int int
@ -3623,10 +3397,6 @@ channel_matches_extend_info(channel_t *chan, extend_info_t *extend_info)
* *
* This function calls into the lower layer and asks if this channel thinks * This function calls into the lower layer and asks if this channel thinks
* it matches a given target address for circuit extension purposes. * it matches a given target address for circuit extension purposes.
*
* @param chan Channel to test
* @param target Address to match
* @return 1 if they match, 0 otherwise
*/ */
int int
@ -3646,9 +3416,6 @@ channel_matches_target_addr_for_extend(channel_t *chan,
* *
* This is called when setting up a channel and replaces the old * This is called when setting up a channel and replaces the old
* connection_or_set_circid_type() * connection_or_set_circid_type()
*
* @param chan Channel to set up
* @param identity_rcvd Remote end's identity public key
*/ */
void void

View file

@ -89,11 +89,6 @@ static int enter_v3_handshake_with_cell(var_cell_t *cell,
* Launch a new OR connection to <b>addr</b>:<b>port</b> and expect to * Launch a new OR connection to <b>addr</b>:<b>port</b> and expect to
* handshake with an OR with identity digest <b>id_digest</b>, and wrap * handshake with an OR with identity digest <b>id_digest</b>, and wrap
* it in a channel_tls_t. * it in a channel_tls_t.
*
* @param addr Address to connect on
* @param port Port to connect on
* @param id_digest Identity digest we want
* @return The launched channel, or NULL if it failed.
*/ */
channel_t * channel_t *
@ -161,8 +156,6 @@ channel_tls_connect(const tor_addr_t *addr, uint16_t port,
* *
* Returns the current listening channel for incoming TLS connections, or * Returns the current listening channel for incoming TLS connections, or
* NULL if none has been established * NULL if none has been established
*
* @return TLS listener
*/ */
channel_t * channel_t *
@ -176,8 +169,6 @@ channel_tls_get_listener(void)
* *
* Return the current channel_tls_t listener, or start one if we haven't yet, * Return the current channel_tls_t listener, or start one if we haven't yet,
* and return that. * and return that.
*
* @return TLS listener
*/ */
channel_t * channel_t *
@ -235,9 +226,6 @@ channel_tls_free_all(void)
/** /**
* Create a new channel around an incoming or_connection_t * Create a new channel around an incoming or_connection_t
*
* @param orconn New or_connection_t
* @return A channel to queue on the TLS listener
*/ */
channel_t * channel_t *
@ -288,8 +276,6 @@ channel_tls_handle_incoming(or_connection_t *orconn)
* Close a channel_tls_t * Close a channel_tls_t
* *
* This implements the close method for channel_tls_t * This implements the close method for channel_tls_t
*
* @param chan Channel to close
*/ */
static void static void
@ -384,10 +370,6 @@ channel_tls_describe_transport_method(channel_t *chan)
* This implements the get_remote_addr method for channel_tls_t; copy the * This implements the get_remote_addr method for channel_tls_t; copy the
* remote endpoint of the channel to addr_out and return 1 (always * remote endpoint of the channel to addr_out and return 1 (always
* succeeds for this transport). * succeeds for this transport).
*
* @param chan Channel to query
* @param addr_out Write the address out here
* @return Always succeeds and returns 1
*/ */
static int static int
@ -411,10 +393,6 @@ channel_tls_get_remote_addr_method(channel_t *chan, tor_addr_t *addr_out)
* a text description of the remote endpoint of the channel suitable for use * a text description of the remote endpoint of the channel suitable for use
* in log messages. The req parameter is 0 for the canonical address or 1 for * in log messages. The req parameter is 0 for the canonical address or 1 for
* the actual address seen. * the actual address seen.
*
* @param chan Channel to query
* @param req Request type (0 for canonical, 1 for actual)
* @return Pointer to string containing description
*/ */
static const char * static const char *
@ -461,9 +439,6 @@ channel_tls_get_remote_descr_method(channel_t *chan, int req)
* *
* This implements the has_queued_writes method for channel_tls _t; it returns * This implements the has_queued_writes method for channel_tls _t; it returns
* 1 iff we have queued writes on the outbuf of the underlying or_connection_t. * 1 iff we have queued writes on the outbuf of the underlying or_connection_t.
*
* @param chan Channel to query
* @return Whether we have queued writes on the outbuf
*/ */
static int static int
@ -486,10 +461,6 @@ channel_tls_has_queued_writes_method(channel_t *chan)
* This implements the is_canonical method for channel_tls_t; if req is zero, * This implements the is_canonical method for channel_tls_t; if req is zero,
* it returns whether this is a canonical channel, and if it is one it returns * it returns whether this is a canonical channel, and if it is one it returns
* whether that can be relied upon. * whether that can be relied upon.
*
* @param chan Channel to query
* @param req Request type (0 for is_canonical, 1 for is_canonical_reliable)
* @return Query response
*/ */
static int static int
@ -526,10 +497,6 @@ channel_tls_is_canonical_method(channel_t *chan, int req)
* *
* This implements the matches_extend_info method for channel_tls_t; the upper * This implements the matches_extend_info method for channel_tls_t; the upper
* layer wants to know if this channel matches an extend_info_t. * layer wants to know if this channel matches an extend_info_t.
*
* @param chan Channel to test
* @param extend_info The extend_info_t to match
* @return 1 if this channel matches, 0 otherwise
*/ */
static int static int
@ -552,10 +519,6 @@ channel_tls_matches_extend_info_method(channel_t *chan,
* This implements the matches_target method for channel_tls _t; the upper * This implements the matches_target method for channel_tls _t; the upper
* layer wants to know if this channel matches a target address when extending * layer wants to know if this channel matches a target address when extending
* a circuit. * a circuit.
*
* @param chan Channel to test
* @param target Address to match
* @return 1 if this channel matches, 0 otherwise
*/ */
static int static int
@ -577,10 +540,6 @@ channel_tls_matches_target_method(channel_t *chan,
* *
* This implements the write_cell method for channel_tls_t; given a * This implements the write_cell method for channel_tls_t; given a
* channel_tls_t and a cell_t, transmit the cell_t. * channel_tls_t and a cell_t, transmit the cell_t.
*
* @param chan Channel to transmit on
* @param cell Cell to transmit
* @return Always succeeds and returns 1
*/ */
static int static int
@ -602,10 +561,6 @@ channel_tls_write_cell_method(channel_t *chan, cell_t *cell)
* *
* This implements the write_packed_cell method for channel_tls_t; given a * This implements the write_packed_cell method for channel_tls_t; given a
* channel_tls_t and a packed_cell_t, transmit the packed_cell_t. * channel_tls_t and a packed_cell_t, transmit the packed_cell_t.
*
* @param chan Channel to transmit on
* @param packed_cell Cell to transmit
* @return Always succeeds and returns 1
*/ */
static int static int
@ -632,10 +587,6 @@ channel_tls_write_packed_cell_method(channel_t *chan,
* *
* This implements the write_var_cell method for channel_tls_t; given a * This implements the write_var_cell method for channel_tls_t; given a
* channel_tls_t and a var_cell_t, transmit the var_cell_t. * channel_tls_t and a var_cell_t, transmit the var_cell_t.
*
* @param chan Channel to transmit on
* @param var_cell Cell to transmit
* @return Always succeeds and returns 1
*/ */
static int static int
@ -657,15 +608,10 @@ channel_tls_write_var_cell_method(channel_t *chan, var_cell_t *var_cell)
******************************************************/ ******************************************************/
/** /**
* Handle orconn state changes * Handle an orconn state change
* *
* This function will be called by connection_or.c when the or_connection_t * This function will be called by connection_or.c when the or_connection_t
* associated with this channel_tls_t changes state. * associated with this channel_tls_t changes state.
*
* @param chan Channel controlling the or_connection_t
* @param conn The or_connection_t changing state
* @param old_state The old state of conn
* @param state The new state of conn
*/ */
void void
@ -712,13 +658,9 @@ channel_tls_handle_state_change_on_orconn(channel_tls_t *chan,
} }
/** /**
* Try to flush cells from a channel_tls_t * Flush cells from a channel_tls_t
* *
* Try to flush up to about num_cells cells, and return how many we flushed. * Try to flush up to about num_cells cells, and return how many we flushed.
*
* @param chan Channel to flush
* @param num_cells Maximum number of cells
* @return Number of cells actually flushed
*/ */
ssize_t ssize_t
@ -752,9 +694,6 @@ channel_tls_flush_some_cells(channel_tls_t *chan, ssize_t num_cells)
* *
* Return true if there is any more to flush on this channel (cells in queue * Return true if there is any more to flush on this channel (cells in queue
* or active circuits). * or active circuits).
*
* @param chan Channel to test
* @return 1 if chan has anything to flush, 0 otherwise
*/ */
int int
@ -778,12 +717,6 @@ channel_tls_more_to_flush(channel_tls_t *chan)
* This is a wrapper function around the actual function that processes the * This is a wrapper function around the actual function that processes the
* <b>cell</b> that just arrived on <b>chan</b>. Increment <b>*time</b> * <b>cell</b> that just arrived on <b>chan</b>. Increment <b>*time</b>
* by the number of microseconds used by the call to <b>*func(cell, chan)</b>. * by the number of microseconds used by the call to <b>*func(cell, chan)</b>.
*
* @param cell Incoming cell to process
* @param chan Channel it arrived on
* @param time Increment this by the number of microseconds it took to handle
* this cell
* @param func Function pointer to cell handling function
*/ */
static void static void
@ -820,9 +753,6 @@ channel_tls_time_process_cell(cell_t *cell, channel_tls_t *chan, int *time,
* for cell types specific to the handshake for this transport protocol and * for cell types specific to the handshake for this transport protocol and
* handles them, and queues all other cells to the channel_t layer, which * handles them, and queues all other cells to the channel_t layer, which
* eventually will hand them off to command.c. * eventually will hand them off to command.c.
*
* @param cell Cell to handle
* @param conn The or_connection_t cell arrived on
*/ */
void void
@ -920,9 +850,6 @@ channel_tls_handle_cell(cell_t *cell, or_connection_t *conn)
* related and live below the channel_t layer, so no variable-length * related and live below the channel_t layer, so no variable-length
* cells ever get delivered in the current implementation, but I've left * cells ever get delivered in the current implementation, but I've left
* the mechanism in place for future use. * the mechanism in place for future use.
*
* @param var_cell Incoming cell to handle
* @param conn The or_connection_t var_cell arrived on
*/ */
void void
@ -1091,8 +1018,6 @@ channel_tls_handle_var_cell(var_cell_t *var_cell, or_connection_t *conn)
* *
* Return true if <b>command</b> is a cell command that's allowed to start a * Return true if <b>command</b> is a cell command that's allowed to start a
* V3 handshake. * V3 handshake.
*
* @param command Cell type to check
*/ */
static int static int
@ -1115,10 +1040,6 @@ command_allowed_before_handshake(uint8_t command)
* either for a cell or a TLS handshake. Set the connection's state to * either for a cell or a TLS handshake. Set the connection's state to
* "handshaking_v3', initializes the or_handshake_state field as needed, * "handshaking_v3', initializes the or_handshake_state field as needed,
* and add the cell to the hash of incoming cells.) * and add the cell to the hash of incoming cells.)
*
* @param cell Incoming cell initiating the handshake
* @param chan Channel cell was received on
* @return 0 on success; return -1 and mark the connection on failure.
*/ */
static int static int
@ -1159,9 +1080,6 @@ enter_v3_handshake_with_cell(var_cell_t *cell, channel_tls_t *chan)
* negotiated. We compare the versions in the cell to the list of versions * negotiated. We compare the versions in the cell to the list of versions
* we support, pick the highest version we have in common, and continue the * we support, pick the highest version we have in common, and continue the
* negotiation from there. * negotiation from there.
*
* @param cell Incoming VERSIONS cell
* @param chan Channel that cell arrived on
*/ */
static void static void
@ -1311,9 +1229,6 @@ channel_tls_process_versions_cell(var_cell_t *cell, channel_tls_t *chan)
* *
* This function is called to handle an incoming NETINFO cell; read and act * This function is called to handle an incoming NETINFO cell; read and act
* on its contents, and set the connection state to "open". * on its contents, and set the connection state to "open".
*
* @param cell Incoming NETINFO cell
* @param chan Channel that cell arrived on
*/ */
static void static void
@ -1493,9 +1408,6 @@ channel_tls_process_netinfo_cell(cell_t *cell, channel_tls_t *chan)
* store the certificates in or_handshake_state. If this is the client side * store the certificates in or_handshake_state. If this is the client side
* of the connection, we then authenticate the server or mark the connection. * of the connection, we then authenticate the server or mark the connection.
* If it's the server side, wait for an AUTHENTICATE cell. * If it's the server side, wait for an AUTHENTICATE cell.
*
* @param cell Incoming CERTS cell
* @param chan Channel that cell arrived on
*/ */
static void static void
@ -1694,9 +1606,6 @@ channel_tls_process_certs_cell(var_cell_t *cell, channel_tls_t *chan)
* a v3 handshake, mark the channel. If the cell is well-formed but we don't * a v3 handshake, mark the channel. If the cell is well-formed but we don't
* want to authenticate, just drop it. If the cell is well-formed *and* we * want to authenticate, just drop it. If the cell is well-formed *and* we
* want to authenticate, send an AUTHENTICATE cell and then a NETINFO cell. * want to authenticate, send an AUTHENTICATE cell and then a NETINFO cell.
*
* @param cell Incoming AUTH_CHALLENGE cell to handle
* @param chan Channel that cell arrived on
*/ */
static void static void
@ -1794,9 +1703,6 @@ channel_tls_process_auth_challenge_cell(var_cell_t *cell, channel_tls_t *chan)
* other side of the connection successfully (because it isn't signed right, * other side of the connection successfully (because it isn't signed right,
* we didn't get a CERTS cell, etc) mark the connection. Otherwise, accept * we didn't get a CERTS cell, etc) mark the connection. Otherwise, accept
* the identity of the router on the other side of the connection. * the identity of the router on the other side of the connection.
*
* @param cell Incoming AUTHENTICATE cell
* @param chan Channel that cell arrived on
*/ */
static void static void