aboutsummaryrefslogtreecommitdiff
path: root/src/or
AgeCommit message (Collapse)Author
2010-12-15Make payloads into uint8_t.Nick Mathewson
This will avoid some signed/unsigned assignment-related bugs.
2010-11-23Use S_CASE for ehostunreach, not E_CASE. Partial backport of 69deb22f. Fixes ↵Nick Mathewson
0.2.1 compilation on windows
2010-11-12Disable logging to control port connections in buf_shrink_freelists.Robert Ransom
If buf_shrink_freelists calls log_warn for some reason, we don't want the log call itself to throw buf_shrink_freelists further off the rails.
2010-11-12Move the original log_info call out of the core of buf_shrink_freelists.Robert Ransom
Sending a log message to a control port can cause Tor to allocate a buffer, thereby changing the length of the freelist behind buf_shrink_freelists's back, thereby causing an assertion to fail. Fixes bug #1125.
2010-11-11let unpublished bridges learn their ip address tooRoger Dingledine
2010-11-10Enforce multiplicity rules when parsing annotations.Nick Mathewson
We would never actually enforce multiplicity rules when parsing annotations, since the counts array never got entries added to it for annotations in the token list that got added by earlier calls to tokenize_string. Found by piebeer.
2010-11-10Fix a bug where seting allow_annotations==0 only ignores annotations, but ↵Nick Mathewson
does not block them
2010-09-28actually retry bridges when your network goes awayRoger Dingledine
2010-09-08Remove a needless keep_open_until_flushedNick Mathewson
2010-09-03Close a non-open OR connection *only* after KeepalivePeriod.Nick Mathewson
When we introduced the code to close non-open OR connections after KeepalivePeriod had passed, we replaced some code that said if (!connection_is_open(conn)) { /* let it keep handshaking forever */ } else if (do other tests here) { ... with new code that said if (!connection_is_open(conn) && past_keepalive) { /* let it keep handshaking forever */ } else if (do other tests here) { ... This was a mistake, since it made all the other tests start applying to non-open connections, thus causing bug 1840, where non-open connections get closed way early. Fixes bug 1840. Bugfix on 0.2.1.26 (commit 67b38d50).
2010-08-18Backport END_STREAM_REASON_NOROUTE for client use.Sebastian Hahn
(Partial backport of 150ed553dfce9, 161b275028e90, and 4c948ffd6.)
2010-08-17Scale CONSENSUS_MIN_SECONDS_BEFORE_CACHING by voting intervalNick Mathewson
If the voting interval was short enough, the two-minutes delay of CONSENSUS_MIN_SECONDS_BEFORE_CACHING would confuse bridges to the point where they would assert before downloading a consensus. It it was even shorter (<4 minutes, I think), caches would assert too. This patch fixes that by having replacing the two-minutes value with MIN(2 minutes, interval/16). Bugfix for 1141; the cache bug could occur since 0.2.0.8-alpha, so I'm calling this a bugfix on that. Robert Hogan diagnosed this. Done as a patch against maint-0.2.1, since it makes it hard to run some kinds of testing networks.
2010-06-11Add maatuska as eighth v3 directory authority.Karsten Loesing
2010-04-23close idle tls conns earlyRoger Dingledine
2010-04-23finally get rid of "clique mode"Roger Dingledine
2010-04-23close idle dir-fetch circs earlyRoger Dingledine
2010-04-12testsuite: Prevent the main thread from starving the worker threadsPeter Palfrader
2010-04-12testsuite: Only free the main mutex when and if all the worker threads are donePeter Palfrader
2010-04-03fetch relay descriptors from v3 authoritiesRoger Dingledine
2010-03-04Apply Roger's bug 1269 fix.Nick Mathewson
From http://archives.seul.org/tor/relays/Mar-2010/msg00006.html : As I understand it, the bug should show up on relays that don't set Address to an IP address (so they need to resolve their Address line or their hostname to guess their IP address), and their hostname or Address line fails to resolve -- at that point they'll pick a random 4 bytes out of memory and call that their address. At the same time, relays that *do* successfully resolve their address will ignore the result, and only come up with a useful address if their interface address happens to be a public IP address.
2010-03-02Backport fix for time-goes-forward test. Fix bug 1267Nick Mathewson
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!