Roger Dingledine
dbea401305
correct the comments that don't realize it's the opposite
...
svn:r5934
2006-02-09 02:59:26 +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
Roger Dingledine
4c1fa73c7e
typos and nits
...
svn:r5911
2006-02-05 01:57:27 +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
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
b9540285af
remove unused code
...
svn:r5847
2006-01-20 20:54:42 +00:00
Roger Dingledine
cca9a2f7b0
oh, and the other bits of the commit
...
svn:r5836
2006-01-17 04:03:23 +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
7d1f675c85
entry nodes are now entry guards.
...
this is our last easy chance for a wholesale change. heave ho.
svn:r5782
2006-01-10 22:42:44 +00:00
Roger Dingledine
c8e6003412
balance the reachability testing so a smidgen of it happens
...
every 10 seconds. this way we don't try to do 500 tls's at
once every 20 minutes.
svn:r5763
2006-01-10 07:21:01 +00:00
Nick Mathewson
43a4f8c7f3
Be more aggressive about throwing away expired router descriptors: they are of no use to anybody. Better still: dont serve expired descriptors by fingerprint. The only people who ask for them are busted 0.1.1.10 Tors that will throw them away and re-request them after 30 minutes.
...
svn:r5762
2006-01-10 04:57:12 +00:00
Nick Mathewson
bec9b705cc
Instrument directory client bytes as well as server bytes.
...
svn:r5760
2006-01-09 23:13:53 +00:00
Nick Mathewson
878962bee1
Add reasons to DESTROY and RELAY_TRUNCATED cells.
...
svn:r5734
2006-01-05 21:23:03 +00:00
Roger Dingledine
485aa9415d
authdirs now stop whining so loudly about bad descriptors that they fetch
...
from other dirservers. now when there's a log complaint, it's for sure
from a freshly uploaded descriptor.
svn:r5726
2006-01-04 04:42:10 +00:00
Roger Dingledine
9af33ef39c
when we choose not to use a server descriptor from our cache, don't
...
log it so loudly.
svn:r5713
2006-01-03 10:42:20 +00:00
Roger Dingledine
2efa056777
make the "stable" flag in network-status be the median of the uptimes
...
of running valid servers. that way the cutoff adapts to the stability
of the network as a whole.
svn:r5693
2006-01-02 03:32:55 +00:00
Peter Palfrader
3dc69d3add
Make tor compile again
...
svn:r5688
2005-12-31 11:52:13 +00:00
Roger Dingledine
6c693dbda6
add a TorVersion state string.
...
not yet set to anything.
svn:r5687
2005-12-31 08:16:07 +00:00
Roger Dingledine
5947388968
Finish implementing config's EntryNodes and StrictEntryNodes option.
...
The logging is way verbose for now.
svn:r5683
2005-12-31 06:32:57 +00:00
Roger Dingledine
dbd7b97eff
helper nodes are dead. long live entry nodes.
...
(config options EntryNodes and StrictEntryNodes still not
implemented.)
svn:r5673
2005-12-28 09:07:31 +00:00
Roger Dingledine
60cd03069a
when we connect to a helper node for the first time, close
...
that connection and its circuits. this lets us go back to
using the old helper nodes rather than immediately using
the last one in the list.
svn:r5670
2005-12-28 07:19:55 +00:00
Nick Mathewson
ece9865020
Implement new directory logic: download by descriptor digest, not by key digest. Caches try to download all listed digests from authorities; clients try to download "best" digests from caches.
...
svn:r5659
2005-12-27 05:26:03 +00:00
Roger Dingledine
35986a2374
simplify because we weren't using those return values anyway
...
svn:r5643
2005-12-24 22:48:12 +00:00
Peter Palfrader
4bd65f0f98
Keep bandwidth history accross restarts/crashes
...
svn:r5637
2005-12-23 23:56:42 +00:00
Roger Dingledine
a6afef700a
nother typo
...
svn:r5605
2005-12-15 21:51:12 +00:00
Nick Mathewson
89eded7b17
Add "panic" option to reject all servers not in fingerprint list.
...
svn:r5601
2005-12-15 21:39:38 +00:00
Nick Mathewson
280c62314e
Make clients look at the fast and stable flags in networkstatus, not at the bandwidth and uptime declared in the router descriptors.
...
svn:r5599
2005-12-15 21:30:57 +00:00
Nick Mathewson
24e79df0b6
Whitespace fixes; comments.
...
svn:r5596
2005-12-15 21:17:40 +00:00
Nick Mathewson
3ea32f51cb
add a few clarifying comments
...
svn:r5592
2005-12-15 20:49:01 +00:00
Nick Mathewson
ce71b17224
Clean fake_status a bit. Switch from has_fetched_directory to have_minimum_dir_info, and make the latter function smarter.
...
svn:r5591
2005-12-15 20:44:15 +00:00
Nick Mathewson
9482b1b9d5
Choose directory servers from routerstatus list, not from routerinfo list. This way, as soon was we have a networkstatus, we can ask a cache to give us routers, rather than needing to ask the directories.
...
svn:r5586
2005-12-14 22:00:58 +00:00
Nick Mathewson
c02c6b5823
Shave off 8 bytes per connection and 4 bytes per circuit by paying attention to padding warnings, moving fields around, and acknowledging that we have no files with over 64 kilolines.
...
svn:r5583
2005-12-14 21:03:51 +00:00
Nick Mathewson
1af630d32c
Bite the bullet and limit all our source lines to 80 characters, the way IBM intended.
...
svn:r5582
2005-12-14 20:40:40 +00:00
Nick Mathewson
27a201ac80
Have dirctory authorites note which servers make good V2 directory caches in publishe network-status.
...
svn:r5574
2005-12-12 01:03:28 +00:00
Roger Dingledine
8730190914
when we're checking reachability, make it clearer in the logs
...
what to expect.
svn:r5538
2005-12-08 21:12:47 +00:00
Nick Mathewson
e9b66ec906
Document CREATE_FAST better in the code. Move our key expansion algorithm into a separate function in crypto.c
...
svn:r5530
2005-12-08 17:38:32 +00:00
Nick Mathewson
f031ee8246
Make clients use CREATE_FAST cells. add an option to disable this.
...
svn:r5524
2005-12-07 22:09:02 +00:00
Nick Mathewson
b1d034d2ab
Fix bug 212: Directory authorities should not try to download server descriptors that they know they will reject.
...
svn:r5514
2005-12-06 06:55:43 +00:00
Nick Mathewson
d2123388ad
Better fix for last bug: avoids trying to double-mark circuits.
...
svn:r5511
2005-12-05 19:45:54 +00:00
Nick Mathewson
b03e8733f3
Change how OR conns get removed from the identity map; fix some warnings on shutdown.
...
svn:r5509
2005-12-05 19:15:27 +00:00
Nick Mathewson
148a1e969d
Shave off another 4.7%: remove a linear search when figuring out which circuits wanted us to open a given OR connection.
...
svn:r5489
2005-12-03 02:12:37 +00:00
Nick Mathewson
d56a65c497
Fix some verbose warnings and remove an unneeded include.
...
svn:r5472
2005-11-30 06:38:41 +00:00
Nick Mathewson
9cec3a13f5
remove some functions that are not used; #if0 out some files that are not likely to be used.
...
svn:r5471
2005-11-30 06:27:59 +00:00
Nick Mathewson
3bd613b44d
Rename connection_get_by_identity_digest to reflect that it is OR-only. Make it use a hashtable instead of a linear search.
...
svn:r5469
2005-11-30 03:01:16 +00:00
Roger Dingledine
97f748f680
clean up broken comment
...
svn:r5461
2005-11-26 09:27:36 +00:00
Nick Mathewson
652e1899ac
"How about 'never'? Does 'never' work for you?"
...
Weasel says circuit_get_by_conn is his main timesink. Most of its
users were just checking whether OR conns had circuits, so add a
circuit count to OR conns, and check that. One was
circuit_about_to_close_conn, which was doing an O(n^2) series of calls
to get all circs on an OR conn, so make an O(n) function for that.
Finally, circuit_get_by_edge_conn was using it as a sanity test that
has been around for a while but never found any actualy insanity, so
kill that.
circuit_get_by_conn is finally dead, which is good, since it was never
sane to begin with.
svn:r5460
2005-11-26 01:43:57 +00:00
Roger Dingledine
fe221f3dff
Start the process of treating internal circuits and exit circuits
...
separately. It's important to keep them separate because internal
circuits have their last hops picked like middle hops, rather than like
exit hops. So exiting on them will break the user's expectations.
- Stop cannibalizing internal circuits for general exits, and stop
cannibalizing exit circuits for rendezvous stuff.
- Don't let new exit streams attach to internal circuits.
- When deciding if we have enough circuits for internal and for exit,
don't count the wrong ones.
- Treat predicted resolves as predicted port 80 exits.
svn:r5457
2005-11-25 08:08:56 +00:00
Nick Mathewson
fbf8a8c25f
Dump bytes held to store descriptors.
...
svn:r5443
2005-11-23 06:00:58 +00:00
Nick Mathewson
7d7bb95f36
Track how many bytes we have in signed descriptors. Try to make sure we are tracking this right. Somebody should valgrind a dirserver on an example net. There should be code to dump this value.
...
svn:r5442
2005-11-23 05:47:51 +00:00