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
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
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
Nick Mathewson
4d3e709c4b
Use escaped() for remaining cases.
...
svn:r6117
2006-03-11 02:21:30 +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
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
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
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
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
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
Roger Dingledine
266254f42b
clean up the Reachable*Addresses changes
...
svn:r6041
2006-02-19 08:31:47 +00:00
Peter Palfrader
5eea6c76df
Split ReachableAddresses into ReachableDirAddresses and ReachableORAddresses
...
svn:r6009
2006-02-13 21:17:20 +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
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
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
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
Roger Dingledine
5f051574d5
Happy new year!
...
svn:r5949
2006-02-09 05:46:49 +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
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