aboutsummaryrefslogtreecommitdiff
path: root/src/or/config.c
Commit message (Collapse)AuthorAge
* Merge remote-tracking branch 'public/feature7706'Nick Mathewson2013-02-01
|\
| * When excluding nodes by country, exclude {??} and {A1} tooNick Mathewson2013-01-17
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | This is ticket 7706, reported by "bugcatcher." The rationale here is that if somebody says 'ExcludeNodes {tv}', then they probably don't just want to block definitely Tuvaluan nodes: they also want to block nodes that have unknown country, since for all they know such nodes are also in Tuvalu. This behavior is controlled by a new GeoIPExcludeUnknown autobool option. With the default (auto) setting, we exclude ?? and A1 if any country is excluded. If the option is 1, we add ?? and A1 unconditionally; if the option is 0, we never add them. (Right now our geoip file doesn't actually seem to include A1: I'm including it here in case it comes back.) This feature only takes effect if you have a GeoIP file. Otherwise you'd be excluding every node.
* | Bounds-check path bias rate parameters.Mike Perry2013-02-01
| | | | | | | | The other remaining parameters don't really need range checks.
* | Refactor the scaling parameter fetching into a single function.Mike Perry2013-02-01
| | | | | | | | | | Also, deprecate the torrc options for the scaling values. It's unlikely anyone but developers will ever tweak them, even if we provided a single ratio value.
* | Rename log() to tor_log() for loggingNick Mathewson2013-02-01
| | | | | | | | | | | | | | | | | | | | | | | | | | This is meant to avoid conflict with the built-in log() function in math.h. It resolves ticket 7599. First reported by dhill. This was generated with the following perl script: #!/usr/bin/perl -w -i -p s/\blog\(LOG_(ERR|WARN|NOTICE|INFO|DEBUG)\s*,\s*/log_\L$1\(/g; s/\blog\(/tor_log\(/g;
* | Merge branch 'bug5956_squashed'Nick Mathewson2013-01-30
|\ \
| * | Parameterize FRAC_USABLE_NEEDED for fraction of circuitsNick Mathewson2013-01-30
| |/ | | | | | | | | | | Instead of hardcoding the minimum fraction of possible paths to 0.6, we take it from the user, and failing that from the consensus, and failing that we fall back to 0.6.
* | Merge branch 'bug7802' of ssh://git-rw.torproject.org/mikeperry/torAndrea Shepard2013-01-28
|\ \
| * | Implement Path use bias accounting.Mike Perry2013-01-18
| |/ | | | | | | | | | | | | Path use bias measures how often we can actually succeed using the circuits we actually try to use. It is a subset of path bias accounting, but it is computed as a separate statistic because the rate of client circuit use may vary depending on use case.
* | Merge branch 'time_based_onionqueue_v2' of ssh://git-rw.torproject.org/nickm/torAndrea Shepard2013-01-24
|\ \ | |/ |/|
| * Eliminate MaxOnionsPending; replace it with MaxOnionQueueDelayNick Mathewson2013-01-03
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | The right way to set "MaxOnionsPending" was to adjust it until the processing delay was appropriate. So instead, let's measure how long it takes to process onionskins (sampling them once we have a big number), and then limit the queue based on its expected time to finish. This change is extra-necessary for ntor, since there is no longer a reasonable way to set MaxOnionsPending without knowing what mix of onionskins you'll get. This patch also reserves 1/3 of the onionskin spots for ntor handshakes, on the theory that TAP handshakes shouldn't be allowed to starve their speedier cousins. We can change this later if need be. Resolves 7291.
* | Update the copyright date to 201.Nick Mathewson2013-01-16
|/
* Merge branch 'ntor-resquashed'Nick Mathewson2013-01-03
|\ | | | | | | | | | | | | Conflicts: src/or/cpuworker.c src/or/or.h src/test/bench.c
| * Enable the ntor handshake on the client side.Nick Mathewson2013-01-03
| | | | | | | | "works for me"
* | Avoid spurious local-port warningsNick Mathewson2013-01-02
| | | | | | | | | | | | | | | | | | | | | | Our old warn_nonlocal_client_ports() would give a bogus warning for every nonlocal port every time it parsed any ports at all. So if it parsed a nonlocal socksport, it would complain that it had a nonlocal socksport...and then turn around and complain about the nonlocal socksport again, calling it a nonlocal transport or nonlocal dnsport, if it had any of those. Fixes bug 7836; bugfix on 0.2.3.3-alpha.
* | Merge remote-tracking branch 'mikeperry/209-path-bias-changes'Nick Mathewson2012-12-25
|\ \
| * | Changes from Nick's code review 'part 1'Mike Perry2012-12-18
| | | | | | | | | | | | I think this is actually his third code review of this branch so far.
| * | Prop 209: Add path bias counts for timeouts and other mechanisms.Mike Perry2012-12-07
| | | | | | | | | | | | | | | | | | | | | Turns out there's more than one way to block a tagged circuit. This seems to successfully handle all of the normal exit circuits. Hidden services need additional tweaks, still.
| * | Update with code review changes from Nick.Mike Perry2012-12-07
| | |
| * | Update pathbias parameters to match Proposal 209.Mike Perry2012-12-07
| |/ | | | | | | Needs manpage update and testing still..
* | Add configuration options for directory guardsNick Mathewson2012-12-25
| | | | | | | | | | In addition to all the other ways to make directory gurads not go, you can now set UseEntryGuardsAsDirGuards to 0.
* | Make ECDHE group configurable: 224 for public, 256 for bridges (default)Nick Mathewson2012-12-25
| |
* | Per-listener option to prefer IPv6 automaps when possible.Nick Mathewson2012-12-17
| |
* | Build and test most of the machinery needed for IPv6 virtualaddrmapsNick Mathewson2012-12-17
| | | | | | | | | | | | | | | | | | | | | | | | | | | | With an IPv6 virtual address map, we can basically hand out a new IPv6 address for _every_ address we connect to. That'll be cool, and will let us maybe get around prop205 issues. This uses some fancy logic to try to make the code paths in the ipv4 and the ipv6 case as close as possible, and moves to randomly generated addresses so we don't need to maintain those stupid counters that will collide if Tor restarts but apps don't. Also has some XXXX items to fix to make this useful. More design needed.
* | Turn off by-default use of client-side DNS cacheing.Nick Mathewson2012-12-17
| |
* | Refactor port_cfg_t creation into a port_cfg_new() functionNick Mathewson2012-12-17
| | | | | | | | | | | | | | This function gives us a single place to set reasonable default flags for port_cfg_t entries, to avoid bugs like the one where we weren't setting ipv4_traffic_ok to 1 on SocksPorts initialized in an older way.
* | Add options to turn DNS cache use on or off per client port.Nick Mathewson2012-12-17
| | | | | | | | | | | | (This is part 1 of making DNS cache use enabled/disabled on a per-client port basis. These options are shuffled around correctly, but don't do anything yet.)
* | Oops; make DNSPort configuration take address family optionsNick Mathewson2012-12-17
| |
* | Fix two wide lines in config.cNick Mathewson2012-12-13
| |
* | Drop FallbackNetworkstatusFile; it never worked.Nick Mathewson2012-12-06
| |
* | Add an option to weight down authorities when choosing a fallbackNick Mathewson2012-12-06
| |
* | Add a way to configure selection weights for dir_server_tNick Mathewson2012-12-06
| |
* | New FallbackDir option to add extra directories for bootstrapingNick Mathewson2012-12-06
| | | | | | | | | | | | This replaces the old FallbackConsensus notion, and should provide a way -- assuming we pick reasonable nodes! -- to give clients suggestions of placs to go to get their first consensus.
* | Refactor add_trusted_dir_serverNick Mathewson2012-12-06
| | | | | | | | | | | | Now creating a dir_server_t and adding it are separate functions, and there are frontend functions for adding a trusted dirserver and a fallback dirserver.
* | Rename DirServer to DirAuthorityNick Mathewson2012-12-06
| |
* | Start refactoring trusted_dir_servers into trusted and fallback listsNick Mathewson2012-12-06
|/ | | | | | | | | We use trusted_dir_server_t for two pieces of functionality: a list of all directory authorities, and a list of initial places to look for a directory. With this patch we start to separate those two roles. There is as of now no actual way to be a fallback directory without being an authority.
* Merge branch 'bug7013_take2_squashed'Nick Mathewson2012-11-27
|\
| * Introduce tor_addr_port_parse() and use it to parse ServerTransportListenAddr.George Kadianakis2012-11-27
| |
| * Add a torrc option to specify the bind address of managed proxies.George Kadianakis2012-11-27
| |
* | Give useful warning when both IPv4 and IPv6 are disabled on a socksportNick Mathewson2012-11-15
| |
* | Allow IPv4 traffic on default and old-style-config SocksPorts.Nick Mathewson2012-11-15
| | | | | | | | | | | | | | | | Looks like when i was writing the code to set the ipv4_traffic flag on port_cfg_t, I missed some cases, such as the one where the port was set from its default value. Fix for 7493. Bug not in any released Tor.
* | Implement a PreferIPv6 flag for SocksPortsNick Mathewson2012-11-14
| |
* | Whitespace cleanupNick Mathewson2012-11-14
| |
* | Rename ipv{4,6}_only to bind_ipv{4,6}_onlyNick Mathewson2012-11-14
| | | | | | | | This is to avoid confusion with the ipv{4,6}_traffic flags.
* | Add {No,}IPv{4,6}Traffic options to SOCKSPortNick Mathewson2012-11-14
| | | | | | | | | | | | | | | | These options are for telling the SOCKSPort that it should allow or not allow connections to IPv4/IPv6 addresses. These aren't implemented yet; this is just the code to read the options and get them into the entrey_connection_t.
* | Add an IPv6Exit configuration optionNick Mathewson2012-11-14
| | | | | | | | | | Don't advertise an IPv6 exit policy, or accept IPv6 exit requests, if IPv6Exit is not true.
* | Add a new family-specific syntax for tor_addr_parse_mask_portsNick Mathewson2012-11-14
| | | | | | | | | | | | | | | | | | | | | | | | | | | | By default, "*" means "All IPv4 addresses" with tor_addr_parse_mask_ports, so I won't break anything. But if the new EXTENDED_STAR flag is provided, then * means "any address", *4 means "any IPv4 address" (that is, 0.0.0.0/0), and "*6" means "any IPv6 address" (that is, [::]/0). This is going to let us have a syntax for specifying exit policies in torrc that won't drive people mad. Also, add a bunch of unit tests for tor_addr_parse_mask_ports to test these new features, and to increase coverage.
* | Move address map into its own file.Nick Mathewson2012-11-14
| |
* | Fix a stupid logic-error in warnings about low ports.Nick Mathewson2012-11-06
| | | | | | | | | | | | Instead of warning about low ports that are advertised, we should have been warning about low ports that we're listening on. Bug 7285, fix on 0.2.3.9-alpha.
* | Whitespace fixesNick Mathewson2012-11-04
| |