[tor-commits] [snowflake/master] Move querystring access to init
arlo at torproject.org
arlo at torproject.org
Thu May 16 16:08:58 UTC 2019
commit edbbea1d0336098a767b7426bc558c90c7746bd1
Author: Arlo Breault <arlolra at gmail.com>
Date: Wed May 8 14:08:22 2019 -0400
Move querystring access to init
---
proxy/init.coffee | 16 ++++++++++------
proxy/snowflake.coffee | 6 +-----
proxy/spec/snowflake.spec.coffee | 2 --
3 files changed, 11 insertions(+), 13 deletions(-)
diff --git a/proxy/init.coffee b/proxy/init.coffee
index d3101c3..497a54f 100644
--- a/proxy/init.coffee
+++ b/proxy/init.coffee
@@ -9,12 +9,8 @@ RELAY =
# port: 9902
COOKIE_NAME = "snowflake-allow"
-silenceNotifications = false
-query = Query.parse(location)
-DEBUG = Params.getBool(query, 'debug', false)
-
# Bytes per second. Set to undefined to disable limit.
-DEFAULT_RATE_LIMIT = DEFAULT_RATE_LIMIT || undefined
+DEFAULT_RATE_LIMIT = undefined
MIN_RATE_LIMIT = 10 * 1024
RATE_LIMIT_HISTORY = 5.0
DEFAULT_BROKER_POLL_INTERVAL = 5.0 * 1000
@@ -31,7 +27,11 @@ config = {
CONFIRMATION_MESSAGE = 'You\'re currently serving a Tor user via Snowflake.'
+query = Query.parse(location)
+DEBUG = Params.getBool(query, 'debug', false)
+
snowflake = null
+silenceNotifications = false
# Log to both console and UI if applicable.
# Requires that the snowflake and UI objects are hooked up in order to
@@ -57,9 +57,13 @@ init = () ->
else
ui = new UI()
+ rateLimitBytes = undefined
+ if 'off' != query['ratelimit']
+ rateLimitBytes = Params.getByteCount(query, 'ratelimit', DEFAULT_RATE_LIMIT)
+
silenceNotifications = Params.getBool(query, 'silent', false)
broker = new Broker BROKER
- snowflake = new Snowflake broker, ui
+ snowflake = new Snowflake broker, ui, rateLimitBytes
log '== snowflake proxy =='
if Util.snowflakeIsDisabled()
diff --git a/proxy/snowflake.coffee b/proxy/snowflake.coffee
index 9656c0b..fa421ee 100644
--- a/proxy/snowflake.coffee
+++ b/proxy/snowflake.coffee
@@ -22,14 +22,10 @@ class Snowflake
WEBRTC_READY: 2
# Prepare the Snowflake with a Broker (to find clients) and optional UI.
- constructor: (@broker, @ui) ->
+ constructor: (@broker, @ui, rateLimitBytes) ->
@state = Snowflake.MODE.INIT
@proxyPairs = []
- rateLimitBytes = undefined
- if 'off' != query['ratelimit']
- rateLimitBytes = Params.getByteCount(query, 'ratelimit',
- DEFAULT_RATE_LIMIT)
if undefined == rateLimitBytes
@rateLimit = new DummyRateLimit()
else
diff --git a/proxy/spec/snowflake.spec.coffee b/proxy/spec/snowflake.spec.coffee
index bb6e348..a619a06 100644
--- a/proxy/spec/snowflake.spec.coffee
+++ b/proxy/spec/snowflake.spec.coffee
@@ -2,7 +2,6 @@
jasmine tests for Snowflake
###
-query = {}
# Fake browser functionality:
class PeerConnection
setRemoteDescription: ->
@@ -31,7 +30,6 @@ describe 'Snowflake', ->
it 'constructs correctly', ->
s = new Snowflake({ fake: 'broker' }, fakeUI)
- query['ratelimit'] = 'off'
expect(s.rateLimit).not.toBeNull()
expect(s.broker).toEqual { fake: 'broker' }
expect(s.ui).not.toBeNull()
More information about the tor-commits
mailing list