summaryrefslogtreecommitdiff
Commit message (Collapse)AuthorAge
...
* 5482 - Add tests for descriptor storage methodsaagbsn2012-10-30
|
* 5482 - Parse descriptors to glean bridge stability information.aagbsn2012-10-30
|
* 5482 - Add database schemaaagbsn2012-10-30
| | | | | Adds database schema, upgrade scripts, and helper methods for BridgeHistory objects
* 5482 - Parse timestamp from ns descs.aagbsn2012-10-30
| | | | Modifies parseDescFile to return an extra argument 'timestamp'
* 4297 - Prepopulate rings before calling dumpAssignmentsaagbsn2012-09-09
| | | | | Default rings are not populated if the FilteredBridgeSplitter is cleared on reload().
* 4297 - Clear filtered lists of bridges properlyaagbsn2012-08-19
| | | | | The dictionary must be cleared or the filtered sets of bridges will not be repopulated.
* 4297 - Skip lines before Subject: in emailaagbsn2012-07-18
| | | | | The email headers may contain the string "IPv6", breaking message parsing.
* 4568 - Add "Submit" button stringaagbsn2012-07-05
|
* 5027 - Fix typos in email distributoraagbsn2012-07-05
| | | | Also adds AttributeError to caught exceptions.
* 4568 - Provide links in captcha templateaagbsn2012-07-03
|
* 5027 - parse bridge block list in Main.pyaagbsn2012-07-02
|
* 5027 - Add 'unblocked' support to distributorsaagbsn2012-07-02
| | | | | Adds 'unblocked' support to HTTPS and email distributors. Removes 'might be blocked' from BridgeDB response.
* 5027 - update testsaagbsn2012-07-02
| | | | adds new tests for transports and ipv6 bridges
* 5027 - add filter for blocked bridgesaagbsn2012-07-02
| | | | | filterBridgesByNotBlockedIn is updated to also work with transports and ipv6 bridges
* 5027 - Update Tests for 'unblocked' bridge supportaagbsn2012-07-02
| | | | Adds tests for parsers & distributors.
* 5027 - update Bridge.isBlocked() for transportaagbsn2012-07-02
| | | | | | | 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.
* 4772 - read LOGLEVEL on (re)load()aagbsn2012-06-24
|
* 4568 - Clean up email response formattingaagbsn2012-06-24
| | | | | Fixes indentation in email response and adds debug logging of email body.
* 4568 - Update I18 stringsaagbsn2012-06-24
| | | | | Cleans up the I18 strings so that the command descriptions fit on a single line and provide.
* 5463 - Adds GPG clearsign to email distributor.aagbsn2012-06-24
| | | | | | | | | | | | | | 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.
* 6175 - Make range continuousaagbsn2012-06-23
| | | | | fix getNumBridgesPerAnswer so that lengths of 20 and 100 don't break the response
* 6175 - Return fewer bridges from shorter rings.aagbsn2012-06-23
|
* 4568 - Update obfs version and I18 textaagbsn2012-06-22
| | | | obfs2 is the correct version
* 4568 - Update email responsesaagbsn2012-06-20
| | | | | | | | 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.
* 4568 - Update email and https distributor frontendaagbsn2012-06-20
| | | | Add support for ipv6 and pluggable transports
* 4568 - Add extra-info parser to load()aagbsn2012-06-20
| | | | | BridgeDB will now also parse extra-info descriptors if the configuration option 'EXTRA_INFO_FILE' is specified
* 4568 - Add filter for bridges with transportsaagbsn2012-06-20
| | | | Adds a filter to select bridges with transport specified by name.
* 4568 - Add option EXTRA_INFO_FILE to bridgedb.confaagbsn2012-06-20
| | | | | Adds a configuration option 'EXTRA_INFO_FILE' to specify the location of extra-info descriptors.
* 4568 - Add class PluggableTransport to Bridgesaagbsn2012-06-20
| | | | | | Adds a class PluggableTransport and function parseExtraInfoFile() to read pluggable transports from bridge extra-info descriptors. Also adds transport support in FilteredBridgeSplitter.dumpAssignments
* 5935 - Use bridge.ip when logging r.insert(bridge)aagbsn2012-06-13
| | | | | | 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.
* 5935 - Store ip as stringaagbsn2012-06-13
| | | | | bridge.ip is stored in the database as a string but ipaddr.IPAddress everywhere else.
* 5935 - Tests should use a mix of IPv4 and IPv6aagbsn2012-06-13
| | | | | updated fakeBridge(), fakeBridge6() to randomly set the address class in or_addresses so that test coverage is more complete.
* 5935 - Add descriptions to filtersaagbsn2012-06-13
| | | | | | | | | 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'
* 5935 - FilteredBridgeSplitter dumpAssignments()aagbsn2012-06-13
| | | | | dumpAssignments() should conform to spec in https://trac.torproject.org/projects/tor/ticket/5935
* 5948 - Update usage of getConfigLine()aagbsn2012-06-13
| | | | | The 'needsIPv4' and 'needsIPv6' arguments are replaced with 'addressClass'.
* 5948 - Do not pick from or-addresses randomlyaagbsn2012-06-13
| | | | | Pick the same bridge line each time; uses hmac_fn and email or ip from the request.
* 5947 - Parse "a" lines from networkstatusaagbsn2012-06-13
| | | | | | | | 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
* 4297 - Prepopulate ipCategories, clusters, and email ringsaagbsn2012-06-13
|
* 4297 - Update tests to reflect spec changeaagbsn2012-06-13
| | | | Adds a few more checks for parseORAddressLine()
* 4297 - Update PortSpec parsing to reflect specaagbsn2012-06-13
| | | | proposal 186-multiple-orports.txt dropped port range support.
* 4297 - Adds EmailBasedDistributor filteringaagbsn2012-06-13
| | | | | The EmailBasedDistributor can now be passed the same filters as the IPBasedDistributor.
* 4297 - Update tests for IP categoriesaagbsn2012-05-29
| | | | Rings are set up a bit differently now, and broke this test.
* 4297 - Implement ipCategories functionalityaagbsn2012-05-29
| | | | | Implement ipCategories with filters so that compound filters can also be used (e.g. filter for ipv6 bridges)
* 4297 - add IPBasedDistributor IP Clustering Filteraagbsn2012-05-29
| | | | Implements IP clustering as a default filter.
* 4297 - Cache dynamic filter functionsaagbsn2012-05-29
|
* 4297 - Move filter functions to Filters.pyaagbsn2012-05-29
|
* 4297 - reduce warning severity for ratelimitingaagbsn2012-05-29
| | | | Drop to INFO, because these are not WARN
* 4297 - Exception Odditiesaagbsn2012-05-29
| | | | | | | 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
* 4297 - ipv6 uniformMapaagbsn2012-05-29
| | | | Adds an ipv6-comptabile uniform mapper.
* 4297 - Warn about bridge pools + dynamic filteringaagbsn2012-05-29
| | | | | | | | | | | | | | | | | | | | | | | | 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.