From 9b1d5e8826e93f5d45a9d1ea7b7223fcfee2e484 Mon Sep 17 00:00:00 2001 From: teor Date: Wed, 2 May 2018 10:46:00 +1000 Subject: [PATCH 1/3] man page: FetchUselessDescriptors stops tor going idle Also explain how FetchUselessDescriptors and UseMicrodescriptors are different. Closes 25998. --- doc/tor.1.txt | 7 +++++-- 1 file changed, 5 insertions(+), 2 deletions(-) diff --git a/doc/tor.1.txt b/doc/tor.1.txt index dd9f9cefa..2fc5c413c 100644 --- a/doc/tor.1.txt +++ b/doc/tor.1.txt @@ -543,10 +543,13 @@ GENERAL OPTIONS If set to 1, Tor will fetch every consensus flavor, descriptor, and certificate that it hears about. Otherwise, it will avoid fetching useless descriptors: flavors that it is not using to build circuits, and authority - certificates it does not trust. This option is useful if you're using a + certificates it does not trust. Tor stops fetching descriptors if it + hasn't built any circuits lately: this option makes Tor keep fetching + descriptors, even when idle. This option is useful if you're using a tor client with an external parser that uses a full consensus. This option fetches all documents, **DirCache** fetches and serves - all documents. (Default: 0) + all documents, **UseMicrodescriptors 0** fetches full descriptors and uses + them to build circuits. (Default: 0) [[HTTPProxy]] **HTTPProxy** __host__[:__port__]:: Tor will make all its directory requests through this host:port (or host:80 From 4a7590c241dbb86571de670fec3f143d27f15cb7 Mon Sep 17 00:00:00 2001 From: teor Date: Wed, 2 May 2018 10:46:10 +1000 Subject: [PATCH 2/3] man page: UseMicrodescriptors auto and 1 are the same now --- doc/tor.1.txt | 5 ++--- 1 file changed, 2 insertions(+), 3 deletions(-) diff --git a/doc/tor.1.txt b/doc/tor.1.txt index 2fc5c413c..f003311d9 100644 --- a/doc/tor.1.txt +++ b/doc/tor.1.txt @@ -1636,9 +1636,8 @@ The following options are useful only for clients (that is, if in order to build its circuits. Using microdescriptors makes Tor clients download less directory information, thus saving bandwidth. Directory caches need to fetch regular descriptors and microdescriptors, so this - option doesn't save any bandwidth for them. If this option is set to - "auto" (recommended) then it is on for all clients that do not set - FetchUselessDescriptors. (Default: auto) + option doesn't save any bandwidth for them. For legacy reasons, auto is + accepted, but it has the same effect as 1. (Default: auto) [[PathBiasCircThreshold]] **PathBiasCircThreshold** __NUM__ + From d96ddf8f1b143934077bc4c1f54fa8a38087e342 Mon Sep 17 00:00:00 2001 From: teor Date: Wed, 2 May 2018 11:29:48 +1000 Subject: [PATCH 3/3] man page: FetchUselessDescriptors and DirCache exclude extra infos --- doc/tor.1.txt | 33 ++++++++++++++++++++------------- 1 file changed, 20 insertions(+), 13 deletions(-) diff --git a/doc/tor.1.txt b/doc/tor.1.txt index f003311d9..53a8c8fe5 100644 --- a/doc/tor.1.txt +++ b/doc/tor.1.txt @@ -540,16 +540,21 @@ GENERAL OPTIONS (Default: 1) [[FetchUselessDescriptors]] **FetchUselessDescriptors** **0**|**1**:: - If set to 1, Tor will fetch every consensus flavor, descriptor, and - certificate that it hears about. Otherwise, it will avoid fetching useless - descriptors: flavors that it is not using to build circuits, and authority - certificates it does not trust. Tor stops fetching descriptors if it - hasn't built any circuits lately: this option makes Tor keep fetching - descriptors, even when idle. This option is useful if you're using a + If set to 1, Tor will fetch every consensus flavor, and all server + descriptors and authority certificates referenced by those consensuses, + except for extra info descriptors. When this option is 1, Tor will also + keep fetching descriptors, even when idle. + If set to 0, Tor will avoid fetching useless descriptors: flavors that it + is not using to build circuits, and authority certificates it does not + trust. When Tor hasn't built any application circuits, it will go idle, + and stop fetching descriptors. This option is useful if you're using a tor client with an external parser that uses a full consensus. - This option fetches all documents, **DirCache** fetches and serves - all documents, **UseMicrodescriptors 0** fetches full descriptors and uses - them to build circuits. (Default: 0) + This option fetches all documents except extrainfo descriptors, + **DirCache** fetches and serves all documents except extrainfo + descriptors, **DownloadExtraInfo*** fetches extrainfo documents, and serves + them if **DirCache** is on, and **UseMicrodescriptors** changes the + flavour of consensues and descriptors that is fetched and used for + building circuits. (Default: 0) [[HTTPProxy]] **HTTPProxy** __host__[:__port__]:: Tor will make all its directory requests through this host:port (or host:80 @@ -2392,10 +2397,12 @@ details.) some entry in the policy is accepted. [[DirCache]] **DirCache** **0**|**1**:: - When this option is set, Tor caches all current directory documents and - accepts client requests for them. Setting DirPort is not required for this, - because clients connect via the ORPort by default. Setting either DirPort - or BridgeRelay and setting DirCache to 0 is not supported. (Default: 1) + When this option is set, Tor caches all current directory documents except + extra info documents, and accepts client requests for them. If + **DownloadExtraInfo** is set, cached extra info documents are also cached. + Setting **DirPort** is not required for **DirCache**, because clients + connect via the ORPort by default. Setting either DirPort or BridgeRelay + and setting DirCache to 0 is not supported. (Default: 1) [[MaxConsensusAgeForDiffs]] **MaxConsensusAgeForDiffs** __N__ **minutes**|**hours**|**days**|**weeks**:: When this option is nonzero, Tor caches will not try to generate