Commit 441c840e authored by Nick Mathewson's avatar Nick Mathewson 🤹
Browse files

Sort param-spec.txt into sections

parent 13d23379
Loading
Loading
Loading
Loading
+120 −84
Original line number Diff line number Diff line

        Commonly used "param" arguments at this point include:
                           Tor network parameters

1. Network protocol parameters

        "circwindow" -- the default package window that circuits should
        be established with. It started out at 1000 cells, but some
@@ -8,6 +10,38 @@
        Min: 100, Max: 1000
        First-appeared: Tor 0.2.1.20

        "refuseunknownexits" -- if set to one, exit relays look at
        the previous hop of circuits that ask to open an exit stream,
        and refuse to exit if they don't recognize it as a relay. The
        goal is to make it harder for people to use them as one-hop
        proxies. See trac entry 1751 for details.
        Min: 0, Max: 1
        First-appeared: 0.2.2.17-alpha


        "UseOptimisticData" -- If set to zero, clients by default
        shouldn't try to send optimistic data to servers until they have
        received a RELAY_CONNECTED cell.
        Min: 0, Max: 1, Default: 1
        First-appeared: 0.2.3.3-alpha
        Default was 0 before: 0.2.9.1-alpha

        "usecreatefast" -- Used to control whether clients use the
        CREATE_FAST handshake on the first hop of their circuits.
        Min: 0, Max: 1. Default: 1.
        First-appeared: 0.2.4.23, 0.2.5.2-alpha

        "min_paths_for_circs_pct" -- DOCDOC


        "AllowNonearlyExtend" -- If true, permit EXTEND cells that are not
        inside RELAY_EARLY cells.
        Min: 0. Max: 1. Default: 0.
        First-appeared: 0.2.3.11-alpha


2. Performance-tuning parameters

        "CircuitPriorityHalflifeMsec" -- the halflife parameter used when
        weighting which circuit will send the next cell. Obeyed by Tor
        0.2.2.10-alpha and later.  (Versions of Tor between 0.2.2.7-alpha
@@ -28,62 +62,39 @@
        First-appeared: 0.2.2.7-alpha
        Removed-in: 0.2.2.16-alpha

        "refuseunknownexits" -- if set to one, exit relays look at
        the previous hop of circuits that ask to open an exit stream,
        and refuse to exit if they don't recognize it as a relay. The
        goal is to make it harder for people to use them as one-hop
        proxies. See trac entry 1751 for details.
        Min: 0, Max: 1
        First-appeared: 0.2.2.17-alpha
        "NumNTorsPerTAP" -- When balancing ntor and TAP cells at relays,
        how many ntor handshakes should we perform for each TAP handshake?
        Min: 1. Max: 100000. Default: 10.
        First-appeared: 0.2.4.17-rc

        "circ_max_cell_queue_size" -- This parameter determines the maximum
        number of cells allowed per circuit queue.
        Min 1000. Max 4294967295. Default 50000.
        First-appeared: 0.3.3.6-rc.


        "sendme_emit_min_version" -- Minimum SENDME version that can be sent.
                                     Min: 0. Max: 255. Default 0. First
                                     appeared: 0.4.1.1-alpha.

        "sendme_accept_min_version" -- Minimum SENDME version that is accepted.
                                       Min: 0. Max: 255. Default 0. First
                                       appeared: 0.4.1.1-alpha.


3. Voting-related parameters

        "bwweightscale" -- Value that bandwidth-weights are divided by. If not
        present then this defaults to 10000.
        Min: 1
        First-appeared: 0.2.2.10-alpha

        "cbtdisabled", "cbtnummodes", "cbtrecentcount", "cbtmaxtimeouts",
        "cbtmincircs", "cbtquantile", "cbtclosequantile", "cbttestfreq",
        "cbtmintimeout", "cbtlearntimeout", "cbtmaxopencircs", and
        "cbtinitialtimeout" -- see "2.4.5. Consensus parameters governing
        behavior" in path-spec.txt for a series of circuit build time related
        consensus params.

        "UseOptimisticData" -- If set to zero, clients by default
        shouldn't try to send optimistic data to servers until they have
        received a RELAY_CONNECTED cell.
        Min: 0, Max: 1, Default: 1
        First-appeared: 0.2.3.3-alpha
        Default was 0 before: 0.2.9.1-alpha

        "maxunmeasuredbw" -- Used by authorities during voting with
        method 17 or later. The maximum value to give for any Bandwidth=
        entry for a router that isn't based on at least three
        measurements.
        First-appeared: 0.2.4.11-alpha

        "Support022HiddenServices" -- Used to implement a mass switch-over
        from sending timestamps to hidden services by default to sending
        no timestamps at all.  If this option is absent, or is set to 1,
        clients with the default configuration send timestamps; otherwise,
        they do not.
        Min: 0, Max: 1. Default: 1.
        First-appeared: 0.2.4.18-rc

        "usecreatefast" -- Used to control whether clients use the
        CREATE_FAST handshake on the first hop of their circuits.
        Min: 0, Max: 1. Default: 1.
        First-appeared: 0.2.4.23, 0.2.5.2-alpha

        "pb_mincircs", "pb_noticepct", "pb_warnpct", "pb_extremepct",
        "pb_dropguards", "pb_scalecircs", "pb_scalefactor",
        "pb_multfactor", "pb_minuse", "pb_noticeusepct",
        "pb_extremeusepct", "pb_scaleuse" -- DOCDOC

        "UseNTorHandshake" -- If true, then versions of Tor that support
          NTor will prefer to use it by default.
        Min: 0,  Max: 1. Default: 1.
        First-appeared: 0.2.4.8-alpha

        "FastFlagMinThreshold", "FastFlagMaxThreshold" -- lowest and
        highest allowable values for the cutoff for routers that should get
        the Fast flag.  This is used during voting to prevent the threshold
@@ -92,30 +103,6 @@
        FastFlagMaxThreshold: Min: -. Max: INT32_MAX: Default: INT32_MAX
        First-appeared: 0.2.3.11-alpha

        "NumDirectoryGuards", "NumEntryGuards" -- Number of guard nodes
        clients should use by default.  If NumDirectoryGuards is 0,
        we default to NumEntryGuards.
        NumDirectoryGuards: Min: 0. Max: 10. Default: 0
        NumEntryGuards:     Min: 1. Max: 10. Default: 3
        First-appeared: 0.2.4.23, 0.2.5.6-alpha

        "GuardLifetime" -- Duration for which clients should choose guard
        nodes, in seconds.
        Min: 30 days.  Max: 1826 days.  Default: 60 days.
        First-appeared: 0.2.4.12-alpha

        "min_paths_for_circs_pct" -- DOCDOC

        "NumNTorsPerTAP" -- When balancing ntor and TAP cells at relays,
        how many ntor handshakes should we perform for each TAP handshake?
        Min: 1. Max: 100000. Default: 10.
        First-appeared: 0.2.4.17-rc

        "AllowNonearlyExtend" -- If true, permit EXTEND cells that are not
        inside RELAY_EARLY cells.
        Min: 0. Max: 1. Default: 0.
        First-appeared: 0.2.3.11-alpha

        "AuthDirNumSRVAgreements" -- Minimum number of agreeing directory
        authority votes required for a fresh shared random value to be written
        in the consensus (this rule only applies on the first commit round of
@@ -123,7 +110,19 @@
        Min: 1. Max: INT32_MAX. Default: 2/3 of the total number of
        dirauth.

        "max-consensuses-age-to-cache-for-diff" -- Determines how
4. Circuit-build-timeout parameters

        "cbtdisabled", "cbtnummodes", "cbtrecentcount", "cbtmaxtimeouts",
        "cbtmincircs", "cbtquantile", "cbtclosequantile", "cbttestfreq",
        "cbtmintimeout", "cbtlearntimeout", "cbtmaxopencircs", and
        "cbtinitialtimeout" -- see "2.4.5. Consensus parameters governing
        behavior" in path-spec.txt for a series of circuit build time related
        consensus params.


5. Directory-related parameters

        "max-consensus-age-to-cache-for-diff" -- Determines how
        much consensus history (in hours) relays should try to cache
        in order to serve diffs.  (min 0, max 8192, default 72)

@@ -132,6 +131,16 @@
        client should no longer try to find a diff for it.  (min 0,
        max 8192, default 72)

6. Pathbias parameters

        "pb_mincircs", "pb_noticepct", "pb_warnpct", "pb_extremepct",
        "pb_dropguards", "pb_scalecircs", "pb_scalefactor",
        "pb_multfactor", "pb_minuse", "pb_noticeusepct",
        "pb_extremeusepct", "pb_scaleuse" -- DOCDOC

7. Relay behavior


        onion key lifetime parameters:
            "onion-key-rotation-days" -- (min 1, max 90, default 28)
            "onion-key-grace-period-days" -- (min 1, max
@@ -143,6 +152,10 @@
        days after it is replaced.  (Introduced in 0.3.1.1-alpha;
        prior versions of tor hardcoded both of these values to 7 days.)

8. V3 onion service parameters



        Hidden service v3 parameters:
         "hs_intro_min_introduce2"
         "hs_intro_max_introduce2" -- Minimum/maximum amount of INTRODUCE2 cells
@@ -168,6 +181,14 @@
        Min 1. Max 10. Default 2.
        First-appeared: 0.3.3.0-alpha.

        "HiddenServiceEnableIntroDoSDefense" -- This parameter makes tor start
        using this new proposed extension if available by the introduction
        point (for protover HSIntro=5). Min: 0. Max: 1. Default: 0. First
        appeared: 0.4.2.1-alpha.


9. Denial-of-service parameters

        Denial of Service mitigation parameters. Introduced in 0.3.3.2-alpha:

         "DoSCircuitCreationEnabled" -- Enable the circuit creation DoS
@@ -209,25 +230,40 @@
         "DoSRefuseSingleHopClientRendezvous" -- Refuse establishment of
         rendezvous points for single hop clients.

        "circ_max_cell_queue_size" -- This parameter determines the maximum
        number of cells allowed per circuit queue.
        Min 1000. Max 4294967295. Default 50000.
        First-appeared: 0.3.3.6-rc.
10. Padding-related parameters

        "circpad_max_circ_queued_cells" -- The circuitpadding module will
        stop sending more padding cells if more than this many cells are in
        the circuit queue a given circuit. Min: 0. Max: 50000. Default 1000.
        First appeared: 0.4.0.3-alpha.

        "sendme_emit_min_version" -- Minimum SENDME version that can be sent.
                                     Min: 0. Max: 255. Default 0. First
                                     appeared: 0.4.1.1-alpha.
X. Obsolete parameters

        "NumDirectoryGuards", "NumEntryGuards" -- Number of guard nodes
        clients should use by default.  If NumDirectoryGuards is 0,
        we default to NumEntryGuards.
        NumDirectoryGuards: Min: 0. Max: 10. Default: 0
        NumEntryGuards:     Min: 1. Max: 10. Default: 3
        First-appeared: 0.2.4.23, 0.2.5.6-alpha

        "GuardLifetime" -- Duration for which clients should choose guard
        nodes, in seconds.
        Min: 30 days.  Max: 1826 days.  Default: 60 days.
        First-appeared: 0.2.4.12-alpha

        "UseNTorHandshake" -- If true, then versions of Tor that support
          NTor will prefer to use it by default.
        Min: 0,  Max: 1. Default: 1.
        First-appeared: 0.2.4.8-alpha

        "Support022HiddenServices" -- Used to implement a mass switch-over
        from sending timestamps to hidden services by default to sending
        no timestamps at all.  If this option is absent, or is set to 1,
        clients with the default configuration send timestamps; otherwise,
        they do not.
        Min: 0, Max: 1. Default: 1.
        First-appeared: 0.2.4.18-rc



        "sendme_accept_min_version" -- Minimum SENDME version that is accepted.
                                       Min: 0. Max: 255. Default 0. First
                                       appeared: 0.4.1.1-alpha.
        "HiddenServiceEnableIntroDoSDefense" -- This parameter makes tor start
        using this new proposed extension if available by the introduction
        point (for protover HSIntro=5). Min: 0. Max: 1. Default: 0. First
        appeared: 0.4.2.1-alpha.