commit 611e75dbeb5a81a655ca0f8ec1b4495850c3459a Author: Damian Johnson atagar@torproject.org Date: Tue Jul 10 08:22:55 2012 -0700
Allowing extra-info dirreq-v*-share to be above 100%
Spotted an extra-info descriptor with dirreq-v2-share and dirreq-v3-share values over 100%... https://lists.torproject.org/pipermail/tor-dev/2012-June/003679.html
Karsten suggested simply removing the restriction on this field's upper bound since it's soon going away. --- stem/descriptor/extrainfo_descriptor.py | 7 +++++-- test/unit/descriptor/extrainfo_descriptor.py | 1 - 2 files changed, 5 insertions(+), 3 deletions(-)
diff --git a/stem/descriptor/extrainfo_descriptor.py b/stem/descriptor/extrainfo_descriptor.py index 366279c..be2a6dc 100644 --- a/stem/descriptor/extrainfo_descriptor.py +++ b/stem/descriptor/extrainfo_descriptor.py @@ -488,8 +488,11 @@ class ExtraInfoDescriptor(stem.descriptor.Descriptor): if not value.endswith("%"): raise ValueError() percentage = float(value[:-1]) / 100
- if validate and (percentage > 1 or percentage < 0): - raise ValueError() + # Bug lets these be above 100%, however they're soon going away... + # https://lists.torproject.org/pipermail/tor-dev/2012-June/003679.html + + if validate and percentage < 0: + raise ValueError("Negative percentage value: %s" % line)
if keyword == "dirreq-v2-share": self.dir_v2_share = percentage diff --git a/test/unit/descriptor/extrainfo_descriptor.py b/test/unit/descriptor/extrainfo_descriptor.py index a3590ee..c40ac94 100644 --- a/test/unit/descriptor/extrainfo_descriptor.py +++ b/test/unit/descriptor/extrainfo_descriptor.py @@ -305,7 +305,6 @@ class TestExtraInfoDescriptor(unittest.TestCase): ("", None), (" ", None), ("100", None), - ("100.1%", 1.001), ("-5%", -0.05), )
tor-commits@lists.torproject.org