mirror of
https://gitlab.torproject.org/tpo/core/tor.git
synced 2024-12-06 19:41:15 +01:00
Merge branch 'ticket32892_043_01_squashed'
This commit is contained in:
+1
-24
@@ -1066,23 +1066,6 @@ channel_get_cell_handler(channel_t *chan)
|
||||
return NULL;
|
||||
}
|
||||
|
||||
/**
|
||||
* Return the variable-length cell handler for a channel.
|
||||
*
|
||||
* This function gets the handler for incoming variable-length cells
|
||||
* installed on a channel.
|
||||
*/
|
||||
channel_var_cell_handler_fn_ptr
|
||||
channel_get_var_cell_handler(channel_t *chan)
|
||||
{
|
||||
tor_assert(chan);
|
||||
|
||||
if (CHANNEL_CAN_HANDLE_CELLS(chan))
|
||||
return chan->var_cell_handler;
|
||||
|
||||
return NULL;
|
||||
}
|
||||
|
||||
/**
|
||||
* Set both cell handlers for a channel.
|
||||
*
|
||||
@@ -1091,9 +1074,7 @@ channel_get_var_cell_handler(channel_t *chan)
|
||||
*/
|
||||
void
|
||||
channel_set_cell_handlers(channel_t *chan,
|
||||
channel_cell_handler_fn_ptr cell_handler,
|
||||
channel_var_cell_handler_fn_ptr
|
||||
var_cell_handler)
|
||||
channel_cell_handler_fn_ptr cell_handler)
|
||||
{
|
||||
tor_assert(chan);
|
||||
tor_assert(CHANNEL_CAN_HANDLE_CELLS(chan));
|
||||
@@ -1101,13 +1082,9 @@ channel_set_cell_handlers(channel_t *chan,
|
||||
log_debug(LD_CHANNEL,
|
||||
"Setting cell_handler callback for channel %p to %p",
|
||||
chan, cell_handler);
|
||||
log_debug(LD_CHANNEL,
|
||||
"Setting var_cell_handler callback for channel %p to %p",
|
||||
chan, var_cell_handler);
|
||||
|
||||
/* Change them */
|
||||
chan->cell_handler = cell_handler;
|
||||
chan->var_cell_handler = var_cell_handler;
|
||||
}
|
||||
|
||||
/*
|
||||
|
||||
@@ -23,7 +23,6 @@ struct tor_timer_t;
|
||||
/* Channel handler function pointer typedefs */
|
||||
typedef void (*channel_listener_fn_ptr)(channel_listener_t *, channel_t *);
|
||||
typedef void (*channel_cell_handler_fn_ptr)(channel_t *, cell_t *);
|
||||
typedef void (*channel_var_cell_handler_fn_ptr)(channel_t *, var_cell_t *);
|
||||
|
||||
/**
|
||||
* This enum is used by channelpadding to decide when to pad channels.
|
||||
@@ -321,7 +320,6 @@ struct channel_t {
|
||||
|
||||
/** Registered handlers for incoming cells */
|
||||
channel_cell_handler_fn_ptr cell_handler;
|
||||
channel_var_cell_handler_fn_ptr var_cell_handler;
|
||||
|
||||
/* Methods implemented by the lower layer */
|
||||
|
||||
@@ -543,13 +541,8 @@ void channel_listener_set_listener_fn(channel_listener_t *chan,
|
||||
/* Incoming cell callbacks */
|
||||
channel_cell_handler_fn_ptr channel_get_cell_handler(channel_t *chan);
|
||||
|
||||
channel_var_cell_handler_fn_ptr
|
||||
channel_get_var_cell_handler(channel_t *chan);
|
||||
|
||||
void channel_set_cell_handlers(channel_t *chan,
|
||||
channel_cell_handler_fn_ptr cell_handler,
|
||||
channel_var_cell_handler_fn_ptr
|
||||
var_cell_handler);
|
||||
channel_cell_handler_fn_ptr cell_handler);
|
||||
|
||||
/* Clean up closed channels and channel listeners periodically; these are
|
||||
* called from run_scheduled_events() in main.c.
|
||||
|
||||
+1
-19
@@ -217,23 +217,6 @@ command_process_cell(channel_t *chan, cell_t *cell)
|
||||
}
|
||||
}
|
||||
|
||||
/** Process an incoming var_cell from a channel; in the current protocol all
|
||||
* the var_cells are handshake-related and handled below the channel layer,
|
||||
* so this just logs a warning and drops the cell.
|
||||
*/
|
||||
|
||||
void
|
||||
command_process_var_cell(channel_t *chan, var_cell_t *var_cell)
|
||||
{
|
||||
tor_assert(chan);
|
||||
tor_assert(var_cell);
|
||||
|
||||
log_info(LD_PROTOCOL,
|
||||
"Received unexpected var_cell above the channel layer of type %d"
|
||||
"; dropping it.",
|
||||
var_cell->command);
|
||||
}
|
||||
|
||||
/** Process a 'create' <b>cell</b> that just arrived from <b>chan</b>. Make a
|
||||
* new circuit with the p_circ_id specified in cell. Put the circuit in state
|
||||
* onionskin_pending, and pass the onionskin to the cpuworker. Circ will get
|
||||
@@ -685,8 +668,7 @@ command_setup_channel(channel_t *chan)
|
||||
tor_assert(chan);
|
||||
|
||||
channel_set_cell_handlers(chan,
|
||||
command_process_cell,
|
||||
command_process_var_cell);
|
||||
command_process_cell);
|
||||
}
|
||||
|
||||
/** Given a listener, install the right handler to process incoming
|
||||
|
||||
@@ -15,7 +15,6 @@
|
||||
#include "core/or/channel.h"
|
||||
|
||||
void command_process_cell(channel_t *chan, cell_t *cell);
|
||||
void command_process_var_cell(channel_t *chan, var_cell_t *cell);
|
||||
void command_setup_channel(channel_t *chan);
|
||||
void command_setup_listener(channel_listener_t *chan_l);
|
||||
|
||||
|
||||
Reference in New Issue
Block a user