[tor-commits] [metrics-lib/master] Recognize bandwidth files with @type annotation.

karsten at torproject.org karsten at torproject.org
Wed May 29 15:19:31 UTC 2019


commit f8afa3930d800e139b4e1ca540961ac4a097c11b
Author: Karsten Loesing <karsten.loesing at gmx.net>
Date:   Thu May 16 15:54:13 2019 +0200

    Recognize bandwidth files with @type annotation.
    
    Fixes part of #30525.
---
 CHANGELOG.md                                                        | 6 ++++++
 .../java/org/torproject/descriptor/impl/DescriptorParserImpl.java   | 3 ++-
 2 files changed, 8 insertions(+), 1 deletion(-)

diff --git a/CHANGELOG.md b/CHANGELOG.md
index 1e70572..d1aa923 100644
--- a/CHANGELOG.md
+++ b/CHANGELOG.md
@@ -1,3 +1,9 @@
+# Changes in version 2.6.2 - 2019-05-??
+
+ * Medium changes
+   - Recognize bandwidth files with @type annotation.
+
+
 # Changes in version 2.6.1 - 2019-05-03
 
  * Medium changes
diff --git a/src/main/java/org/torproject/descriptor/impl/DescriptorParserImpl.java b/src/main/java/org/torproject/descriptor/impl/DescriptorParserImpl.java
index 08ac909..ef9da56 100644
--- a/src/main/java/org/torproject/descriptor/impl/DescriptorParserImpl.java
+++ b/src/main/java/org/torproject/descriptor/impl/DescriptorParserImpl.java
@@ -132,7 +132,8 @@ public class DescriptorParserImpl implements DescriptorParser {
           sourceFile);
     } else if (fileName.contains(LogDescriptorImpl.MARKER)) {
       return LogDescriptorImpl.parse(rawDescriptorBytes, sourceFile, fileName);
-    } else if (firstLines.matches("(?s)[0-9]{10}\\n.*")) {
+    } else if (firstLines.startsWith("@type bandwidth-file 1.")
+        || firstLines.matches("(?s)[0-9]{10}\\n.*")) {
       /* Identifying bandwidth files by a 10-digit timestamp in the first line
        * breaks with files generated before 2002 or after 2286 and when the next
        * descriptor identifier starts with just a timestamp in the first line



More information about the tor-commits mailing list