aboutsummaryrefslogtreecommitdiff
path: root/src
AgeCommit message (Collapse)Author
2012-11-14Add {No,}IPv{4,6}Traffic options to SOCKSPortNick Mathewson
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.
2012-11-14Make DNS callback pass IPv6 answers to dns_answer_foundNick Mathewson
Also, count ipv6 timeouts vs others. If we have too many ipv6 requests time out, then we could be degrading performance because of a broken DNS server that ignores AAAA requests. Other cases in which we never learn an AAAA address aren't so bad, since they don't slow A (ipv4) answers down very much.
2012-11-14Make dns wildcarding checks work for ipv6Nick Mathewson
2012-11-14Add an IPv6Exit configuration optionNick Mathewson
Don't advertise an IPv6 exit policy, or accept IPv6 exit requests, if IPv6Exit is not true.
2012-11-14Simplest version of server-side IPv6 support (no dns)Nick Mathewson
This is a relatively simple set of changes: we mostly need to remove a few "but not for IPv6" changes. We also needed to tweak the handling of DNS code to generate RESOLVED cells that could get an IPv6 answer in return.
2012-11-14Record, send, and receive flags in BEGIN cellsNick Mathewson
2012-11-14Add IPv6 support to compare_to_addr_to_node_policyNick Mathewson
2012-11-14Authorities put p6 lines into microdescriptors.Nick Mathewson
2012-11-14Parse IPv6 policy summaries from router descriptors and microdescsNick Mathewson
2012-11-14Better policy support for IPv6Nick Mathewson
Now, "accept *:80" means "accept all addresses on port 80", and not just IPv4. For just v4, say "accept *4:80"; for just v6 say "accept *6:80". We can parse these policies from torrc just fine, and we should be successfully keeping them out of descriptors for now. We also now include appropriate IPv6 addresses in "reject private:*"
2012-11-14Add a new family-specific syntax for tor_addr_parse_mask_portsNick Mathewson
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.
2012-11-14Refactor begin cell parsing into its own function, with tests.Nick Mathewson
Add 'flags' argument to begin cells, per proposal 208.
2012-11-14Refactor client_dns_set_{reverse_,}addressmap() to take a circNick Mathewson
We'd like these functions to be circuit-relative so that we can implement a per-circuit DNS cache and per-circuit DNS cache rules for proposal 205 or its successors. I'm doing this now, as a part of the IPv6 exits code, since there are about to be a few more instances of code using this.
2012-11-14Move address map into its own file.Nick Mathewson
2012-11-13Merge branch 'bug7267' of ssh://git-rw.torproject.org/user/andrea/torAndrea Shepard
2012-11-13Add comment explaining different channel close functionsAndrea Shepard
2012-11-13Merge remote-tracking branch 'public/bug7059'Nick Mathewson
2012-11-13Actually distribute the geoip6 file.Nick Mathewson
Fixes a bug (with no ticket) on 0.2.4.6-alpha.
2012-11-13Call channel_mark_for_close() properly in hibernate_go_dormant()Andrea Shepard
2012-11-13bump to 0.2.4.6-alpha-devRoger Dingledine
2012-11-13bump to 0.2.4.6-alphator-0.2.4.6-alphaRoger Dingledine
2012-11-12Merge branch 'maint-0.2.3'Roger Dingledine
2012-11-12use a more logical operatorRoger Dingledine
Fix a harmless bug when opting against publishing a relay descriptor because DisableNetwork is set. Fixes bug 7464; bugfix on 0.2.3.9-alpha.
2012-11-12Possible fix for bug 7212Nick Mathewson
This is the simplest possible workaround: make it safe to call circuit_cell_queue_clear() on a non-attached circuit, and make it safe-but-a-LD_BUG-warning to call update_circuit_on_cmux() on a non-attached circuit. LocalWords: unstage src Untracked
2012-11-10Merge branch 'check_for_orconn_on_close_squashed' of ↵Andrea Shepard
ssh://git-rw.torproject.org/user/andrea/tor
2012-11-10Make everything in connection.c that uses connection_or_notify_error() also ↵Andrea Shepard
use connection_mark_and_close_internal() to avoid spurious warnings
2012-11-10Check for orconns in connection_mark_for_close and ↵Andrea Shepard
connection_mark_and_flush, and pass the call through channel_close_for_error with a warning to avoid asserts
2012-11-08Fix a memory leak in handling errors on CERTS cells. bug 7422Nick Mathewson
2012-11-08Fix test.c compilation on mingw32.Nick Mathewson
Looks like windows doesn't have an s6_addr32 in its in6_addr. Bug not in any released version of Tor; bugfix on abb886014e1ee.
2012-11-08Merge remote-tracking branch 'origin/maint-0.2.3'Nick Mathewson
2012-11-08Turn a memwipe in tor_process_handle_destroy() back to memsetNick Mathewson
It broke linking on tor-resolve.c, and it's not actually sanitizing anything sensitive. Fix for bug 7420; bug not on ony released Tor.
2012-11-08Turn some memset()s introduced in tor 0.2.4 into memwipe()sNick Mathewson
2012-11-08Merge remote-tracking branch 'origin/maint-0.2.3'Nick Mathewson
Conflicts: src/common/crypto.c src/or/rendservice.c
2012-11-08Add and use and unlikely-to-be-eliminated memwipe()Nick Mathewson
Apparently some compilers like to eliminate memset() operations on data that's about to go out-of-scope. I've gone with the safest possible replacement, which might be a bit slow. I don't think this is critical path in any way that will affect performance, but if it is, we can work on that in 0.2.4. Fixes bug 7352.
2012-11-07Merge branch 'bug7350' of ssh://git-rw.torproject.org/user/andrea/torAndrea Shepard
2012-11-06Don't call channel_send_destroy() when closing a circuit on a closing channelAndrea Shepard
2012-11-06Check for closing channel in channel_send_destroy()Andrea Shepard
2012-11-06Merge branch 'bug7285'Nick Mathewson
2012-11-06Add warning message when a managed proxy dies during configuration.George Kadianakis
2012-11-06Fix a stupid logic-error in warnings about low ports.Nick Mathewson
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.
2012-11-04Allow an optional $ in GETINFO ns/id/<identity>Nick Mathewson
That's not where I'd want to put a $, but apparently the other foo/id/<identity> things allow it, as does an arguably valid interpretation of control-spec.txt. So let's be consistent. Fix for a piece of bug 7059.
2012-11-04Merge remote-tracking branch 'asn/bug7292'Nick Mathewson
2012-11-04Whitespace fixesNick Mathewson
2012-11-04Clean up nonsensical calling convention for config_load_geoip_file_Nick Mathewson
(How many "load a file" functions do you typically see where the function frees the filename argument?)
2012-11-04Merge remote-tracking branch 'linus/bug5053-bug5055'Nick Mathewson
Conflicts: src/or/geoip.c
2012-11-03Add an SLIST_ENTRY definition back on non-win32Nick Mathewson
Otherwise we break openbsd headers. Fixes bug 7293; bug not on any released Tor.
2012-11-02Use LOG_WARN instead of LOG_PROTOCOL_WARN when parsing transport lines.George Kadianakis
2012-11-02Avoid c99 designated initializers in circuitmux_ewma.cNick Mathewson
We still want to build on compilers w/o c99 support, such as (notoriously, shamefully) MSVC. So I'm commenting out the designated initializers in circuitmux_ewma.c. The alternative would have been to use some kind of macros to use designated initializers only when they're supported, but that's error-prone, and can lead to code having different meanings under different compilers. Bug 7286; fix on 0.2.4.4-alpha; spotted by Gisle Vanem.
2012-11-01Rename SLIST_ENTRY to TOR_SLIST_ENTRY to fix windows compilationNick Mathewson
Apparently winnt.h defines a different SLIST_ENTRY of its own. Bug not in any version of Tor.
2012-10-31Change some comments to reflect the multitude of GeoIP databases.Linus Nordberg