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
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
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
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
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
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
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
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
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
Nick Mathewson
55c38f88b9
Remove string size limit on NEWDESC messages; solve bug 291.
...
svn:r6463
2006-05-22 23:24:06 +00:00
Roger Dingledine
295ad74fda
Tor servers are also giving spurious "you're invalid" warnings.
...
This is because we get a lot of network statuses that don't list
us at all, and we conclude that they all think we're invalid.
The long-term fix is to get better logic, and the short-term fix
is to downgrade the log severity.
svn:r6448
2006-05-09 09:47:47 +00:00
Roger Dingledine
27624a3024
stop telling people that "tor -h" will help them in any way.
...
svn:r6447
2006-05-08 04:28:49 +00:00
Roger Dingledine
e24e5475fb
forward-port the ORPort==0 patch
...
svn:r6430
2006-05-03 18:29:44 +00:00
Nick Mathewson
2b720b5746
Start remembering *where* we are storing routerdescs. This will make us easier to move from a RAM-mirrors-disk model to a RAM-caches-disk model, and save maybe around 10MB on a directory server.
...
svn:r6427
2006-04-29 18:42:26 +00:00
Nick Mathewson
15dbe02c04
shorten some too-wide lines
...
svn:r6426
2006-04-29 17:44:31 +00:00
Roger Dingledine
701341ef8a
put one of the XXX's back in
...
svn:r6422
2006-04-25 07:06:48 +00:00
Roger Dingledine
3c86402cc2
petty cleanups
...
svn:r6421
2006-04-25 07:00:04 +00:00
Nick Mathewson
5bce102cd2
Only warn about a down node once
...
svn:r6420
2006-04-25 06:20:47 +00:00
Nick Mathewson
5f9612216c
you wanted it spelled properly too? And me not even funded!
...
svn:r6418
2006-04-25 06:02:46 +00:00
Nick Mathewson
d6c04216ef
fix a segfault in last bug-285-related commit.
...
svn:r6417
2006-04-25 05:59:31 +00:00
Nick Mathewson
c70f1e7eb3
Possible partial fix for 285; needs review
...
svn:r6414
2006-04-24 17:51:31 +00:00
Roger Dingledine
934e9c49bb
Regenerate our local descriptor if it's dirty and some local
...
function asks for it. This may resolve bug 286.
svn:r6412
2006-04-23 23:09:03 +00:00
Roger Dingledine
c74c24a989
make more hibernate log messages use local time. we should audit
...
to see what other log messages keep switching back and forth
between GMT and local.
svn:r6411
2006-04-23 23:05:34 +00:00
Roger Dingledine
2d78d74c80
Raise the timeout for complaining about wedged cpuworkers.
...
This value is high because some servers with low memory/cpu
sometimes spend an hour or more swapping, and Tor starves.
svn:r6406
2006-04-18 19:48:06 +00:00
Roger Dingledine
5721747de2
class B really means /16 here
...
svn:r6404
2006-04-18 05:03:09 +00:00
Nick Mathewson
735a2131b8
require at least 2**16 assignable virtual addresses
...
svn:r6402
2006-04-18 04:57:07 +00:00
Nick Mathewson
7484ca06a5
[Forward-port ]Test and document last patch.
...
svn:r6400
2006-04-18 03:51:18 +00:00
Nick Mathewson
0df40a393b
[forward-port] Implement an option, VirtualAddrMask, to set which addresses get handed out in response to mapaddress requests. Needs testing and docs!
...
svn:r6398
2006-04-18 03:36:28 +00:00
Nick Mathewson
6ebd886511
forward-port: "Resolve" all XXX011 items, mostly by marking them non-011.
...
svn:r6396
2006-04-18 03:07:24 +00:00
Roger Dingledine
47d3e23155
note another bug: we complain that a router doesn't exist,
...
because it's down so we never fetched it so it doesn't exist.
svn:r6394
2006-04-17 06:46:20 +00:00
Roger Dingledine
34bc0866d4
slightly clearer log message when you use a nickname rather than
...
a key for an unnamed server.
svn:r6393
2006-04-17 06:43:27 +00:00
Roger Dingledine
07ff409876
no need to escape the address for our connections -- they are
...
always IP addresses.
svn:r6389
2006-04-16 22:34:00 +00:00
Roger Dingledine
0cee3e1fc7
if the bottom eighth of the servers by bandwidth is really crummy,
...
try the bottom quartile instead.
svn:r6387
2006-04-15 07:15:23 +00:00
Roger Dingledine
3791d3daaa
forward-port the n_named log severity downgrade.
...
svn:r6385
2006-04-14 20:19:33 +00:00
Roger Dingledine
64041d2dbf
ok, put moria1 back in, since it's v1 and thus we need to send
...
our rendezvous descriptors to it.
eventually we might make a 'v1only' tag that explains it's only
for rendezvous descriptors.
svn:r6382
2006-04-11 14:12:04 +00:00
Roger Dingledine
e720cc6589
drop moria1 from the list of authorities.
...
svn:r6381
2006-04-10 21:40:43 +00:00
Peter Palfrader
beb9e0721a
Stop assuming every authority is a v1 authority
...
svn:r6377
2006-04-10 21:29:29 +00:00
Nick Mathewson
1fbc74661f
Remove DER64 functions in trunk: they will never be used again unless the directory authorities switch back to 0.0.9tooearly.
...
svn:r6376
2006-04-10 21:23:00 +00:00
Roger Dingledine
12d461a245
make DirFetchPeriod and StatusFetchPeriod truly obsolete.
...
svn:r6373
2006-04-10 20:16:46 +00:00
Roger Dingledine
f89b0ea09f
be willing to add our own routerinfo into the routerlist.
...
this means authorities will include themselves in their
directories and network-statuses.
svn:r6369
2006-04-10 20:00:31 +00:00
Peter Palfrader
fe6c1b0192
Remove redundant includes. They are all hanled in torint.h which we already do include.
...
svn:r6364
2006-04-10 19:39:26 +00:00
Roger Dingledine
b190c451b8
and one more kick to consider all live network statuses for versions
...
svn:r6359
2006-04-10 08:40:16 +00:00
Roger Dingledine
a9e7737c3a
consider all live network statuses we have when deciding whether
...
our version is bad. also, unfix one of the unbugs from before.
svn:r6358
2006-04-10 08:37:16 +00:00
Nick Mathewson
1064bbc62a
Fix a wide line
...
svn:r6357
2006-04-10 08:05:00 +00:00
Nick Mathewson
71f1a77371
fix bugs in compute_recommended_versions
...
svn:r6356
2006-04-10 08:02:56 +00:00
Nick Mathewson
53f7a1bb0c
In fairness to gcc, a char** is often _not_ usable as a const void **.
...
svn:r6355
2006-04-10 07:50:38 +00:00
Nick Mathewson
eb3e28ba79
Oops. _compare_tor_version_str_ptr wants ptr-to-ptr. Ow.
...
svn:r6354
2006-04-10 07:40:39 +00:00
Roger Dingledine
acc2eb445d
and get rid of an extra variable
...
svn:r6349
2006-04-10 05:48:04 +00:00
Roger Dingledine
ac2070b35b
stop being so picky about when we can start building circuits.
...
now clients are more likely to have circuits up soon after their
tor starts.
svn:r6346
2006-04-10 05:44:54 +00:00
Nick Mathewson
e258276c2b
Change a dumb interface. Also, increment trusted_dir_server_t.n_networkstatus_failures when an all.z download fails entirely or partially.
...
svn:r6345
2006-04-10 01:35:56 +00:00
Roger Dingledine
21263982e4
Don't yell loudly about failed internal/bridge connections. These
...
are reachability testing and rendserv upload/downloads, and they
have their own failure messages elsewhere.
svn:r6343
2006-04-09 21:36:37 +00:00
Roger Dingledine
b6b534c9dd
quiet a bootstrapping message
...
svn:r6342
2006-04-09 20:19:56 +00:00
Roger Dingledine
760934b175
fix typo
...
svn:r6340
2006-04-09 10:43:03 +00:00
Roger Dingledine
ed38f46ebc
lower the minimum required number of fd's to 1000, so we can
...
have some overhead for valgrind on linux, where the default
ulimit -n is 1024.
svn:r6338
2006-04-09 10:28:00 +00:00
Roger Dingledine
b18d20ce32
Here is an attempted fix for directory mirrors that are frozen
...
in fear because they don't have all the networkstatuses. There's
no reason not to proceed if all the other checks are ok -- we just
shouldn't warn about certain things yet.
svn:r6337
2006-04-09 10:10:09 +00:00
Roger Dingledine
0871f4ef90
Remove about 30% of the v1 directory bulk by not including down or
...
invalid nodes.
This will make exitlist's running on v1 not very good. I feel sorry for
them, but not as sorry as I feel for the directory mirrors.
svn:r6332
2006-04-09 01:00:24 +00:00
Roger Dingledine
d48cdbe2e0
When fetching rendezvous descriptors, we were willing to ask
...
v2 authorities too. And of course they did not have a copy.
svn:r6331
2006-04-09 00:36:15 +00:00
Roger Dingledine
b7cadc0db5
If you're not a versioning dirserver, don't put the string
...
"client-versions \nserver-versions \n" in your network status.
svn:r6329
2006-04-08 21:59:15 +00:00
Roger Dingledine
a589650496
i like the name FetchUselessDescriptors better.
...
svn:r6327
2006-04-08 21:48:14 +00:00
Roger Dingledine
2a94c8b493
add a new config option FetchUselessRouters, off by default, for
...
when you plan to run "exitlist" on this client and you want to know
about even the non-running descriptors.
svn:r6326
2006-04-08 21:35:17 +00:00
Roger Dingledine
3a5758e212
If we think of ourselves as authoritative, even if we're not
...
in the DirServers config lines, then we still are. This way we
give ourselves the "Authority" flag in our network-status.
svn:r6325
2006-04-08 21:19:40 +00:00
Roger Dingledine
24b2e0530a
clean up the log lines more, and note a future work.
...
svn:r6324
2006-04-08 21:12:07 +00:00
Roger Dingledine
b5737aab91
add dizum as the fifth authoritative directory server.
...
svn:r6323
2006-04-08 21:03:49 +00:00
Roger Dingledine
f1692ebefc
when we do reachability testing and the tls cert at the other
...
end disagrees with a descriptor we already have, be more useful
at explaining it.
svn:r6322
2006-04-08 20:35:19 +00:00
Roger Dingledine
fab1feee26
complain when we hit wsaenobufs on recv or write too.
...
perhaps this will help us hunt the bug.
svn:r6321
2006-04-08 07:54:11 +00:00
Roger Dingledine
557b174b8d
Break out the checks to see if a routerstatus is something we
...
would use. This way when we're deciding if we have "enough" descriptors
to start building circuits, we can count them accurately.
svn:r6320
2006-04-08 06:56:38 +00:00
Roger Dingledine
de8ce0aae8
fix a typo that was confusing me
...
svn:r6319
2006-04-08 06:55:10 +00:00
Nick Mathewson
5d466b7611
Fix a couple of things that make GCC complain with verbose warnings on. Also, fix some whitespace.
...
svn:r6317
2006-04-08 05:43:52 +00:00
Nick Mathewson
7a804572ab
fix an infinite loop; answer a question
...
svn:r6316
2006-04-07 22:55:46 +00:00
Nick Mathewson
c6d010b218
Dont warn about our own status unless weve tried and failed 4 times (or succeeded) for each authority.
...
svn:r6315
2006-04-07 04:52:32 +00:00
Roger Dingledine
c4fb9d22cf
if there's more than one match for router-get-my-nickname,
...
try to pick one that's running.
svn:r6313
2006-04-04 03:46:40 +00:00
Roger Dingledine
0825f61102
fix crash bug reported in flyspray 279.
...
svn:r6312
2006-04-04 03:25:36 +00:00
Roger Dingledine
453062b028
fix typo, remove extraneous variable
...
svn:r6311
2006-04-03 11:24:14 +00:00
Roger Dingledine
7198af7fbe
one more edge case that could paralyze a client with fear
...
svn:r6310
2006-04-03 06:59:07 +00:00
Roger Dingledine
a324871603
phrase the threshold comparison in the way we've been
...
phrasing it. these are equivalent, right?
svn:r6309
2006-04-03 06:37:35 +00:00
Roger Dingledine
4b6ff2b084
bugfix in sort_version_list() so it doesn't screw up the sorting.
...
svn:r6308
2006-04-03 06:30:48 +00:00
Nick Mathewson
eba6204315
fix some xxxs.
...
svn:r6307
2006-04-03 06:23:24 +00:00
Roger Dingledine
2cb3aeb4e1
another point that needs more thinking
...
svn:r6306
2006-04-03 06:22:54 +00:00
Roger Dingledine
9549d81d95
two more thresholds to look at
...
svn:r6305
2006-04-03 06:10:33 +00:00
Roger Dingledine
64a40b5137
nick: there *is* no MAX_SERVER_INTERVAL_WITHOUT_REQUEST. true?
...
svn:r6300
2006-04-03 02:20:32 +00:00
Nick Mathewson
4130460f8e
Change networkstatus dl logic: try to have all networkstatuses live; insist on having all of them live or tried-at-least-once. Also, answer a XXXX comment.
...
svn:r6297
2006-04-02 23:02:52 +00:00
Nick Mathewson
d663bfa306
Versions that drop connections for having used idle circs are as bad for stable as for guard
...
svn:r6296
2006-04-02 23:01:01 +00:00
Nick Mathewson
785d25e06c
If I could forget that I had enabled StrictExitNodes, others will too.
...
svn:r6295
2006-04-02 22:59:59 +00:00
Roger Dingledine
b34032b87d
but the \r\n is handy too i hear.
...
svn:r6294
2006-04-02 22:19:01 +00:00
Roger Dingledine
e84cd412d4
if you give mapaddress no args at all, it should answer
...
something more than \r\n.
svn:r6293
2006-04-02 22:13:34 +00:00
Roger Dingledine
1e04b70d49
make NoPublish (even though deprecated) work again.
...
svn:r6287
2006-04-02 02:59:48 +00:00
Roger Dingledine
dfb3c5f47a
if you ask for getinfo dir/status/ but your dirport is off,
...
log a complaint.
svn:r6286
2006-04-01 22:17:37 +00:00
Roger Dingledine
6fb27741ba
Fix dirserv_get_networkstatus_v2's api: its function comments
...
did not at all match its behavior, and I can't think of a case
when it should return anything other than 0.
This fix may allow getinfo dir/status/foo to work.
svn:r6285
2006-04-01 22:00:49 +00:00
Roger Dingledine
e754664d62
bugfix: when we fail to bind or listen on an incoming or outgoing
...
socket, we should close it before failing. otherwise we just
leak it. (thanks to weasel for finding.)
svn:r6284
2006-04-01 10:22:57 +00:00
Roger Dingledine
e47075e771
more helpful error message
...
svn:r6283
2006-04-01 09:54:54 +00:00
Roger Dingledine
314f24870d
Start sending back 512 and 451 errors if mapaddress fails,
...
rather than not sending anything back at all.
svn:r6282
2006-04-01 09:50:43 +00:00
Roger Dingledine
4c996757ae
We can remove about 30% of the v1 directory bulk by taking
...
out down or invalid nodes. We should do this once we're ready.
svn:r6273
2006-03-29 09:21:23 +00:00
Roger Dingledine
db1209a852
Refactor the decision of whether to include a router's descriptor
...
in the v1 directory. No actual changes yet.
svn:r6272
2006-03-29 08:56:39 +00:00
Roger Dingledine
1f4d0d2479
When deciding whether a router is Fast or Guard-worthy, consider
...
his advertised BandwidthRate and not just the BandwidthCapacity.
This is a bug in 0.1.0.x as well, but let's not bother backporting.
svn:r6266
2006-03-28 12:01:58 +00:00
Nick Mathewson
685bceed1c
Make the max number of old descriptors to hold rise with the number of authorities.
...
svn:r6254
2006-03-27 17:29:53 +00:00
Peter Palfrader
03302dc67d
On our dirport return a robots.txt so maybe google doesn't index all those server descriptors anymore
...
svn:r6252
2006-03-27 07:33:13 +00:00
Nick Mathewson
2421724853
Code to implement networkstatus fetch from controllers. Only works when dirport is set for now; should be good enough to make serifos html front-end not be as wrong.
...
svn:r6251
2006-03-27 06:49:25 +00:00
Roger Dingledine
56df81199a
that extra punctuation distracts me
...
svn:r6250
2006-03-27 05:30:16 +00:00
Nick Mathewson
cd271dbca9
re-order to avoid free-then-use. Thank goodness tor_free() zeroes things.
...
svn:r6249
2006-03-27 05:27:47 +00:00
Nick Mathewson
c74bd877e2
Oops. We may not have a networkstatus list when we first parse the cached routers.
...
svn:r6248
2006-03-27 05:12:07 +00:00
Nick Mathewson
3e8c9a485f
Fix for "but need_to_mirror=1" annoyance; is bug 273 fixed?
...
svn:r6247
2006-03-27 05:07:57 +00:00
Roger Dingledine
6f08d121d9
Refactor and consolidate addr/exit policies into a new policies.c.
...
Fix some minor bugs and memory leaks along the way.
svn:r6246
2006-03-27 02:25:34 +00:00
Roger Dingledine
e20aad8d46
remove obsolete address policy code
...
svn:r6243
2006-03-26 09:38:17 +00:00
Roger Dingledine
e1c8e3ca6e
also send syntax and parse errors back to the controller.
...
svn:r6242
2006-03-26 08:09:19 +00:00
Roger Dingledine
b899b9592a
When the controller's *setconf commands fail, collect an error message
...
in a string and hand it back. This starts to resolve bug 275.
svn:r6241
2006-03-26 06:51:26 +00:00
Peter Palfrader
e90bebf27b
Say private address instead of internal address.
...
Both are wrong or at least not entirely correct but nobody would
understand "special-use address as listed in RFC3330" I guess.
svn:r6236
2006-03-25 21:24:28 +00:00
Roger Dingledine
f2abd7a69b
fix a wordo, don't be so quick to yell at servers, and ask a question.
...
svn:r6235
2006-03-24 21:11:14 +00:00
Roger Dingledine
7edfec2ae6
bump up the magic number for how quickly we start notifying
...
a server that it's unreachable.
svn:r6234
2006-03-24 20:57:55 +00:00
Peter Palfrader
444e3b8eb2
Note a magic 2 that probably should be replaced now that we have more dirservers
...
svn:r6232
2006-03-23 20:21:54 +00:00
Roger Dingledine
5b87b0bf55
update getinfo info/names to reflect that we now support
...
getinfo dir/server/*
svn:r6231
2006-03-22 21:53:09 +00:00
Roger Dingledine
20e66a799b
Resolve problem found by weasel: the v1 directory was including
...
servers as much as 48 hours old, because that's how the new
routerlist->routers works. Now only include them if they're
20 hours old or less.
svn:r6230
2006-03-22 21:32:42 +00:00
Peter Palfrader
58307cd8de
Maybe it compiles for devilproxy now
...
svn:r6229
2006-03-22 11:23:00 +00:00
Roger Dingledine
0d7efbe65d
Note a vulnerability with our current recommended-version concensus
...
building.
Make the warnings about invalid and unnamed nodes scale better, and
update the text of the warnings.
Change router_have_minimum_dir_info() to only be happy when it has
enough network-statuses ("more than half") to be willing to actually
build circuits.
Not yet done: when we fail to get a networkstatus that we wanted, and
!router_have_minimum_dir_info(), we should retry it quicker than a whole
minute from now.
svn:r6227
2006-03-22 06:22:12 +00:00
Roger Dingledine
51a3981d10
stop caching the v1 directory so often.
...
svn:r6226
2006-03-22 06:18:27 +00:00
Roger Dingledine
6fb2b6785d
whoops. inform circuits again when we failed to connect to their
...
first hop, so they don't have to time out.
svn:r6225
2006-03-22 04:09:30 +00:00
Roger Dingledine
1db263ac3c
stop writing the "router.desc" file, ever. nothing uses it anymore.
...
svn:r6224
2006-03-22 03:45:17 +00:00
Peter Palfrader
805754fdd9
Log server fingerprint on startup
...
svn:r6223
2006-03-22 03:40:59 +00:00
Roger Dingledine
216e349cb2
parameterize two more timeout constants in circuit-land.
...
svn:r6220
2006-03-22 00:52:37 +00:00
Roger Dingledine
ad236d4b8b
freeing is not the same as setting to null
...
svn:r6219
2006-03-22 00:03:51 +00:00
Roger Dingledine
28fafb9022
new config option SocksTimeout: How long do we let a socks connection
...
wait unattached before we fail it?
Use this value for controller socks timeout, for normal socks
timeout, and for hidden-service socks timeout.
svn:r6217
2006-03-21 23:27:43 +00:00
Roger Dingledine
5399e394a8
and dirservers don't call you a guard if you're running a
...
buggy version either.
svn:r6216
2006-03-21 23:10:26 +00:00
Roger Dingledine
f11509e494
when upgrading to newer versions, throw away entry guards
...
picked by the old wrong algorithms.
svn:r6215
2006-03-21 23:06:47 +00:00
Roger Dingledine
8a8a84dd52
don't call circuit_n_conn_done() if the closing conn is already open.
...
svn:r6214
2006-03-21 22:22:48 +00:00
Roger Dingledine
a3329036a8
Bugfix: looks like clients since 0.1.1.10-alpha have been
...
expiring connections whenever 5 minutes pass and they *do*
have circuits on them.
svn:r6213
2006-03-21 21:58:00 +00:00
Roger Dingledine
65b575c03d
Be more patient before giving up on in-progress circuits.
...
I have absolutely no idea if this change helps or hurts.
Somebody should study this.
svn:r6212
2006-03-21 21:22:52 +00:00
Roger Dingledine
0e68ec0846
put lefkada on port 80, officially.
...
svn:r6209
2006-03-21 16:57:03 +00:00
Roger Dingledine
073d574a3f
Point out a potential DoS flaw in caching untrusted network
...
statuses to disk. We should resolve sometime.
svn:r6206
2006-03-21 05:27:35 +00:00
Roger Dingledine
415c9e878a
add lefkada as a fourth auth dir server.
...
svn:r6205
2006-03-21 04:41:20 +00:00
Nick Mathewson
08aba015ab
Make guard bandwidth threshold higher than fast bandwidth threshold.
...
svn:r6204
2006-03-20 21:49:55 +00:00
Nick Mathewson
1272485cd4
Make "Fast" based on median capacity, just like "Stable" is based on median uptime.
...
svn:r6203
2006-03-20 21:41:12 +00:00
Roger Dingledine
d1d0813cf3
Allow non-printable characters for exit streams (both for
...
connecting and for resolving). Now we tolerate applications
that don't follow the RFCs. But continue to block malformed
names at the socks side.
svn:r6193
2006-03-19 03:55:48 +00:00
Roger Dingledine
726e825b09
i'm a little teapot, short and stout
...
svn:r6192
2006-03-19 01:59:02 +00:00
Roger Dingledine
d8195e4128
Implement Jason Holt's SafeSocks config option.
...
Also put a URL in the warning message for unsafe socks4 use --
previously we'd only had the URL for unsafe socks5 use. Oops.
svn:r6190
2006-03-19 01:44:53 +00:00
Roger Dingledine
c06e6ddadd
Finish the transition from the word 'verified' to the words
...
'named' and 'valid'.
svn:r6188
2006-03-19 01:21:59 +00:00
Roger Dingledine
7e2aa67fcb
simplify when we're picking a default address for
...
when people ask for "serifos.exit".
svn:r6187
2006-03-18 22:54:08 +00:00
Roger Dingledine
868d456c3b
make it so there is one place to edit for new dirservers, not two.
...
svn:r6186
2006-03-18 22:37:27 +00:00
Roger Dingledine
cc37c2f71e
fix some typos
...
svn:r6185
2006-03-18 09:29:05 +00:00
Roger Dingledine
67b61fe475
authdirs shouldn't complain about unreachability when they
...
fetch a descriptor from somebody else. this is not the right
time to increment the failure count.
svn:r6184
2006-03-18 05:37:15 +00:00
Roger Dingledine
581795f41d
auth dir servers were only modifying a server's is_running field
...
when they created a network status. so if nobody asked for a
network status, they would never discover that any servers are
is_running, so they could never build a circuit.
svn:r6183
2006-03-18 01:24:04 +00:00
Roger Dingledine
cf6ba3e76f
let an authdir that's not a naming authdir start even
...
if it doesn't have an approved-routers file. if it does,
read it and parse it as usual.
svn:r6182
2006-03-18 00:22:23 +00:00
Roger Dingledine
4f14826cb3
Actually, only v1 auth dir servers need to define recommendedversions.
...
But versioning dirservers do need to cause recommendclientversions
and recommendedserverversions to somehow be non-empty.
svn:r6181
2006-03-17 23:25:40 +00:00
Roger Dingledine
c7839a17f5
when we're an auth dir server but don't claim to be a versioning
...
auth dir server, don't demand that we define RecommendedVersions.
svn:r6180
2006-03-17 23:21:42 +00:00
Roger Dingledine
51fc6799ad
right now we don't support entryguards on auth dirservers,
...
but that doesn't mean we need to remind them every time
they start up.
svn:r6179
2006-03-17 23:19:51 +00:00
Roger Dingledine
817556315a
Implement router purposes, and don't choose a non-general
...
purpose router when picking random nodes for a circuit.
Also implement SETROUTERPURPOSE and modify +POSTDESCRIPTOR.
This concludes bug 250 assuming it all works.
svn:r6178
2006-03-17 22:08:59 +00:00
Roger Dingledine
7d141c6776
but i made the line too long
...
svn:r6176
2006-03-17 19:25:36 +00:00
Roger Dingledine
f1bcc2d6f8
stop tricking server operators into thinking they got their
...
torrc perfect, just because tor could build a circuit.
svn:r6175
2006-03-17 19:20:07 +00:00
Nick Mathewson
053411e827
Comments: cleanups and additions.
...
svn:r6174
2006-03-17 05:50:41 +00:00
Nick Mathewson
0f0e14c6e3
normalize whitespace.
...
svn:r6173
2006-03-17 04:43:37 +00:00
Nick Mathewson
215e377224
Only warn about lack of name binding for self if we have tried downloading every networkstatus.
...
svn:r6172
2006-03-17 04:41:57 +00:00
Roger Dingledine
9a5df4cef5
resume being printist: if the hostname contains non-printable
...
characters, then fail. this time don't even bother telling the
server operator about these cases, because what's he going to do?
if it turns out that some significant population somewhere in the
world uses non-printable hostnames and wants to use tor, then i
hereby assume that they will contact us.
svn:r6171
2006-03-15 23:36:57 +00:00
Roger Dingledine
8d1f65a222
quiet another entry guard log message
...
svn:r6169
2006-03-15 22:48:48 +00:00
Roger Dingledine
e8fd871d8b
Stop being printist: just because our local platform doesn't
...
consider an alleged destination to be printable doesn't mean
nobody in the world will want to use it.
svn:r6167
2006-03-15 19:17:34 +00:00
Nick Mathewson
13cf54b9c1
Interim fix for 272: Only warn that we are not named if we have status docs from some naming authorities.
...
svn:r6166
2006-03-15 05:37:27 +00:00
Nick Mathewson
fb7b5545ce
Implement GETINFO(dir/server/foo); status will be harder.
...
svn:r6165
2006-03-15 05:06:56 +00:00
Nick Mathewson
d0f24b1e46
(Missing header change) Do not warn about unknown servers in our family when they are given as hex digests.
...
svn:r6164
2006-03-15 05:06:26 +00:00
Nick Mathewson
3c0a5f6365
Do not warn about unknown servers in our family when they are given as hex digests.
...
svn:r6163
2006-03-15 05:04:11 +00:00
Roger Dingledine
903183ea28
if we as a directory mirror don't know of any v1 directory
...
authorities, then don't try to cache any v1 directories.
svn:r6162
2006-03-15 00:10:13 +00:00
Peter Palfrader
a4ec555228
change INET_NTOA_BUF_LEN+1 to INET_NTOA_BUF_LEN
...
add a comment in a few places where we add weird numbers to buffer lengths
svn:r6161
2006-03-14 23:40:37 +00:00
Peter Palfrader
866f6293ff
I wonder what an internal internet protocol is
...
svn:r6159
2006-03-14 22:52:20 +00:00
Peter Palfrader
86a964d868
When we try to be a server and Address is not explicitly set
...
and our hostname resolves to a private IP address, try
to use an interface address if it has a public address.
svn:r6158
2006-03-14 22:51:15 +00:00
Peter Palfrader
2ef8f772a1
Fix an off-by-one buffer size in dirserv.c that magically never hit our
...
three authorities but broke sjmurdoch's own tor network.
svn:r6157
2006-03-14 22:43:52 +00:00
Roger Dingledine
499eeced44
when event_add or event_del fail, tell us why.
...
svn:r6156
2006-03-13 19:33:46 +00:00
Peter Palfrader
ebfb3fea6d
Fix minor semantic error with no real effect:
...
we were doing "is_internal_IP(htonl(in.s_addr))" but in.s_addr is
in network order and is_internal_IP wants host order. Change to
"is_internal_IP(ntohl(in.s_addr))".
svn:r6155
2006-03-13 19:09:52 +00:00
Nick Mathewson
dad60905a8
Be a little more careful when our calculated bandwidth is so high that we could never ever exhaust our bandwidth limit. This should resolve bug 130.
...
svn:r6146
2006-03-13 01:06:55 +00:00
Nick Mathewson
bd8ffccae7
More cleanups noticed by weasel; also, remove macros that nobody uses.
...
svn:r6143
2006-03-12 23:31:16 +00:00
Nick Mathewson
474c60b743
Cleanup on time-relaqted constants. New conventions:
...
1) Surround all constants by (parens), whether we'll be using them
in a denominator or not.
2) Express all time periods as products (24*60*60), not as multiplied-out
constants (86400).
3) Comments like "(60*60) /* one hour */" are as pointless as comments
like "c = a + b; /* set c to the sum of a and b */". Remove them.
4) All time periods should be #defined constants, not given inline.
5) All time periods should have doxygen comments.
6) All time periods, unless specified, are in seconds. It's not necessary
to say so.
To summarize, the old (lack of) style would allow:
#define FOO_RETRY_INTERVAL 60*60 /* one hour (seconds) */
next_try = now + 3600;
The new style is:
/** How often do we reattempt foo? */
#define FOO_RETRY_INTERVAL (60*60)
next_try = now + RETRY_INTERVAL;
svn:r6142
2006-03-12 22:48:18 +00:00
Roger Dingledine
b67a5ba498
lower the reachability timeout, so we're more likely to act
...
quickly if a server stops being reachable.
svn:r6141
2006-03-12 21:24:03 +00:00
Roger Dingledine
1fc5eb329b
We screwed up in anticipating how to add new dirservers:
...
Old servers won't realize they're supposed to stay connected
to the new dirservers, so they'll expire connections to them,
but that means the dirservers will list them as unreachable.
So the fix is to stop requiring an open connection when deciding
if a server is reachable. This makes us slightly less accurate,
but at least it will work.
svn:r6140
2006-03-12 20:57:52 +00:00
Roger Dingledine
ef447507ff
a better clean-up
...
svn:r6139
2006-03-12 20:51:02 +00:00
Roger Dingledine
a98b25137c
and another fix
...
svn:r6138
2006-03-12 20:48:59 +00:00
Roger Dingledine
98476c71d2
make tor --verify-config closer to working
...
svn:r6137
2006-03-12 20:46:00 +00:00
Roger Dingledine
a4da44c2b9
Now do address rewriting when the controller asks us to attach
...
to a particular circuit too. This will let Blossom specify
"moria2.exit" without having to learn what moria2's IP address is.
It may also cause other controller authors some angst. Let us know.
svn:r6136
2006-03-12 05:04:16 +00:00
Roger Dingledine
d80d5370e0
when we get funny-looking lines on our dirport, shut up about it.
...
svn:r6135
2006-03-12 04:36:17 +00:00
Roger Dingledine
b5c6a990d3
fix assert while attachstream'ing a connect-wait or
...
resolve-wait stream.
svn:r6134
2006-03-12 04:33:29 +00:00
Roger Dingledine
80f0492a65
avoid shadowing a variable so we don't get sad later.
...
svn:r6133
2006-03-12 04:07:21 +00:00
Roger Dingledine
0bd46086c3
fix bug reported by gozu: if we get a linelist or linelist_s
...
config option from the torrc and it has no value, warn and
skip rather than silently resetting it to its default.
svn:r6125
2006-03-11 18:40:33 +00:00
Roger Dingledine
c8e2a051ac
huge warning sign for esc_router_info()
...
svn:r6124
2006-03-11 17:52:55 +00:00
Nick Mathewson
4d3e709c4b
Use escaped() for remaining cases.
...
svn:r6117
2006-03-11 02:21:30 +00:00
Roger Dingledine
86a72f73b9
make entry guard logs even quieter
...
svn:r6116
2006-03-10 16:51:26 +00:00
Roger Dingledine
e11f900a2a
stop printing a log message at every iteration through the
...
event loop when holding open a conn for flushing but it
doesn't want to flush any more bytes yet.
svn:r6114
2006-03-09 06:34:33 +00:00
Roger Dingledine
5f8d26496d
Let the controller attachstream conns that are in connect_wait
...
or resolve_wait: we detach them first and then act as before.
Resolves bug 264.
svn:r6112
2006-03-09 06:29:53 +00:00
Roger Dingledine
82d1fdbaea
don't abandon entry guards until they've been dead a whole month.
...
make entry guard log messages quieter.
svn:r6106
2006-03-09 00:55:55 +00:00
Roger Dingledine
44107f6ec4
Implement NEWNYM. Nick, did I do a bad thing?
...
svn:r6105
2006-03-09 00:18:16 +00:00
Roger Dingledine
0f39033b9f
clean up typo
...
svn:r6103
2006-03-09 00:10:28 +00:00
Roger Dingledine
946317ae13
start using OR_CONN_EVENT_NEW.
...
also fixes a seg fault in tor (bug 261).
svn:r6101
2006-03-08 22:29:08 +00:00
Roger Dingledine
8db1e363c9
remove some redundant code now that we compress exit policies
...
after parsing them
svn:r6099
2006-03-08 19:34:34 +00:00
Nick Mathewson
1ce3713889
Possible bug 265 fix: authorities must be more strict than clients about age of acceptable routers; make routers publish every 12 hours; client ROUTER_MAX_AGE must be greater than NETWORKSTATUS_MAX_AGE+authoirty ROUTER_MAX_AGE.
...
svn:r6095
2006-03-08 06:29:52 +00:00
Roger Dingledine
a2d71f917e
mark bug 261
...
svn:r6089
2006-03-06 19:47:54 +00:00
Nick Mathewson
5dc5380984
Add some "to-be-safe" escaped() wrappers to log statements in rend*.c, though I am not 100% sure that each one is necessary.
...
svn:r6088
2006-03-06 00:25:39 +00:00
Nick Mathewson
5777ee0e1a
Add some functions to escape values from the network before sending them to the log. Use them everywhere except for routerinfo->plaftorm, routerinfo->contact_info, and rend*.c. (need sleep now)
...
svn:r6087
2006-03-05 09:50:26 +00:00
Nick Mathewson
6a4e304d9e
Allow private:* in routerdescs; not generated yet (because older Tors do not understand it); needs testing.
...
svn:r6086
2006-03-05 05:27:59 +00:00
Roger Dingledine
329af979e0
Add a new circuit purpose 'controller' to let the controller
...
ask for a circuit that Tor won't try to use.
Extend the EXTENDCIRCUIT controller command to let you specify
the purpose if you're starting a new circuit.
Add a new SETCIRCUITPURPOSE controller command to let you
change a circuit's purpose after it's been created.
svn:r6075
2006-02-23 06:51:09 +00:00
Roger Dingledine
2bfd2a2400
clean up a log message
...
svn:r6074
2006-02-21 17:54:56 +00:00
Roger Dingledine
25ed4b66e3
be quieter about hidserv descriptors that are too old or too new.
...
we can't do anything about them anyway.
svn:r6073
2006-02-21 06:23:57 +00:00
Roger Dingledine
89b07b458b
i missed the other half of that grammar fix
...
svn:r6058
2006-02-21 03:55:47 +00:00
Roger Dingledine
16f265fa0d
when saveconf fails in controller v1, we were returning a malformed
...
error string.
svn:r6053
2006-02-20 01:24:26 +00:00
Roger Dingledine
498c13b4df
make the NoPublish option obsolete.
...
svn:r6052
2006-02-20 01:21:48 +00:00
Roger Dingledine
0408adb728
tweak
...
svn:r6051
2006-02-20 01:15:38 +00:00
Roger Dingledine
276a7bd038
the other half of fixing bug 257. catch an error in more places.
...
svn:r6050
2006-02-20 01:06:27 +00:00
Roger Dingledine
57bcdcecf1
try to address bug 257: if rename() fails during saveconf, tell
...
the controller.
svn:r6049
2006-02-19 23:12:26 +00:00
Roger Dingledine
6a52867846
New config options to address bug 251:
...
FetchServerDescriptors and FetchHidServDescriptors for whether
to fetch server info and hidserv info or let the controller do it,
and also PublishServerDescriptor and PublishHidServDescriptors.
Add AllDirActionsPrivate undocumented option -- if you set it, you'll
need the controller to bootstrap you enough to build your first circuits.
svn:r6047
2006-02-19 22:02:02 +00:00
Peter Palfrader
c4f389420c
Improve the "we have been waiting for 1140377851 seconds" log
...
svn:r6046
2006-02-19 19:44:09 +00:00
Roger Dingledine
266254f42b
clean up the Reachable*Addresses changes
...
svn:r6041
2006-02-19 08:31:47 +00:00
Roger Dingledine
a9fcf4ced2
this is why you're not supposed to cut-and-paste code
...
svn:r6037
2006-02-18 06:46:01 +00:00
Peter Palfrader
aa5443551d
Make it compile with VC7. It does not yet link.
...
svn:r6033
2006-02-18 02:02:21 +00:00
Roger Dingledine
42cd0dcde8
fix typo found in phobos's logs
...
svn:r6020
2006-02-15 03:47:38 +00:00
Roger Dingledine
f6d80d60e0
don't warn when we get a server descriptor from the controller
...
but it's too old. that's not something tor should fix.
svn:r6019
2006-02-15 03:01:53 +00:00
Peter Palfrader
c7f2970777
Just because both are obsolete does not mean we prefer the newer
...
svn:r6016
2006-02-14 17:48:51 +00:00
Peter Palfrader
0bab094d5d
Explain why we only expire open connections
...
svn:r6015
2006-02-14 17:30:04 +00:00
Roger Dingledine
ae249fc5a3
document the frequency for reachability testing by the
...
directory authorities.
svn:r6014
2006-02-14 04:33:59 +00:00
Peter Palfrader
84295f9f43
Do not mark connections obsolete before they have done their TLS handshake or are at least 60 seconds old
...
svn:r6013
2006-02-14 04:23:05 +00:00
Peter Palfrader
761da5b97f
Our connection_or_get_by_identity_digest() was slightly wrong. If best
...
didn't have any circuits on it, but conn had circuits, we would not make
conn our new best unless it was also newer. Also, restructure the code
a bit to maybe make it clearer.
svn:r6012
2006-02-14 00:08:19 +00:00
Peter Palfrader
0cc2390f8c
Warn if ReachableAddresses is set when also ReachableDirAddresses and ReachableORAddresses are set.
...
svn:r6010
2006-02-13 22:29:37 +00:00
Peter Palfrader
5eea6c76df
Split ReachableAddresses into ReachableDirAddresses and ReachableORAddresses
...
svn:r6009
2006-02-13 21:17:20 +00:00
Roger Dingledine
259c65ab08
the last of the log convention conversion. finally.
...
svn:r6005
2006-02-13 10:33:00 +00:00
Roger Dingledine
aa63a84fe1
the things we do for our windows users.
...
i hope they appreciate it.
svn:r6004
2006-02-13 09:37:53 +00:00
Roger Dingledine
d113b75da6
more log conversions.
...
whee.
svn:r6003
2006-02-13 09:02:35 +00:00
Roger Dingledine
36484f873a
convert some more source files to the new log convention
...
svn:r6002
2006-02-13 08:28:42 +00:00
Roger Dingledine
7d80921afa
resolve too-long-lines
...
svn:r6001
2006-02-13 08:22:57 +00:00
Nick Mathewson
2a4555fedd
Style on config_addr_policy_intersectes, which looks ok to me.
...
svn:r5998
2006-02-13 07:16:32 +00:00
Roger Dingledine
350313d77a
Let the users set ControlListenAddress in the torrc.
...
This can be dangerous, but there are some cases (like a secured
LAN) where it makes sense.
svn:r5997
2006-02-13 06:25:16 +00:00
Peter Palfrader
6c4d873591
Compress exit policies even more. please review
...
svn:r5995
2006-02-13 01:54:31 +00:00
Nick Mathewson
2cc66125b8
try to fix bug with spurious "everything is broken" warning
...
svn:r5994
2006-02-13 00:26:43 +00:00
Roger Dingledine
b7781ea208
bugfix: we were ignoring the IS_FAST flag in the directory
...
status, meaning we were willing to pick trivial-bandwidth nodes
for "fast" connections.
svn:r5992
2006-02-13 00:09:30 +00:00
Nick Mathewson
dba155ecff
Generate 18.0.0.0/8 address policy format in descs when we can; warn when the mask is not reducible to a bit-prefix.
...
svn:r5991
2006-02-12 23:58:22 +00:00
Roger Dingledine
b99f903e34
and don't warn when it happens here either, unless the user
...
wants to hear it.
svn:r5990
2006-02-12 23:44:02 +00:00
Roger Dingledine
97571a1cb4
don't tell ordinary users about broken directory servers.
...
it's a shame that they're broken, but most people are just
confused by the warning.
svn:r5988
2006-02-12 23:31:47 +00:00
Nick Mathewson
98ec124c6a
Drop redundant exit policy entries, not just identical ones.
...
svn:r5987
2006-02-12 22:59:38 +00:00
Nick Mathewson
e7b2d5cd47
Retain unrecognized options in state file, so that we can be forward-compatible.
...
svn:r5985
2006-02-12 22:28:30 +00:00
Nick Mathewson
ae4f0467c8
enforce whitespace style
...
svn:r5984
2006-02-12 22:27:09 +00:00
Roger Dingledine
3c4e68488b
Clients now honor the "guard" flag in the router status when
...
picking entry guards, rather than looking at is_fast or is_stable.
Now dirservers can change how they define it and clients will
automatically use their new definition.
svn:r5979
2006-02-12 03:43:39 +00:00
Roger Dingledine
b5ac6fc707
more helpful log message when running servers on obsolete windows.
...
svn:r5975
2006-02-12 00:14:58 +00:00
Roger Dingledine
094ccd34a9
bump up the period for forcing a hidden service descriptor upload
...
from 20 minutes to 1 hour.
svn:r5972
2006-02-12 00:12:36 +00:00
Roger Dingledine
981815146a
compress exit policies even more -- look for duplicate lines
...
and remove them.
svn:r5971
2006-02-12 00:03:06 +00:00
Roger Dingledine
6c093a17a9
bugfix in config_cmp_addr_policies() -- we were treating a pair
...
of exit policies if they were equal even if one said accept and
the other said reject.
svn:r5970
2006-02-11 23:47:24 +00:00
Roger Dingledine
fdf18fbbdb
stop leaking that
...
svn:r5969
2006-02-11 23:16:13 +00:00
Roger Dingledine
e847085c04
When a client asks for an old-style directory and our write bucket
...
is empty, don't give it to him. This way small servers can continue
to serve the directory *sometimes*, without getting overloaded.
svn:r5968
2006-02-11 23:15:40 +00:00
Nick Mathewson
f1b91924b2
Keep running if we ask for an impossible stdout log; just warn.
...
svn:r5964
2006-02-11 21:56:03 +00:00
Nick Mathewson
1dc90be4f0
Retry pending server downloads as well as pending networkstatus downloads when we unexpectedly get an app connection
...
svn:r5962
2006-02-11 21:29:12 +00:00
Nick Mathewson
91847124bf
Warn if running obsolete windows as a server.
...
svn:r5961
2006-02-11 21:26:40 +00:00
Roger Dingledine
85a64b4fd0
get our grammar right when complaining about un-recommended versions
...
svn:r5950
2006-02-09 06:08:59 +00:00
Roger Dingledine
5f051574d5
Happy new year!
...
svn:r5949
2006-02-09 05:46:49 +00:00
Roger Dingledine
fd0fcdf17c
stop calling it a "libevent poll" -- the word "poll" has
...
other meaning in this context that are confusing.
svn:r5936
2006-02-09 03:09:52 +00:00
Roger Dingledine
dbea401305
correct the comments that don't realize it's the opposite
...
svn:r5934
2006-02-09 02:59:26 +00:00
Roger Dingledine
31f2705d9a
and make sure that never happens again
...
svn:r5932
2006-02-09 02:42:33 +00:00
Roger Dingledine
2c221dd8db
fix bug 245: When modifying the orconn_circid_map map, we would
...
sometimes decrement conn->n_circuits even when there was no circuit
originally. This caused conn->n_circuits to go negative.
We noticed this because we were checking if connections can be
closed based on conn->n_circuits == 0, so we were never closing
any connection that had ever had a circuit on it.
svn:r5931
2006-02-09 02:42:15 +00:00
Roger Dingledine
1c596156aa
tweak comment
...
svn:r5930
2006-02-09 00:08:23 +00:00
Nick Mathewson
e5a574ce2e
Move "sort list of versions" logic into routerparse.c; make version-checking code say which versions it would have accepted. (not tested.)
...
svn:r5927
2006-02-06 05:04:27 +00:00
Nick Mathewson
2bb4fd24de
char *x = "y"; is not good C.
...
svn:r5926
2006-02-06 05:01:44 +00:00
Nick Mathewson
50e1005327
Only v1 authorities get hidden service descriptors with current protocol
...
svn:r5924
2006-02-06 04:56:18 +00:00
Nick Mathewson
97bff8edaa
Fix a const-non-const warning
...
svn:r5923
2006-02-06 04:55:27 +00:00
Roger Dingledine
a9c87fe251
more typos and nits
...
svn:r5918
2006-02-05 05:28:52 +00:00
Nick Mathewson
157e6a025a
Stupid cut-and-paste bug.
...
svn:r5917
2006-02-05 05:11:24 +00:00
Roger Dingledine
555a64e06d
as soon as we've fetched some more directory info, that's time
...
to think about downloading more server descriptors. this way
we don't have a 10 second pause in initial bootstrapping.
svn:r5916
2006-02-05 03:42:34 +00:00
Roger Dingledine
d602d0d298
cosmetic fix
...
svn:r5915
2006-02-05 03:42:04 +00:00
Roger Dingledine
640882c76c
clean up tabs and wide-lines from weasel's commit
...
svn:r5914
2006-02-05 03:23:16 +00:00
Roger Dingledine
6535087845
when building v2 statuses or v1 running-routers, don't admit the
...
existence of descriptors older than a day.
we still cache them in case anybody asks, but we don't actively
mention them.
svn:r5913
2006-02-05 02:33:40 +00:00
Roger Dingledine
53f86cdf5d
fix bug: we were caching the newest descriptor for each server,
...
well, forever. i imagine this just keeps growing in size.
svn:r5912
2006-02-05 02:07:28 +00:00
Roger Dingledine
4c1fa73c7e
typos and nits
...
svn:r5911
2006-02-05 01:57:27 +00:00
Roger Dingledine
a53a73a782
forward-port the part where ordinary users try to fetch directories
...
less often. not critical but might as well stay in sync with stable.
svn:r5910
2006-02-05 01:57:07 +00:00
Roger Dingledine
640c555f02
Fix a major load balance bug: we were round-robining in 16 KB chunks, and
...
servers with bandwidthrate of 20 KB, while downloading a 600 KB directory,
would starve their other connections. Now we try to be a bit more fair.
svn:r5906
2006-02-04 08:58:51 +00:00
Peter Palfrader
94fb3f06b3
Fix compiler warning on 64 bit archs
...
svn:r5903
2006-02-03 22:26:43 +00:00
Peter Palfrader
390bbb0a0c
Try to make tor work better through squid: Limit number of descriptors we fetch
...
to 96 (was 128 previously).
We limit this number even when we do not have a http proxy explicitly
configured as some people mistakenly believe transparent proxies are a neat
idea.
svn:r5901
2006-02-03 15:17:48 +00:00
Roger Dingledine
a1dd751f30
when we fail to bind a listener, try to provide a more useful log msg.
...
svn:r5900
2006-02-03 12:26:10 +00:00
Roger Dingledine
1800fbe486
don't warn when we receive a 503 from a dirserver/cache -- this
...
will pave the way for them being able to tell us to screw off
if they're busy.
svn:r5898
2006-02-03 12:08:31 +00:00
Roger Dingledine
0fadf0aad6
Fix bug 225: now "attachstream 0" treats conn like it just connected,
...
doing address remapping, handling .exit and .onion idioms, and so on.
Now we are more uniform in making sure that the controller hears about
all new connections, and making sure it hears when they close.
svn:r5897
2006-02-03 11:37:19 +00:00
Roger Dingledine
92ef9e37e7
Add a new config option ExitPolicyRejectPrivate which defaults to 1.
...
This means all exit policies will begin with rejecting private addresses,
unless the server operator explicitly turns it off.
Also, make our code to remove redundancies in the exit policy smarter,
so it can detect "reject foo, reject bar, reject *" patterns.
Lastly, we can get rid of the "exit policy implicitly accepts" code,
since we make everything more explicit now.
svn:r5888
2006-02-01 03:53:52 +00:00
Roger Dingledine
bdba6e42dc
avoid a minor confusing log message
...
svn:r5887
2006-02-01 03:05:52 +00:00
Peter Palfrader
bf514e5dc5
Try to fix policy_includes_addr_mask_implicitly()
...
svn:r5886
2006-02-01 02:52:55 +00:00
Peter Palfrader
61ea27620a
Also catch 0/8 in exit_policy_implicitly_allows_local_networks()
...
svn:r5885
2006-02-01 02:31:27 +00:00
Roger Dingledine
686508a04a
don't try to upload hidden service descriptors until we have
...
established a circuit.
svn:r5884
2006-02-01 02:19:46 +00:00
Roger Dingledine
e05d4e45d2
provide a more useful warn message when our onion queue
...
gets full.
svn:r5881
2006-01-31 08:17:00 +00:00
Roger Dingledine
8fc44169e5
only start testing reachability once we've established a circuit.
...
this will make startup on dirservers less noisy.
it may also break things in subtle ways.
svn:r5878
2006-01-29 01:11:41 +00:00
Roger Dingledine
f8b9a8d457
bump the default bandwidthrate to 3 MB, and burst to 6 MB
...
svn:r5874
2006-01-28 08:28:15 +00:00
Roger Dingledine
35f91db15f
a slightly more useful message when you get a sighup
...
svn:r5869
2006-01-26 19:11:06 +00:00
Nick Mathewson
bfe285be61
Add a missing printf arg
...
svn:r5861
2006-01-24 04:01:13 +00:00
Roger Dingledine
2eabf190e9
make it louder when we're running an unrecommended version.
...
also, we need to tell them what versions *are* recommended.
i'll add that to the todo.
svn:r5859
2006-01-24 03:45:58 +00:00
Nick Mathewson
9f42c9d650
Make dirservers generate a separate "guard" flag to mean, "would make a good entry guard". Make clients parse it and vote on it.
...
svn:r5856
2006-01-24 00:31:16 +00:00
Roger Dingledine
1756ebdd4e
Jan 23 02:39:44.856 [warn] rend_mid_rendezvous(): Rejecting RENDEZVOUS1 cell with unrecognized rendezvous cookie AFC097FD.
...
This is not anything that the server admin can deal with, so don't
complain this loudly.
svn:r5851
2006-01-23 09:26:22 +00:00
Roger Dingledine
de13ddd26f
Stop complaining loudly whenever some poor client falls off
...
the network before we finish writing to him.
svn:r5850
2006-01-23 09:23:04 +00:00
Roger Dingledine
b9540285af
remove unused code
...
svn:r5847
2006-01-20 20:54:42 +00:00
Roger Dingledine
f6084cf831
Jan 18 18:42:05.671 [debug] Encountered eof
...
Jan 18 18:42:05.671 [debug] Got data, not eof. Leaving on inbuf.
that's not very smart.
svn:r5843
2006-01-19 11:21:28 +00:00
Roger Dingledine
4a66f5a896
when the controller asks for a signal we don't recognize, don't
...
include the whitespace/newline/etc in our complaint.
svn:r5841
2006-01-19 02:21:24 +00:00
Roger Dingledine
d682c84e79
attempted patch for bug 220: don't assert when we've tried all the
...
intro points for a hidden service and we try fetching the service
descriptor again.
svn:r5838
2006-01-17 04:16:59 +00:00
Roger Dingledine
d5acef191c
add another assert to make sure we're not scribbling on the stack.
...
svn:r5837
2006-01-17 04:14:04 +00:00
Roger Dingledine
cca9a2f7b0
oh, and the other bits of the commit
...
svn:r5836
2006-01-17 04:03:23 +00:00
Roger Dingledine
21be9dc3c0
when you tried to set orport through the controller, it would
...
trigger an assert because you hadn't made your onion keys yet
you wanted to launch cpu workers.
now init keys first, reset uptime, and tell the user that we're
starting the reachability testing.
svn:r5835
2006-01-17 04:01:32 +00:00
Roger Dingledine
76f1b7415b
try to detect an assert error earlier
...
svn:r5834
2006-01-17 02:31:04 +00:00
Nick Mathewson
1057516a07
Clients should not download descriptors for non-running descriptors.
...
svn:r5830
2006-01-16 20:52:30 +00:00
Roger Dingledine
f0d4b3d18f
turn crypto hardware acceleration off by default, until we find
...
somebody smart who can test it for us.
svn:r5829
2006-01-16 20:08:33 +00:00
Nick Mathewson
2dd566d5d5
Indirect access to the signed_descriptor field to make it easier to keep them lazily on disk.
...
svn:r5827
2006-01-12 18:04:17 +00:00
Roger Dingledine
0e51d5d274
When the controller was submitting a descriptor, we were checking to make
...
sure some network-status we had referred to it, and refusing it if not.
This is bad for people who want to insert descriptors that aren't part of
the current Tor network. Now we accept them, and also give a more useful
warn message if we ask a dir mirror for a given descriptor and it gives us
one we weren't expecting.
svn:r5824
2006-01-12 03:43:39 +00:00
Roger Dingledine
54a7285e99
oh hey. we were hanging up on every tor client because he
...
was obsolete as soon as he started. big oops.
svn:r5807
2006-01-11 22:34:07 +00:00
Nick Mathewson
c562ca494a
add missing warning
...
svn:r5806
2006-01-11 20:09:37 +00:00
Nick Mathewson
fefa34d525
Fix double-free of torrc_fname
...
svn:r5805
2006-01-11 20:01:47 +00:00
Nick Mathewson
adbe0f0ada
Fix bug 240: dont dump descriptions when not dumping actual config lines.
...
svn:r5804
2006-01-11 19:43:14 +00:00
Nick Mathewson
099b9ce2f9
Fix bug 230: add a rollback function to reverse all changes since the last mark_logs_temp(), and move log initialization into the two-phase part of option setting.
...
svn:r5803
2006-01-11 19:40:14 +00:00
Roger Dingledine
5ca40affeb
we were leaking a smartlist every time we built a circuit
...
svn:r5795
2006-01-11 04:14:10 +00:00
Nick Mathewson
d60faa7c93
Fix another memleak. I love you, valgrind!
...
svn:r5794
2006-01-11 04:09:40 +00:00
Nick Mathewson
8907391ad6
Fix wide lines
...
svn:r5793
2006-01-11 04:04:42 +00:00
Nick Mathewson
5c78c89471
Appease verbose gcc warning: make dirserv_compute_stable_uptime() static.
...
svn:r5792
2006-01-11 03:59:55 +00:00
Roger Dingledine
284fe9cad5
if we learn that a down entry guard is up, count our working entry
...
guards correctly when logging.
svn:r5791
2006-01-11 03:58:59 +00:00
Nick Mathewson
eb78295e4e
Fix memory leak in routerlist_remove_old_routers().
...
svn:r5790
2006-01-11 03:58:07 +00:00
Nick Mathewson
6a9ca9e790
Convert some more ints to long longs in rephist.c, as suggested by windows compiler.
...
svn:r5789
2006-01-11 03:57:01 +00:00
Roger Dingledine
d1baa0c4a6
we were leaking 3KB every time the entry guards changed, every time
...
the controller called saveconf, and every 20 minutes.
svn:r5788
2006-01-11 03:20:53 +00:00