summaryrefslogtreecommitdiff
path: root/src/or
AgeCommit message (Collapse)Author
2010-02-27Update Tor Project copyright yearsNick Mathewson
2010-02-27Properly handle non-terminated stringsSebastian Hahn
Treat strings returned from signed_descriptor_get_body_impl() as not NUL-terminated. Since the length of the strings is available, this is not a big problem. Discovered by rieo.
2010-02-26Proper NULL checking in circuit_list_path_impl()Sebastian Hahn
Another dereference-then-NULL-check sequence. No reports of this bug triggered in the wild. Fixes bugreport 1256. Thanks to ekir for discovering and reporting this bug.
2010-02-26Proper NULL checking for hsdesc publicationSebastian Hahn
Fix a dereference-then-NULL-check sequence. This bug wasn't triggered in the wild, but we should fix it anyways in case it ever happens. Also make sure users get a note about this being a bug when they see it in their log. Thanks to ekir for discovering and reporting this bug.
2010-02-12new dannenberg address; make moria2's demise official.Roger Dingledine
2010-02-08Don't use gethostbyname() in resolve_my_address()Sebastian Hahn
Tor has tor_lookup_hostname(), which prefers ipv4 addresses automatically. Bug 1244 occured because gethostbyname() returned an ipv6 address, which Tor cannot handle currently. Fixes bug 1244; bugfix on 0.0.2pre25. Reported by Mike Mestnik.
2010-02-07lookup_last_hid_serv_request() could overflow and leak memorySebastian Hahn
The problem was that we didn't allocate enough memory on 32-bit platforms with 64-bit time_t. The memory leak occured every time we fetched a hidden service descriptor we've fetched before.
2010-01-24Add --enable-static-(openssl|libevent) optionsNick Mathewson
These options only work when using --with-(openssl|libevent)-dir to explicitly pick a libevent or openssl location.
2010-01-23Fix two rare leaks spotted by rieo.Nick Mathewson
2010-01-19spread guard rotation out throughout the monthRoger Dingledine
2010-01-19weight guard choice by bandwidth; discard old guardsRoger Dingledine
2010-01-19downgrade a warningRoger Dingledine
this case can now legitimately happen, if you have a cached v2 status from moria1, and you run with the new list of dirservers that's missing the old moria1. it's nothing to worry about; the file will die off in a month or two.
2010-01-19rotate keys for moria1 and gabelmooRoger Dingledine
2010-01-17stop bridge authorities from leaking their bridge listRoger Dingledine
2009-11-23fix race condition that can cause crashes at client or exit relayRoger Dingledine
Avoid crashing if the client is trying to upload many bytes and the circuit gets torn down at the same time, or if the flip side happens on the exit relay. Bugfix on 0.2.0.1-alpha; fixes bug 1150.
2009-11-05Make Tor work with OpenSSL 0.9.8lNick Mathewson
To fix a major security problem related to incorrect use of SSL/TLS renegotiation, OpenSSL has turned off renegotiation by default. We are not affected by this security problem, however, since we do renegotiation right. (Specifically, we never treat a renegotiated credential as authenticating previous communication.) Nevertheless, OpenSSL's new behavior requires us to explicitly turn renegotiation back on in order to get our protocol working again. Amusingly, this is not so simple as "set the flag when you create the SSL object" , since calling connect or accept seems to clear the flags. For belt-and-suspenders purposes, we clear the flag once the Tor handshake is done. There's no way to exploit a second handshake either, but we might as well not allow it.
2009-10-26Fix an apparently bogus check; fortunately, it seems to be untriggered.Nick Mathewson
2009-10-26Fix two memory leaks found by Coverity (CIDs 417-418)Nick Mathewson
The first happens on an error case when a controller wants an impossible directory object. The second happens when we can't write our fingerprint file.
2009-10-26Add missing break statements for Coverity CIDs #406,407.Nick Mathewson
The code for these was super-wrong, but will only break things when we reset an option on a platform where sizeof(time_t) is different from sizeof(int).
2009-10-26Only send the if_modified_since header for a v3 consensus.Nick Mathewson
Spotted by xmux; bugfix on 0.2.0.10-alpha. (Bug introduced by 20b10859)
2009-10-15Move moria1 and Tonga to alternate IP addresses.Roger Dingledine
2009-10-14read the "circwindow" parameter from the consensusRoger Dingledine
backport of c43859c5c12361fad505 backport of 0d13e0ed145f4c1b5bd1
2009-10-14Code to parse and access network parameters.Nick Mathewson
Partial backport of 381766ce4b1145460. Partial backport of 56c6d78520a98fb64.
2009-09-20Revert "Teach connection_ap_can_use_exit about Exclude*Nodes"Roger Dingledine
This reverts commit dc3229313b6d2aaff437c6fc7fa55ead4409e93d. We're going to do this more thoroughly in 0.2.2.x, and not in maint-0.2.1.
2009-09-16Merge commit 'karsten/fix-1073' into maint-0.2.1Nick Mathewson
2009-09-16Teach connection_ap_can_use_exit about Exclude*NodesSebastian Hahn
To further attempt to fix bug 1090, make sure connection_ap_can_use_exit always returns 0 when the chosen exit router is excluded. This should fix bug1090.
2009-09-15Merge commit 'sebastian/memleak' into maint-0.2.1Nick Mathewson
2009-09-16make some bug 1090 warnings go awaySebastian Hahn
When we excluded some Exits, we were sometimes warning the user that we were going to use the node regardless. Many of those warnings were in fact bogus, because the relay in question was not used to connect to the outside world. Based on patch by Rotor, thanks!
2009-09-14Fix a memory leak when parsing a nsSebastian Hahn
Adding the same vote to a networkstatus consensus leads to a memory leak on the client side. Fix that by only using the first vote from any given voter, and ignoring the others. Problem found by Rotor, who also helped writing the patch. Thanks!
2009-09-02Fix obscure 64-bit big-endian hidserv bugRoger Dingledine
Fix an obscure bug where hidden services on 64-bit big-endian systems might mis-read the timestamp in v3 introduce cells, and refuse to connect back to the client. Discovered by "rotor". Bugfix on 0.2.1.6-alpha.
2009-09-01Fix compile warnings on Snow LeopardSebastian Hahn
Big thanks to nickm and arma for helping me with this!
2009-08-31Add getinfo accepted-server-descriptor. Clean spec.Roger Dingledine
Add a "getinfo status/accepted-server-descriptor" controller command, which is the recommended way for controllers to learn whether our server descriptor has been successfully received by at least on directory authority. Un-recommend good-server-descriptor getinfo and status events until we have a better design for them.
2009-09-01Reduce log level for bug case that we now know really exists.Karsten Loesing
2009-08-31Only send reachability status events on overall success/failureRoger Dingledine
We were telling the controller about CHECKING_REACHABILITY and REACHABILITY_FAILED status events whenever we launch a testing circuit or notice that one has failed. Instead, only tell the controller when we want to inform the user of overall success or overall failure. Bugfix on 0.1.2.6-alpha. Fixes bug 1075. Reported by SwissTorExit.
2009-08-29Avoid segfault when accessing hidden service.Karsten Loesing
2009-08-28Only send netinfo clock_skew to controller if an authority told us soRoger Dingledine
We were triggering a CLOCK_SKEW controller status event whenever we connect via the v2 connection protocol to any relay that has a wrong clock. Instead, we should only inform the controller when it's a trusted authority that claims our clock is wrong. Bugfix on 0.2.0.20-rc; starts to fix bug 1074. Reported by SwissTorExit.
2009-08-11Fix possible segmentation fault on directory authorities.Karsten Loesing
The more verbose logs that were added in ee58153 also include a string that might not have been initialized. This can lead to segfaults, e.g., when setting up private Tor networks. Initialize this string with NULL.
2009-08-10Send sendmes when we're down 100 cells, not 101.Roger Dingledine
Send circuit or stream sendme cells when our window has decreased by 100 cells, not when it has decreased by 101 cells. Bug uncovered by Karsten when testing the "reduce circuit window" performance patch. Bugfix on the 54th commit on Tor -- from July 2002, before the release of Tor 0.0.0. This is the new winner of the oldest-bug prize.
2009-08-10Set up urras as the seventh v3 directory authority.Roger Dingledine
2009-07-30Cleaner fix for get_effective_bw(rate|burst), with comment on why it is ok.Nick Mathewson
2009-07-28Fix a signed/unsigned compile warning in 0.2.1.19Roger Dingledine
2009-07-27Changing MaxAdvertisedBW may not need a republishSebastian Hahn
Relays no longer publish a new server descriptor if they change their MaxAdvertisedBandwidth config option but it doesn't end up changing their advertised bandwidth numbers. Bugfix on 0.2.0.28-rc; fixes bug 1026. Patch from Sebastian.
2009-07-27Write fingerprint to file and log without spacesRoger Dingledine
Now it will look like the fingerprints in our bridges documentation, and confuse fewer users.
2009-07-27Don't leak memory if we get too many create cellsRoger Dingledine
Specifically, every time we get a create cell but we have so many already queued that we refuse it. Bugfix on 0.2.0.19-alpha; fixes bug 1034. Reported by BarkerJr.
2009-07-27three hacks to workaround bug 1038Roger Dingledine
The problem is that clients and hidden services are receiving relay_early cells, and they tear down the circuit. Hack #1 is for rendezvous points to rewrite relay_early cells to relay cells. That way there are never any incoming relay_early cells. Hack #2 is for clients and hidden services to never send a relay_early cell on an established rendezvous circuit. That works around rendezvous points that haven't upgraded yet. Hack #3 is for clients and hidden services to not tear down the circuit when they receive an inbound relay_early cell. We already refuse extend cells at clients.
2009-07-07Make "Invalid onion hostname" msg respect SafeLogging.Nick Mathewson
Patch by Roger; fixes bug 1027.
2009-07-02Make an attempt to fix bug 1024.Karsten Loesing
The internal error "could not find intro key" occurs when we want to send an INTRODUCE1 cell over a recently finished introduction circuit and think we built the introduction circuit with a v2 hidden service descriptor, but cannot find the introduction key in our descriptor. My first guess how we can end up in this situation is that we are wrong in thinking that we built the introduction circuit based on a v2 hidden service descriptor. This patch checks if we have a v0 descriptor, too, and uses that instead.
2009-06-30another minor patch to add to 0.2.1.xRoger Dingledine
o Minor features: - If we're a relay and we change our IP address, be more verbose about the reason that made us change. Should help track down further bugs for relays on dynamic IP addresses.
2009-06-30the third piece of bug 969 fixingRoger Dingledine
when we write out our stability info, detect relays that have slipped through the cracks. log about them and correct the problem. if we continue to see a lot of these over time, it means there's another spot where relays fall out of the routerlist without being marked as unreachable.
2009-06-30the second piece of bug 969 fixingRoger Dingledine
whenever we remove a relay from the main routerlist, tell the rephist module that it's no longer running.