Turning off a server

Michael_google gmail_Gersten keybounce at gmail.com
Mon Oct 1 23:31:20 UTC 2007

> > AFAICS there's no way of turning off a server immediately, without actually
> > killing the tor process.
> >
> > What I mean by this is some controller command(s) that:
> >
> > - Closes all the server's ORCONNs immediately
> > - Sends a suicide descriptor to the authdirs.
> >
> > The use-case is the general user who runs a relay most of the time but
> > occasionally wants to toggle it off without disripting general use.
> I'd rather that users who want to stop being a server _not_ kill all
> ORCONNs immediately: doing so kills all the active connections for
> every user who's touching that server.
> Instead, I'd prefer that all circuits through that server die
> naturally as clients time them out over the next 10-30 minutes, and
> that the server stop accepting new circuits.  Does not that work in
> practice?  If it doesn't work (because circuits stay open
> indefinitely), I think the answer is to give existing circuits 5-10
> minutes or so finish up.

It doesn't work. I have more than once closed my OrPort, and seen
heavy traffic (>95% of bandwidth) for an hour. I can see >40% traffic
for an hour and a half.

My thought:
If I want to die, I will send a "Circuit wants to be terminated"
message back upstream to the originating node. That node knows if the
circuit is in use or not, and can close it if it is not. * If it is in
use, at least that tor client knows not to open any new TCP
connections over that circuit.

I think that's the "missing" element. There is no way that I know of
for a circuit to refuse any new TCP connection while still staying
open for existing ones. And even better is being able to notify that
originating client that new TCP connections will be rejected before
hand, so that a new circuit can be prepared ahead of time.

More information about the tor-dev mailing list