| Commit message (Collapse) | Author | Age |
|
|
|
|
|
|
| |
Avoid a segfault when freeing a buffer with size 0.
svn:r10010
|
|
|
|
|
|
|
| |
Keep a freelist of unused 4k buffer chunks, rather than wasting 8k for every inactive connection_t.
svn:r10006
|
|
|
|
|
|
|
| |
When logging memory usage, break down memory used in buffers by buffer type.
svn:r10004
|
|
|
|
|
|
|
| |
Even more asserts to try to catch bug 404/417.
svn:r10003
|
|
|
|
|
|
|
| |
Document some fields in or.h
svn:r9998
|
|
|
|
|
|
|
| |
Suppress display of version-detection junk in Makefile.am
svn:r9997
|
|
|
|
|
|
|
| |
Rename a couple of confusing fields
svn:r9996
|
|
|
|
|
|
|
| |
Initial version of code to stop using socket pairs for linked connections. Superficially, it seems to work, but it probably needs a lot more testing and attention.
svn:r9995
|
|
|
|
|
|
|
| |
Track the number of connection_t separately from the number of open sockets. It is already possible to have connections that do not count: resolving conns, for one. Once we move from socketpairs to linked conns, and once we do dns proxying, there will be lots of such connections.
svn:r9994
|
|
|
|
|
|
|
| |
Fix a bug in displaying memory pool usage. Also dump cell allocation, and track padded_cell_ts as they are allocated and freed, to make sure we are not leaking cells.
svn:r9992
|
|
|
|
|
|
|
| |
Make dumpmemusage() dump cell pool usage information.
svn:r9991
|
|
|
|
|
|
|
| |
When advancing a string pointer, make sure we do not later free the altered pointer. Fixes bug 416, introduced in r9971.
svn:r9990
|
|
|
|
|
|
|
| |
Make svn revision number visible in version even if building from a .tar.gz. This was remarkably painless.
svn:r9988
|
|
|
|
|
|
|
| |
Detect the svn version correctly when building from an svk checkout too. Whee, fun with bash and make.
svn:r9985
|
|
|
|
|
|
|
| |
Twiddle tor_version_as_new_as() so we can check for particular svn revisions. With unit tests, for added freshness.
svn:r9977
|
|
|
|
|
|
|
|
|
| |
from an SVN repository, use the current svn revision in the platform
string and in the output of --version.
svn:r9976
|
|
|
|
|
|
|
| |
More proposal-104 stuff: actually remember extra-info stuff.
svn:r9975
|
|
|
|
| |
svn:r9972
|
|
|
|
|
|
|
| |
More proposal-104 stuff: add most of the code for authorities to accept and serve extra-info documents. The back-end to store the things is missing.
svn:r9971
|
|
|
|
|
|
|
| |
Code to generate extrainfo whenever routerdesc is regenerated; code to check extrainfo against routerdesc.
svn:r9970
|
|
|
|
|
|
|
| |
Enforce checks for number of arguments to items in directory objects more uniformly.
svn:r9968
|
|
|
|
|
|
|
| |
Now that the directory parser checks for missing items, the rest of the code can just assert that they are there, rather than checking a second time.
svn:r9966
|
|
|
|
|
|
|
| |
Refactor router/directory parsing backend: use a separate token table for everything that we parse, and enforce the correct count of each item.
svn:r9965
|
|
|
|
|
|
|
| |
Initial code to parse extra-info documents as described in proposal 104. This is making me realize that the parsing code in routerparse.c is a little daft.
svn:r9963
|
|
|
|
|
|
|
| |
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
|
|
|
|
|
|
|
| |
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
|