diff options
-rw-r--r-- | src/or/channel.c | 14 | ||||
-rw-r--r-- | src/or/channel.h | 1 | ||||
-rw-r--r-- | src/or/command.c | 2 |
3 files changed, 16 insertions, 1 deletions
diff --git a/src/or/channel.c b/src/or/channel.c index 9f8a03683f..ea113903af 100644 --- a/src/or/channel.c +++ b/src/or/channel.c @@ -4097,6 +4097,20 @@ channel_mark_client(channel_t *chan) } /** + * 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 * * This returns the is_canonical for a channel; this flag is determined by diff --git a/src/or/channel.h b/src/or/channel.h index 2d0ec39924..a5a87de136 100644 --- a/src/or/channel.h +++ b/src/or/channel.h @@ -671,6 +671,7 @@ int channel_is_local(channel_t *chan); int channel_is_incoming(channel_t *chan); int channel_is_outgoing(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_target_addr_for_extend(channel_t *chan, const tor_addr_t *target); diff --git a/src/or/command.c b/src/or/command.c index 2c82984901..46d3b6291c 100644 --- a/src/or/command.c +++ b/src/or/command.c @@ -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 // get marked as clients. This resets their channels once they appear. // Probably useful for normal operation wrt relay flapping, too. - chan->is_client = 0; + channel_clear_client(chan); } else { channel_mark_client(chan); } |