| Commit message (Collapse) | Author | Age |
| ... | |
| |/ / /
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | | |
* ADD HTTPServer.replaceErrorPage() function for catching templating
errors and sending them to the logger. The user is served a very
simply "Somthing went wrong page".
* CHANGE all calls to mako.templates.Template.render() to be wrapped in
a try/except block which directs to the new
HTTPServer.replaceErrorPage() function.
|
| |\ \ \ |
|
| | | | | |
|
| | | | | |
|
| | | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | | |
* FIXES #10737, an issue where if a CAPTCHA was entered incorrectly, the
client would be redirected back to /bridges.html without the original HTTP
POST arguments (which specify the requested pluggable transports, IP
version, etc.).
|
| | | | | |
|
| | | | | |
|
| | | | | |
|
| | | | |
| | | |
| | | |
| | | |
| | | |
| | | | |
* CHANGE a line in HTTPServer.CaptchaProtectedResource which chained
several method calls together inside a return statement, into a
separate lines for each call.
|
| | | | | |
|
| |/ / /
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | | |
* REMOVE calls to `Util.safelog` which masked the IP addresses which
are randomly generated in
`HTTPServer.CaptchaProtectedResource.render_POST()`. These random IPs
are sent to the ReCaptcha server in order to not reveal the client's
real IP, and they are no more revealing/identifying of a particular
client than the `twisted.web.http.Request.args` which are logged.
|
| |\ \ \ |
|
| |/ / /
| | |
| | |
| | |
| | |
| | |
| | | |
* ADD a new option, `COLLECT_TIMESTAMPS` to the config file to configure
whether or not to run the timestamp collection code, including
`Stability.addOrUpdateBridgeHistory()`, in `Main.load()`.
* FIXES #10724
|
| |\ \ \
| |/ /
|/| | |
|
| | | | |
|
| | | | |
|
| |/ / |
|
| | |
| |
| |
| |
| |
| |
| |
| | |
There was a newly-added escaped double quote without a corresponding,
escaped pair, followed by a newline, i.e.: `\"\n` in the Thai
translation which didn't seem to mess up the template parser nor the
browsers I tested it in, but it did add an unnecessary double quote on
the page so I removed it.
|
| | | |
|
| | | |
|
| | |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| | |
Philipp Winter's scramblesuit paper has a section on creating easily
handwritable shared secrets. [0]
To my memory, this excludes using the character `O` (capital o) and the
integer `1`, because they are easily confused for the integer '0' and
the character 'l', respectively. However, Philipp mentioned on IRC that
scramblesuit `password=` fields in the `transport` line are actually
just the set of base32 characters. [1]
* ADD a line to doc/DESCRIPTORS.md which shows an example
scramblesuit-enabled bridge which uses a shared secret passed through
BridgeDB. See #9013.
[0]: http://arxiv.org/abs/1305.3199
[1]: https://tools.ietf.org/html/rfc4648
|
| | | |
|
| |\ \
| |/ |
|
| | |\
| |/
|/| |
|
| | | |
|
| | |
| |
| |
| |
| | |
Otherwise, we'd also have to pass the `transport`, and `addressClass`
parameters to renderAnswer().
|
| | | |
|
| | | |
|
| | | |
|
| | | |
|
| | | |
|
| | | |
|
| | | |
|
| | | |
|
| | | |
|
| | |
| |
| |
| |
| |
| |
| | |
* CHANGE bridgedb.parse.networkstatus.parseRLine() to check the OR
nickname validity only after parsing (and readding the base64 padding
to) the OR ID digest.
* ADD inline comments about why this is done.
|
| | | |
|
| | | |
|
| | | |
|
| | | |
|
| | |
| |
| |
| |
| |
| |
| |
| |
| | |
* MOVE logic for parsing filternames from the "unique string" in method
FilteredBridgeSplitter.addRing() to new method
FilteredBridgeSplitter.extractFilterNames().
* ADD a FilteredBridgeSplitter.distributorName attribute which is set
when Dist.Distributor.setDistributorName() is called.
* REFACTOR FilteredBridgeSplitter.addRing() to use the new subring names.
|
| |\ \ |
|
| | | | |
|
| | | |
| | |
| | |
| | |
| | |
| | |
| | | |
* FIXES #10559
* FIXES a bunch of PEP8 problems.
* CHANGE getTransportLine() to use `' '.join()` rather than formatting the
bridge line inside the return statement. It's faster and safer.
|
| | | | |
|
| | | |
| | |
| | |
| | |
| | |
| | | |
This is to see if they are ever actually passed into this function. They
weren't being used anywhere inside BridgeRing.getBridges(), nor anywhere
else.
|
| |/ /
| |
| |
| | |
* REMOVE the comment and other cruft around it.
|
| |\ \ |
|
| | | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | | |
* ADD a wrapper which catches all unhandled exceptions which occur
while generating an HTML response. If such an exception occurs, this
ensures that the error is logged and the default "No bridges
currently available" response is served to the client (rather than
display a traceback to the client, which is what BridgeDB did
previously).
* FIXES #6127
|
| |/ /
| |
| |
| |
| |
| |
| |
| | |
* MOVE logic for generating HTML responses out of
bridgedb.HTTPServer.WebResource.getBridgeRequestAnswer() and into a
new method, bridgedb.HTTPServer.WebResource.renderAnswer(). This
allows other methods to generate responses, even if the request was
malformed.
|