There is already a channel_is_client() function in channel.[ch], with different arguments and semantics.
And while we're doing that, we should make the newly renamed CHANNEL_IS_CLIENT() call channel.h's channel_is_client(), because it's the right abstraction to use.
We could survive releasing 0.3.1 without this fix, because it's not a bug (yet).
To upload designs, you'll need to enable LFS and have an admin enable hashed storage. More information
Child items 0
Show closed items
No child items are currently assigned. Use child items to break down this issue into smaller parts.
Linked items 0
Link issues together to show that they're related.
Learn more.
I ran into a bunch of cases where channel->is_client flag was not updated, was incorrect, or disagreed with the definition I needed (in cases like bridges). How are we on ensuring that flag always has the same meaning as the macro checks for?
I ran into a bunch of cases where channel->is_client flag was not updated, was incorrect, or disagreed with the definition I needed (in cases like bridges).
Is this before or after the fix in #21406 (moved) in 0.3.1.1-alpha?
If there are any of these cases left, please list these cases in a different ticket in 0.3.1.
How are we on ensuring that flag always has the same meaning as the macro checks for?
The macro and the flag have a different meaning, so they should have different names.
The flag means:
/** True iff we have decided that the other end of this connection * is a client or bridge relay. Connections with this flag set should never * be used to satisfy an EXTEND request. */
/** * This macro tells us if either end of the channel is connected to a client. * (If we're not a server, we're definitely a client. If the channel thinks * its a client, use that. Then finally verify in the consensus). */
These tickets were marked as removed, and nobody has said that they can fix them. Let's remember to look at 033-removed-20180320 as we re-evaluate our triage process, to see whether we're triaging out unnecessarily, and to evaluate whether we're deferring anything unnecessarily. But for now, we can't do these: we need to fix the 033-must stuff now.
Trac: Milestone: Tor: 0.3.3.x-final to Tor: unspecified