Stop clearing the is_client flag on channel directly

This commit is contained in:
Nick Mathewson 2017-09-06 14:55:58 -04:00
parent 66aff2d8f3
commit d1e0e486e9
3 changed files with 16 additions and 1 deletions

View file

@ -4096,6 +4096,20 @@ channel_mark_client(channel_t *chan)
chan->is_client = 1; chan->is_client = 1;
} }
/**
* Clear the client flag
*
* Mark a channel as being _not_ from a client
*/
void
channel_clear_client(channel_t *chan)
{
tor_assert(chan);
chan->is_client = 0;
}
/** /**
* Get the canonical flag for a channel * Get the canonical flag for a channel
* *

View file

@ -671,6 +671,7 @@ int channel_is_local(channel_t *chan);
int channel_is_incoming(channel_t *chan); int channel_is_incoming(channel_t *chan);
int channel_is_outgoing(channel_t *chan); int channel_is_outgoing(channel_t *chan);
void channel_mark_client(channel_t *chan); void channel_mark_client(channel_t *chan);
void channel_clear_client(channel_t *chan);
int channel_matches_extend_info(channel_t *chan, extend_info_t *extend_info); int channel_matches_extend_info(channel_t *chan, extend_info_t *extend_info);
int channel_matches_target_addr_for_extend(channel_t *chan, int channel_matches_target_addr_for_extend(channel_t *chan,
const tor_addr_t *target); const tor_addr_t *target);

View file

@ -331,7 +331,7 @@ command_process_create_cell(cell_t *cell, channel_t *chan)
// Needed for chutney: Sometimes relays aren't in the consensus yet, and // Needed for chutney: Sometimes relays aren't in the consensus yet, and
// get marked as clients. This resets their channels once they appear. // get marked as clients. This resets their channels once they appear.
// Probably useful for normal operation wrt relay flapping, too. // Probably useful for normal operation wrt relay flapping, too.
chan->is_client = 0; channel_clear_client(chan);
} else { } else {
channel_mark_client(chan); channel_mark_client(chan);
} }