summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--changes/warn-about-hses-without-guards8
-rw-r--r--src/or/config.c9
-rw-r--r--src/or/dirvote.c2
3 files changed, 18 insertions, 1 deletions
diff --git a/changes/warn-about-hses-without-guards b/changes/warn-about-hses-without-guards
new file mode 100644
index 0000000000..57b8b4d00f
--- /dev/null
+++ b/changes/warn-about-hses-without-guards
@@ -0,0 +1,8 @@
+ o Minor features:
+
+ - Warn users who run hidden services on a Tor client with
+ UseEntryGuards disabled that their hidden services will be
+ vulnerable to http://freehaven.net/anonbib/#hs-attack06 (the
+ attack which motivated Tor to support entry guards in the first
+ place). Fixes bug 6889.
+
diff --git a/src/or/config.c b/src/or/config.c
index 462fc73c0a..00ca427f45 100644
--- a/src/or/config.c
+++ b/src/or/config.c
@@ -2538,6 +2538,15 @@ options_validate(or_options_t *old_options, or_options_t *options,
options->UseEntryGuards = 0;
}
+ if (!(options->UseEntryGuards) &&
+ (options->RendConfigLines != NULL)) {
+ log_warn(LD_CONFIG,
+ "UseEntryGuards is disabled, but you have configured one or more "
+ "hidden services on this Tor instance. Your hidden services "
+ "will be very easy to locate using a well-known attack -- see "
+ "http://freehaven.net/anonbib/#hs-attack06 for details.");
+ }
+
if (!(options->LearnCircuitBuildTimeout) &&
options->CircuitBuildTimeout < RECOMMENDED_MIN_CIRCUIT_BUILD_TIMEOUT) {
log_warn(LD_CONFIG,
diff --git a/src/or/dirvote.c b/src/or/dirvote.c
index b1b885cf3e..21ad83663a 100644
--- a/src/or/dirvote.c
+++ b/src/or/dirvote.c
@@ -1893,7 +1893,7 @@ networkstatus_compute_consensus(smartlist_t *votes,
* listed that descriptor will have the same summary. If not then
* something is fishy and we'll use the most common one (breaking
* ties in favor of lexicographically larger one (only because it
- * lets me reuse more existing code.
+ * lets me reuse more existing code)).
*
* The other case that can happen is that no authority that voted
* for that descriptor has an exit policy summary. That's