Roger Dingledine d2400a5afd Introduce a notion of 'internal' circs, which are chosen without regard
to the exit policy of the last hop. Intro and rendezvous circs must
be internal circs, to avoid leaking information. Resolve and connect
streams can use internal circs if they want.

New circuit pooling algorithm: make sure to have enough circs around
to satisfy any predicted ports, and also make sure to have 2 internal
circs around if we've required internal circs lately (with high uptime
if we've seen that lately).

Split NewCircuitPeriod config option into NewCircuitPeriod (30 secs),
which describes how often we retry making new circuits if current ones
are dirty, and MaxCircuitDirtiness (10 mins), which describes how long
we're willing to make use of an already-dirty circuit.

Once rendezvous circuits are established, keep using the same circuit as
long as you attach a new stream to it at least every 10 minutes. (So web
browsing doesn't require you to build new rend circs every 30 seconds.)

Cannibalize GENERAL circs to be C_REND, C_INTRO, S_INTRO, and S_REND
circ as necessary, if there are any completed ones lying around when
we try to launch one.

Re-instate the ifdef's to use version-0 style introduce cells, since
there was yet another bug in handling version-1 style. We'll try switching
over again after 0.0.9 is obsolete.

Bugfix: when choosing an exit node for a new non-internal circ, don't take
into account whether it'll be useful for any pending x.onion addresses --
it won't.

Bugfix: we weren't actually publishing the hidden service descriptor when
it became dirty. So we only published it every 20 minutes or so, which
means when you first start your Tor, the hidden service will seem broken.


svn:r3360
2005-01-17 18:13:09 +00:00
2005-01-12 15:44:44 +00:00
2005-01-04 09:09:00 +00:00
2005-01-05 00:06:51 +00:00
2005-01-05 00:06:51 +00:00
2005-01-05 00:06:51 +00:00

'tor' is an implementation of The Onion Routing system, as
described in a bit more detail at http://www.onion-router.net/. You
can read list archives, and subscribe to the mailing list, at
http://archives.seul.org/or/dev/.

Is your question in the FAQ? Should it be?

**************************************************************************
See the INSTALL file for a quickstart. That is all you will probably need.
**************************************************************************

**************************************************************************
You only need to look beyond this point if the quickstart in the INSTALL
doesn't work for you.
**************************************************************************

Do you want to run a tor server?

  See http://tor.eff.org/doc/tor-doc.html#server

Do you want to run a hidden service?

  See http://tor.eff.org/doc/tor-doc.html#hidden-service

Configuring tsocks:

  If you want to use Tor for protocols that can't use Privoxy, or
  with applications that are not socksified, then download tsocks
  (tsocks.sourceforge.net) and configure it to talk to localhost:9050
  as a socks4 server. My /etc/tsocks.conf simply has:
    server_port = 9050
    server = 127.0.0.1
  (I had to "cd /usr/lib; ln -s /lib/libtsocks.so" to get the tsocks
   library working after install, since my libpath didn't include /lib.)
  Then you can do "tsocks ssh arma@moria.mit.edu". But note that if
  ssh is suid root, you either need to do this as root, or cp a local
  version of ssh that isn't suid.

  (On Windows, you may want to look at the Hummingbird SOCKS client,
  or at SocksCap, instead.)

S
Description
No description provided
Readme 96 MiB
Languages
C 94.4%
Python 1.5%
C++ 1.1%
Shell 1.1%
M4 0.9%
Other 0.8%