Nick Mathewson
c374340c70
That dir_refresh_src fix will only work if I enable it.
...
svn:r6645
2006-06-18 08:13:45 +00:00
Nick Mathewson
347bcec84a
Fix a couple of bugs in last patch.
...
svn:r6644
2006-06-18 08:07:16 +00:00
Nick Mathewson
c58cc8c16c
add coverage for a default case
...
svn:r6643
2006-06-18 07:57:47 +00:00
Nick Mathewson
b1a8b7869a
Oops. conn->requested_resource is client only.
...
svn:r6642
2006-06-18 07:55:04 +00:00
Nick Mathewson
1d9923da7c
Instead of adding servers and v1 directories to buffers en masse, directory servers add them on the fly as their outbufs are depleted. This will save ram on busy dirservers.
...
svn:r6641
2006-06-18 07:38:55 +00:00
Nick Mathewson
73ada60d64
remove non-germane comment
...
svn:r6640
2006-06-18 07:37:21 +00:00
Nick Mathewson
8fa8616ec7
Add tests for several of the more recently committed functions.
...
svn:r6639
2006-06-18 07:35:10 +00:00
Nick Mathewson
f83a628a76
perhaps the reason I rail against cut-and-paste programming so vehemently is that I am so bad at it.
...
svn:r6638
2006-06-18 07:32:31 +00:00
Nick Mathewson
cd38511a1e
Part of incremental encryption logic for buffers: there is a subtle yucky point documented in a comment.
...
svn:r6637
2006-06-18 07:27:47 +00:00
Nick Mathewson
630e9cd510
Add some incremental encryption wrappers to torgzip code
...
svn:r6636
2006-06-18 07:24:29 +00:00
Nick Mathewson
af8096815e
Add a memdup function to util
...
svn:r6635
2006-06-18 07:22:36 +00:00
Nick Mathewson
78428dccdb
Add smartlist_reverse and smartlist_pop_last.
...
svn:r6634
2006-06-18 07:21:35 +00:00
Peter Palfrader
2ff24dbc26
And a minor bugfix to the weaselhack
...
svn:r6629
2006-06-15 23:14:01 +00:00
Roger Dingledine
af0e47c921
fix spacing
...
svn:r6628
2006-06-15 22:59:07 +00:00
Peter Palfrader
bc64becd12
Add a /tor/dir-all-weaselhack directory resource so I do not have to update my scripts
...
svn:r6627
2006-06-15 22:52:56 +00:00
Roger Dingledine
a4c315f3c3
fix recommended url in torrc.sample for server sign-up
...
svn:r6626
2006-06-15 22:32:00 +00:00
Roger Dingledine
4e4cc9aa27
lower the number of seconds before we yell about clock jump.
...
and make the yelling only happen if you're a server.
svn:r6625
2006-06-15 09:03:15 +00:00
Roger Dingledine
de7a9c83d8
upgrade the severity of the 'clock jump' warn, and ask people
...
to report if it occurs.
svn:r6623
2006-06-14 22:28:16 +00:00
Roger Dingledine
09dfe1b265
bugfix: discourage picking directory authorities as our TestVia
...
hops, even if they're running the right versions, since we probably
already have a connection established to them.
svn:r6622
2006-06-14 11:06:43 +00:00
Nick Mathewson
66db3afb74
eventdns: Apply a couple of patches from AGL; start working on windows compat; note some TODOs.
...
svn:r6621
2006-06-13 21:49:56 +00:00
Roger Dingledine
977574e48d
back off and add the $ at the beginning of the preferrednodes list
...
we generate.
svn:r6620
2006-06-13 12:57:19 +00:00
Roger Dingledine
2cd349903c
be more lax about recognizing valid hexdigests.
...
svn:r6619
2006-06-13 12:05:59 +00:00
Roger Dingledine
b4e415ba3c
now we can tell dirserv_dump_directory_to_string() whether we want
...
it to include down/invalid descriptors or not.
svn:r6618
2006-06-13 11:11:19 +00:00
Roger Dingledine
88dadc917c
bugfix in exit_policy_is_general_exit() that weasel found.
...
this time for sure!
svn:r6617
2006-06-13 10:48:26 +00:00
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
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
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
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
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
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
Roger Dingledine
266afcd7d5
bandaid for bug 299. this is still a bug, since we don't
...
initialize for hardware acceleration in certain configurations;
but not critical until that is supported.
svn:r6536
2006-06-05 04:29:03 +00:00
Nick Mathewson
b7ca697faf
More eventdns.c patches: use HAVE_ALLOCA_H; print IP addrs as dotted quads.
...
svn:r6535
2006-06-05 01:59:12 +00:00
Nick Mathewson
3db785ef73
Hm. Where did we put that ntohl the last time we were juggling it? (hoop-lah).
...
svn:r6534
2006-06-05 00:32:31 +00:00
Nick Mathewson
008a0c7c46
Some eventdns.c fixes for windows correctness. More will doubtless be needed, especially around the #includes.
...
svn:r6533
2006-06-04 23:23:53 +00:00
Nick Mathewson
853e2d99b6
Add a new warning to our "warn a lot" list: unused parameters. This means we have to explicitly "use" unuseds, but it can catch bugs. (It caught two coding mistakes so far.)
...
svn:r6532
2006-06-04 22:42:13 +00:00
Roger Dingledine
c4647545a0
if we insist on printing pointer values, at least make it stop
...
complaining on (my particular) 64 bit platform.
svn:r6530
2006-06-04 06:17:32 +00:00
Roger Dingledine
603b09b59b
punctuation and spelling
...
svn:r6529
2006-06-04 06:16:20 +00:00
Nick Mathewson
c18fab5366
Make eventdns.[ch] into good C90; remove signed/unsigned comparisons.
...
svn:r6528
2006-06-03 22:05:23 +00:00
Nick Mathewson
2700e5a1ab
Oops. When we dont get a TTL, we should default to the default, not to the minimum.
...
svn:r6527
2006-06-03 21:47:26 +00:00
Nick Mathewson
c660a0f6a2
More DNS fixes. Send meaningful TTLs back to the client when
...
possible. Cache at the server side independently from the TTL, to
prevent attackers from probing the server to see who has been asking
for what hostnames. (Hi, Dan Kaminski!)
Also, clean some whitespace.
svn:r6526
2006-06-03 21:41:14 +00:00
Nick Mathewson
85a25c8a29
Make dns.c use eventdns.c -- but only when you pass the --enable-eventdns argument to configure.in. This will *so* not work on Windows yet.
...
svn:r6525
2006-06-03 20:52:24 +00:00
Nick Mathewson
7cb3232ade
Add async dns code from Adam Langley, tweaked to build on OSX. Long-term, we may want to switch to libevnet/c-ares, if they ever handle 10k fd situations properly. This one still needs work too, but at least it is small. This code is disabled by default, and not integrated with dns.c.
...
svn:r6524
2006-06-03 19:49:42 +00:00
Nick Mathewson
86da3e0a0a
Patch based on post by Mike C to or-dev; special-case based on use of MSVC, rather than on MS_WINDOWS, so that mingw builds.
...
svn:r6523
2006-06-03 18:52:31 +00:00
Roger Dingledine
8f902e4b58
don't stop fetching server descriptors if we're a server and
...
haven't found ourselves reachable yet.
svn:r6522
2006-06-03 02:56:44 +00:00
Roger Dingledine
1bf0f99b66
connection_t kept the identity_pkey but all it did was store it and
...
free it. perhaps we don't need it after all?
svn:r6518
2006-05-30 06:23:44 +00:00
Roger Dingledine
9000a5aff1
and get grammar right
...
svn:r6517
2006-05-30 06:19:48 +00:00
Roger Dingledine
ae2648fb1c
stop fetching descriptors if we're not a dir mirror and we
...
haven't tried to establish any circuits lately.
svn:r6516
2006-05-30 06:19:06 +00:00
Roger Dingledine
1f0e20806b
END_CIRC_REASON_OR_IDENTITY apparently means that we were told to
...
connect to a different OR than lives on the addr:port we connected
to. we don't actually remember whether that was the case, currently.
so call it END_CIRC_REASON_OR_CONN_CLOSED as a compromise.
svn:r6515
2006-05-30 06:17:28 +00:00
Roger Dingledine
60abe23158
tentative change: if you have your dirport set, you are a directory
...
mirror, whether or not your orport is set.
svn:r6513
2006-05-30 06:11:36 +00:00
Roger Dingledine
1e4923652b
simplify a log message
...
svn:r6512
2006-05-30 05:29:03 +00:00
Nick Mathewson
64d487a2d6
Add a basic mmap function, with a "fake-it" wrapper to do read_file_from_str instead. Based on code from Michael Mohr.
...
svn:r6510
2006-05-28 16:54:39 +00:00
Roger Dingledine
f6ff3e6f0e
directory authorities should be more tolerant of failed reachability
...
tests before crying foul to the server operator.
svn:r6509
2006-05-28 16:14:26 +00:00
Roger Dingledine
48be472e4f
clean up a comment
...
svn:r6508
2006-05-28 16:07:44 +00:00
Roger Dingledine
7f611f4732
if we're a server and some peer has a broken tls certificate, don't
...
shout about it unless we want to hear about protocol violations.
svn:r6507
2006-05-26 16:32:16 +00:00
Roger Dingledine
82ae38f649
be more verbose about testing reachability of our ORPort.
...
svn:r6506
2006-05-26 16:29:33 +00:00
Roger Dingledine
f579478687
correct a false log message, since we actually reset all our
...
downloading stats every hour, and sometimes more often.
svn:r6505
2006-05-26 16:29:20 +00:00
Roger Dingledine
731f4086c0
resolve an unused variable
...
svn:r6503
2006-05-26 13:51:45 +00:00
Roger Dingledine
a4cdb834b9
Stop being picky about what the arguments to mapaddress look like.
...
we were refusing names that had $ in them, which people who specify
$key.exit will be sad about. There are likely other examples.
If people can think of reasons why we should be picky, let me know.
svn:r6496
2006-05-25 20:06:09 +00:00
Roger Dingledine
3cd01ca9a1
make cookie authentication for the controller work again, maybe.
...
it sure doesn't now.
svn:r6494
2006-05-24 23:03:28 +00:00
Roger Dingledine
6066d68ac3
make options->RedirectExit work again; resolve bug 293.
...
svn:r6492
2006-05-24 11:13:03 +00:00
Roger Dingledine
36712a443b
Stop initializing the hardware accelerator engines simply because
...
we overloaded the meaning of the argument to crypto_global_init().
svn:r6490
2006-05-24 00:37:38 +00:00
Roger Dingledine
67a885ecac
Claim a commonname of Tor, rather than TOR, in tls handshakes.
...
Maybe this will help us win the war of names.
svn:r6489
2006-05-24 00:21:55 +00:00
Nick Mathewson
89a8411ace
Throw out this UNALIGNED_INT_ACCESS_OK nonsense. Even where it works, it is often way way slower than doing the right thing. Backport candidate.
...
svn:r6473
2006-05-23 08:23:03 +00:00
Roger Dingledine
13c4590dd1
ignore RunAsDaemon more thoroughly when we're running on windows.
...
svn:r6471
2006-05-23 07:04:55 +00:00
Roger Dingledine
6b058bd563
add a few more debugging lines to help mikec track down his
...
11 minute jump into the future.
svn:r6465
2006-05-23 03:08:30 +00:00