Minimal implementation of bridge-distribution-request

Just advertise the line when we're a bridge, using "any" if we're
published or "none" if we aren't.

This is done in lieu of a full backport of #18329.
This commit is contained in:
Nick Mathewson 2017-11-13 20:44:51 -05:00
parent 6f8c32b7de
commit 9f2efd02a1
2 changed files with 15 additions and 0 deletions

6
changes/bug18329-minimal Normal file
View File

@ -0,0 +1,6 @@
o Minor features (bridge):
- Bridges now include notice in their descriptors that they are bridges,
and notice of their distribution status, based on their publication
settings. Implements ticket 18329. For more fine-grained control of
how a bridge is distributed, upgrade to 0.3.2.x or later.

View File

@ -2385,6 +2385,15 @@ router_dump_router_to_string(routerinfo_t *router,
smartlist_add_asprintf(chunks, "contact %s\n", ci);
}
if (options->BridgeRelay) {
const char *bd;
if (options->PublishServerDescriptor_ & BRIDGE_DIRINFO)
bd = "any";
else
bd = "none";
smartlist_add_asprintf(chunks, "bridge-distribution-request %s\n", bd);
}
#ifdef CURVE25519_ENABLED
if (router->onion_curve25519_pkey) {
char kbuf[128];