aboutsummaryrefslogtreecommitdiff
path: root/src/feature/relay/router.c
diff options
context:
space:
mode:
authorAlexander Færøy <ahf@torproject.org>2020-11-23 23:41:17 +0000
committerNick Mathewson <nickm@torproject.org>2020-12-09 10:03:11 -0500
commited3f46a38559eead8ff70bcb935c17b1b23cc78d (patch)
treed42cd00f2065b14a98f4d4c58fb2bac5c3741562 /src/feature/relay/router.c
parentbff3c6f48db0144e8b2c5646daba867300c08ad3 (diff)
downloadtor-ed3f46a38559eead8ff70bcb935c17b1b23cc78d.tar.gz
tor-ed3f46a38559eead8ff70bcb935c17b1b23cc78d.zip
Announce URL to bridge status page when starting Tor as a bridge relay.
This patch makes Tor announce the relay specific bridge status page URL when Tor is starting up before bootstrap occours. See: tor#30477
Diffstat (limited to 'src/feature/relay/router.c')
-rw-r--r--src/feature/relay/router.c23
1 files changed, 23 insertions, 0 deletions
diff --git a/src/feature/relay/router.c b/src/feature/relay/router.c
index 89ac40bb4d..04ffe8e48e 100644
--- a/src/feature/relay/router.c
+++ b/src/feature/relay/router.c
@@ -831,6 +831,25 @@ router_initialize_tls_context(void)
(unsigned int)lifetime);
}
+/** Announce URL to bridge status page. */
+STATIC void
+router_announce_bridge_status_page(void)
+{
+ char fingerprint[FINGERPRINT_LEN + 1];
+
+ if (crypto_pk_get_hashed_fingerprint(get_server_identity_key(),
+ fingerprint) < 0) {
+ // LCOV_EXCL_START
+ log_err(LD_GENERAL, "Unable to compute bridge fingerprint");
+ return;
+ // LCOV_EXCL_STOP
+ }
+
+ log_notice(LD_GENERAL, "You can check the status of your bridge relay at "
+ "https://bridges.torproject.org/status?id=%s",
+ fingerprint);
+}
+
/** Compute fingerprint (or hashed fingerprint if hashed is 1) and write
* it to 'fingerprint' (or 'hashed-fingerprint'). Return 0 on success, or
* -1 if Tor should die,
@@ -1133,6 +1152,10 @@ init_keys(void)
return -1;
}
+ /* Display URL to bridge status page. */
+ if (! public_server_mode(options))
+ router_announce_bridge_status_page();
+
if (!authdir_mode(options))
return 0;
/* 6. [authdirserver only] load approved-routers file */