[Author Prev][Author Next][Thread Prev][Thread Next][Author Index][Thread Index]

purging old router information, revocation



I'd like to know how directories are cleaned up after a router leaves the Tor network. I've read through the specs distributed with 0.1.2.7-alpha but I haven't been able to find a discussion on this. Maybe some readers who run onion routers have had some practical experience on this that they can share.

If an OR leaves the network and no longer accepts incoming connections, then I understand that the directory authorities will no longer list it as "Running" in their network-status documents ("Running" means the DA was able to connect to it sometime in the last 30mins). How long will the DAs keep trying to connect to an OR that doesn't respond? At what point do the DAs purge their stored descriptors for that router and no longer list it in their network-status document (assuming that they do, in fact, purge information)?

Eventually, the onion key for a router that has left the network will expire (the default lifetime is 1 week). If a descriptor contains an expired onion key, do the DAs detect this, or is it up to the Tor clients do to this?

I just noticed that src/or/or.h seems to give some clues to these questions:

/** How old do we allow a router to get before removing it
 * from the router list? In seconds. */
#define ROUTER_MAX_AGE (60*60*48)
/** How old can a router get before we (as a server) will no longer
 * consider it live? In seconds. */
#define ROUTER_MAX_AGE_TO_PUBLISH (60*60*20)
/** How old do we let a saved descriptor get before force-removing it? */
#define OLD_ROUTER_DESC_MAX_AGE (60*60*24*5)
/** How old do we let a networkstatus get before ignoring it? */
#define NETWORKSTATUS_MAX_AGE (60*60*24)

-James