Support Bridges setting MyFamily to include Relays
In src/or/config.c:
if (options->MyFamily && options->BridgeRelay) {
log_warn(LD_CONFIG, "Listing a family for a bridge relay is not "
"supported: it can reveal bridge fingerprints to censors. "
"You should also make sure you aren't listing this bridge's "
"fingerprint in any other MyFamily.");
}
In src/or/router.c, function router_build_fresh_descriptor
:
if (options->MyFamily && ! options->BridgeRelay) {
smartlist_t *family;
[…]
I propose instead that we:
- Warn bridge operators not to include other bridges in MyFamily, but let them know that including relays is fine. We should continue to warn them not to list any bridge in the MyFamily of a public relay.
- Allow bridges to specify MyFamily.
The reasoning for this is that NoiseTor would like to run high-capacity default bridges for Tor Browser, but they are nervous about simultaneously running exits without being able to direct people not to use both.