Commit Graph

6019 Commits

Author SHA1 Message Date
Roger Dingledine
23e2c6a7dd first cut at a workaround for the reachability bug: explicitly find a
server running the right version, if we can, and ask for that one.


svn:r6616
2006-06-13 10:25:22 +00:00
Roger Dingledine
31b51849b5 export the default exit policy via the control port, so controllers
don't need to guess what it is / will be later.


svn:r6615
2006-06-13 09:16:09 +00:00
Roger Dingledine
279e86f3c8 Defense in depth: fix the reachability bug a second way too.
Now if we establish a connection with the right digest, regardless
of what the addr/port is, and we have pending create cells, use it.


svn:r6614
2006-06-13 05:51:28 +00:00
Roger Dingledine
a20a384b09 harmless typo
svn:r6613
2006-06-13 05:50:24 +00:00
Roger Dingledine
ab61c40661 Fix the bug that was causing servers to not find themselves
reachable if they changed IP addresses. This happened because
middle servers knew the old descriptor, and kept swapping the
addr/port we asked for with the one they thought was right.

So the create cell never got sent, because it was asking for a
different addr/port than we believed we had connected to.


svn:r6610
2006-06-13 05:36:35 +00:00
Roger Dingledine
19408cf8d7 reintroduce the logic to exit_policy_is_general_exit() to count
how many ports are allowd. require two ports open, not just one.


svn:r6609
2006-06-13 02:48:06 +00:00
Peter Palfrader
cce8ae1190 Make the Exit tag in status documents actually work in head too
svn:r6608
2006-06-12 22:03:25 +00:00
Roger Dingledine
87e3800dfc Finally solve the "closing wedged cpuworkers" bug. Woo.
This happened when we got two create cells in a row from the same TLS
connection. It would hand one to the cpuworker, and then immediately
handle the second one -- after it had registered that the first one was
busy, but before it had updated the timestamp that we use to decide how
*long* it's been busy.


svn:r6606
2006-06-12 11:59:19 +00:00
Roger Dingledine
d90d4b4c90 typo, whitespace, and a clarification
svn:r6605
2006-06-12 10:44:00 +00:00
Roger Dingledine
cbc4cd93ac allow people to start their tor with runasdaemon set but
with no logs set at all.


svn:r6604
2006-06-12 06:03:15 +00:00
Peter Palfrader
686ba0e193 Forward port changelog
svn:r6603
2006-06-12 00:49:07 +00:00
Roger Dingledine
0b91a2bab9 forward-port the 0.1.1.21 changelog.
svn:r6600
2006-06-11 01:42:21 +00:00
Roger Dingledine
2df426d1c1 interim changelog for 0.1.2.1-alpha
svn:r6599
2006-06-11 01:41:30 +00:00
Andrew Lewman
538de4043a Remove echo -n to make start script slightly more readable on boot.
svn:r6595
2006-06-10 05:37:17 +00:00
Roger Dingledine
14687fc443 take out the reachability bandaid in 0.1.2.x as well.
maybe we will actually be able to fix it, instead.


svn:r6585
2006-06-10 00:57:12 +00:00
Roger Dingledine
e9d7904885 add TestVia to the man page
svn:r6583
2006-06-10 00:32:14 +00:00
Roger Dingledine
c0630b5274 clean up formatting in the man page
svn:r6582
2006-06-10 00:30:49 +00:00
Roger Dingledine
889b8d5bac Add a new config option TestVia, that lets you specify preferred middle
hops to use for testing circuits. Perhaps this will let me debug the
reachability problem better.


svn:r6581
2006-06-10 00:26:39 +00:00
Nick Mathewson
1f585987c4 Another escape() fix, for picky sprintfs.
svn:r6579
2006-06-09 17:07:22 +00:00
Nick Mathewson
2936da4c28 Override our notion of printability for esc_for_log. 127 and up are never printable. Take that, locales.
svn:r6578
2006-06-09 15:57:58 +00:00
Roger Dingledine
6531a31aad actually, don't fix it that far. we should still do some
error checking.


svn:r6576
2006-06-09 09:07:59 +00:00
Roger Dingledine
0071d67efd when only one router is labelled as a guard, and we've
already picked him, we would cycle endlessly picking him
again, being unhappy about it, and so forth.

now we specifically exclude guards when picking a new guard.


svn:r6575
2006-06-09 09:02:32 +00:00
Roger Dingledine
30f6c57fd7 and forward-port too.
svn:r6573
2006-06-09 06:52:49 +00:00
Roger Dingledine
85d408a573 Bandaid for a seg fault i just got in 0.1.1.20.
More generally, i reopened bug 222. Whee.


svn:r6571
2006-06-09 06:35:45 +00:00
Roger Dingledine
a91be49402 fix a bootstrapping check we ignored that prevents us from running
with only one dir authority.


svn:r6570
2006-06-09 02:45:39 +00:00
Roger Dingledine
11dcb7f4ae try a better string at the top of torrc's autogenerated torrc.
svn:r6569
2006-06-09 02:20:42 +00:00
Roger Dingledine
bb18168fae ok, ok, maybe *this* time my rep_hist_circbuilding_dormant() will work.
svn:r6568
2006-06-08 22:36:13 +00:00
Roger Dingledine
18eb8192db remove a bit more obsolete code
svn:r6566
2006-06-08 09:35:20 +00:00
Roger Dingledine
a18766e50c ah, that explains why we weren't going dormant with
respect to descriptor fetches. maybe now it will work.


svn:r6565
2006-06-08 09:20:58 +00:00
Roger Dingledine
91bd12c20d re-enable per-connection rate limiting. get rid of the "OP bandwidth"
concept. lay groundwork for "bandwidth classes" -- separate global
buckets that apply depending on what sort of conn it is.


svn:r6563
2006-06-07 09:18:53 +00:00
Roger Dingledine
741b11df45 put a bandaid in place so servers will have an easier time
believing that they're reachable. this may help resolve the
servers-on-dynamic-ip-addresses problem.


svn:r6561
2006-06-07 08:42:24 +00:00
Roger Dingledine
1e9b35aee3 make connection_or_nonopen_was_started_here() based on something less
voodooey. it turns out we already do keep a flag like that around.


svn:r6560
2006-06-07 07:11:42 +00:00
Roger Dingledine
003561fa64 the CookieAuthentication section in our spec seems to assume we're
still using the v0 control protocol.


svn:r6559
2006-06-07 06:53:43 +00:00
Roger Dingledine
8cf45df230 and now the exciting part: there is now no such thing as doing
a client-only tls, that is, one with no certs.


svn:r6558
2006-06-07 06:21:11 +00:00
Roger Dingledine
0bfef523df simplify the tortls api: we only support being a "server", that
is, even tor clients do the same sort of handshake.

this has been true for years, so it's best to get rid of the
stale code.


svn:r6557
2006-06-07 06:10:54 +00:00
Roger Dingledine
7512be0b65 looks like we missed a piece of the 0.1.1.9 paranoia code.
hopefully this change is a no-op.


svn:r6556
2006-06-07 02:57:23 +00:00
Roger Dingledine
96914760bc fix the bug where we sometimes would fail to send some create cells
once we'd connected to a(nother) tor server.


svn:r6552
2006-06-06 03:33:24 +00:00
Nick Mathewson
5e4b4451ec Also, add a temporary hack to make sure eventdns.c is distributd.
svn:r6551
2006-06-06 00:12:22 +00:00
Roger Dingledine
5c57348acd We got an obscure report of an assert error on a windows Tor server with
connection_add being called with socket = -1. The only places I can see
where that happen would be if our tor_socketpair succeeds but it hands
back negative values for some of its file descriptors. Perhaps this will
produce more useful assert errors next time.


svn:r6550
2006-06-06 00:06:52 +00:00
Roger Dingledine
411f37d534 fix typo
svn:r6549
2006-06-06 00:05:39 +00:00
Roger Dingledine
07c35b4f52 ship the event*.h files too. perhaps this will make my 'make dist'
produce a tarball that i can build.


svn:r6548
2006-06-06 00:04:52 +00:00
Nick Mathewson
2bd7c19b73 Try to log useful messages at info and debug about what we are resolving and what answers we are getting wrt eventdns.
svn:r6547
2006-06-05 23:01:22 +00:00
Roger Dingledine
542b8af592 don't tell people that the testing circuit failed if we already
consider ourselves reachable. this just confuses them.


svn:r6546
2006-06-05 10:01:52 +00:00
Roger Dingledine
8705db6c2c whoops, add a man page entry for ProtocolWarnings
svn:r6545
2006-06-05 09:51:29 +00:00
Roger Dingledine
a2fec314b6 scream louder if you've got a pending circuit for a given
addr/port but the intended n_conn digest is wrong.


svn:r6544
2006-06-05 09:47:19 +00:00
Roger Dingledine
45065f1466 simplify code now that libevent considers all sockets pollable.
what we really mean now is ">= 0", which is clearer to test for.


svn:r6543
2006-06-05 09:08:10 +00:00
Roger Dingledine
4e773352c2 bugfix: if we are making our first ever connection to any entry
guard, then don't mark it down at first. we had this implemented
but it was disabled due to a bug.


svn:r6541
2006-06-05 08:58:18 +00:00
Roger Dingledine
8f3bb66ebc simplify some code, since circuit_build_failed() is only called
on non-open circuits.


svn:r6540
2006-06-05 08:25:02 +00:00
Roger Dingledine
152d6d13b4 remove some unused code (i think)
svn:r6539
2006-06-05 08:02:04 +00:00
Roger Dingledine
bf09898f79 Note a bug that causes servers to sometimes never send the pending
create cell. Nick, is this a bug? If so, is my fix right?


svn:r6538
2006-06-05 07:27:48 +00:00