summaryrefslogtreecommitdiff
path: root/src
AgeCommit message (Collapse)Author
2011-12-02Merge remote-tracking branch 'sebastian/coverity_strlen_fp'Nick Mathewson
2011-12-02Work around a false positive in Coverity.Sebastian Hahn
Fixes cid 501 and 502.
2011-12-02Appease check-spacesSebastian Hahn
2011-12-01Don't segfault when checking whether a not-yet-used intro point should expireRobert Ransom
Found by katmagic. Bugfix on the #3460 branch, not yet in any release.
2011-12-01Fix warnings.Linus Nordberg
Remove environ declaration. Use ORPort->value. And it's a string. Make tmp a char *.
2011-11-30Add an initializer to appease older gccNick Mathewson
2011-11-30Only define set_buffer_lengths_to_zero if bufferevents are enabledMurdoch@cl.cam.ac.uk
Otherwise, on Windows, gcc will warn about the function being unused
2011-11-30Merge remote-tracking branch 'sjmurdoch/bug1983-port-tor-fw-helper-to-windows'Nick Mathewson
2011-11-30Make file descriptor type an unsigned integerSteven Murdoch
This avoids a warning from gcc (comparison between signed and unsigned integer expressions [-Werror=sign-compare]), under Windows
2011-11-30Merge branch 'feature2553-v4-rebased'Nick Mathewson
2011-11-30Add some more documentationArturo Filastò
2011-11-30Turn off LearnCircuitBuildTimeout when tor2web mode is onRobert Ransom
2011-11-30Add ifdefs to disable assertion in connection_ap_handshake_send_beginRobert Ransom
2011-11-30Add ifdefs to disable #3332 assertionsRobert Ransom
2011-11-30Use single-hop intro and rend circuits when in tor2web modeRobert Ransom
2011-11-30Perform single-hop HS desc fetches when in tor2web modeRobert Ransom
2011-11-30Don't allow tor2web-mode Tors to connect to non-HS addressesRobert Ransom
The client's anonymity when accessing a non-HS address in tor2web-mode would be easily nuked by inserting an inline image with a .onion URL, so don't even pretend to access non-HS addresses through Tor.
2011-11-30Warn loudly on startup and SIGHUP if Tor is built for a non-anonymous modeRobert Ransom
2011-11-30Add a compile-time #define to control whether Tor runs in 'tor2web mode'Robert Ransom
The Tor2webMode torrc option is still required to run a Tor client in 'tor2web mode', but now it can't be turned on at runtime in a normal build of Tor. (And a tor2web build of Tor can't be used as a normal Tor client, so we don't have to worry as much about someone distributing packages with this particular pistol accessible to normal users.)
2011-11-30Support NAT-PMP on WindowsSteven Murdoch
- Link in libws32 and libiphlpapi, needed for libnatpmp (both in ./configure and when compiling tor-fw-helper-natpmp.c) - Define STATICLIB under Windows, to allow tor-fw-helper-natpmp.c to link - Don't include arpa/inet.h which isn't present in Mingw32 and doesn't appear to be needed on either Windows or MacOS X
2011-11-30Merge branch 'bug933_nm_rebased_v2'Nick Mathewson
Conflicts: src/test/test.c
2011-11-30Tweak addressmap_rewrite a little moreNick Mathewson
This resolves a loop warning on "MapAddress *.example.com example.com", makes the rewrite log messages correct, and fixes the behavior of "MapAddress *.a *.b" when just given "a" as an input.
2011-11-30Fix an issue in my mapaddress domains code spotted by armaNick Mathewson
MapAddress *.torproject.org torproject.org would have been interpreted as a map from a domain to itself, and would have cleared the mapping. Now we require not only a match of domains, but of wildcards.
2011-11-30Add some post-comma spaces to please armaNick Mathewson
Incidentally, we've got 30969 lines in master with a comma in them, of which 1995 have a comma followed by a non-newline, non-space character. So about 93% of our commas are right, but we have a substantial number of "crowded" lines.
2011-11-30Forbid remapping of *Nick Mathewson
It might be nice to support this someday, but for now it would fail with an infinite remap cycle. (If I say "remap * *.foo.exit", then example.com -> example.com.foo.exit -> example.com.foo.exit.foo.exit -> example.com.foo.exit.foo.exit.foo.exit -> ...)
2011-11-30Refactor addressmap_match_superdomains and representation of wildcardsNick Mathewson
In this new representation for wildcarded addresses, there are no longer any 'magic addresses': rather, "a.b c.d", "*.a.b c.d" and "*.a.b *.c.d" are all represented by a mapping from "a.b" to "c.d". we now distinguish them by setting bits in the addressmap_entry_t structure, where src_wildcard is set if the source address had a wildcard, and dst_wildcard is set if the target address had a wildcard. This lets the case where "*.a.b *.c.d" or "*.a.b c.d" remap the address "a.b" get handled trivially, and lets us simplify and improve the addressmap_match_superdomains implementation: we can now have it run in O(parts of address) rather than O(entries in addressmap).
2011-11-30No new "LEGACY" tests allowed.Nick Mathewson
2011-11-30Fix compilation: get_options() now returns constNick Mathewson
2011-11-30Address nickm's comments at ↵Robert Hogan
https://trac.torproject.org/projects/tor/ticket/933#comment:8 1. Only allow '*.' in MapAddress expressions. Ignore '*ample.com' and '.example.com'. This has resulted in a slight refactoring of config_register_addressmaps. 2. Add some more detail to the man page entry for AddressMap. 3. Fix initialization of a pointer to NULL rather than 0. 4. Update the unit tests to cater for the changes in 1 and test more explicitly for recursive mapping.
2011-11-30Address nickm's comments at ↵Robert Hogan
https://trac.torproject.org/projects/tor/ticket/933#comment:4 1. Implement the following mapping rules: MapAddress a.b.c d.e.f # This is what we have now MapAddress .a.b.c d.e.f # Replaces any address ending with .a.b.c with d.e.f MapAddress .a.b.c .d.e.f # Replaces the .a.b.c at the end of any addr with .d.e.f (Note that 'a.b.c .d.e.f' is invalid, and will be rejected.) 2. Add tests for the new rules. 3. Allow proper wildcard annotation, i.e. '*.d.e' '.d.e' will still work. 4. Update addressmap_entry_t with an is_wildcard member.
2011-11-30bug933 - Match against super-domains in MapAddressRobert Hogan
Allow MapAddress to handle directives such as: MapAddress .torproject.org .torserver.exit MapAddress .org 1.1.1.1 Add tests for addressmap_rewrite.
2011-11-30Free the global DH parameters in crypto_global_cleanup().George Kadianakis
2011-11-30Move crypto_global_cleanup() to the bottom of crypto.c.George Kadianakis
2011-11-30Merge remote-tracking branch 'origin/maint-0.2.2'Nick Mathewson
2011-11-30Fix a memory leak in error path of my default-torrc codeNick Mathewson
Fixes Coverity CID # 500
2011-11-30Resolve a resource leak in test_util_split_linesNick Mathewson
Fixes coverity CID # 488
2011-11-30appease "make check-spaces"Nick Mathewson
2011-11-30Merge branch 'ipv6_bridges_squashed'Nick Mathewson
2011-11-30Rename one more recalcitrant function.Nick Mathewson
2011-11-30Warn user about client ignoring non-preferred IP address for a bridge.Linus Nordberg
2011-11-30Whitespace changes.Linus Nordberg
2011-11-30Make the router_get_*_orport interface consistent with node_*.Linus Nordberg
2011-11-30Make router_get_{prim,alt,pref}_addr_port take tor_addr_port_t *.Linus Nordberg
Rename to *_orport for consistency with node_*.
2011-11-30Merge node_get_{prim,pref,pref_ipv6}_addr with their _orport counterparts.Linus Nordberg
This keeps the IP address and TCP for a given OR port together, reducing the risk of using an address for one address family with a port of another. Make node_get_addr() a wrapper function for compatibility.
2011-11-30Use correct address family where necessary for bridges on IPv6.Linus Nordberg
2011-11-30Use the preferred address and port when initiating a connection.Linus Nordberg
This is not as conservative as we could do it, f.ex. by looking at the connection and only do this for connections to bridges. A non-bridge should never have anything else than its primary IPv4 address set though, so I think this is safe.
2011-11-30Take IPv6 into account when rewriting routerinfo for a bridge and maintain ↵Linus Nordberg
ipv6_preferred. Don't touch the string representation in routerinfo_t->address. Also, set or clear the routerinfo_t->ipv6_preferred flag based on the address family of the bridge.
2011-11-30Use preferred address when looking for bridges by routerinfo_t.Linus Nordberg
This should be safe to do for all uses of get_configured_bridge_by_routerinfo().
2011-11-30Clarify function documentation.Linus Nordberg
2011-11-30First chunk of support for bridges on IPv6Linus Nordberg
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.