| Commit message (Collapse) | Author | Age |
|
|
|
|
|
|
|
|
| |
IPv6 address.
last_guessed_ip becomes a tor_addr_t.
Most parts of router_new_address_suggestion() learns
about IPv6 (resolve_my_address() is still IPv4 only).
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
Comments below focus on changes, see diff for added code.
New type tor_addr_port_t holding an IP address and a TCP/UDP port.
New flag in routerinfo_t, ipv6_preferred. This should go in the
node_t instead but not now.
Replace node_get_addr() with
- node_get_prim_addr() for primary address, i.e. IPv4 for now
- node_get_pref_addr() for preferred address, IPv4 or IPv6.
Rename node_get_addr_ipv4h() node_get_prim_addr_ipv4h() for
consistency. The primary address will not allways be an IPv4 address.
Same for node_get_orport() -> node_get_prim_orport().
Rewrite node_is_a_configured_bridge() to take all OR ports into account.
Extend argument list to extend_info_from_node and
extend_info_from_router with a flag indicating if we want to use the
routers primary address or the preferred address. Use the preferred
address in as few situtations as possible for allowing clients to
connect to bridges over IPv6.
|
|
|
|
|
| |
We're using it incorrectly in many cases, and it doesn't help as far as
we know.
|
|
|
|
|
|
| |
It's too risky to have a function where if you leave one parameter
NULL, it splits up address:port strings, but if you set it, it does
hostname resolution.
|
|
|
|
|
|
|
|
|
|
| |
Under the new convention, having a tor_addr.*lookup function that
doesn't do hostname resolution is too close for comfort.
I used this script here, and have made no other changes.
s/tor_addr_parse_reverse_lookup_name/tor_addr_parse_PTR_name/g;
s/tor_addr_to_reverse_lookup_name/tor_addr_to_PTR_name/g;
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
Now let's have "lookup" indicate that there can be a hostname
resolution, and "parse" indicate that there wasn't. Previously, we
had one "lookup" function that did resolution; four "parse" functions,
half of which did resolution; and a "from_str()" function that didn't
do resolution. That's confusing and error-prone!
The code changes in this commit are exactly the result of this perl
script, run under "perl -p -i.bak" :
s/tor_addr_port_parse/tor_addr_port_lookup/g;
s/parse_addr_port(?=[^_])/addr_port_lookup/g;
s/tor_addr_from_str/tor_addr_parse/g;
This patch leaves aton and pton alone: their naming convention and
behavior is is determined by the sockets API.
More renaming may be needed.
|
|\
| |
| |
| |
| |
| |
| | |
Conflicts:
src/or/config.c
src/or/dirserv.c
src/or/or.h
|
| |
| |
| |
| |
| | |
It does what it says on the tin. It turns out I'll want this in a couple
of places.
|
|\|
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| | |
Conflicts:
src/common/address.c
src/common/compat_libevent.c
src/common/memarea.c
src/common/util.h
src/or/buffers.c
src/or/circuitbuild.c
src/or/circuituse.c
src/or/connection.c
src/or/directory.c
src/or/networkstatus.c
src/or/or.h
src/or/routerlist.c
|
|\|
| |
| |
| |
| |
| |
| | |
Trivial Conflicts in
src/common/crypto.c
src/or/main.h
src/or/or.h
|
| |
| |
| |
| | |
About 860 doxygen-less things remain in 0.2.2
|
|\| |
|
| |\
| | |
| | |
| | |
| | |
| | | |
Conflicts:
src/common/test.h
src/or/test.c
|
| | | |
|
|\ \ \ |
|
| |/ /
| | |
| | |
| | | |
but don't refactor the ones that look messy
|
| | | |
|
|/ / |
|
|\|
| |
| |
| |
| |
| | |
Conflicts:
src/common/test.h
src/or/test.c
|
| | |
|
| | |
|
| |
| |
| |
| |
| |
| |
| |
| | |
The src and dest of a memcpy() call aren't supposed to overlap,
but we were sometimes calling tor_addr_copy() as a no-op.
Also, tor_addr_assign was a redundant copy of tor_addr_copy(); this patch
removes it.
|
|/ |
|
|
|
|
|
|
|
|
| |
The subversion $Id$ fields made every commit force a rebuild of
whatever file got committed. They were not actually useful for
telling the version of Tor files in the wild.
svn:r17867
|
|
|
|
|
|
| |
not to collide with any system headers. This tripped us up on Android.
svn:r17805
|
|
|
|
|
|
| |
at the tor_addr_t representation.
svn:r17790
|
|
|
|
| |
svn:r17771
|
|
|
|
| |
svn:r17734
|
|
|
|
|
|
| |
comments so that they will get recognized as doxygen.
svn:r17729
|
|
|
|
|
|
| |
code that does it elsewhere. Incidentally, this lets exit servers answer requests for ip6.arpa addresses.
svn:r17707
|
|
|
|
| |
svn:r16474
|
|
|
|
|
|
|
| |
Make tor_addr_from_sockaddr also give away the port in a useful format
svn:r16458
|
|
|
|
|
|
|
| |
Initial conversion of uint32_t addr to tor_addr_t addr in connection_t and related types. Most of the Tor wire formats using these new types are in, but the code to generate and use it is not. This is a big patch. Let me know what it breaks for you.
svn:r16435
|
|
|
|
|
|
|
| |
More test coverage for tor_addr_t; fix a couple of bugs.
svn:r16234
|
|
|
|
|
|
|
| |
Tor_addr_compare did a semantic comparison, such that ::1.2.3.4 and 1.2.3.4 were "equal". we sometimes need an exact comparison. Add a feature to do that.
svn:r16210
|
|
Split out the address manipulation functions from compat and util: they were about 21% of the total of those, and spread out too much.
svn:r16208
|