Unverified Commit 0f2349d1 authored by Philipp Winter's avatar Philipp Winter
Browse files

Merge branch 'release-0.9.3'

parents ae0c4eb8 0594e98d
......@@ -13,6 +13,7 @@
# $ make coverage
#
#------------------------------------------------------------------------------
attrs==19.2.0
Babel==2.8.0
BeautifulSoup==3.2.2
Mako==1.1.1
......
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>
......
......@@ -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
......
......@@ -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
......
......@@ -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"
#
......
......@@ -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.
"""
......
......@@ -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 ""
......
......@@ -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.
......
Markdown is supported
0% or .
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment