[tor-commits] [stem/master] Drop tor man page workarounds
atagar at torproject.org
atagar at torproject.org
Sun Dec 6 21:57:11 UTC 2015
commit f65af3782f39e966197ad2e911f39a36d2e2d2d2
Author: Damian Johnson <atagar at torproject.org>
Date: Wed Nov 25 07:59:24 2015 -0800
Drop tor man page workarounds
Nick's merged our man page fixes so we can now drop our workarounds - yay! \o/
https://trac.torproject.org/projects/tor/ticket/17666
I'm dropping our assertions on exact counts of configuration options since
they'll break with every man page update and aren't really helpful. Instead
just checking that the categories themselves still exist and that we recognize
all the categories.
---
stem/settings.cfg | 14 +++++++-------
test/integ/manual.py | 52 +++++++++-----------------------------------------
2 files changed, 16 insertions(+), 50 deletions(-)
diff --git a/stem/settings.cfg b/stem/settings.cfg
index d770dfc..78bf014 100644
--- a/stem/settings.cfg
+++ b/stem/settings.cfg
@@ -22,7 +22,7 @@ manual.important User
manual.important Bridge
manual.important ExcludeNodes
manual.important MaxCircuitDirtiness
-manual.important SOCKSPort
+manual.important SocksPort
manual.important UseBridges
manual.important BridgeRelay
@@ -148,8 +148,8 @@ manual.summary.MaxCircuitDirtiness Duration for reusing constructed circuits
manual.summary.MaxClientCircuitsPending Number of circuits that can be in construction at once
manual.summary.NodeFamily Define relays as belonging to a family
manual.summary.EnforceDistinctSubnets Prevent use of multiple relays from the same subnet on a circuit
-manual.summary.SOCKSPort Port for using tor as a Socks proxy
-manual.summary.SOCKSListenAddress Address from which Socks connections can be made
+manual.summary.SocksPort Port for using tor as a Socks proxy
+manual.summary.SocksListenAddress Address from which Socks connections can be made
manual.summary.SocksPolicy Access policy for the pocks port
manual.summary.SocksTimeout Time until idle or unestablished socks connections are closed
manual.summary.TokenBucketRefillInterval Frequency at which exhausted connections are checked for new traffic
@@ -259,7 +259,6 @@ manual.summary.OfflineMasterKey Don't generate the master secret key
# Directory Server Options
manual.summary.DirPortFrontPage Publish this html file on the DirPort
-manual.summary.HidServDirectoryV2 Toggles accepting version 2 hidden service descriptors
manual.summary.DirPort Port for directory connections
manual.summary.DirListenAddress Address the directory service is bound to
manual.summary.DirPolicy Access policy for the DirPort
@@ -270,7 +269,7 @@ manual.summary.AuthoritativeDirectory Act as a directory authority
manual.summary.V3AuthoritativeDirectory Generates a version 3 consensus
manual.summary.VersioningAuthoritativeDirectory Provides opinions on recommended versions of tor
manual.summary.RecommendedVersions Suggested versions of tor
-manual.summary.RecommendedPackageVersions Suggested versions of applications other than tor
+manual.summary.RecommendedPackages Suggested versions of applications other than tor
manual.summary.RecommendedClientVersions Tor versions believed to be safe for clients
manual.summary.BridgeAuthoritativeDir Acts as a bridge authority
manual.summary.MinUptimeHidServDirectoryV2 Required uptime before accepting hidden service directory
@@ -297,7 +296,6 @@ manual.summary.V3AuthNIntervalsValid Number of voting intervals a consensus is v
manual.summary.V3BandwidthsFile Path to a file containing measured relay bandwidths
manual.summary.V3AuthUseLegacyKey Signs consensus with both the current and legacy keys
manual.summary.RephistTrackTime Discards old, unchanged reliability information
-manual.summary.VoteOnHidServDirectoriesV2 Determines if the authority votes on hidden service directories
manual.summary.AuthDirHasIPv6Connectivity Descriptors can be retrieved over the authority's IPv6 ORPort
manual.summary.MinMeasuredBWsForAuthToIgnoreAdvertised Total measured value before advertised bandwidths are treated as unreliable
@@ -348,5 +346,7 @@ manual.summary.TestingEnableTbEmptyEvent Allow controllers to request TB_EMPTY e
manual.summary.TestingMinExitFlagThreshold Lower bound for assigning the Exit flag
manual.summary.TestingLinkCertLifetime Duration of our ed25519 certificate
manual.summary.TestingAuthKeyLifetime Duration for our ed25519 signing key
-manual.summary.TestingLinkKeySlop Time before expiration that we replace our ed25519 key
+manual.summary.TestingLinkKeySlop Time before expiration that we replace our ed25519 link key
+manual.summary.TestingAuthKeySlop Time before expiration that we replace our ed25519 authentication key
+manual.summary.TestingSigningKeySlop Time before expiration that we replace our ed25519 signing key
diff --git a/test/integ/manual.py b/test/integ/manual.py
index 72410d2..6a01526 100644
--- a/test/integ/manual.py
+++ b/test/integ/manual.py
@@ -37,17 +37,6 @@ EXPECTED_CATEGORIES = set([
EXPECTED_CLI_OPTIONS = set(['-h, -help', '-f FILE', '--allow-missing-torrc', '--defaults-torrc FILE', '--ignore-missing-torrc', '--hash-password PASSWORD', '--list-fingerprint', '--verify-config', '--service install [--options command-line options]', '--service remove|start|stop', '--nt-service', '--list-torrc-options', '--version', '--quiet|--hush'])
EXPECTED_SIGNALS = set(['SIGTERM', 'SIGINT', 'SIGHUP', 'SIGUSR1', 'SIGUSR2', 'SIGCHLD', 'SIGPIPE', 'SIGXFSZ'])
-EXPECTED_OPTION_COUNTS = {
- Category.GENERAL: 74,
- Category.CLIENT: 86,
- Category.RELAY: 47,
- Category.DIRECTORY: 5,
- Category.AUTHORITY: 34,
- Category.HIDDEN_SERVICE: 11,
- Category.TESTING: 32,
- Category.UNKNOWN: 0,
-}
-
EXPECTED_DESCRIPTION = """
Tor is a connection-oriented anonymizing communication service. Users choose a source-routed path through a set of nodes, and negotiate a "virtual circuit" through the network, in which each node knows its predecessor and successor, but no others. Traffic flowing down the circuit is unwrapped by a symmetric key at each node, which reveals the downstream node.
@@ -181,8 +170,14 @@ class TestManual(unittest.TestCase):
assert_equal('number of files', 31, len(manual.files))
assert_equal('lib path description', 'The tor process stores keys and other data here.', manual.files['@LOCALSTATEDIR@/lib/tor/'])
- for category, expected_count in EXPECTED_OPTION_COUNTS.items():
- assert_equal('number of %s category entries' % category, expected_count, len([entry for entry in manual.config_options.values() if entry.category == category]))
+ for category in Category:
+ if len([entry for entry in manual.config_options.values() if entry.category == category]) == 0 and category != Category.UNKNOWN:
+ self.fail('We had an empty %s section, did we intentionally drop it?' % category)
+
+ unknown_options = [entry for entry in manual.config_options.values() if entry.category == Category.UNKNOWN]
+
+ if unknown_options:
+ self.fail("We don't recognize the category for the %s options. Maybe a new man page section? If so then please update the Category enum in stem/manual.py." % ', '.join(unknown_options))
option = manual.config_options['BandwidthRate']
self.assertEqual(Category.GENERAL, option.category)
@@ -230,15 +225,7 @@ class TestManual(unittest.TestCase):
present = set(manual.config_options.keys())
expected = set([key[15:] for key in stem.manual._config(lowercase = False) if key.startswith('manual.summary.')])
- # TODO: Typo in man page (s/TestingLinkCertifetime/TestingLinkCertLifetime)
-
- present.remove('TestingLinkCertifetime')
- present.add('TestingLinkCertLifetime')
-
- # TODO: The 'Recognized' config name is due to our man page being slightly
- # malformed. Sending a tor patch later to fix it.
-
- missing_options = present.difference(expected).difference(set(['Recognized']))
+ missing_options = present.difference(expected)
extra_options = expected.difference(present)
if missing_options:
@@ -268,27 +255,6 @@ class TestManual(unittest.TestCase):
if 'HiddenServiceOptions' in config_options_in_tor:
config_options_in_tor.remove('HiddenServiceOptions')
- # TODO: Addressing some errors in the man page I'll be sending fixes for.
-
- config_options_in_tor.remove('SocksPort')
- config_options_in_tor.add('SOCKSPort')
-
- config_options_in_tor.remove('SocksListenAddress')
- config_options_in_tor.add('SOCKSListenAddress')
-
- config_options_in_tor.remove('TestingLinkCertLifetime')
- config_options_in_tor.add('TestingLinkCertifetime')
-
- config_options_in_tor.remove('TestingSigningKeySlop')
- config_options_in_tor.remove('TestingAuthKeySlop')
-
- config_options_in_tor.remove('RecommendedPackages')
- config_options_in_tor.add('RecommendedPackageVersions')
-
- config_options_in_tor.add('Recognized')
- config_options_in_tor.add('VoteOnHidServDirectoriesV2')
- config_options_in_tor.add('HidServDirectoryV2')
-
# TODO: Looks like options we should remove from tor...
#
# https://trac.torproject.org/projects/tor/ticket/17665
More information about the tor-commits
mailing list