summaryrefslogtreecommitdiff
path: root/src/or
AgeCommit message (Collapse)Author
2011-11-07Don't leak an extend_info_t in rend_client_any_intro_points_usableRobert Ransom
2011-11-03Fix a memleak when fetching descriptors for bridges in ExcludeNodes.George Kadianakis
2011-10-29Disable stats requiring geoip info if we have noneSebastian Hahn
In other parts of the code we will otherwise attempt to collect these statistics, and that will lead to crashes.
2011-10-28Discard all cells on a marked connectionNick Mathewson
Fix for bug 4299
2011-10-28Fix typo, spotted by tmpname0901. Thanks!Sebastian Hahn
2011-10-26Add option to give guard flag to relays without the CVE-2011-2768 fixRobert Ransom
This way, all of the DA operators can upgrade immediately, without nuking every client's set of entry guards as soon as a majority of them upgrade. Until enough guards have upgraded, a majority of dirauths should set this config option so that there are still enough guards in the network. After a few days pass, all dirauths should use the default.
2011-10-26Don't give the Guard flag to relays without the CVE-2011-2768 fixRobert Ransom
2011-10-26Make tor_version_same_series non-staticRobert Ransom
2011-10-26Merge branch 'maint-0.2.1_secfix' into maint-0.2.2_secfixSebastian Hahn
Conflicts: src/or/connection_or.c
2011-10-26Reject create cells on outgoing OR connections from bridgesRobert Ransom
2011-10-26Mark which OR connections are outgoingRobert Ransom
2011-10-26Don't use any OR connection which sent us a CREATE_FAST cell for an EXTENDRobert Ransom
Fix suggested by Nick Mathewson.
2011-10-26manually backport a5232e0c4cRoger Dingledine
2011-10-26stop asserting at bootRoger Dingledine
The patch for 3228 made us try to run init_keys() before we had loaded our state file, resulting in an assert inside init_keys. We had moved it too early in the function. Now it's later in the function, but still above the accounting calls.
2011-10-26Reinit keys at the start of options_act().Nick Mathewson
Previously we did this nearer to the end (in the old_options && transition_affects_workers() block). But other stuff cares about keys being consistent with options... particularly anything which tries to access a key, which can die in assert_identity_keys_ok(). Fixes bug 3228; bugfix on 0.2.2.18-alpha. Conflicts: src/or/config.c
2011-10-26Don't crash a bridge authority on SIGHUP if it's not in the consensusRobert Ransom
Fixes bug 2572.
2011-10-26Fix assert for relay/bridge state changeSebastian Hahn
When we added support for separate client tls certs on bridges in a2bb0bfdd5 we forgot to correctly initialize this when changing from relay to bridge or vice versa while Tor is running. Fix that by always initializing keys when the state changes. Fixes bug 2433. Conflicts: src/or/config.c
2011-10-26Merge remote-tracking branch 'public/cov_run224_022' into maint-0.2.2Nick Mathewson
2011-10-26Don't crash when accountingmax is set in non-server TorsNick Mathewson
We use a hash of the identity key to seed a prng to tell when an accounting period should end. But thanks to the bug998 changes, clients no longer have server-identity keys to use as a long-term seed in accounting calculations. In any case, their identity keys (as used in TLS) were never never fixed. So we can just set the wakeup time from a random seed instead there. Still open is whether everybody should be random. This patch fixes bug 2235, which was introduced in 0.2.2.18-alpha. Diagnosed with help from boboper on irc.
2011-10-26Properly refcount client_identity_keySebastian Hahn
In a2bb0bf we started using a separate client identity key. When we are in "public server mode" (that means not a bridge) we will use the same key. Reusing the key without doing the proper refcounting leads to a segfault on cleanup during shutdown. Fix that. Also introduce an assert that triggers if our refcount falls below 0. That should never happen.
2011-10-26Add some asserts to get_{tlsclient|server}_identity_keyNick Mathewson
We now require that: - Only actual servers should ever call get_server_identity_key - If you're being a client or bridge, the client and server keys should differ. - If you're being a public relay, the client and server keys should be the same.
2011-10-26Rename get_client_identity_key to get_tlsclient_identity_keyNick Mathewson
2011-10-26Maintain separate server and client identity keys when appropriate.Robert Ransom
Fixes a bug described in ticket #988. Conflicts: src/or/main.c src/or/router.c
2011-10-26Maintain separate server and client TLS contexts.Robert Ransom
Fixes bug #988. Conflicts: src/or/main.c src/or/router.c
2011-10-26Refactor tor_tls_context_new:Robert Ransom
* Make tor_tls_context_new internal to tortls.c, and return the new tor_tls_context_t from it. * Add a public tor_tls_context_init wrapper function to replace it. Conflicts: src/or/main.c src/or/router.c
2011-10-26Add public_server_mode function.Robert Ransom
2011-10-20Merge remote-tracking branch 'rransom-tor/bug4251-022' into maint-0.2.2Nick Mathewson
2011-10-19Fix crash when changing node restrictions with DNS lookup in progressNick Mathewson
Fixes bug 4259, bugfix on 0.2.2.25-alpha. Bugfix by "Tey'". Original message by submitter: Changing nodes restrictions using a controller while Tor is doing DNS resolution could makes Tor crashes (on WinXP at least). The problem can be repeated by trying to reach a non-existent domain using Tor: curl --socks4a 127.0.0.1:9050 inexistantdomain.ext .. and changing the ExitNodes parameter through the control port before Tor returns a DNS resolution error (of course, the following command won't work directly if the control port is password protected): echo SETCONF ExitNodes=TinyTurtle | nc -v 127.0.0.1 9051 Using a non-existent domain is needed to repeat the issue so that Tor takes a few seconds for resolving the domain (which allows us to change the configuration). Tor will crash while processing the configuration change. The bug is located in the addressmap_clear_excluded_trackexithosts method which iterates over the entries of the addresses map in order to check whether the changes made to the configuration will impact those entries. When a DNS resolving is in progress, the new_adress field of the associated entry will be set to NULL. The method doesn't expect this field to be NULL, hence the crash.
2011-10-18Free rend_data and intro_key when extra intro circs become general-purposeRobert Ransom
2011-10-10Update documentation comment for rend_client_reextend_intro_circuitRobert Ransom
One of its callers assumes a non-zero result indicates a permanent failure (i.e. the current attempt to connect to this HS either has failed or is doomed). The other caller only requires that this function's result never equal -2. Bug reported by Sebastian Hahn.
2011-10-10Don't launch a useless circuit in rend_client_reextend_intro_circuitRobert Ransom
Fixes bug 4212. Bug reported by katmagic and found by Sebastian.
2011-10-07Merge remote-tracking branch 'karsten/feature3951' into maint-0.2.2Nick Mathewson
2011-10-07Avoid running DNS self-tests if we're operating as a bridgewarms0x
2011-10-06Check return of init_keys() ip_address_changed: fix Coverity CID 484Nick Mathewson
2011-10-05Turn on directory request statistics by default.Karsten Loesing
Change the default values for collecting directory request statistics and inlcuding them in extra-info descriptors to 1. Don't break if we are configured to collect directory request or entry statistics and don't have a GeoIP database. Instead, print out a notice and skip initializing the affected statistics code. This is the cherry-picked 499661524b0a572303087af721325608dd91f7ce.
2011-09-28bridges should use create_fast cells for their own circuitsRoger Dingledine
fixes bug 4124, as noticed in bug 4115
2011-09-28bug 4115: make bridges use begindir for their dir fetchesRoger Dingledine
removes another avenue for enumerating bridges.
2011-09-24trivial whitespace changes, take twoRoger Dingledine
2011-09-24Trivial whitespace fixesNick Mathewson
2011-09-24Ticket #4063 - change circuit build timeout log entries from NOTICE to INFOTom Lowenthal
2011-09-13Merge branch 'maint-0.2.1' into maint-0.2.2Roger Dingledine
Conflicts: src/or/main.c src/or/router.c
2011-09-13Generate our ssl session certs with a plausible lifetimeRoger Dingledine
Nobody but Tor uses certs on the wire with 2 hour lifetimes, and it makes us stand out. Resolves ticket 4014.
2011-09-10Demote 'INTRODUCE2 cell is too {old,new}' message to info levelRobert Ransom
2011-09-10Demote HS 'replay detected' log message for DH public keys to info levelRobert Ransom
2011-09-10Describe rend_service_descriptor_t more completelyRobert Ransom
2011-09-10Describe rend_intro_point_t more completelyRobert Ransom
2011-09-10Fix log message typo.Robert Ransom
2011-09-09Merge remote-tracking branch 'public/gcc-295-fix' into maint-0.2.2Nick Mathewson
2011-09-09Merge remote-tracking branch 'public/enhance_replay_detection' into maint-0.2.2Nick Mathewson
2011-09-09Check for replays in PK-encrypted part of intro cell, not just in the g^x valueNick Mathewson