Age | Commit message (Collapse) | Author |
|
Apparently some compilers think that anonymous unions are bad C. Technically, they're right, so let's name the union in mempool.c.
svn:r9946
|
|
More autoconf hacking: use same machinery to find zlib as for openssl and libevent. Have unified library finder include setup for --with variable. Start trying to suggest to the user what packages they should install if finding the library fails.
svn:r9945
|
|
Add code to shrink the cell memory pool by discarding empty chunks that have been empty for the last 60 seconds. Also, instead of having test.c duplicate declarations for exposed functions, put them inside #ifdef foo_PRIVATE blocks in the headers. This prevents bugs where test.c gets out of sync.
svn:r9944
|
|
Fix documentation and usage of 2nd argument to mp_pool_new.
svn:r9942
|
|
Document memory pool implementation, and tweak it even mor. See? Programming is fun.
svn:r9940
|
|
Add support for using memory pools to allocate queued cell; pass --disable-cell-pool to configure to disable this.
svn:r9939
|
|
Unit tests and debugging for memory pool implementation.
svn:r9938
|
|
Initial version of memory pool logic. Needs unit tests. Made to be easily separable from Tor.
svn:r9937
|
|
Yet another attempted Bug 411 fix: Under some circumstances, a circuit can have cells without being active. The likeliest is that it has been unlinked from all connections in preparation for closing. Therefore, stop enforcing this non-invariant.
svn:r9936
|
|
Split type of "packed cell" from "parsed cell"; pack cells before queueing them on circuits. This will help us avoid dumb errors when we confuse the two types.
svn:r9935
|
|
Argh, missed another 9030 bogon.
svn:r9934
|
|
Clean up crap from 9930. I can hardly wait till I trust SVK 2.x enough to upgrade.
svn:r9933
|
|
Simplify dns_resolve: use a helper function so that we handle the error/answer/pending cases uniformly in dns_resolve, and everything else in dns_resolve_impl.
svn:r9932
|
|
Try to fix bug 410: move responsibility for attaching/detaching initial streams from circuits into dns_resolve. Needs refactoring a little.
svn:r9931
|
|
|
|
Fix the first half of bug 411: when we make a circuit active inactive on a connection, it _must_ actually be on that connection.
svn:r9929
|
|
Fix second part of bug 411 (which was actually a separate bug): it isnt safe to clear a cell queue while the circuit is active.
svn:r9928
|
|
we get one we don't recognize.
backport candidate.
backbackport candidate.
svn:r9918
|
|
to close the connection or otherwise unlink the circuit, which makes the circuit nonactive, which invalidates the pointer from the circuit to the next circuit on the active ring. Also add a bunch of asserts, most #ifdefed out.
svn:r9915
|
|
svn:r9914
|
|
potentially dangerous. (see comment for details)
svn:r9913
|
|
Add documentation for cell queue functions; make destroy cells result in cell queues getting cleared before the destroy gets sent.
svn:r9907
|
|
Add documentation for make_old argument to routerlist functions.
svn:r9906
|
|
A surprisingly simple patch to stop reading on edge connections when their circuits get too full, and start again when they empty out. This lets us remove the logic to block begin_dir conns when the corresponding or conns get full: it was already broken by cell queues anyway.
svn:r9905
|
|
Initial version of circuit-based cell queues. Instead of hammering or_conns with piles of cells, queue cells on their corresponding circuits, and append them to the or_conn as needed. This seems to work so far, but needs a bit more work. This will break the memory-use-limitation patch for begin_dir conns: the solution will be a fun but fiddly.
svn:r9904
|
|
Possibly resolve bug reported by xiando.
svn:r9903
|
|
Eliminate more redundant circuit_t arguments when edge_connection_t is already supplied and the circuit is already attached.
svn:r9900
|
|
Refactor a bunch of functions that take edge_connection_t not to also take a crypt_path_t; the cpath is implicit.
svn:r9899
|
|
because we have no way of remembering what their purpose was when
we restart.
svn:r9894
|
|
whether we've attached a stream.
svn:r9883
|
|
stricter rate limiting to all OR conns except those that have
been touched by local circuits.
svn:r9882
|
|
now that's just defined as answers to directory requests.
svn:r9881
|
|
other stuff.
svn:r9880
|
|
svn:r9879
|
|
Remove some duplicated code in control.c: unify the "parse space-separated arguments and warn if there are too few" logic into a single helper function.
svn:r9866
|
|
Add a warning when using obsolete "GUARDS" event. Also, remove obsolete "if (1) {}"s from control.c: big patch, mostly just dedenting block contents.
svn:r9865
|
|
Check return values from pthread_mutex functions.
svn:r9862
|
|
svn:r9854
|
|
(it's a band)
svn:r9853
|
|
directory information requested inside Tor connections (i.e. via
begin_dir cells). It only triggered when the same connection was
serving other data at the same time. Reported by seeess.
Backport candidate.
svn:r9841
|
|
svn:r9832
|
|
Clarify section of dir-spec.txt that explains how "v" resolution happens.
svn:r9829
|
|
behavior for getinfo addr-mappings/*. this is because
the code and spec have been mismatched since at least
0.1.1.x, so i would be surprised if nobody at all is
relying on the current behavior.
backport candidate.
backbackport candidate.
svn:r9823
|
|
svn:r9822
|
|
pointed out by daejees.
svn:r9819
|
|
server, so we match what the control spec claims we do. Reported
by daejees.
svn:r9818
|
|
it a GUARD event. standardize on GUARD, but support people
asking for GUARDS too. reported by daejees.
backport candidate.
svn:r9817
|
|
This is what I meant to do in r9690 but didn't actually do.
svn:r9808
|
|
Fix a lame assert, I hope.
svn:r9801
|
|
svn:r9800
|