Trac issueshttps://gitlab.torproject.org/legacy/trac/-/issues2020-06-13T15:08:15Zhttps://gitlab.torproject.org/legacy/trac/-/issues/21406The channel is_client flag is inaccurate2020-06-13T15:08:15ZteorThe channel is_client flag is inaccurateThe channel_t is_client flag is inaccurate: relays set it when the other end uses a CREATE_FAST cell, but usecreatefast is set to 0 in the consensus.
This means that the only time CREATE_FAST is used is when a relay gets an extend reque...The channel_t is_client flag is inaccurate: relays set it when the other end uses a CREATE_FAST cell, but usecreatefast is set to 0 in the consensus.
This means that the only time CREATE_FAST is used is when a relay gets an extend request *without* an ntor key, and the purpose of the circuit is *not* one of the hidden service purposes where TAP is allowed.
See should_use_create_fast_for_circuit() for details.Tor: 0.3.1.x-finalteorteorhttps://gitlab.torproject.org/legacy/trac/-/issues/22805Remove or_circuit_t.is_first_hop, because it's not accurate any more2020-06-13T15:14:32ZteorRemove or_circuit_t.is_first_hop, because it's not accurate any moreTor relays set or_circuit_t.is_first_hop when a client uses CREATE_FAST.
But recent tor clients only use CREATE_FAST when they don't know a relay's onion key.
So we need to replace this with channel_is_client().Tor relays set or_circuit_t.is_first_hop when a client uses CREATE_FAST.
But recent tor clients only use CREATE_FAST when they don't know a relay's onion key.
So we need to replace this with channel_is_client().Tor: 0.3.2.x-finalNick MathewsonNick Mathewson