Nick Mathewson [Mon, 16 Apr 2007 04:18:21 +0000 (04:18 +0000)]
r12387@catbus: nickm | 2007-04-16 00:06:40 -0400
Refactor router/directory parsing backend: use a separate token table for everything that we parse, and enforce the correct count of each item.
Nick Mathewson [Mon, 16 Apr 2007 04:17:58 +0000 (04:17 +0000)]
r12385@catbus: nickm | 2007-04-15 22:55:58 -0400
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.
Nick Mathewson [Sun, 15 Apr 2007 00:29:12 +0000 (00:29 +0000)]
r12371@catbus: nickm | 2007-04-14 20:01:09 -0400
Add comments to blocking.tex based on an old email from Ian, so I can get the email out of my todo folder.
Nick Mathewson [Wed, 11 Apr 2007 19:58:51 +0000 (19:58 +0000)]
r12353@catbus: nickm | 2007-04-11 15:58:46 -0400
Apparently some compilers think that anonymous unions are bad C. Technically, they're right, so let's name the union in mempool.c.
Nick Mathewson [Wed, 11 Apr 2007 16:28:44 +0000 (16:28 +0000)]
r12351@catbus: nickm | 2007-04-11 12:09:46 -0400
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.
Nick Mathewson [Wed, 11 Apr 2007 13:18:25 +0000 (13:18 +0000)]
r12349@catbus: nickm | 2007-04-11 09:18:15 -0400
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.
Nick Mathewson [Wed, 11 Apr 2007 00:30:29 +0000 (00:30 +0000)]
r12337@catbus: nickm | 2007-04-10 17:55:26 -0400
Add support for using memory pools to allocate queued cell; pass --disable-cell-pool to configure to disable this.
Nick Mathewson [Tue, 10 Apr 2007 16:24:50 +0000 (16:24 +0000)]
r12332@catbus: nickm | 2007-04-10 12:24:45 -0400
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.
Nick Mathewson [Mon, 9 Apr 2007 23:15:46 +0000 (23:15 +0000)]
r12330@catbus: nickm | 2007-04-09 19:15:42 -0400
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.
Nick Mathewson [Mon, 9 Apr 2007 21:34:13 +0000 (21:34 +0000)]
r12688@Kushana: nickm | 2007-04-09 17:29:12 -0400
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.
Nick Mathewson [Mon, 9 Apr 2007 21:34:03 +0000 (21:34 +0000)]
r12687@Kushana: nickm | 2007-04-09 17:05:57 -0400
Try to fix bug 410: move responsibility for attaching/detaching initial streams from circuits into dns_resolve. Needs refactoring a little.
Nick Mathewson [Mon, 9 Apr 2007 20:09:28 +0000 (20:09 +0000)]
r12318@catbus: nickm | 2007-04-09 16:08:20 -0400
Fix the first half of bug 411: when we make a circuit active inactive on a connection, it _must_ actually be on that connection.
Nick Mathewson [Mon, 9 Apr 2007 20:09:26 +0000 (20:09 +0000)]
r12317@catbus: nickm | 2007-04-09 15:50:51 -0400
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.
Nick Mathewson [Thu, 29 Mar 2007 02:41:36 +0000 (02:41 +0000)]
Fix a crash bug in cell queues: It is possible for a connection_write_to_buf 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.
Nick Mathewson [Mon, 26 Mar 2007 14:08:35 +0000 (14:08 +0000)]
r12654@Kushana: nickm | 2007-03-25 19:03:44 -0400
Add documentation for cell queue functions; make destroy cells result in cell queues getting cleared before the destroy gets sent.
Nick Mathewson [Mon, 26 Mar 2007 14:08:18 +0000 (14:08 +0000)]
r12652@Kushana: nickm | 2007-03-25 15:01:48 -0400
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.
Nick Mathewson [Mon, 26 Mar 2007 14:07:59 +0000 (14:07 +0000)]
r12651@Kushana: nickm | 2007-03-24 18:26:42 -0400
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.
Nick Mathewson [Sat, 24 Mar 2007 15:58:11 +0000 (15:58 +0000)]
r12644@0-41-wifi: nickm | 2007-03-23 16:02:23 -0400
Eliminate more redundant circuit_t arguments when edge_connection_t is already supplied and the circuit is already attached.
Nick Mathewson [Sat, 24 Mar 2007 15:57:51 +0000 (15:57 +0000)]
r12643@0-41-wifi: nickm | 2007-03-23 14:56:35 -0400
Refactor a bunch of functions that take edge_connection_t not to also take a crypt_path_t; the cpath is implicit.
Roger Dingledine [Tue, 20 Mar 2007 03:21:51 +0000 (03:21 +0000)]
a stopgap measure while we wait for proposal 111: apply the
stricter rate limiting to all OR conns except those that have
been touched by local circuits.
Nick Mathewson [Sat, 17 Mar 2007 21:34:41 +0000 (21:34 +0000)]
r12230@catbus: nickm | 2007-03-17 17:34:32 -0400
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.
Nick Mathewson [Sat, 17 Mar 2007 21:34:37 +0000 (21:34 +0000)]
r12229@catbus: nickm | 2007-03-17 17:20:28 -0400
Add a warning when using obsolete "GUARDS" event. Also, remove obsolete "if (1) {}"s from control.c: big patch, mostly just dedenting block contents.
Roger Dingledine [Fri, 16 Mar 2007 06:55:09 +0000 (06:55 +0000)]
Fix an infinite loop introduced in 0.1.2.7-alpha when we serve
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.
Nick Mathewson [Thu, 15 Mar 2007 14:18:24 +0000 (14:18 +0000)]
r12542@Kushana: nickm | 2007-03-15 10:17:50 -0400
When checking whether we need extra options to link at runtime against a library, be sure to actually look in the lib directory.
Roger Dingledine [Thu, 15 Mar 2007 06:25:00 +0000 (06:25 +0000)]
change my mind -- correct the spec to match the code's
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.
Roger Dingledine [Wed, 14 Mar 2007 23:50:41 +0000 (23:50 +0000)]
the spec called it a GUARDS event, but the code called
it a GUARD event. standardize on GUARD, but support people
asking for GUARDS too. reported by daejees.
Roger Dingledine [Wed, 14 Mar 2007 04:48:13 +0000 (04:48 +0000)]
put some dates on the proposals, and add an acknowledgments section
to proposal 110. the proposals that were around before the proposals
scheme got started still don't have dates.
Nick Mathewson [Sun, 11 Mar 2007 20:34:44 +0000 (20:34 +0000)]
r12535@Kushana: nickm | 2007-03-11 16:34:40 -0400
Fix a comment and add a couple of assert to try to track down another assert in routerlist_assert_ok()
Roger Dingledine [Sat, 10 Mar 2007 05:43:35 +0000 (05:43 +0000)]
Directory authorities now call routers stable if they have an
uptime of at least 30 days, even if that's not the median uptime
in the network. Implements proposal 1xx, suggested by Kevin Bauer
and Damon McCoy.