| Commit message (Collapse) | Author | Age |
| |\ |
|
| | | |
|
| | |\
| | |
| | |
| | |
| | | |
Make BridgeDB export internal metrics.
See merge request tpo/anti-censorship/bridgedb!8
|
| | |/
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| | |
BridgeDB already exports usage metrics that help us understand how our
users interact with BridgeDB. This commit adds internal metrics, which
shed light on BridgeDB's internals. In particular, we add the following
internal metrics:
* Number of bridges per distributor subring.
* Number of empty responses per distributor.
* Number of IPv4/IPv6 handouts.
* Descriptive statistics on the number of bridge handouts (min, max,
median, quartile 1, quartile 3, upper whisker, lower whisker).
* Number of unique bridges that were handed out.
This patch fixes tpo/anti-censorship/bridgedb#31422 and also bumps
BridgeDB's metrics format to version 2.
|
| | |\
| | |
| | |
| | |
| | | |
Parse bridge blocking info from SQL database.
See merge request tpo/anti-censorship/bridgedb!7
|
| | |/
| |
| |
| |
| |
| |
| |
| | |
The plan currently is that wolpertinger will populate our SQL database
with bridge blocking info provided by OONI. This patch adds code that
parses this data and adds it to our existing bridge objects.
This fixes tpo/anti-censorship/bridgedb#34260.
|
| | |\
| | |
| | |
| | |
| | | |
Remove coverage and pypi link; update Travis CI.
See merge request tpo/anti-censorship/bridgedb!6
|
| | |/
| |
| |
| |
| |
| |
| |
| | |
Our Travis CI link still pointed to sysrqb's profile. This commit
updates the link to use phw's profile. I'm also removing the (outdated)
pypi and coverage links.
This fixes tpo/anti-censorship/bridgedb#40002.
|
| | |\
| | |
| | |
| | |
| | | |
Remove the --reload command line switch.
See merge request tpo/anti-censorship/bridgedb!4
|
| | |/
| |
| |
| | |
This fixes tpo/anti-censorship/bridgedb#40001.
|
| | |\
| | |
| | |
| | |
| | | |
Avoid giving out bridges with broken tor versions.
See merge request tpo/anti-censorship/bridgedb!3
|
| | |/
| |
| |
| |
| |
| |
| | |
This patch makes BridgeDB avoid giving out bridges that are affected by
the following bug: <https://bugs.torproject.org/28912>
This fixes <https://bugs.torproject.org/29184>.
|
| | |\
|/ / |
|
| |/
|
|
| |
This fixes <https://bugs.torproject.org/19774>.
|
| |\ |
|
| | | |
|
| | | |
|
| | |\ |
|
| | |/ |
|
| | |\ |
|
| | |/
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| | |
So far, the email autoresponder fails after a while, raising the
following exception:
File "/home/bridgedb/virtualenvs/bridgedb/lib/python3.7/site-packages/twisted/internet/posixbase.py", line 614, in _doReadOrWrite
why = selectable.doRead()
File "/home/bridgedb/virtualenvs/bridgedb/lib/python3.7/site-packages/twisted/internet/tcp.py", line 243, in doRead
return self._dataReceived(data)
File "/home/bridgedb/virtualenvs/bridgedb/lib/python3.7/site-packages/twisted/internet/tcp.py", line 249, in _dataReceived
rval = self.protocol.dataReceived(data)
File "/home/bridgedb/virtualenvs/bridgedb/lib/python3.7/site-packages/twisted/protocols/basic.py", line 454, in dataReceived
self.lineReceived(line)
File "/home/bridgedb/virtualenvs/bridgedb/lib/python3.7/site-packages/twisted/mail/smtp.py", line 445, in lineReceived
return getattr(self, 'state_' + self.mode)(line)
File "/home/bridgedb/virtualenvs/bridgedb/lib/python3.7/site-packages/twisted/mail/smtp.py", line 705, in dataLineReceived
m.eomReceived() for m in self.__messages
File "/home/bridgedb/virtualenvs/bridgedb/lib/python3.7/site-packages/twisted/mail/smtp.py", line 705, in <listcomp>
m.eomReceived() for m in self.__messages
File "/home/bridgedb/virtualenvs/bridgedb/lib/python3.7/site-packages/bridgedb-0.10.0+11.g4cdd6a61.dirty-py3.7.egg/bridgedb/distributors/email/server.py", line 230, in eomReceived
self.responder.reply()
File "/home/bridgedb/virtualenvs/bridgedb/lib/python3.7/site-packages/bridgedb-0.10.0+11.g4cdd6a61.dirty-py3.7.egg/bridgedb/distributors/email/autoresponder.py", line 574, in reply
response = self.getMailData()
File "/home/bridgedb/virtualenvs/bridgedb/lib/python3.7/site-packages/bridgedb-0.10.0+11.g4cdd6a61.dirty-py3.7.egg/bridgedb/distributors/email/autoresponder.py", line 392, in getMailData
client, lang)
File "/home/bridgedb/virtualenvs/bridgedb/lib/python3.7/site-packages/bridgedb-0.10.0+11.g4cdd6a61.dirty-py3.7.egg/bridgedb/distributors/email/autoresponder.py", line 101, in createResponseBody
bridges = context.distributor.getBridges(bridgeRequest, interval)
File "/home/bridgedb/virtualenvs/bridgedb/lib/python3.7/site-packages/bridgedb-0.10.0+11.g4cdd6a61.dirty-py3.7.egg/bridgedb/distributors/email/distributor.py", line 145, in getBridges
with bridgedb.Storage.getDB() as db:
File "/home/bridgedb/virtualenvs/bridgedb/lib/python3.7/site-packages/bridgedb-0.10.0+11.g4cdd6a61.dirty-py3.7.egg/bridgedb/Storage.py", line 352, in __enter__
return next(self.gen)
File "/home/bridgedb/virtualenvs/bridgedb/lib/python3.7/site-packages/bridgedb-0.10.0+11.g4cdd6a61.dirty-py3.7.egg/bridgedb/Storage.py", line 472, in getDB
assert _REFCOUNT == 0
builtins.AssertionError:
It's not clear what caused this regression but it may have been
introduced in commit c1a48d1, as part of our conversion to Python 3.
This fixes <https://bugs.torproject.org/33945>.
|
| | |\ |
|
| | |/
| |
| |
| |
| |
| |
| | |
Our new tool wolpertinger will populate these fields after delegating
censorship measurement to OONI.
This fixes <https://bugs.torproject.org/34154>.
|
| | |\ |
|
| | | |
| | |
| | |
| | |
| | |
| | | |
The excessive 8-character indentation has been bothering me forever.
This patch reduces indentation to four characters and re-flows all
bugfix items.
|
| | | | |
|
| | | | |
|
| | | |
| | |
| | |
| | |
| | | |
Removed link from error pages
Changed missed chatspeak string
|
| | |/
| |
| |
| |
| | |
Known chatspeak references have been removed or replaced
Malicious requests are now redirected with the status code 400
|
| | |\ |
|
| | | | |
|
| | | | |
|
| | | | |
|
| | | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | | |
For example, we may be dealing with text that's cp1252-encoded.
BridgeDB gets a lot of spam like that:
b"Subject: Ich m\xf6chte Sie treffen"
b'Subject: Wei\xdft du, wie man ein M\xe4dchen anmacht?'
Instead of trying really hard to figure out what encoding we're dealing
with, we simply ignore characters we cannot decode.
|
| | | | |
|
| | | | |
|
| | | | |
|
| | | | |
|
| | | | |
|
| | |/ |
|
| | |\ |
|
| | |/ |
|
| | |\ |
|
| | |/
| |
| |
| | |
Thanks to Roger for suggesting this.
|
| | |\ |
|
| | | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | | |
So far, our autoresponder would only send you bridges if your request
was valid. Unfortunately, it's not very easy to figure out what a
correct request looks like. This patch returns bridges regardless of if
the request was valid or not. We also remove the "help" autoresponse
because there's no longer a need for it, and we simplify BridgeDB's auto
response, hopefully making it less frustrating for users.
This fixes <https://bugs.torproject.org/30941>.
|
| | |/ |
|
| | |\
|/ / |
|
| | |
| |
| |
| |
| |
| |
| |
| | |
The renaming of test_Bridges.py to test_bridgerings.py means that
test_bridgedb_script.py is now run earlier (because tests are executed
in alphabetic order), which means less time for BridgeDB to start. This
commit adds an extra sleep to a unit test, so we can be reasonably sure
that BridgeDB is already running when unlinking its assignments file.
|
| | |
| |
| |
| | |
...by changing "urllib.quote" to "urllib.parse.quote".
|