summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorPhilipp Winter <phw@nymity.ch>2020-02-18 16:07:48 -0800
committerPhilipp Winter <phw@nymity.ch>2020-02-18 16:07:48 -0800
commit0f2349d1355584cca65c7c7a45a78aea39203b35 (patch)
tree550a541279bda9288f71905bb59461f9199404da
parentae0c4eb80047735ff6e7498309332d8d497e37f9 (diff)
parent0594e98d7de843c9404227e55a8b259dd03e97a3 (diff)
Merge branch 'release-0.9.3'bridgedb-0.9.3
-rw-r--r--.travis.requirements.txt1
-rw-r--r--CHANGELOG5
-rw-r--r--bridgedb.conf6
-rw-r--r--bridgedb/bridges.py7
-rw-r--r--bridgedb/distributors/https/server.py5
-rw-r--r--bridgedb/distributors/moat/server.py4
-rw-r--r--bridgedb/i18n/templates/bridgedb.pot13
-rw-r--r--bridgedb/test/test_https.py27
8 files changed, 19 insertions, 49 deletions
diff --git a/.travis.requirements.txt b/.travis.requirements.txt
index 37a2fe5..6f3dec7 100644
--- a/.travis.requirements.txt
+++ b/.travis.requirements.txt
@@ -13,6 +13,7 @@
# $ make coverage
#
#------------------------------------------------------------------------------
+attrs==19.2.0
Babel==2.8.0
BeautifulSoup==3.2.2
Mako==1.1.1
diff --git a/CHANGELOG b/CHANGELOG
index 0233246..bb1db03 100644
--- a/CHANGELOG
+++ b/CHANGELOG
@@ -1,3 +1,8 @@
+Changes in version 0.9.3 - 2020-02-18
+
+ * FIXES <https://bugs.torproject.org/33299>
+ This patch disables the distribution of FTE, ScrambleSuit, and obfs3.
+
Changes in version 0.9.2 - 2020-02-04
* FIXES <https://bugs.torproject.org/31427>
diff --git a/bridgedb.conf b/bridgedb.conf
index a0e00a8..5a8a38e 100644
--- a/bridgedb.conf
+++ b/bridgedb.conf
@@ -282,10 +282,10 @@ TASKS = {
# to booleans. If ``True``, the PT is distributed; if ``False``, it isn't.
SUPPORTED_TRANSPORTS = {
'obfs2': False,
- 'obfs3': True,
+ 'obfs3': False,
'obfs4': True,
- 'scramblesuit': True,
- 'fte': True,
+ 'scramblesuit': False,
+ 'fte': False,
}
# PROBING_RESISTANT_TRANSPORTS is a list of transports that are resistant to
diff --git a/bridgedb/bridges.py b/bridgedb/bridges.py
index cf90b3b..ca1330b 100644
--- a/bridgedb/bridges.py
+++ b/bridgedb/bridges.py
@@ -335,8 +335,7 @@ class PluggableTransport(BridgeAddressBase):
:vartype methodname: str
:ivar methodname: The canonical "name" for this pluggable transport,
i.e. the one which would be specified in a torrc file. For example,
- ``"obfs2"``, ``"obfs3"``, ``"scramblesuit"`` would all be pluggable
- transport method names.
+ ``"obfs4"``.
:vartype address: ``ipaddr.IPv4Address`` or ``ipaddr.IPv6Address``
:ivar address: The IP address of the transport. Currently (as of 20 March
@@ -514,7 +513,7 @@ class PluggableTransport(BridgeAddressBase):
:rtype: str
:returns: The (lowercased) methodname of this ``PluggableTransport``,
- i.e. ``"obfs3"``, ``"scramblesuit"``, etc.
+ e.g. ``"obfs4"``.
"""
return self._methodname
@@ -1413,7 +1412,7 @@ class Bridge(BridgeBackwardsCompatibility):
:param str countryCode: A two-character country code specifier.
:param str methodname: The type of pluggable transport to check,
- i.e. ``'obfs3'``.
+ e.g. ``'obfs4'``.
:rtype: bool
:returns: ``True`` if any address:port pair which this bridge is
running a :class:`PluggableTransport` on is blocked in
diff --git a/bridgedb/distributors/https/server.py b/bridgedb/distributors/https/server.py
index 69f04a3..660d34e 100644
--- a/bridgedb/distributors/https/server.py
+++ b/bridgedb/distributors/https/server.py
@@ -128,10 +128,7 @@ def replaceErrorPage(request, error, template_name=None, html=True):
# "BridgeDB"
# "pluggable transport"
# "pluggable transports"
- # "obfs2"
- # "obfs3"
- # "scramblesuit"
- # "fteproxy"
+ # "obfs4"
# "Tor"
# "Tor Browser"
#
diff --git a/bridgedb/distributors/moat/server.py b/bridgedb/distributors/moat/server.py
index 10096e7..97dfc42 100644
--- a/bridgedb/distributors/moat/server.py
+++ b/bridgedb/distributors/moat/server.py
@@ -406,9 +406,7 @@ class CaptchaFetchResource(CaptchaResource):
* "type": "client-transports".
* "supported": ['TRANSPORT', … ]
where:
- * TRANSPORT is a string identifying a transport, e.g. "obfs3" or
- "obfs4". Currently supported transport identifiers are:
- "vanilla", "fte", "obfs3", "obfs4", "scramblesuit".
+ * TRANSPORT is a string identifying a transport, e.g. "obfs4".
:rtype: list
:returns: The list of transports the client supports.
"""
diff --git a/bridgedb/i18n/templates/bridgedb.pot b/bridgedb/i18n/templates/bridgedb.pot
index 483abbc..be57a8b 100644
--- a/bridgedb/i18n/templates/bridgedb.pot
+++ b/bridgedb/i18n/templates/bridgedb.pot
@@ -5,11 +5,11 @@
#
msgid ""
msgstr ""
-"Project-Id-Version: bridgedb 0.9.0+19.ga5fa455.dirty\n"
+"Project-Id-Version: bridgedb 0.9.2+5.gfd960bd.dirty\n"
"Report-Msgid-Bugs-To: "
"'https://trac.torproject.org/projects/tor/newticket?component=BridgeDB&keywords"
"=bridgedb-reported,msgid&cc=isis,sysrqb&owner=isis'\n"
-"POT-Creation-Date: 2020-02-04 10:59-0800\n"
+"POT-Creation-Date: 2020-02-18 13:39-0800\n"
"PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n"
"Last-Translator: FULL NAME <EMAIL@ADDRESS>\n"
"Language-Team: LANGUAGE <LL@li.org>\n"
@@ -42,13 +42,10 @@ msgstr ""
#. "BridgeDB"
#. "pluggable transport"
#. "pluggable transports"
-#. "obfs2"
-#. "obfs3"
-#. "scramblesuit"
-#. "fteproxy"
+#. "obfs4"
#. "Tor"
#. "Tor Browser"
-#: bridgedb/distributors/https/server.py:138
+#: bridgedb/distributors/https/server.py:135
msgid "Sorry! Something went wrong with your request."
msgstr ""
@@ -270,7 +267,7 @@ msgid ""
"\n"
msgstr ""
-#: bridgedb/strings.py:101 bridgedb/test/test_https.py:383
+#: bridgedb/strings.py:101 bridgedb/test/test_https.py:356
msgid "What are bridges?"
msgstr ""
diff --git a/bridgedb/test/test_https.py b/bridgedb/test/test_https.py
index 8432c20..ffd7281 100644
--- a/bridgedb/test/test_https.py
+++ b/bridgedb/test/test_https.py
@@ -188,18 +188,6 @@ class HTTPTests(unittest.TestCase):
self.openBrowser()
self.assertRaises(mechanize.HTTPError, self.br.open, page)
- def test_get_obfs3_ipv4(self):
- self.openBrowser()
- self.goToOptionsPage()
-
- PT = 'obfs3'
- soup = self.submitOptions(transport=PT, ipv6=False,
- captchaResponse=CAPTCHA_RESPONSE)
- bridges = self.getBridgeLinesFromSoup(soup, fieldsPerBridge=3)
- for bridge in bridges:
- pt = bridge[0]
- self.assertEquals(PT, pt)
-
def test_get_vanilla_ipv4(self):
self.openBrowser()
self.goToOptionsPage()
@@ -226,21 +214,6 @@ class HTTPTests(unittest.TestCase):
addr = bridge[0].rsplit(':', 1)[0].strip('[]')
self.assertIsInstance(ipaddr.IPAddress(addr), ipaddr.IPv6Address)
- def test_get_scramblesuit_ipv4(self):
- self.openBrowser()
- self.goToOptionsPage()
-
- PT = 'scramblesuit'
- soup = self.submitOptions(transport=PT, ipv6=False,
- captchaResponse=CAPTCHA_RESPONSE)
- bridges = self.getBridgeLinesFromSoup(soup, fieldsPerBridge=4)
- for bridge in bridges:
- pt = bridge[0]
- password = bridge[-1]
- self.assertEquals(PT, pt)
- self.assertTrue(password.find("password=") != -1,
- "Password field missing expected text")
-
def test_get_obfs4_ipv4(self):
"""Try asking for obfs4 bridges, and check that the PT arguments in the
returned bridge lines were space-separated.