| Commit message (Collapse) | Author | Age |
| ... | |
| | |
|
| | |
|
| |
|
|
|
| |
Adds database schema, upgrade scripts, and helper methods for
BridgeHistory objects
|
| |
|
|
| |
Modifies parseDescFile to return an extra argument 'timestamp'
|
| |
|
|
|
| |
Default rings are not populated if the FilteredBridgeSplitter is
cleared on reload().
|
| |
|
|
|
| |
The dictionary must be cleared or the filtered sets of bridges will
not be repopulated.
|
| |
|
|
|
| |
The email headers may contain the string "IPv6",
breaking message parsing.
|
| | |
|
| |
|
|
| |
Also adds AttributeError to caught exceptions.
|
| | |
|
| | |
|
| |
|
|
|
| |
Adds 'unblocked' support to HTTPS and email distributors.
Removes 'might be blocked' from BridgeDB response.
|
| |
|
|
| |
adds new tests for transports and ipv6 bridges
|
| |
|
|
|
| |
filterBridgesByNotBlockedIn is updated to also work with transports
and ipv6 bridges
|
| |
|
|
| |
Adds tests for parsers & distributors.
|
| |
|
|
|
|
|
| |
Considers transport and address class when determining if a bridge
is blocked in the specified country. Adds parameters addressClass
and methodname to differentiate between IPv4, IPv6, and pluggable
transports.
|
| | |
|
| |
|
|
|
| |
Fixes indentation in email response and adds debug logging of email
body.
|
| |
|
|
|
| |
Cleans up the I18 strings so that the command descriptions fit on
a single line and provide.
|
| |
|
|
|
|
|
|
|
|
|
|
|
|
| |
Two new configuration options are added to bridgedb.conf:
EMAIL_GPG_SIGNING_ENABLED
EMAIL_GPG_SIGNING_KEY
The former may be either True or False, and the latter must
point to the ascii-armored key file. The keyfile must not be
passphrase protected.
The gpgme library will add the secret key to the secret key ring of
user who runs BridgeDB.
|
| |
|
|
|
| |
fix getNumBridgesPerAnswer so that lengths of 20 and 100 don't break the
response
|
| | |
|
| |
|
|
| |
obfs2 is the correct version
|
| |
|
|
|
|
|
|
| |
Add new strings for email response template that
provide instructions for requesting ipv6 or transports
Also move email composition into a separate function and
remove code duplication.
|
| |
|
|
| |
Add support for ipv6 and pluggable transports
|
| |
|
|
|
| |
BridgeDB will now also parse extra-info descriptors if the
configuration option 'EXTRA_INFO_FILE' is specified
|
| |
|
|
| |
Adds a filter to select bridges with transport specified by name.
|
| |
|
|
|
| |
Adds a configuration option 'EXTRA_INFO_FILE' to specify the location
of extra-info descriptors.
|
| |
|
|
|
|
| |
Adds a class PluggableTransport and function parseExtraInfoFile()
to read pluggable transports from bridge extra-info descriptors.
Also adds transport support in FilteredBridgeSplitter.dumpAssignments
|
| |
|
|
|
|
| |
BridgeRing.insert() logging.debug now uses the primary bridge address
(bridge.ip) to avoid the case where a bridge has no IPv4 addresses,
when running python setup.py tests, for example.
|
| |
|
|
|
| |
bridge.ip is stored in the database as a string but ipaddr.IPAddress
everywhere else.
|
| |
|
|
|
| |
updated fakeBridge(), fakeBridge6() to randomly set the address
class in or_addresses so that test coverage is more complete.
|
| |
|
|
|
|
|
|
|
| |
Adds the 'description' attribute to filters.
This attribute is used to indicate which filters are applicable
to a bridge in the assignments.log
The description should be a string of format k=v, for example:
filterBridgesByIP4.description is 'ip=4'
|
| |
|
|
|
| |
dumpAssignments() should conform to spec in
https://trac.torproject.org/projects/tor/ticket/5935
|
| |
|
|
|
| |
The 'needsIPv4' and 'needsIPv6' arguments are replaced with
'addressClass'.
|
| |
|
|
|
| |
Pick the same bridge line each time; uses hmac_fn and email or ip
from the request.
|
| |
|
|
|
|
|
|
| |
The "a" lines have been tested by the Bridge Authority.
The or-addresses in the bridge descriptors have not.
This fix makes BridgeDB read or-addresses from the networkstatus
instead of the bridge descriptors
|
| | |
|
| |
|
|
| |
Adds a few more checks for parseORAddressLine()
|
| |
|
|
| |
proposal 186-multiple-orports.txt dropped port range support.
|
| |
|
|
|
| |
The EmailBasedDistributor can now be passed the same filters
as the IPBasedDistributor.
|
| |
|
|
| |
Rings are set up a bit differently now, and broke this test.
|
| |
|
|
|
| |
Implement ipCategories with filters so that compound filters can
also be used (e.g. filter for ipv6 bridges)
|
| |
|
|
| |
Implements IP clustering as a default filter.
|
| | |
|
| | |
|
| |
|
|
| |
Drop to INFO, because these are not WARN
|
| |
|
|
|
|
|
| |
Some versions (tested with 2.6.6) of Python exhibit odd exception
handling behavior; this fix corrects an issue where the parent
class exception handler was catching exceptions meant for a
subclassed exception handler
|
| |
|
|
| |
Adds an ipv6-comptabile uniform mapper.
|
| |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
If using dynamic bridge filtering, the IPBasedDistributor must
be suppled wth a filtering function that will select the correct pool
for the requesting IP.
The filter could be implemented in a similar fashion as the existing
approach, which is to map the requesting ip address to an
area and assign then map the areas to pools of bridges.
An alternate approach would define bridge pools by a set of
corresponding country codes. The pools may either be of roughly equal
size to simplify bridge assignment, or weighted by the aggregate bridge
users from those countries.
Presently, BridgeDB does neither. There are very few IPv6 bridges, so
bypassing bridge clustering should be OK for the short term.
Deliverables for Sponsor E require that BridgeDB be able to reassign
blocked bridges to other countries; the extensions to BridgeDB required
to implement this policy will replace the current clusters with bridge
pools that correspond to geographic regions and address the current
filter limitations.
|