- 23 Jun, 2012 2 commits
- 22 Jun, 2012 1 commit
-
-
aagbsn authored
obfs2 is the correct version
-
- 20 Jun, 2012 6 commits
-
-
aagbsn authored
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.
-
aagbsn authored
Add support for ipv6 and pluggable transports
-
aagbsn authored
BridgeDB will now also parse extra-info descriptors if the configuration option 'EXTRA_INFO_FILE' is specified
-
aagbsn authored
Adds a filter to select bridges with transport specified by name.
-
aagbsn authored
Adds a configuration option 'EXTRA_INFO_FILE' to specify the location of extra-info descriptors.
-
aagbsn authored
Adds a class PluggableTransport and function parseExtraInfoFile() to read pluggable transports from bridge extra-info descriptors. Also adds transport support in FilteredBridgeSplitter.dumpAssignments
-
- 14 Jun, 2012 12 commits
-
-
aagbsn authored
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.
-
aagbsn authored
bridge.ip is stored in the database as a string but ipaddr.IPAddress everywhere else.
-
aagbsn authored
updated fakeBridge(), fakeBridge6() to randomly set the address class in or_addresses so that test coverage is more complete.
-
aagbsn authored
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'
-
aagbsn authored
dumpAssignments() should conform to spec in https://trac.torproject.org/projects/tor/ticket/5935
-
aagbsn authored
The 'needsIPv4' and 'needsIPv6' arguments are replaced with 'addressClass'.
-
aagbsn authored
Pick the same bridge line each time; uses hmac_fn and email or ip from the request.
-
aagbsn authored
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
-
aagbsn authored
-
aagbsn authored
Adds a few more checks for parseORAddressLine()
-
aagbsn authored
proposal 186-multiple-orports.txt dropped port range support.
-
aagbsn authored
The EmailBasedDistributor can now be passed the same filters as the IPBasedDistributor.
-
- 30 May, 2012 14 commits
-
-
aagbsn authored
Rings are set up a bit differently now, and broke this test.
-
aagbsn authored
Implement ipCategories with filters so that compound filters can also be used (e.g. filter for ipv6 bridges)
-
aagbsn authored
Implements IP clustering as a default filter.
-
aagbsn authored
-
aagbsn authored
-
aagbsn authored
Drop to INFO, because these are not WARN
-
aagbsn authored
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
-
aagbsn authored
Adds an ipv6-comptabile uniform mapper.
-
aagbsn authored
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.
-
aagbsn authored
Front-end's to the HTTPS and email distributors now make use of the address class filtering available in IPBasedDistributor
-
aagbsn authored
Test descriptor file parsing, or-address, and mixed address class (IPv4 and IPv6) or-addresses. Tests for IPBasedDistributor and FilteredBridgeSplitter
-
aagbsn authored
Updates the EmailBasedDistributor to support 'ipv6' keyword in the subject or mail body
-
aagbsn authored
IPBasedDistributor now uses the FilteredBridgeSplitter to sort bridges into subrings based on the address class of the Bridges' ip(s) (including addresses parsed from the new or-address spec).
-
aagbsn authored
The FilteredBridgeSplitter sorts bridges into subrings. The subrings are defined by filter functions. For example, to filter bridges by ORport > 9000: def filterBridgesOver9000(bridge): if bridge.orport > 9000: return True Example in context: d = FilteredBridgeSplitter(key) d.addRing(BridgeRing, 'Bridges with ORPort > 9000', filterBridgesOver9000) When d.insert(bridge) is called, bridges will be inserted into all subrings whose filter function returns True.
-
- 02 May, 2012 2 commits
-
-
aagbsn authored
Updates parseBridgeDesc to read or-address line from bridge descriptors, and adds a container class PortList parseBridgeDesc adds parseORAddress which parses or-address lines. Valid address:portspec are added to each Bridge object in a dictionary of or-address:PortList key:values. class PortList is a container class that represents the or-address PORTSPEC field, which is a list of ports and port ranges. The implementation contains an efficient representation of port-ranges, implements __contains__ for single ports and port-ranges, and will also squash or merge port ranges that intersect. The getPort() function returns a single valid port (as defined by the PORTSPEC line). Each subsequent call to getPort() will iterate over the valid ports, so that BridgeDB may return a single 'bridge' line for inclusion in torrc and uniformly distribute the available ports. getConfigLine may be passed 'selectFromORAddresses=True', which will return a valid config line from the set of addresses and ports. Filtering for IPv6 or IPv4 addresses is supported, if there are no matches in or-addresses BridgeDB will return the primary ip:orport instead. Also added is a generator 'getAllConfigLines()' which will return every valid address:port (including expanding ranges of ports - which may be a lot of output) combination a bridge supports, one per line.
-
aagbsn authored
This is the draft proposal that was sent to tor-dev on Dec 5, 2011 plus the addition of the new SQL schema for storing or-addresses.
-
- 01 May, 2012 1 commit
-
-
aagbsn authored
Python default arguments are only parsed once, therefore the list was shared between all instances. See: http://www.ferg.org/projects/python_gotchas.html
-
- 08 Mar, 2012 2 commits