On 31 Oct 2018, at 22:47, Ralph Seichter m16+tor@monksofcool.net wrote:
- teor:
If a client doesn't have a circuit to an exit that supports the port it wants, it randomly chooses an exit that allows that port.
Sure, but is the distinction of what is considered "an exit" reflected in the exit flag?
I don't understand what you mean by "an exit". Do you mean "the Exit flag" or "an exit policy that allows some ports"?
The Exit flag means "useful for general exiting". Clients build preemptive circuits to Exit-flagged relays. When a client has an available circuit for exiting, it will use that circuit.
The Exit policy means "allows exiting to these ports".
And is it truly random, or does the consensus weight factor into it, the latter being what I thought to be the case?
Clients filter Exits by exit policy or Exit flag, then choose an exit randomly weighted by consensus weight. Almost everything in Tor is chosen randomly by consensus weight. (HSDirs are an exception.)
My point is that a Tor node not flagged as an exit is pretty much useless for that role, and removing all exit rules is appropriate in my opinion.
I agree, but each operator can make their own choice.
T