[Author Prev][Author Next][Thread Prev][Thread Next][Author Index][Thread Index]
[tor-commits] [snowflake-webext/master] Set NAT type to restricted after 3 failed connects
commit 8bc32f580791c80a671cdb0a22ff56bbb4f244fb
Author: Cecylia Bocovich <cohosh@xxxxxxxxxxxxxx>
Date: Thu Jan 21 10:20:50 2021 -0500
Set NAT type to restricted after 3 failed connects
Only set the NAT type to restricted after we fail to connect to a
restricted client 3 times in a row.
---
snowflake.js | 8 ++++++--
1 file changed, 6 insertions(+), 2 deletions(-)
diff --git a/snowflake.js b/snowflake.js
index 1937fdb..091e046 100644
--- a/snowflake.js
+++ b/snowflake.js
@@ -23,6 +23,7 @@ class Snowflake {
this.broker = broker;
this.broker.setNATType(ui.natType);
this.proxyPairs = [];
+ this.natFailures = 0;
this.pollInterval = this.config.defaultBrokerPollInterval;
if (void 0 === this.config.rateLimitBytes) {
this.rateLimit = new DummyRateLimit();
@@ -82,10 +83,12 @@ class Snowflake {
this.pollInterval =
Math.min(this.pollInterval + this.config.pollAdjustment,
this.config.slowestBrokerPollInterval);
- // if we fail to connect to a restricted client, assume restricted NAT
- if (clientNAT == "restricted"){
+ // if we fail to connect to a restricted client 3 times in
+ // a row, assume we have a restricted NAT
+ if ((clientNAT == "restricted") && (this.natFailures > 3)){
this.ui.natType = "restricted";
console.log("Learned NAT type: restricted");
+ this.natFailures = 0;
}
this.broker.setNATType(this.ui.natType);
} else {
@@ -93,6 +96,7 @@ class Snowflake {
this.pollInterval =
Math.max(this.pollInterval - this.config.pollAdjustment,
this.config.defaultBrokerPollInterval);
+ this.natFailures = 0;
}
return;
}), this.config.datachannelTimeout);
_______________________________________________
tor-commits mailing list
tor-commits@xxxxxxxxxxxxxxxxxxxx
https://lists.torproject.org/cgi-bin/mailman/listinfo/tor-commits