summaryrefslogtreecommitdiff
path: root/src/or
AgeCommit message (Collapse)Author
2013-07-10Start work on fancy compiler tricks to expose extra stuff to our testsNick Mathewson
This is mainly a matter of automake trickery: we build each static library in two versions now: one with the TOR_UNIT_TESTS macro defined, and one without. When TOR_UNIT_TESTS is defined, we can enable mocking and expose more functions. When it's not defined, we can lock the binary down more. The alternatives would be to have alternate build modes: a "testing configuration" for building the libraries with test support, and a "production configuration" for building them without. I don't favor that approach, since I think it would mean more people runnning binaries build for testing, or more people not running unit tests.
2013-07-08Merge remote-tracking branch 'origin/maint-0.2.4'Nick Mathewson
2013-07-08Add a comment and a check for why flag indices will be <= 63Nick Mathewson
2013-07-03FIx undefined behavior in dirvote.cNick Mathewson
Fix a bug in the voting algorithm that could yield incorrect results when a non-naming authority declared too many flags. Fixes bug 9200; bugfix on 0.2.0.3-alpha. Found by coverity scan.
2013-06-29Merge remote-tracking branch 'origin/maint-0.2.4'Nick Mathewson
2013-06-29Give a warning when bufferevents are enabled.Nick Mathewson
Ticket 9147.
2013-06-24Merge remote-tracking branch 'origin/maint-0.2.4'Nick Mathewson
2013-06-24Fix bug 9122: don't allow newdefaultoptions to be NULLNick Mathewson
(This caused a crash that was reported as bug 9122, but the underlying behavior has been wrong for a while.) Fix on 0.2.3.9-alpha.
2013-06-24Fix #5584 - raise awareness of safer logging - warn about potentially unsafe ↵Marek Majkowski
config options
2013-06-18Merge remote-tracking branch 'origin/maint-0.2.4'Nick Mathewson
2013-06-18Merge remote-tracking branch 'origin/maint-0.2.3' into maint-0.2.4Nick Mathewson
2013-06-18Fix some problems with the bug9002 fix.Nick Mathewson
Fixes bug 9090; bug not in any released Tor.
2013-06-18Merge remote-tracking branch 'origin/maint-0.2.4'Nick Mathewson
2013-06-18Tweak bug9063_redux patch: {n_p}_chan_cells, not {n,p}_conn_cellsNick Mathewson
2013-06-18Merge remote-tracking branch 'origin/maint-0.2.3' into maint-0.2.4Nick Mathewson
Conflicts: src/or/config.c src/or/relay.c
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-17Merge remote-tracking branch 'public/bug9082'Nick Mathewson
2013-06-17Fix bug 9082: avoid leak when freeing destroy cell queuesNick Mathewson
In my #7912 fix, there wasn't any code to remove entries from the (channel, circuit ID)->circuit map corresponding to queued but un-sent DESTROYs. Spotted by skruffy. Fixes bug 9082; bug not in any released Tor.
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-15Merge branch 'bug9072-024' into bug9072-025Andrea Shepard
2013-06-15Merge branch 'bug9072-023' into bug9072-024Andrea Shepard
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.5-squashed'Nick Mathewson
Conflicts: src/or/relay.c
2013-06-14Fix signed/unsigned comparison warningNick Mathewson
2013-06-14Increase the limit so leaky pipe might workNick Mathewson
2013-06-14Increase the limit so leaky pipe might workNick 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-13Don't queue more cells as a middle relay than the spec allows to be in flightAndrea Shepard
2013-06-13Don't queue more cells as a middle relay than the spec allows to be in flightAndrea Shepard
2013-06-13Merge remote-tracking branch 'origin/maint-0.2.4'Nick Mathewson
2013-06-13Rename networkstatus_dl_interval() -> networkstatus_dl_check_interval()Nick Mathewson
2013-06-13Merge remote-tracking branch 'linus/bug8532'Nick Mathewson
2013-06-13If we write the annotation but not the microdescriptor, rewind.Nick Mathewson
This fixes bug 9047 (and some parts of 9031, 8922, 8883 that weren't fixed in 8822). Bugfix on 0.2.2.6-alpha.
2013-06-13Merge remote-tracking branch 'public/bug7912_squashed'Nick Mathewson
2013-06-13Fix compile warnings wrt printf formating of int64_tNick Mathewson
2013-06-13Add destroy balance tracking and logging to circuitmuxAndrea Shepard
2013-06-13Implementation of a fix for bug 7912Nick Mathewson
I added the code to pass a destroy cell to a queueing function rather than writing it immediately, and the code to remember that we shouldn't reuse the circuit id until the destroy is actually sent, and the code to release the circuit id once the destroy has been sent... and then I finished by hooking destroy_cell_queue into the rest of Tor.
2013-06-13Code to track on a circuit whether it has a "pending" delete cellNick Mathewson
This will be used in a fix for bug7912.
2013-06-13Merge remote-tracking branch 'origin/maint-0.2.4'Nick Mathewson
2013-06-13Merge remote-tracking branch 'public/bug8822' into maint-0.2.4Nick Mathewson
2013-06-12Merge remote-tracking branch 'origin/maint-0.2.4'Nick Mathewson
2013-06-12Merge remote-tracking branch 'andrea/bug8639_v3' into maint-0.2.4Nick Mathewson
2013-06-12Make all consumers of microdesc_t.body tolerate NULLNick Mathewson
This is another fix to try to mitigate recurrences of 8031/8822.
2013-06-12Unmap the microdescriptor cache before replacing it.Nick Mathewson
This is a reprise of the fix in bdff7e3299d78; 6905c1f6 reintroduced that bug. Briefly: windows doesn't seem to like deleting a mapped file. I tried adding the PROT_SHARED_DELETE flag to the createfile all, but that didn't actually fix this issue. Fortunately, the unit test I added in 4f4fc63fea0589a4fa03f3859dc27860cdde75af should prevent us from making this particular screw-up again. This patch also tries to limit the crash potential of a failure to write by a little bit, although it could do a better job of retaining microdescriptor bodies. Fix for bug 8822, bugfix on 0.2.4.12-alpha.
2013-06-10Hide consensus download interval, depending on TestingTorNetwork, in a macro.Linus Nordberg
2013-06-10Merge remote-tracking branch 'origin/maint-0.2.4'Nick Mathewson
2013-06-10Merge remote-tracking branch 'origin/maint-0.2.3' into maint-0.2.4Nick 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.)