aboutsummaryrefslogtreecommitdiff
path: root/src
AgeCommit message (Collapse)Author
2013-11-07Improved circuit queue out-of-memory handlerNick Mathewson
Previously, when we ran low on memory, we'd close whichever circuits had the most queued cells. Now, we close those that have the *oldest* queued cells, on the theory that those are most responsible for us running low on memory, and that those are the least likely to actually drain on their own if we wait a little longer. Based on analysis from a forthcoming paper by Jansen, Tschorsch, Johnson, and Scheuermann. Fixes bug 9093.
2013-10-11Merge remote-tracking branch 'origin/maint-0.2.2' into maint-0.2.3Nick Mathewson
2013-10-11Update to the October 2013 GeoIP database.maint-0.2.2Karsten Loesing
2013-10-10Fix unit test for format_helper_exit_statusNick Mathewson
Fix format_helper_exit_status to allow full HEX_ERRNO_SIZE answers, *and* increase the buffer length again.
2013-10-10Merge remote-tracking branch 'public/bug9928' into maint-0.2.3Nick Mathewson
2013-10-08Raise buffer size, fix checks for format_exit_helper_status.Nick Mathewson
This is probably not an exploitable bug, since you would need to have errno be a large negative value in the unix pluggable-transport launcher case. Still, best avoided. Fixes bug 9928; bugfix on 0.2.3.18-rc.
2013-09-18Fix an assert when disabling ORPort with accounting disabled.Nick Mathewson
The problem was that the server_identity_key_is_set() function could return true under conditions where we don't really have an identity key -- specifically, where we used to have one, but we stopped being a server. This is a fix for 6979; bugfix on 0.2.2.18-alpha where we added that assertion to get_server_identity_key().
2013-09-16Merge remote-tracking branch 'origin/maint-0.2.2' into maint-0.2.3Nick Mathewson
2013-09-10Update to the September 2013 GeoIP database.Karsten Loesing
2013-09-04use !cbt_disabled in place of LearnCBT to avoid needless circsNick Mathewson
This would make us do testing circuits "even when cbt is disabled by consensus, or when we're a directory authority, or when we've failed to write cbt history to our state file lately." (Roger's words.) This is a fix for 9671 and an improvement in our fix for 5049. The original misbehavior was in 0.2.2.14-alpha; the incomplete fix was in 0.2.3.17-beta.
2013-08-25Merge remote-tracking branch 'public/bug9546_023_v2' into maint-0.2.3Nick Mathewson
2013-08-22Replace return with continue in update_consensus_networkstatus_downloadsNick Mathewson
Fix for bug 9564; bugfix on 0.2.3.14-alpha.
2013-08-21Make bridges send AUTH_CHALLENGE cellsNick Mathewson
The spec requires them to do so, and not doing so creates a situation where they can't send-test because relays won't extend to them because of the other part of bug 9546. Fixes bug 9546; bugfix on 0.2.3.6-alpha.
2013-08-21Send NETINFO on receiving a NETINFO if we have not yet sent one.Nick Mathewson
(Backport to Tor 0.2.3) Relays previously, when initiating a connection, would only send a NETINFO after sending an AUTHENTICATE. But bridges, when receiving a connection, would never send AUTH_CHALLENGE. So relays wouldn't AUTHENTICATE, and wouldn't NETINFO, and then bridges would be surprised to be receiving CREATE cells on a non-open circuit. Fixes bug 9546.
2013-08-12Merge remote-tracking branch 'origin/maint-0.2.2' into maint-0.2.3Nick Mathewson
2013-08-12Update to the August 2013 GeoIP database.Karsten Loesing
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-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-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