- Convert an assert in the pathbias code to a log message. Assert
appears to only be triggerable by Tor2Web mode. Fixes bug 6866;
bugfix on 0.2.3.17-beta.
+ - Disable the use of Guard nodes when in Tor2WebMode. Guard usage
+ by Tor2Web clients allows hidden services to identity tor2web
+ clients through their repeated selection of the same rendezvous
+ and introduction point circuit endpoints (their guards).
options->LearnCircuitBuildTimeout = 0;
}
+ if (options->Tor2webMode && options->UseEntryGuards) {
+ /* Tor2WebMode is incompatible with EntryGuards in two ways:
+ *
+ * - Tor2WebMode uses its guard nodes as rend and intro points.
+ * This makes tor2web users fingerprintable by their continued
+ * selection of the same 3 nodes for these circuits (their guard
+ * nodes).
+ *
+ * - Tor2WebMode makes unexpected use of circuit path lengths
+ * in ways that prevent us from applying the PathBias defense.
+ */
+ log_notice(LD_CONFIG,
+ "Tor2WebMode is enabled; disabling UseEntryGuards.");
+ options->UseEntryGuards = 0;
+ }
+
if (!(options->LearnCircuitBuildTimeout) &&
options->CircuitBuildTimeout < RECOMMENDED_MIN_CIRCUIT_BUILD_TIMEOUT) {
log_warn(LD_CONFIG,