]> git.ipfire.org Git - thirdparty/tor.git/log
thirdparty/tor.git
12 years agoImplement option to turn off DNS cache modification by a client port
Nick Mathewson [Sun, 25 Nov 2012 18:45:36 +0000 (13:45 -0500)] 
Implement option to turn off DNS cache modification by a client port

(This is part 3 of making DNS cache use enabled/disabled on a
per-client port basis.  This implements the UseCacheIPv[46]DNS options)

12 years agoImplement option to turn off DNS cache use on a client port
Nick Mathewson [Sun, 25 Nov 2012 18:45:36 +0000 (13:45 -0500)] 
Implement option to turn off DNS cache use on a client port

(This is part 2 of making DNS cache use enabled/disabled on a
per-client port basis.  This implements the CacheIPv[46]DNS options,
but not the UseCachedIPv[46] ones.)

12 years agoOops: make the check for not adding ip->ip DNS maps correct
Nick Mathewson [Sun, 25 Nov 2012 18:38:27 +0000 (13:38 -0500)] 
Oops: make the check for not adding ip->ip DNS maps correct

12 years agoAdd options to turn DNS cache use on or off per client port.
Nick Mathewson [Sun, 25 Nov 2012 18:18:26 +0000 (13:18 -0500)] 
Add options to turn DNS cache use on or off per client port.

(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.)

12 years agoOops; make DNSPort configuration take address family options
Nick Mathewson [Sun, 25 Nov 2012 18:24:37 +0000 (13:24 -0500)] 
Oops; make DNSPort configuration take address family options

12 years agoNuke uses of memcmp outside of unit tests
Nick Mathewson [Thu, 13 Dec 2012 22:34:05 +0000 (17:34 -0500)] 
Nuke uses of memcmp outside of unit tests

We want to be saying fast_mem{cmp,eq,neq} when we're doing a
comparison that's allowed to exit early, or tor_mem{cmp,eq,neq} when
we need a data-invariant timing.  Direct use of memcmp tends to imply
that we haven't thought about the issue.

12 years agoMerge remote-tracking branch 'origin/maint-0.2.3'
Nick Mathewson [Thu, 13 Dec 2012 17:52:44 +0000 (12:52 -0500)] 
Merge remote-tracking branch 'origin/maint-0.2.3'

Conflicts:
src/config/geoip

12 years agoMerge remote-tracking branch 'origin/maint-0.2.2' into maint-0.2.3
Nick Mathewson [Thu, 13 Dec 2012 17:51:28 +0000 (12:51 -0500)] 
Merge remote-tracking branch 'origin/maint-0.2.2' into maint-0.2.3

12 years agoNote that fallback_dirsource was proposal 206, bug 572.
Nick Mathewson [Thu, 13 Dec 2012 17:47:46 +0000 (12:47 -0500)] 
Note that fallback_dirsource was proposal 206, bug 572.

12 years agoFix two wide lines in config.c
Nick Mathewson [Thu, 13 Dec 2012 17:44:17 +0000 (12:44 -0500)] 
Fix two wide lines in config.c

12 years agoMerge branch 'fallback_dirsource_v3'
Nick Mathewson [Thu, 13 Dec 2012 17:42:29 +0000 (12:42 -0500)] 
Merge branch 'fallback_dirsource_v3'

12 years agoAdd link explaining how the geoip file was created.
Karsten Loesing [Thu, 13 Dec 2012 07:45:25 +0000 (08:45 +0100)] 
Add link explaining how the geoip file was created.

12 years agoUpdate to the December 2012 GeoIP database.
Karsten Loesing [Thu, 6 Dec 2012 10:29:47 +0000 (11:29 +0100)] 
Update to the December 2012 GeoIP database.

12 years agoUpdate to the November 2012 GeoIP database.
Karsten Loesing [Wed, 28 Nov 2012 02:26:52 +0000 (21:26 -0500)] 
Update to the November 2012 GeoIP database.

12 years agoMention that dist-geoip6 was bug 7655
Nick Mathewson [Tue, 11 Dec 2012 23:11:49 +0000 (18:11 -0500)] 
Mention that dist-geoip6 was bug 7655

13 years agoFix some wide lines
Nick Mathewson [Fri, 7 Dec 2012 19:14:20 +0000 (14:14 -0500)] 
Fix some wide lines

13 years agoMerge branch 'win64-7260'
Nick Mathewson [Fri, 7 Dec 2012 19:12:17 +0000 (14:12 -0500)] 
Merge branch 'win64-7260'

Conflicts:
src/or/dns.c

13 years agoFix infinite loop in circuit_expire_bulding
Nick Mathewson [Fri, 7 Dec 2012 19:08:07 +0000 (14:08 -0500)] 
Fix infinite loop in circuit_expire_bulding

Fixes bug 7663; bug introduced in 42e3c04a7a5fb47a9.  Not in any
released version of Tor.

13 years agoExpand the manpage to say: watch out for nonlocal socks
Nick Mathewson [Fri, 7 Dec 2012 17:42:02 +0000 (12:42 -0500)] 
Expand the manpage to say: watch out for nonlocal socks

This clears up the remaining issue stopping me from closing bug 6297.

13 years agoMerge remote-tracking branch 'karsten/task-6266'
Nick Mathewson [Fri, 7 Dec 2012 16:39:56 +0000 (11:39 -0500)] 
Merge remote-tracking branch 'karsten/task-6266'

13 years agoMerge branch 'bug7306'
Nick Mathewson [Fri, 7 Dec 2012 16:11:26 +0000 (11:11 -0500)] 
Merge branch 'bug7306'

13 years agoMerge remote-tracking branch 'public/bug6887'
Nick Mathewson [Fri, 7 Dec 2012 16:02:27 +0000 (11:02 -0500)] 
Merge remote-tracking branch 'public/bug6887'

13 years agoMerge branch 'bug3443_squashed'
Nick Mathewson [Fri, 7 Dec 2012 15:35:41 +0000 (10:35 -0500)] 
Merge branch 'bug3443_squashed'

13 years agoBug 3443: Don't count ORconn setup in circuit build time.
Mike Perry [Fri, 26 Oct 2012 00:43:10 +0000 (17:43 -0700)] 
Bug 3443: Don't count ORconn setup in circuit build time.

Also, add a hack Roger suggested where we're more patient if no circuits are
opened yet.

13 years agoDrop FallbackNetworkstatusFile; it never worked.
Nick Mathewson [Wed, 10 Oct 2012 04:08:35 +0000 (00:08 -0400)] 
Drop FallbackNetworkstatusFile; it never worked.

13 years agoAdd an option to weight down authorities when choosing a fallback
Nick Mathewson [Wed, 12 Sep 2012 17:56:36 +0000 (13:56 -0400)] 
Add an option to weight down authorities when choosing a fallback

13 years agoAdd a way to configure selection weights for dir_server_t
Nick Mathewson [Wed, 12 Sep 2012 17:30:09 +0000 (13:30 -0400)] 
Add a way to configure selection weights for dir_server_t

13 years agoWhen choosing among dirserver_ts, consider their weights
Nick Mathewson [Wed, 12 Sep 2012 16:44:18 +0000 (12:44 -0400)] 
When choosing among dirserver_ts, consider their weights

13 years agoNew FallbackDir option to add extra directories for bootstraping
Nick Mathewson [Mon, 10 Sep 2012 22:13:28 +0000 (18:13 -0400)] 
New FallbackDir option to add extra directories for bootstraping

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.

13 years agoRefactor add_trusted_dir_server
Nick Mathewson [Mon, 10 Sep 2012 20:33:19 +0000 (16:33 -0400)] 
Refactor add_trusted_dir_server

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.

13 years agoRename trusted_dir_server_t to dir_server_t. Automatic renaming.
Nick Mathewson [Mon, 10 Sep 2012 19:55:27 +0000 (15:55 -0400)] 
Rename trusted_dir_server_t to dir_server_t. Automatic renaming.

13 years agoRename DirServer to DirAuthority
Nick Mathewson [Mon, 10 Sep 2012 19:54:16 +0000 (15:54 -0400)] 
Rename DirServer to DirAuthority

13 years agoStart refactoring trusted_dir_servers into trusted and fallback lists
Nick Mathewson [Mon, 10 Sep 2012 19:23:39 +0000 (15:23 -0400)] 
Start refactoring trusted_dir_servers into trusted and fallback lists

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.

13 years agoCorrect moribund logic about caching v2 networkstatuses
Nick Mathewson [Sat, 8 Sep 2012 03:01:53 +0000 (23:01 -0400)] 
Correct moribund logic about caching v2 networkstatuses

13 years agoMake output of router_get_trusted_dir_servers const
Nick Mathewson [Sat, 8 Sep 2012 02:55:53 +0000 (22:55 -0400)] 
Make output of router_get_trusted_dir_servers const

13 years agoUse FreeLibrary, not CloseHandle, for library in test_util.c
Nick Mathewson [Thu, 6 Dec 2012 15:59:02 +0000 (10:59 -0500)] 
Use FreeLibrary, not CloseHandle, for library in test_util.c

Fix for bug 7306. Bugfix on 0.2.2.17-alpha.

13 years agoUpdate to the December 2012 GeoIP database.
Karsten Loesing [Thu, 6 Dec 2012 10:29:47 +0000 (11:29 +0100)] 
Update to the December 2012 GeoIP database.

13 years agoMerge remote-tracking branch 'asn/bug7592_take2'
Nick Mathewson [Wed, 5 Dec 2012 02:47:45 +0000 (21:47 -0500)] 
Merge remote-tracking branch 'asn/bug7592_take2'

13 years agoReturn connection_exit_connect() if payload creation failed.
George Kadianakis [Wed, 5 Dec 2012 02:32:11 +0000 (04:32 +0200)] 
Return connection_exit_connect() if payload creation failed.

Fixes bug #7592; bugfix on 882b389668067a29bb539d0f5bd5cb2f83b93012.

The bug is not present in any released versions of Tor.

13 years agofix some typos
Roger Dingledine [Mon, 3 Dec 2012 18:33:43 +0000 (13:33 -0500)] 
fix some typos

13 years agoMerge branch 'bug7013_take2_squashed'
Nick Mathewson [Wed, 28 Nov 2012 03:18:16 +0000 (22:18 -0500)] 
Merge branch 'bug7013_take2_squashed'

13 years agoIntroduce tor_addr_port_parse() and use it to parse ServerTransportListenAddr.
George Kadianakis [Tue, 27 Nov 2012 22:24:58 +0000 (00:24 +0200)] 
Introduce tor_addr_port_parse() and use it to parse ServerTransportListenAddr.

13 years agoAdd a torrc option to specify the bind address of managed proxies.
George Kadianakis [Tue, 30 Oct 2012 02:17:13 +0000 (04:17 +0200)] 
Add a torrc option to specify the bind address of managed proxies.

13 years agoUpdate to the November 2012 GeoIP database.
Karsten Loesing [Wed, 28 Nov 2012 02:26:52 +0000 (21:26 -0500)] 
Update to the November 2012 GeoIP database.

13 years agoAdd script to fix "A1" entries in geoip file.
Karsten Loesing [Wed, 28 Nov 2012 02:22:58 +0000 (21:22 -0500)] 
Add script to fix "A1" entries in geoip file.

Fixes #6266.

13 years agoMake sure that the error in ADDRMAP events is well-formed
Nick Mathewson [Fri, 23 Nov 2012 16:36:44 +0000 (11:36 -0500)] 
Make sure that the error in ADDRMAP events is well-formed

"error=Unable to launch resolve request" is not a nice thing to tell
the controller.  Bugfix on 0.2.0.19-alpha (c11c48fc).

13 years agoMinor documentation fix
Nick Mathewson [Fri, 23 Nov 2012 15:51:11 +0000 (10:51 -0500)] 
Minor documentation fix

13 years agoNote limitation of parse_rfc_1123_time
Nick Mathewson [Fri, 23 Nov 2012 15:06:16 +0000 (10:06 -0500)] 
Note limitation of parse_rfc_1123_time

RFC1123 suggests that we should handle two-year times, and a full
range of time zones, and other stuff too.  We don't.

13 years agoIn comments and logs, say "UTC" not "GMT"
Nick Mathewson [Fri, 23 Nov 2012 15:05:16 +0000 (10:05 -0500)] 
In comments and logs, say "UTC" not "GMT"

Fix for #6113.

Note that the RFC1123 times we generate still all say 'GMT'.  I'm
going to suggest this is not worth changing.

13 years agoRefer to RFC 4648 instead of the obsolete RFC 3548
Nick Mathewson [Fri, 23 Nov 2012 14:51:31 +0000 (09:51 -0500)] 
Refer to RFC 4648 instead of the obsolete RFC 3548

Affects comments only. For ticket 6849.

13 years agoforward-port the 0.2.3.25 changelog and release notes
Roger Dingledine [Tue, 20 Nov 2012 08:46:56 +0000 (03:46 -0500)] 
forward-port the 0.2.3.25 changelog and release notes

13 years agoMerge branch 'bug7493_redux'
Nick Mathewson [Sun, 18 Nov 2012 23:46:57 +0000 (18:46 -0500)] 
Merge branch 'bug7493_redux'

13 years agoInitialize ipv{4,6}_traffic_ok in entry_connection_new
Nick Mathewson [Sun, 18 Nov 2012 22:15:41 +0000 (17:15 -0500)] 
Initialize ipv{4,6}_traffic_ok in entry_connection_new

This one is necessary for sending BEGIN cells with sane flags when
self-testing a directory port.  All real entry connections were
getting their ipv{4,6}_traffic_ok flags set from their listeners, and
for begindir entry connections we didn't care, but for directory
self-testing, we had a problem.

Fixes at least one more case of 7493; if there are more lingering
cases of 7493, this might fix them too.

Bug not in any released version of Tor.

13 years agowhen counting available descs, say whether we're counting exits
Roger Dingledine [Fri, 16 Nov 2012 16:38:56 +0000 (11:38 -0500)] 
when counting available descs, say whether we're counting exits

13 years agoGive useful warning when both IPv4 and IPv6 are disabled on a socksport
Nick Mathewson [Fri, 16 Nov 2012 03:58:54 +0000 (22:58 -0500)] 
Give useful warning when both IPv4 and IPv6 are disabled on a socksport

13 years agoAllow IPv4 traffic on default and old-style-config SocksPorts.
Nick Mathewson [Fri, 16 Nov 2012 03:49:43 +0000 (22:49 -0500)] 
Allow IPv4 traffic on default and old-style-config SocksPorts.

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.

13 years agoMerge branch 'ipv6_exits'
Nick Mathewson [Thu, 15 Nov 2012 19:45:15 +0000 (14:45 -0500)] 
Merge branch 'ipv6_exits'

13 years agoSet IPv4/IPv6 flags correctly when being a SOCKS client
Nick Mathewson [Thu, 15 Nov 2012 18:00:19 +0000 (13:00 -0500)] 
Set IPv4/IPv6 flags correctly when being a SOCKS client

13 years agoRemove some XXXX commens in dns.c
Nick Mathewson [Thu, 15 Nov 2012 17:17:36 +0000 (12:17 -0500)] 
Remove some XXXX commens in dns.c

Previously, I was freaking out about passing an unspec address to
dns_found_answer() on an error, since I was using the address type to
determine whether the error was an error on an ipv4 address lookup or
on an ipv6 address lookup.  But now dns_found_answer() has a separate
orig_query_type argument to tell what kind of query it is, so there's
no need to freak out.

13 years agoFix up some comments in connection_edge.c
Nick Mathewson [Thu, 15 Nov 2012 17:17:30 +0000 (12:17 -0500)] 
Fix up some comments in connection_edge.c

13 years agoAdd a changes file for IPv6 exits
Nick Mathewson [Thu, 15 Nov 2012 04:35:55 +0000 (23:35 -0500)] 
Add a changes file for IPv6 exits

13 years agoAdd manual page entries for new IPv6-exits options
Nick Mathewson [Thu, 15 Nov 2012 04:35:13 +0000 (23:35 -0500)] 
Add manual page entries for new IPv6-exits options

13 years agoAdd another missing function doc
Nick Mathewson [Thu, 15 Nov 2012 03:55:23 +0000 (22:55 -0500)] 
Add another missing function doc

13 years agoInitial support for AAAA requests on DNSPort.
Nick Mathewson [Thu, 15 Nov 2012 03:29:08 +0000 (22:29 -0500)] 
Initial support for AAAA requests on DNSPort.

This is imperfect, since it sends back whatever we would send to
a socks RESOLVE request, when in reality we should send back whatever
was asked for.

13 years agoLet tor-resolve generate PTR requests for IPv6 addresses
Nick Mathewson [Thu, 15 Nov 2012 03:20:18 +0000 (22:20 -0500)] 
Let tor-resolve generate PTR requests for IPv6 addresses

13 years agoAccept reverse resolve requests for IPv6 addresses
Nick Mathewson [Thu, 15 Nov 2012 03:20:01 +0000 (22:20 -0500)] 
Accept reverse resolve requests for IPv6 addresses

13 years agoAdd IPv6 support to tor-resolve so it can hear about IPv6 answers
Nick Mathewson [Thu, 15 Nov 2012 03:07:18 +0000 (22:07 -0500)] 
Add IPv6 support to tor-resolve so it can hear about IPv6 answers

13 years agoMake DNS resolve requests work for IPv6
Nick Mathewson [Thu, 15 Nov 2012 03:06:13 +0000 (22:06 -0500)] 
Make DNS resolve requests work for IPv6

* If there's an IPv4 and an IPv6 address, return both in the resolved
  cell.
* Treat all resolve requests as permitting IPv6, since by the spec they're
  allowed to, and by the code that won't break anything.

13 years agoFix a bug in policy_is_reject_star() that was making IPv4 exits break
Nick Mathewson [Thu, 15 Nov 2012 01:51:41 +0000 (20:51 -0500)] 
Fix a bug in policy_is_reject_star() that was making IPv4 exits break

IPv4-only exits have an implicit "reject [::]/0", which was making
policy_is_reject_star() return 1 for them, making us refuse to do
hostname lookups.

This fix chanes policy_is_reject_star() to ask about which family we meant.

13 years agoAdd some missing doxygen for ipv6 exit code
Nick Mathewson [Wed, 14 Nov 2012 20:20:28 +0000 (15:20 -0500)] 
Add some missing doxygen for ipv6 exit code

13 years agoActually send back correctly-formed IPv6 CONNECTED cells
Nick Mathewson [Wed, 14 Nov 2012 15:48:58 +0000 (10:48 -0500)] 
Actually send back correctly-formed IPv6 CONNECTED cells

We had some old code to send back connected cells for IPv6 addresses,
but it was wrong.  Fortunately, it was also unreachable.

13 years agoRemove some unused defines in dns.c
Nick Mathewson [Wed, 14 Nov 2012 15:18:33 +0000 (10:18 -0500)] 
Remove some unused defines in dns.c

13 years agoRepair DNS NEXIST hijacking workaround
Nick Mathewson [Wed, 14 Nov 2012 15:14:23 +0000 (10:14 -0500)] 
Repair DNS NEXIST hijacking workaround

The code previously detected wildcarding and replaced wildcarded
answers with DNS_STATUS_FAILED_PERMANENT.  But that status variable
was no longer used!  Remove the status variable, and instead change
the value of 'result' in evdns_callback.

Thank goodness for compiler warnings. In this case,
unused-but-set-variable.

Thanks to Linus for finding this one.

13 years agoImplement a PreferIPv6 flag for SocksPorts
Nick Mathewson [Wed, 14 Nov 2012 15:09:06 +0000 (10:09 -0500)] 
Implement a PreferIPv6 flag for SocksPorts

13 years agoDefine a wrapper for evdns_base_resolve_ipv6 for systems w/o libevent 2
Nick Mathewson [Tue, 6 Nov 2012 19:30:30 +0000 (14:30 -0500)] 
Define a wrapper for evdns_base_resolve_ipv6 for systems w/o libevent 2

13 years agoMake address_is_invalid_destination recognize ipv6 addrs as valid.
Nick Mathewson [Tue, 6 Nov 2012 18:35:31 +0000 (13:35 -0500)] 
Make address_is_invalid_destination recognize ipv6 addrs as valid.

13 years agoActually generate microdescriptors with p6 lines.
Nick Mathewson [Tue, 6 Nov 2012 17:12:59 +0000 (12:12 -0500)] 
Actually generate microdescriptors with p6 lines.

13 years agoRemove a since-fixed XXX; improve a doxygen comment
Nick Mathewson [Tue, 6 Nov 2012 17:12:47 +0000 (12:12 -0500)] 
Remove a since-fixed XXX; improve a doxygen comment

13 years agoActually advertise IPv6 exit policies.
Nick Mathewson [Tue, 6 Nov 2012 16:29:41 +0000 (11:29 -0500)] 
Actually advertise IPv6 exit policies.

I have a theory that my tests will work better if the code I'm testing
isn't disabled.

13 years agoRevise the DNS subsystem to handle IPv6 exits.
Nick Mathewson [Mon, 5 Nov 2012 18:26:29 +0000 (13:26 -0500)] 
Revise the DNS subsystem to handle IPv6 exits.

Now, every cached_resolve_t can remember an IPv4 result *and* an IPv6
result.  As a light protection against timing-based distinguishers for
IPv6 users (and against complexity!), every forward request generates
an IPv4 *and* an IPv6 request, assuming that we're an IPv6 exit.  Once
we have answers or errors for both, we act accordingly.

This patch additionally makes some useful refactorings in the dns.c
code, though there is quite a bit more of useful refactoring that could
be done.

Additionally, have a new interface for the argument passed to the
evdns_callback function.  Previously, it was just the original address
we were resolving.  But it turns out that, on error, evdns doesn't
tell you the type of the query, so on a failure we didn't know whether
IPv4 or IPv6 queries were failing.

The new convention is to have the first byte of that argument include
the query type.  I've refactored the code a bit to make that simpler.

13 years agoChange signature of router_compare_to_my_exit_policy so dns can use it
Nick Mathewson [Mon, 5 Nov 2012 18:11:53 +0000 (13:11 -0500)] 
Change signature of router_compare_to_my_exit_policy so dns can use it

Also, fix the function so it actually looks at our ipv6 exit policy.

13 years agoWhitespace cleanup
Nick Mathewson [Thu, 1 Nov 2012 02:46:07 +0000 (22:46 -0400)] 
Whitespace cleanup

13 years agoReindent a block in dns.c
Nick Mathewson [Thu, 1 Nov 2012 02:43:56 +0000 (22:43 -0400)] 
Reindent a block in dns.c

13 years agoActually send BEGIN cell flags
Nick Mathewson [Thu, 1 Nov 2012 02:41:20 +0000 (22:41 -0400)] 
Actually send BEGIN cell flags

This uses advertised IPv6 ports as an implicit version check.

13 years agoWhen asking for a specific address type, others aren't acceptable
Nick Mathewson [Thu, 1 Nov 2012 02:40:55 +0000 (22:40 -0400)] 
When asking for a specific address type, others aren't acceptable

13 years agoI think it is correct to decorate these addresses.
Nick Mathewson [Thu, 1 Nov 2012 02:18:55 +0000 (22:18 -0400)] 
I think it is correct to decorate these addresses.

13 years agoBetter checking of exit policies for connections by hostname
Nick Mathewson [Thu, 1 Nov 2012 02:04:25 +0000 (22:04 -0400)] 
Better checking of exit policies for connections by hostname

13 years agoOnly send begin cell flags when we have some to send
Nick Mathewson [Thu, 1 Nov 2012 02:04:09 +0000 (22:04 -0400)] 
Only send begin cell flags when we have some to send

13 years agoNever support IPv6 traffic on a SOCKS4 connection.
Nick Mathewson [Thu, 1 Nov 2012 02:03:54 +0000 (22:03 -0400)] 
Never support IPv6 traffic on a SOCKS4 connection.

13 years agoAdd a function to set a tor_addr_t to a null address
Nick Mathewson [Thu, 1 Nov 2012 00:50:56 +0000 (20:50 -0400)] 
Add a function to set a tor_addr_t to a null address

13 years agoGet the client side of receiving an IPv6 address to work
Nick Mathewson [Wed, 31 Oct 2012 22:27:48 +0000 (18:27 -0400)] 
Get the client side of receiving an IPv6 address to work

This makes it so we can handle getting an IPv6 in the 3 different
formats we specified it for in RESOLVED cells,
END_STREAM_REASON_EXITPOLICY cells, and CONNECTED cells.

We don't cache IPv6 addresses yet, since proposal 205 isn't
implemented.

There's a refactored function for parsing connected cells; it has unit
tests.

13 years agoReject IPv4 or IPv6 addresses from the user depending on SOCKS settings
Nick Mathewson [Wed, 31 Oct 2012 15:26:00 +0000 (11:26 -0400)] 
Reject IPv4 or IPv6 addresses from the user depending on SOCKS settings

13 years agoRename ipv{4,6}_only to bind_ipv{4,6}_only
Nick Mathewson [Wed, 31 Oct 2012 15:12:28 +0000 (11:12 -0400)] 
Rename ipv{4,6}_only to bind_ipv{4,6}_only

This is to avoid confusion with the ipv{4,6}_traffic flags.

13 years agoAdd {No,}IPv{4,6}Traffic options to SOCKSPort
Nick Mathewson [Wed, 31 Oct 2012 15:08:38 +0000 (11:08 -0400)] 
Add {No,}IPv{4,6}Traffic options to SOCKSPort

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.

13 years agoMake DNS callback pass IPv6 answers to dns_answer_found
Nick Mathewson [Sat, 27 Oct 2012 20:34:49 +0000 (16:34 -0400)] 
Make DNS callback pass IPv6 answers to dns_answer_found

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.

13 years agoMake dns wildcarding checks work for ipv6
Nick Mathewson [Sat, 27 Oct 2012 20:07:25 +0000 (16:07 -0400)] 
Make dns wildcarding checks work for ipv6

13 years agoAdd an IPv6Exit configuration option
Nick Mathewson [Thu, 25 Oct 2012 04:20:41 +0000 (00:20 -0400)] 
Add an IPv6Exit configuration option

Don't advertise an IPv6 exit policy, or accept IPv6 exit requests,
if IPv6Exit is not true.

13 years agoSimplest version of server-side IPv6 support (no dns)
Nick Mathewson [Thu, 25 Oct 2012 03:45:24 +0000 (23:45 -0400)] 
Simplest version of server-side IPv6 support (no dns)

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.

13 years agoRecord, send, and receive flags in BEGIN cells
Nick Mathewson [Thu, 25 Oct 2012 03:39:28 +0000 (23:39 -0400)] 
Record, send, and receive flags in BEGIN cells

13 years agoAdd IPv6 support to compare_to_addr_to_node_policy
Nick Mathewson [Thu, 25 Oct 2012 03:05:44 +0000 (23:05 -0400)] 
Add IPv6 support to compare_to_addr_to_node_policy