``` Filename: 185-dir-without-dirport.txt Title: Directory caches without DirPort Author: Nick Mathewson Created: 20-Sep-2011 Status: Superseded Superseded-by: 237 Overview: Exposing a directory port is no longer necessary for running as a directory cache. This proposal suggests that we eliminate that requirement, and describes how. Motivation: Now that we tunnel directory connections by default, it is no longer necessary to have a DirPort to be a directory cache. In fact, bridges act as directory caches but do not actually have a DirPort exposed. It would be nice and tidy to expand that property to the rest of the network. Configuration: Add a new torrc option, "DirCache". Its values can be "0", "1", and "auto". If it is 0, we never act as a directory cache, even if DirPort is set. If it is 1, then we act as a directory cache according to same rules as those used for nodes that set a DirPort. If it is "auto", then Tor decides whether to act as a directory cache based on some future intelligent algorithm. "Auto" should be the new default. Advertising cache status: Nodes that are running as a directory cache should set the entry "dir-cache 1" in their router descriptors. If they do not have a DirPort set, or do not have a working DirPort, they should give their directory port as 0 in their router lines. (Nodes that have a working directory port advertise it as usual, and also include a "dir-cache" line. Nodes that do not serve directory information should set their directory port to 0, and not include any dir-cache line. Implementations should accept and ignore dir-cache lines with values other than "dir-cache 1".) Consensus: Authorities should assign a "DirCache" flag to all nodes running as a directory cache. This does not require a new version of the consensus algorithm. ```