aboutsummaryrefslogtreecommitdiff
AgeCommit message (Collapse)Author
2013-07-08Merge remote-tracking branch 'origin/maint-0.2.2' into maint-0.2.3Nick Mathewson
2013-07-08Update to the July 2013 GeoIP database.Karsten Loesing
2013-06-18Fix some problems with the bug9002 fix.Nick Mathewson
Fixes bug 9090; bug not in any released Tor.
2013-06-18Merge branch 'bug9063_redux_023_squashed' into maint-0.2.3Nick Mathewson
2013-06-18Implement a real OOM-killer for too-long circuit queues.Nick Mathewson
This implements "algorithm 1" from my discussion of bug #9072: on OOM, find the circuits with the longest queues, and kill them. It's also a fix for #9063 -- without the side-effects of bug #9072. The memory bounds aren't perfect here, and you need to be sure to allow some slack for the rest of Tor's usage. This isn't a perfect fix; the rest of the solutions I describe on codeable.
2013-06-16Limit hidden service descriptors to at most 10 guard nodes.Nick Mathewson
Fixes bug 9002; bugfix on 0.1.1.11-alpha (which introduced guard nodes), or on 0.0.6pre1 (which introduced hidden services).
2013-06-15Disable middle relay queue overfill detection code due to possible guard ↵Andrea Shepard
discovery attack
2013-06-14Merge branch 'circuit_queue_cap-0.2.3-squashed' into maint-0.2.3Nick Mathewson
2013-06-14Increase the limit so leaky pipe might workNick Mathewson
2013-06-13Don't queue more cells as a middle relay than the spec allows to be in flightAndrea Shepard
2013-06-10Merge branch 'bug9017' into maint-0.2.3Nick Mathewson
2013-06-10Fix (Open?)BSD fast-connect bug with optimistic data.Nick Mathewson
There's an assertion failure that can occur if a connection has optimistic data waiting, and then the connect() call returns 0 on the first attempt (rather than -1 and EINPROGRESS). That latter behavior from connect() appears to be an (Open?)BSDism when dealing with remote addresses in some cases. (At least, I've only seen it reported with the BSDs under libevent, even when the address was 127.0.0.1. And we've only seen this problem in Tor with OpenBSD.) Fixes bug 9017; bugfix on 0.2.3.1-alpha, which first introduced optimistic data. (Although you could also argue that the commented-out connection_start_writing in 155c9b80 back in 2002 is the real source of the issue.)
2013-06-05Merge remote-tracking branch 'origin/maint-0.2.2' into maint-0.2.3Nick Mathewson
2013-06-05Update to the June 2013 GeoIP database.Karsten Loesing
2013-05-20Merge remote-tracking branch 'origin/maint-0.2.2' into maint-0.2.3Nick Mathewson
2013-05-13Update to the May 2013 GeoIP database.Karsten Loesing
2013-05-09Merge branch 'bug8844_v2' into maint-0.2.3Nick Mathewson
2013-05-09Don't run off the end of the array-of-freelistsNick Mathewson
This is a fix for bug 8844, where eugenis correctly notes that there's a sentinel value at the end of the list-of-freelists that's never actually checked. It's a bug since the first version of the chunked buffer code back in 0.2.0.16-alpha. This would probably be a crash bug if it ever happens, but nobody's ever reported something like this, so I'm unsure whether it can occur. It would require write_to_buf, write_to_buf_zlib, read_to_buf, or read_to_buf_tls to get an input size of more than 32K. Still, it's a good idea to fix this kind of thing!
2013-04-12Avoid busy-looping on WANTREAD within connection_handle_writeNick Mathewson
Fix for bug 5650. Also, if we get a WANTREAD while reading while writing, make sure we're reading.
2013-04-08Merge remote-tracking branch 'origin/maint-0.2.2' into maint-0.2.3Nick Mathewson
2013-04-08Update to the April 2013 GeoIP database.Karsten Loesing
2013-03-18Merge remote-tracking branch 'public/bug8377' into maint-0.2.3Nick Mathewson
2013-03-11Merge remote-tracking branch 'origin/maint-0.2.2' into maint-0.2.3Nick Mathewson
2013-03-07Update to the March 2013 GeoIP database.Karsten Loesing
2013-03-01Add unit test for tor_addr_is_loopbackNick Mathewson
2013-03-01Make sure that [::1] is recognized as a private addressNick Mathewson
Fixes bug 8377; bugfix on 0.2.1.3-alpha.
2013-02-12oops; add a missing semicolonNick Mathewson
(Cherry-picked from fc35ee4910326dc1ae718482b30e57666a71df85)
2013-02-11Check whether ei is non-NULL before altering it.Nick Mathewson
This fixes a crash bug if we fail to generate an extrainfo descriptor. Fixes bug 8208; bugfix on 0.2.3.16-alpha.
2013-02-08Merge remote-tracking branch 'origin/maint-0.2.2' into maint-0.2.3Nick Mathewson
2013-02-08Update to the February 2013 GeoIP database.Karsten Loesing
2013-01-15Merge branch 'bug7889_023' into maint-0.2.3Nick Mathewson
2013-01-14Merge remote-tracking branch 'origin/maint-0.2.2' into maint-0.2.3Nick Mathewson
2013-01-14Reject create/begin/etc cells with {circ,stream}ID 0.Nick Mathewson
Otherwise, it's possible to create streams or circuits with these bogus IDs, leading to orphaned circuits or streams, or to ones that can cause bandwidth DOS problems. Fixes bug 7889; bugfix on all released Tors.
2013-01-05Update to the January 2013 GeoIP database.Karsten Loesing
2012-12-13Merge remote-tracking branch 'origin/maint-0.2.2' into maint-0.2.3Nick Mathewson
2012-12-13Add link explaining how the geoip file was created.Karsten Loesing
2012-12-13Update to the December 2012 GeoIP database.Karsten Loesing
2012-12-13Update to the November 2012 GeoIP database.Karsten Loesing
2012-11-12use a more logical operatorRoger Dingledine
Fix a harmless bug when opting against publishing a relay descriptor because DisableNetwork is set. Fixes bug 7464; bugfix on 0.2.3.9-alpha.
2012-11-08Turn a memwipe in tor_process_handle_destroy() back to memsetNick Mathewson
It broke linking on tor-resolve.c, and it's not actually sanitizing anything sensitive. Fix for bug 7420; bug not on ony released Tor.
2012-11-08Merge branch 'bug7352_023_rebased' into maint-0.2.3Nick Mathewson
2012-11-08Add and use and unlikely-to-be-eliminated memwipe()Nick Mathewson
Apparently some compilers like to eliminate memset() operations on data that's about to go out-of-scope. I've gone with the safest possible replacement, which might be a bit slow. I don't think this is critical path in any way that will affect performance, but if it is, we can work on that in 0.2.4. Fixes bug 7352.
2012-10-23Fix a remotely triggerable assertion failure (CVE-2012-2250)Nick Mathewson
If we completed the handshake for the v2 link protocol but wound up negotiating the wong protocol version, we'd become so confused about what part of the handshake we were in that we'd promptly die with an assertion. This is a fix for CVE-2012-2250; it's a bugfix on 0.2.3.6-alpha. All servers running that version or later should really upgrade. Bug and fix from "some guy from France." I tweaked his code slightly to make it log the IP of the offending node.
2012-10-23Make unit test for bug7191 work with new smartlist_new() nameNick Mathewson
2012-10-23Merge remote-tracking branch 'origin/maint-0.2.2' into maint-0.2.3Nick Mathewson
2012-10-23Add some unit tests for smartlist_bsearch_idx() on short listsAndrea Shepard
Conflicts: src/test/test_containers.c
2012-10-23Add a changes file for bug 7191.Nick Mathewson
2012-10-23Fix binary search on lists of 0 or 1 element.Nick Mathewson
The implementation we added has a tendency to crash with lists of 0 or one element. That can happen if we get a consensus vote, v2 consensus, consensus, or geoip file with 0 or 1 element. There's a DOS opportunity there that authorities could exploit against one another, and which an evil v2 authority could exploit against anything downloading v2 directory information.. This fix is minimalistic: It just adds a special-case for 0- and 1-element lists. For 0.2.4 (the current alpha series) we'll want a better patch. This is bug 7191; it's a fix on 0.2.0.10-alpha.
2012-10-23Let 0.2.3 clients exit to internal addresses if they wantRoger Dingledine
Clients now consider the ClientRejectInternalAddresses config option when using a microdescriptor consensus stanza to decide whether an exit relay would allow exiting to an internal address. Fixes bug 7190; bugfix on 0.2.3.1-alpha.
2012-10-23Fix parse_short_policy (bug 7192.)Nick Mathewson
Our implementation of parse_short_policy was screwed up: it would ignore the last character of every short policy. Obviously, that's broken. This patch fixes the busted behavior, and adds a bunch of unit tests to make sure the rest of that function is okay. Fixes bug 7192; fix on 0.2.3.1-alpha.