Opened 14 years ago

Last modified 7 years ago

#251 closed enhancement (Implemented)

routers sometimes prefer not to talk to dirservers

Reported by: goodell Owned by: arma
Priority: Low Milestone:
Component: Core Tor/Tor Version:
Severity: Keywords:
Cc: goodell Actual Points:
Parent ID: Points:
Reviewer: Sponsor:

Description

Tor consists of two components, a program (the software) and a network (the service).
If our design is to be modular, then these components will be separable. Specifically,
if a Tor controller wants to replace or augment the functionality that a directory
server ordinarily provides, then we should allow it to do so. However, aside from NoPublish,
we presently have no means by which we can instruct Tor to not attempt to contact the
directory servers using the standard, internal mechanism for interacting with directory
servers. We want a means by which we can tell Tor to NOT contact the directory server but
also NOT complain about its inability to do so. Specifically, if we use controller commands
to tell a Tor server to not publish its descriptors, then the server MUST NOT contact the
directories for the purpose of publishing descriptors, and otherwise still be functional.
Also, if we use controller commands to tell a Tor server OR client to not fetch descriptors
from the directory, then the server OR client MUST NOT contact the directories for the
purpose of fetching descriptors, and otherwise still be functional (though perhaps the
functionality will be limited if Tor clients know about fewer than three descriptors).

So here are the new config options. All have value '1' by default.

PublishServerDescriptor {0,1}
PublishHiddenServiceDescriptors {0,1}
FetchServerDescriptors {0,1}
FetchHiddenServiceDescriptors {0,1}

PublishServerDescriptor determines whether a server publishes its descriptor to
the directories.

PublishHiddenServiceDescriptors determines whether a server publishes any hidden
service descriptors it controls to the directories.

FetchServerDescriptors determines whether a server or client fetches server
descriptors from the directories.

FetchHiddenServiceDescriptors determines whether a server or client fetches hidden
service descriptors from the directories.

(*) Both ClientOnly and NoPublish SHOULD be aliases for the NEGATION of
PublishServerDescriptor.

We might also consider the ability to configure the set of directories to the empty set...

[Automatically added by flyspray2trac: Operating System: All]

Child Tickets

Change History (3)

comment:1 Changed 14 years ago by arma

Implemented. Let me know if it does what you expected. And give it a
try in a variety of contexts and let me know if it still tries to
do something it shouldn't try, or complain about something it shouldn't
mind.

comment:2 Changed 14 years ago by arma

flyspray2trac: bug closed.

comment:3 Changed 7 years ago by nickm

Component: Tor RelayTor
Note: See TracTickets for help on using tickets.