tor-commits
Threads by month
- ----- 2025 -----
- July
- June
- May
- April
- March
- February
- January
- ----- 2024 -----
- December
- November
- October
- September
- August
- July
- June
- May
- April
- March
- February
- January
- ----- 2023 -----
- December
- November
- October
- September
- August
- July
- June
- May
- April
- March
- February
- January
- ----- 2022 -----
- December
- November
- October
- September
- August
- July
- June
- May
- April
- March
- February
- January
- ----- 2021 -----
- December
- November
- October
- September
- August
- July
- June
- May
- April
- March
- February
- January
- ----- 2020 -----
- December
- November
- October
- September
- August
- July
- June
- May
- April
- March
- February
- January
- ----- 2019 -----
- December
- November
- October
- September
- August
- July
- June
- May
- April
- March
- February
- January
- ----- 2018 -----
- December
- November
- October
- September
- August
- July
- June
- May
- April
- March
- February
- January
- ----- 2017 -----
- December
- November
- October
- September
- August
- July
- June
- May
- April
- March
- February
- January
- ----- 2016 -----
- December
- November
- October
- September
- August
- July
- June
- May
- April
- March
- February
- January
- ----- 2015 -----
- December
- November
- October
- September
- August
- July
- June
- May
- April
- March
- February
- January
- ----- 2014 -----
- December
- November
- October
- September
- August
- July
- June
- May
- April
- March
- February
- January
- ----- 2013 -----
- December
- November
- October
- September
- August
- July
- June
- May
- April
- March
- February
- January
- ----- 2012 -----
- December
- November
- October
- September
- August
- July
- June
- May
- April
- March
- February
- January
- ----- 2011 -----
- December
- November
- October
- September
- August
- July
- June
- May
- April
- March
- February
July 2018
- 17 participants
- 1737 discussions
commit 2f284d3325f60ad4e4744504588ee62dd62779e9
Author: rl1987 <rl1987(a)sdf.lonestar.org>
Date: Wed May 23 14:53:07 2018 +0200
Add changes file
---
changes/ticket3569_part1 | 6 ++++++
1 file changed, 6 insertions(+)
diff --git a/changes/ticket3569_part1 b/changes/ticket3569_part1
new file mode 100644
index 000000000..4032aff4d
--- /dev/null
+++ b/changes/ticket3569_part1
@@ -0,0 +1,6 @@
+ o Code simplification and refactoring:
+ - Rework Tor SOCKS server code to use Trunnel and benefit from
+ autogenerated functions for parsing and generating SOCKS wire
+ format. New implementation is cleaner, more maintainable and
+ should be less prone to heartbleed-style vulnerabilities.
+ Implements a significant fraction of ticket 3569.
1
0

[tor/master] SOCKS: Always free username/password before setting them.
by nickm@torproject.org 15 Jul '18
by nickm@torproject.org 15 Jul '18
15 Jul '18
commit 04512d9fcd03bde1cedfa09f208a4c410172fe22
Author: Nick Mathewson <nickm(a)torproject.org>
Date: Thu Jul 12 14:20:56 2018 -0400
SOCKS: Always free username/password before setting them.
This fixes a memory leak found by fuzzing.
---
src/core/proto/proto_socks.c | 3 +++
1 file changed, 3 insertions(+)
diff --git a/src/core/proto/proto_socks.c b/src/core/proto/proto_socks.c
index 530436c41..9cc9568a4 100644
--- a/src/core/proto/proto_socks.c
+++ b/src/core/proto/proto_socks.c
@@ -174,6 +174,7 @@ parse_socks4_request(const uint8_t *raw_data, socks_request_t *req,
goto end;
}
+ tor_free(req->username);
req->got_auth = 1;
req->username = tor_strdup(username);
req->usernamelen = usernamelen;
@@ -445,6 +446,7 @@ parse_socks5_userpass_auth(const uint8_t *raw_data, socks_request_t *req,
socks5_client_userpass_auth_getconstarray_passwd(trunnel_req);
if (usernamelen && username) {
+ tor_free(req->username);
req->username = tor_memdup_nulterm(username, usernamelen);
req->usernamelen = usernamelen;
@@ -452,6 +454,7 @@ parse_socks5_userpass_auth(const uint8_t *raw_data, socks_request_t *req,
}
if (passwordlen && password) {
+ tor_free(req->password);
req->password = tor_memdup_nulterm(password, passwordlen);
req->passwordlen = passwordlen;
1
0

15 Jul '18
commit 2d0e1cef20036412ed57c287553623293ab65031
Author: Nick Mathewson <nickm(a)torproject.org>
Date: Thu Jul 12 14:20:46 2018 -0400
Add fuzzing wrapper for fetch_from_buf_socks()
---
scripts/codegen/fuzzing_include_am.py | 1 +
src/test/fuzz/fuzz_socks.c | 50 +++++++++++++++++++++++++++++++++++
src/test/fuzz/include.am | 25 +++++++++++++++++-
3 files changed, 75 insertions(+), 1 deletion(-)
diff --git a/scripts/codegen/fuzzing_include_am.py b/scripts/codegen/fuzzing_include_am.py
index 42a61876e..68f43379c 100755
--- a/scripts/codegen/fuzzing_include_am.py
+++ b/scripts/codegen/fuzzing_include_am.py
@@ -12,6 +12,7 @@ FUZZERS = """
http-connect
iptsv2
microdesc
+ socks
vrs
"""
diff --git a/src/test/fuzz/fuzz_socks.c b/src/test/fuzz/fuzz_socks.c
new file mode 100644
index 000000000..14c25304b
--- /dev/null
+++ b/src/test/fuzz/fuzz_socks.c
@@ -0,0 +1,50 @@
+/* Copyright (c) 2016-2018, The Tor Project, Inc. */
+/* See LICENSE for licensing information */
+
+#include "orconfig.h"
+
+#define BUFFERS_PRIVATE
+#include "core/or/or.h"
+
+#include "lib/container/buffers.h"
+#include "lib/err/backtrace.h"
+#include "lib/log/log.h"
+#include "core/proto/proto_socks.h"
+#include "feature/client/addressmap.h"
+
+#include "test/fuzz/fuzzing.h"
+
+int
+fuzz_init(void)
+{
+ addressmap_init();
+ return 0;
+}
+
+int
+fuzz_cleanup(void)
+{
+ addressmap_free_all();
+ return 0;
+}
+
+int
+fuzz_main(const uint8_t *stdin_buf, size_t data_size)
+{
+ buf_t *buffer = buf_new_with_data((char*)stdin_buf, data_size);
+ if (!buffer) {
+ tor_assert(data_size==0);
+ buffer = buf_new();
+ }
+
+ socks_request_t *request = socks_request_new();
+
+ int r = fetch_from_buf_socks(buffer, request, 0, 0);
+ log_info(LD_GENERAL, "Socks request status: %d", r);
+
+ /* Reset. */
+ buf_free(buffer);
+ socks_request_free(request);
+
+ return 0;
+}
diff --git a/src/test/fuzz/include.am b/src/test/fuzz/include.am
index 87dfe9167..fe735a249 100644
--- a/src/test/fuzz/include.am
+++ b/src/test/fuzz/include.am
@@ -17,7 +17,7 @@ FUZZING_LIBS = \
@TOR_ZSTD_LIBS@
oss-fuzz-prereqs: \
- $(TOR_INTERNAL_TESTING_LIBS)
+ $(TOR_INTERNAL_TESTING_LIBS)
noinst_HEADERS += \
src/test/fuzz/fuzzing.h
@@ -120,6 +120,14 @@ src_test_fuzz_fuzz_microdesc_CFLAGS = $(FUZZING_CFLAGS)
src_test_fuzz_fuzz_microdesc_LDFLAGS = $(FUZZING_LDFLAG)
src_test_fuzz_fuzz_microdesc_LDADD = $(FUZZING_LIBS)
+src_test_fuzz_fuzz_socks_SOURCES = \
+ src/test/fuzz/fuzzing_common.c \
+ src/test/fuzz/fuzz_socks.c
+src_test_fuzz_fuzz_socks_CPPFLAGS = $(FUZZING_CPPFLAGS)
+src_test_fuzz_fuzz_socks_CFLAGS = $(FUZZING_CFLAGS)
+src_test_fuzz_fuzz_socks_LDFLAGS = $(FUZZING_LDFLAG)
+src_test_fuzz_fuzz_socks_LDADD = $(FUZZING_LIBS)
+
src_test_fuzz_fuzz_vrs_SOURCES = \
src/test/fuzz/fuzzing_common.c \
src/test/fuzz/fuzz_vrs.c
@@ -140,6 +148,7 @@ FUZZERS = \
src/test/fuzz/fuzz-http-connect \
src/test/fuzz/fuzz-iptsv2 \
src/test/fuzz/fuzz-microdesc \
+ src/test/fuzz/fuzz-socks \
src/test/fuzz/fuzz-vrs
# ===== libfuzzer
@@ -222,6 +231,13 @@ src_test_fuzz_lf_fuzz_microdesc_CFLAGS = $(LIBFUZZER_CFLAGS)
src_test_fuzz_lf_fuzz_microdesc_LDFLAGS = $(LIBFUZZER_LDFLAG)
src_test_fuzz_lf_fuzz_microdesc_LDADD = $(LIBFUZZER_LIBS)
+src_test_fuzz_lf_fuzz_socks_SOURCES = \
+ $(src_test_fuzz_fuzz_socks_SOURCES)
+src_test_fuzz_lf_fuzz_socks_CPPFLAGS = $(LIBFUZZER_CPPFLAGS)
+src_test_fuzz_lf_fuzz_socks_CFLAGS = $(LIBFUZZER_CFLAGS)
+src_test_fuzz_lf_fuzz_socks_LDFLAGS = $(LIBFUZZER_LDFLAG)
+src_test_fuzz_lf_fuzz_socks_LDADD = $(LIBFUZZER_LIBS)
+
src_test_fuzz_lf_fuzz_vrs_SOURCES = \
$(src_test_fuzz_fuzz_vrs_SOURCES)
src_test_fuzz_lf_fuzz_vrs_CPPFLAGS = $(LIBFUZZER_CPPFLAGS)
@@ -241,6 +257,7 @@ LIBFUZZER_FUZZERS = \
src/test/fuzz/lf-fuzz-http-connect \
src/test/fuzz/lf-fuzz-iptsv2 \
src/test/fuzz/lf-fuzz-microdesc \
+ src/test/fuzz/lf-fuzz-socks \
src/test/fuzz/lf-fuzz-vrs
else
@@ -305,6 +322,11 @@ src_test_fuzz_liboss_fuzz_microdesc_a_SOURCES = \
src_test_fuzz_liboss_fuzz_microdesc_a_CPPFLAGS = $(LIBOSS_FUZZ_CPPFLAGS)
src_test_fuzz_liboss_fuzz_microdesc_a_CFLAGS = $(LIBOSS_FUZZ_CFLAGS)
+src_test_fuzz_liboss_fuzz_socks_a_SOURCES = \
+ $(src_test_fuzz_fuzz_socks_SOURCES)
+src_test_fuzz_liboss_fuzz_socks_a_CPPFLAGS = $(LIBOSS_FUZZ_CPPFLAGS)
+src_test_fuzz_liboss_fuzz_socks_a_CFLAGS = $(LIBOSS_FUZZ_CFLAGS)
+
src_test_fuzz_liboss_fuzz_vrs_a_SOURCES = \
$(src_test_fuzz_fuzz_vrs_SOURCES)
src_test_fuzz_liboss_fuzz_vrs_a_CPPFLAGS = $(LIBOSS_FUZZ_CPPFLAGS)
@@ -322,6 +344,7 @@ OSS_FUZZ_FUZZERS = \
src/test/fuzz/liboss-fuzz-http-connect.a \
src/test/fuzz/liboss-fuzz-iptsv2.a \
src/test/fuzz/liboss-fuzz-microdesc.a \
+ src/test/fuzz/liboss-fuzz-socks.a \
src/test/fuzz/liboss-fuzz-vrs.a
else
1
0

15 Jul '18
commit ba3121191b59ea254e3ebab697430bdc03857b6d
Author: rl1987 <rl1987(a)sdf.lonestar.org>
Date: Tue Jun 26 20:48:35 2018 +0300
Use constants for possible values of first octet
---
src/or/proto_socks.c | 41 +++++++++++++++++++++++------------------
1 file changed, 23 insertions(+), 18 deletions(-)
diff --git a/src/or/proto_socks.c b/src/or/proto_socks.c
index 9dbd688b7..998fd72ba 100644
--- a/src/or/proto_socks.c
+++ b/src/or/proto_socks.c
@@ -17,6 +17,10 @@
#include "trunnel/socks5.h"
#include "or/socks_request_st.h"
+#define SOCKS_VER_5 0x05 /* First octet of non-auth SOCKS5 messages */
+#define SOCKS_VER_4 0x04 /* SOCKS4 messages */
+#define SOCKS_AUTH 0x01 /* SOCKS5 auth messages */
+
typedef enum {
SOCKS_RESULT_INVALID = -1, /* Message invalid. */
SOCKS_RESULT_TRUNCATED = 0, /* Message incomplete/truncated. */
@@ -121,7 +125,7 @@ parse_socks4_request(const uint8_t *raw_data, socks_request_t *req,
*is_socks4a = 0;
*drain_out = 0;
- req->socks_version = 4;
+ req->socks_version = SOCKS_VER_4;
socks4_client_request_t *trunnel_req;
@@ -347,21 +351,22 @@ process_socks5_methods_request(socks_request_t *req, int have_user_pass,
socks_result_t res = SOCKS_RESULT_DONE;
socks5_server_method_t *trunnel_resp = socks5_server_method_new();
- socks5_server_method_set_version(trunnel_resp, 5);
+ socks5_server_method_set_version(trunnel_resp, SOCKS_VER_5);
if (have_user_pass && !(have_no_auth && req->socks_prefer_no_auth)) {
req->auth_type = SOCKS_USER_PASS;
socks5_server_method_set_method(trunnel_resp, SOCKS_USER_PASS);
- req->socks_version = 5; // FIXME: come up with better way to remember
- // that we negotiated auth
+ req->socks_version = SOCKS_VER_5;
+ // FIXME: come up with better way to remember
+ // that we negotiated auth
log_debug(LD_APP,"socks5: accepted method 2 (username/password)");
} else if (have_no_auth) {
req->auth_type = SOCKS_NO_AUTH;
socks5_server_method_set_method(trunnel_resp, SOCKS_NO_AUTH);
- req->socks_version = 5;
+ req->socks_version = SOCKS_VER_5;
log_debug(LD_APP,"socks5: accepted method 0 (no authentication)");
} else {
@@ -469,7 +474,7 @@ process_socks5_userpass_auth(socks_request_t *req)
socks5_server_userpass_auth_t *trunnel_resp =
socks5_server_userpass_auth_new();
- if (req->socks_version != 5) {
+ if (req->socks_version != SOCKS_VER_5) {
res = SOCKS_RESULT_INVALID;
goto end;
}
@@ -480,7 +485,7 @@ process_socks5_userpass_auth(socks_request_t *req)
goto end;
}
- socks5_server_userpass_auth_set_version(trunnel_resp, 1);
+ socks5_server_userpass_auth_set_version(trunnel_resp, SOCKS_AUTH);
socks5_server_userpass_auth_set_status(trunnel_resp, 0); // auth OK
const char *errmsg = socks5_server_userpass_auth_check(trunnel_resp);
@@ -684,10 +689,10 @@ handle_socks_message(const uint8_t *raw_data, size_t datalen,
uint8_t socks_version = raw_data[0];
- if (socks_version == 1)
- socks_version = 5; // SOCKS5 username/pass subnegotiation
+ if (socks_version == SOCKS_AUTH)
+ socks_version = SOCKS_VER_5; // SOCKS5 username/pass subnegotiation
- if (socks_version == 4) {
+ if (socks_version == SOCKS_VER_4) {
if (datalen < SOCKS4_NETWORK_LEN) {
res = 0;
goto end;
@@ -709,7 +714,7 @@ handle_socks_message(const uint8_t *raw_data, size_t datalen,
}
goto end;
- } else if (socks_version == 5) {
+ } else if (socks_version == SOCKS_VER_5) {
if (datalen < 2) { /* version and another byte */
res = 0;
goto end;
@@ -731,7 +736,7 @@ handle_socks_message(const uint8_t *raw_data, size_t datalen,
res = SOCKS_RESULT_MORE_EXPECTED;
goto end;
- } else if (req->socks_version != 5) {
+ } else if (req->socks_version != SOCKS_VER_5) {
int have_user_pass, have_no_auth;
res = parse_socks5_methods_request(raw_data, req, datalen,
&have_user_pass,
@@ -860,7 +865,7 @@ socks_request_set_socks5_error(socks_request_t *req,
{
socks5_server_reply_t *trunnel_resp = socks5_server_reply_new();
- socks5_server_reply_set_version(trunnel_resp, 0x05);
+ socks5_server_reply_set_version(trunnel_resp, SOCKS_VER_5);
socks5_server_reply_set_reply(trunnel_resp, reason);
socks5_server_reply_set_atype(trunnel_resp, 0x01);
@@ -922,22 +927,22 @@ static int
parse_socks(const char *data, size_t datalen, socks_request_t *req,
int log_sockstype, int safe_socks, size_t *drain_out)
{
- uint8_t socksver;
+ uint8_t first_octet;
if (datalen < 2) {
/* We always need at least 2 bytes. */
return 0;
}
- socksver = get_uint8(data);
+ first_octet = get_uint8(data);
- if (socksver == 5 || socksver == 4 ||
- socksver == 1) { // XXX: RFC 1929
+ if (first_octet == SOCKS_VER_5 || first_octet == SOCKS_VER_4 ||
+ first_octet == SOCKS_AUTH) { // XXX: RFC 1929
return handle_socks_message((const uint8_t *)data, datalen, req,
log_sockstype, safe_socks, drain_out);
}
- switch (socksver) { /* which version of socks? */
+ switch (first_octet) { /* which version of socks? */
case 'G': /* get */
case 'H': /* head */
case 'P': /* put/post */
1
0

15 Jul '18
commit ef234ba303a358f956d4c2afded388b54cfc91bc
Merge: f608cc0f3 04512d9fc
Author: Nick Mathewson <nickm(a)torproject.org>
Date: Sun Jul 15 17:07:20 2018 -0400
Merge branch 'socks_trunnel4_squashed_merged'
changes/ticket3569_part1 | 6 +
scripts/codegen/fuzzing_include_am.py | 1 +
src/core/or/socks_request_st.h | 2 +
src/core/proto/proto_socks.c | 1127 +++++++---
src/test/fuzz/fuzz_socks.c | 50 +
src/test/fuzz/include.am | 25 +-
src/test/test_socks.c | 11 +-
src/trunnel/include.am | 9 +-
src/trunnel/socks5.c | 3978 +++++++++++++++++++++++++++++++++
src/trunnel/socks5.h | 995 +++++++++
src/trunnel/socks5.trunnel | 94 +
11 files changed, 5932 insertions(+), 366 deletions(-)
1
0

[collector/release] Prevent weird values in cut-off time calculation.
by karsten@torproject.org 15 Jul '18
by karsten@torproject.org 15 Jul '18
15 Jul '18
commit 9d8a0ae6ece69746d17e4255a67cf50700018d6a
Author: iwakeh <iwakeh(a)torproject.org>
Date: Mon Mar 26 11:01:56 2018 +0000
Prevent weird values in cut-off time calculation.
Rename variable to include the unit (which is days).
Log cut-off date on info level.
Implements task-20224.
---
CHANGELOG.md | 3 ++
.../bridgedescs/SanitizedBridgesWriter.java | 32 ++++++++++++++--------
2 files changed, 24 insertions(+), 11 deletions(-)
diff --git a/CHANGELOG.md b/CHANGELOG.md
index e914f2f..31788f1 100644
--- a/CHANGELOG.md
+++ b/CHANGELOG.md
@@ -5,6 +5,9 @@
org.torproject.metrics.collector and ..index to ..indexer.
- Fix a bug in the tarball-creation script where tarballs might not
have been compressed in a run following an aborted run.
+ - Prevent weird values when calculating the cut-off date for
+ storing bridge sanitizer secrets using inf as the default value
+ of BridgeDescriptorMappingsLimit.
# Changes in version 1.6.0 - 2018-05-23
diff --git a/src/main/java/org/torproject/metrics/collector/bridgedescs/SanitizedBridgesWriter.java b/src/main/java/org/torproject/metrics/collector/bridgedescs/SanitizedBridgesWriter.java
index 23b91ad..8f28a2b 100644
--- a/src/main/java/org/torproject/metrics/collector/bridgedescs/SanitizedBridgesWriter.java
+++ b/src/main/java/org/torproject/metrics/collector/bridgedescs/SanitizedBridgesWriter.java
@@ -3,6 +3,8 @@
package org.torproject.metrics.collector.bridgedescs;
+import static java.time.ZoneOffset.UTC;
+
import org.torproject.descriptor.BridgeExtraInfoDescriptor;
import org.torproject.descriptor.BridgeNetworkStatus;
import org.torproject.descriptor.BridgeServerDescriptor;
@@ -32,6 +34,8 @@ import java.security.GeneralSecurityException;
import java.security.SecureRandom;
import java.text.ParseException;
import java.text.SimpleDateFormat;
+import java.time.LocalDateTime;
+import java.time.format.DateTimeFormatter;
import java.util.ArrayList;
import java.util.Arrays;
import java.util.HashMap;
@@ -192,21 +196,27 @@ public class SanitizedBridgesWriter extends CollecTorMain {
}
}
- long limitBridgeSanitizingInterval =
- config.getInt(Key.BridgeDescriptorMappingsLimit);
+ long limitBridgeSanitizingIntervalDays
+ = config.getInt(Key.BridgeDescriptorMappingsLimit);
/* If we're configured to keep secrets only for a limited time, define
* the cut-off day and time. */
- if (limitBridgeSanitizingInterval >= 0L) {
- SimpleDateFormat formatter = new SimpleDateFormat(
- "yyyy-MM-dd HH:mm:ss");
- formatter.setTimeZone(TimeZone.getTimeZone("UTC"));
- this.bridgeSanitizingCutOffTimestamp = formatter.format(
- System.currentTimeMillis() - 24L * 60L * 60L * 1000L
- * limitBridgeSanitizingInterval);
- } else {
- this.bridgeSanitizingCutOffTimestamp = "1999-12-31 23:59:59";
+ LocalDateTime bridgeSanitizingCutOffDateTime
+ = LocalDateTime.of(1999, 12, 31, 23, 59, 59);
+ if (limitBridgeSanitizingIntervalDays >= 0L) {
+ LocalDateTime configuredBridgeSanitizingCutOffDateTime
+ = LocalDateTime.now(UTC).minusDays(limitBridgeSanitizingIntervalDays);
+ if (configuredBridgeSanitizingCutOffDateTime.isAfter(
+ bridgeSanitizingCutOffDateTime)) {
+ bridgeSanitizingCutOffDateTime
+ = configuredBridgeSanitizingCutOffDateTime;
+ }
}
+ this.bridgeSanitizingCutOffTimestamp = bridgeSanitizingCutOffDateTime
+ .format(DateTimeFormatter.ofPattern("yyyy-MM-dd HH:mm:ss"));
+
+ logger.info("Using cut-off datetime '{}' for secrets.",
+ this.bridgeSanitizingCutOffTimestamp);
// Prepare bridge descriptor parser
BridgeDescriptorParser bdp = new BridgeDescriptorParser(this);
1
0
commit 55a9f76d10dcf2c3f1190fa8a87a108475601e39
Author: Karsten Loesing <karsten.loesing(a)gmx.net>
Date: Fri May 25 15:03:49 2018 +0200
Bump version to 1.6.0-dev.
---
build.xml | 2 +-
1 file changed, 1 insertion(+), 1 deletion(-)
diff --git a/build.xml b/build.xml
index 7240db6..e78c160 100644
--- a/build.xml
+++ b/build.xml
@@ -8,7 +8,7 @@
<property name="javadoc-title" value="CollecTor API Documentation"/>
<property name="implementation-title" value="CollecTor" />
- <property name="release.version" value="1.6.0" />
+ <property name="release.version" value="1.6.0-dev" />
<property name="project-main-class" value="org.torproject.collector.Main" />
<property name="name" value="collector"/>
<property name="metricslibversion" value="2.4.0" />
1
0

15 Jul '18
commit 98244f3ee1f546538c3d23f5bb84ba15fbb4c65d
Author: Karsten Loesing <karsten.loesing(a)gmx.net>
Date: Mon Jul 9 14:30:32 2018 +0200
Fix bug in tarball-creating script.
The bug was that some tarballs were not compressed in a run following
an aborted run.
Fixes #26193.
---
CHANGELOG.md | 2 ++
src/main/resources/create-tarballs.sh | 6 ++----
2 files changed, 4 insertions(+), 4 deletions(-)
diff --git a/CHANGELOG.md b/CHANGELOG.md
index cf2cfd3..e914f2f 100644
--- a/CHANGELOG.md
+++ b/CHANGELOG.md
@@ -3,6 +3,8 @@
* Minor changes
- Rename root package org.torproject.collector to
org.torproject.metrics.collector and ..index to ..indexer.
+ - Fix a bug in the tarball-creation script where tarballs might not
+ have been compressed in a run following an aborted run.
# Changes in version 1.6.0 - 2018-05-23
diff --git a/src/main/resources/create-tarballs.sh b/src/main/resources/create-tarballs.sh
index cd16b2d..b633826 100755
--- a/src/main/resources/create-tarballs.sh
+++ b/src/main/resources/create-tarballs.sh
@@ -99,10 +99,8 @@ done
for (( i = 0 ; i < ${#TARBALLS[@]} ; i++ )); do
echo `date` "Creating" ${TARBALLS[$i]}'.tar'
tar chf ${TARBALLS[$i]}.tar ${TARBALLS[$i]}
- if [ ! -f ${TARBALLS[$i]}.tar.xz ]; then
- echo `date` "Compressing" ${TARBALLS[$i]}'.tar'
- xz -9e ${TARBALLS[$i]}.tar
- fi
+ echo `date` "Compressing" ${TARBALLS[$i]}'.tar'
+ xz -9e ${TARBALLS[$i]}.tar
done
cd $OUTDIR/webstats/
1
0
commit 9f05667878da3c24fc6098fdf9cfefadd40d6a7a
Author: Karsten Loesing <karsten.loesing(a)gmx.net>
Date: Thu Jul 5 10:58:44 2018 +0200
Rename packages.
Rename root package org.torproject.collector to
org.torproject.metrics.collector and ..index to ..indexer.
Implements #24291.
---
CHANGELOG.md | 7 +++++
build.xml | 10 +++----
.../torproject/{ => metrics}/collector/Main.java | 26 ++++++++---------
.../bridgedescs/BridgeDescriptorParser.java | 4 +--
.../bridgedescs/BridgeSnapshotReader.java | 4 +--
.../collector/bridgedescs/DescriptorBuilder.java | 2 +-
.../bridgedescs/SanitizedBridgesWriter.java | 12 ++++----
.../{ => metrics}/collector/conf/Annotation.java | 2 +-
.../collector/conf/Configuration.java | 2 +-
.../collector/conf/ConfigurationException.java | 2 +-
.../{ => metrics}/collector/conf/Key.java | 2 +-
.../{ => metrics}/collector/conf/SourceType.java | 2 +-
.../collector/cron/CollecTorMain.java | 12 ++++----
.../{ => metrics}/collector/cron/Scheduler.java | 8 ++---
.../{ => metrics}/collector/cron/ShutdownHook.java | 2 +-
.../collector/exitlists/ExitListDownloader.java | 12 ++++----
.../collector/indexer}/CreateIndexJson.java | 10 +++----
.../collector/onionperf/OnionPerfDownloader.java | 10 +++----
.../persist/BridgeExtraInfoPersistence.java | 4 +--
.../persist/BridgeServerDescriptorPersistence.java | 4 +--
.../collector/persist/ConsensusPersistence.java | 4 +--
.../collector/persist/DescriptorPersistence.java | 2 +-
.../collector/persist/ExitlistPersistence.java | 4 +--
.../collector/persist/ExtraInfoPersistence.java | 4 +--
.../persist/MicroConsensusPersistence.java | 4 +--
.../collector/persist/OnionPerfPersistence.java | 4 +--
.../collector/persist/PersistenceUtils.java | 2 +-
.../persist/ServerDescriptorPersistence.java | 4 +--
.../collector/persist/StatusPersistence.java | 4 +--
.../collector/persist/VotePersistence.java | 4 +--
.../persist/WebServerAccessLogPersistence.java | 2 +-
.../collector/persist/package-info.java | 2 +-
.../collector/relaydescs/ArchiveReader.java | 2 +-
.../collector/relaydescs/ArchiveWriter.java | 16 +++++-----
.../relaydescs/CachedRelayDescriptorReader.java | 2 +-
.../collector/relaydescs/ReferenceChecker.java | 2 +-
.../relaydescs/RelayDescriptorDownloader.java | 2 +-
.../relaydescs/RelayDescriptorParser.java | 2 +-
.../{ => metrics}/collector/sync/Criterium.java | 2 +-
.../collector/sync/ProcessCriterium.java | 2 +-
.../{ => metrics}/collector/sync/SyncManager.java | 9 +++---
.../collector/sync/SyncPersistence.java | 34 +++++++++++-----------
.../{ => metrics}/collector/sync/package-info.java | 2 +-
.../collector/webstats/LogFileMap.java | 2 +-
.../collector/webstats/LogMetadata.java | 2 +-
.../collector/webstats/SanitizeWeblogs.java | 17 +++++------
.../{ => metrics}/collector/MainTest.java | 10 +++----
.../bridgedescs/BridgeDescriptorParserTest.java | 4 +--
.../ExtraInfoTestDescriptorBuilder.java | 2 +-
.../NetworkStatusTestDescriptorBuilder.java | 2 +-
.../bridgedescs/SanitizedBridgesWriterTest.java | 10 +++----
.../bridgedescs/ServerTestDescriptorBuilder.java | 2 +-
.../collector/bridgedescs/TarballTestBuilder.java | 2 +-
.../bridgedescs/TestDescriptorBuilder.java | 2 +-
.../collector/conf/ConfigurationTest.java | 8 ++---
.../{ => metrics}/collector/cron/Broken.java | 6 ++--
.../collector/cron/CollecTorMainTest.java | 10 +++----
.../{ => metrics}/collector/cron/Counter.java | 6 ++--
.../{ => metrics}/collector/cron/Dummy.java | 6 ++--
.../collector/cron/SchedulerTest.java | 8 ++---
.../collector/persist/PersistUtilsTest.java | 2 +-
.../collector/relaydescs/ReferenceCheckerTest.java | 2 +-
.../collector/sync/FileCollector.java | 2 +-
.../collector/sync/SyncPersistenceTest.java | 6 ++--
.../collector/webstats/LogFileMapTest.java | 2 +-
.../collector/webstats/LogMetadataTest.java | 2 +-
.../collector/webstats/SanitizeWeblogsTest.java | 2 +-
67 files changed, 187 insertions(+), 182 deletions(-)
diff --git a/CHANGELOG.md b/CHANGELOG.md
index 3a88792..cf2cfd3 100644
--- a/CHANGELOG.md
+++ b/CHANGELOG.md
@@ -1,3 +1,10 @@
+# Changes in version 1.?.? - 2018-??-??
+
+ * Minor changes
+ - Rename root package org.torproject.collector to
+ org.torproject.metrics.collector and ..index to ..indexer.
+
+
# Changes in version 1.6.0 - 2018-05-23
* Medium changes
diff --git a/build.xml b/build.xml
index e78c160..0c79d1e 100644
--- a/build.xml
+++ b/build.xml
@@ -9,7 +9,7 @@
<property name="javadoc-title" value="CollecTor API Documentation"/>
<property name="implementation-title" value="CollecTor" />
<property name="release.version" value="1.6.0-dev" />
- <property name="project-main-class" value="org.torproject.collector.Main" />
+ <property name="project-main-class" value="org.torproject.metrics.collector.Main" />
<property name="name" value="collector"/>
<property name="metricslibversion" value="2.4.0" />
<property name="jarincludes" value="collector.properties logback.xml" />
@@ -29,13 +29,13 @@
<target name="coverage-check">
<cobertura-check totallinerate="31" totalbranchrate="26" >
- <regex pattern="org.torproject.collector.bridgedescs"
+ <regex pattern="org.torproject.metrics.collector.bridgedescs"
branchrate="87" linerate="73"/>
- <regex pattern="org.torproject.collector.conf"
+ <regex pattern="org.torproject.metrics.collector.conf"
branchrate="87" linerate="100"/>
- <regex pattern="org.torproject.collector.cron"
+ <regex pattern="org.torproject.metrics.collector.cron"
branchrate="66" linerate="72" />
- <regex pattern="org.torproject.collector.Main"
+ <regex pattern="org.torproject.metrics.collector.Main"
branchrate="100" linerate="91" />
</cobertura-check>
</target>
diff --git a/src/main/java/org/torproject/collector/Main.java b/src/main/java/org/torproject/metrics/collector/Main.java
similarity index 80%
rename from src/main/java/org/torproject/collector/Main.java
rename to src/main/java/org/torproject/metrics/collector/Main.java
index 70cdbfa..6233dd2 100644
--- a/src/main/java/org/torproject/collector/Main.java
+++ b/src/main/java/org/torproject/metrics/collector/Main.java
@@ -1,20 +1,20 @@
/* Copyright 2016--2018 The Tor Project
* See LICENSE for licensing information */
-package org.torproject.collector;
+package org.torproject.metrics.collector;
-import org.torproject.collector.bridgedescs.SanitizedBridgesWriter;
-import org.torproject.collector.conf.Configuration;
-import org.torproject.collector.conf.ConfigurationException;
-import org.torproject.collector.conf.Key;
-import org.torproject.collector.cron.CollecTorMain;
-import org.torproject.collector.cron.Scheduler;
-import org.torproject.collector.cron.ShutdownHook;
-import org.torproject.collector.exitlists.ExitListDownloader;
-import org.torproject.collector.index.CreateIndexJson;
-import org.torproject.collector.onionperf.OnionPerfDownloader;
-import org.torproject.collector.relaydescs.ArchiveWriter;
-import org.torproject.collector.webstats.SanitizeWeblogs;
+import org.torproject.metrics.collector.bridgedescs.SanitizedBridgesWriter;
+import org.torproject.metrics.collector.conf.Configuration;
+import org.torproject.metrics.collector.conf.ConfigurationException;
+import org.torproject.metrics.collector.conf.Key;
+import org.torproject.metrics.collector.cron.CollecTorMain;
+import org.torproject.metrics.collector.cron.Scheduler;
+import org.torproject.metrics.collector.cron.ShutdownHook;
+import org.torproject.metrics.collector.exitlists.ExitListDownloader;
+import org.torproject.metrics.collector.indexer.CreateIndexJson;
+import org.torproject.metrics.collector.onionperf.OnionPerfDownloader;
+import org.torproject.metrics.collector.relaydescs.ArchiveWriter;
+import org.torproject.metrics.collector.webstats.SanitizeWeblogs;
import org.slf4j.Logger;
import org.slf4j.LoggerFactory;
diff --git a/src/main/java/org/torproject/collector/bridgedescs/BridgeDescriptorParser.java b/src/main/java/org/torproject/metrics/collector/bridgedescs/BridgeDescriptorParser.java
similarity index 93%
rename from src/main/java/org/torproject/collector/bridgedescs/BridgeDescriptorParser.java
rename to src/main/java/org/torproject/metrics/collector/bridgedescs/BridgeDescriptorParser.java
index 1b115ad..5134f0f 100644
--- a/src/main/java/org/torproject/collector/bridgedescs/BridgeDescriptorParser.java
+++ b/src/main/java/org/torproject/metrics/collector/bridgedescs/BridgeDescriptorParser.java
@@ -1,9 +1,9 @@
/* Copyright 2010--2018 The Tor Project
* See LICENSE for licensing information */
-package org.torproject.collector.bridgedescs;
+package org.torproject.metrics.collector.bridgedescs;
-import org.torproject.collector.conf.ConfigurationException;
+import org.torproject.metrics.collector.conf.ConfigurationException;
import org.slf4j.Logger;
import org.slf4j.LoggerFactory;
diff --git a/src/main/java/org/torproject/collector/bridgedescs/BridgeSnapshotReader.java b/src/main/java/org/torproject/metrics/collector/bridgedescs/BridgeSnapshotReader.java
similarity index 98%
rename from src/main/java/org/torproject/collector/bridgedescs/BridgeSnapshotReader.java
rename to src/main/java/org/torproject/metrics/collector/bridgedescs/BridgeSnapshotReader.java
index 487aac8..1a58d84 100644
--- a/src/main/java/org/torproject/collector/bridgedescs/BridgeSnapshotReader.java
+++ b/src/main/java/org/torproject/metrics/collector/bridgedescs/BridgeSnapshotReader.java
@@ -1,9 +1,9 @@
/* Copyright 2010--2018 The Tor Project
* See LICENSE for licensing information */
-package org.torproject.collector.bridgedescs;
+package org.torproject.metrics.collector.bridgedescs;
-import org.torproject.collector.conf.ConfigurationException;
+import org.torproject.metrics.collector.conf.ConfigurationException;
import org.apache.commons.codec.binary.Hex;
import org.apache.commons.codec.digest.DigestUtils;
diff --git a/src/main/java/org/torproject/collector/bridgedescs/DescriptorBuilder.java b/src/main/java/org/torproject/metrics/collector/bridgedescs/DescriptorBuilder.java
similarity index 97%
rename from src/main/java/org/torproject/collector/bridgedescs/DescriptorBuilder.java
rename to src/main/java/org/torproject/metrics/collector/bridgedescs/DescriptorBuilder.java
index 9d23adf..367e2e2 100644
--- a/src/main/java/org/torproject/collector/bridgedescs/DescriptorBuilder.java
+++ b/src/main/java/org/torproject/metrics/collector/bridgedescs/DescriptorBuilder.java
@@ -1,7 +1,7 @@
/* Copyright 2018 The Tor Project
* See LICENSE for licensing information */
-package org.torproject.collector.bridgedescs;
+package org.torproject.metrics.collector.bridgedescs;
import java.util.ArrayList;
import java.util.List;
diff --git a/src/main/java/org/torproject/collector/bridgedescs/SanitizedBridgesWriter.java b/src/main/java/org/torproject/metrics/collector/bridgedescs/SanitizedBridgesWriter.java
similarity index 99%
rename from src/main/java/org/torproject/collector/bridgedescs/SanitizedBridgesWriter.java
rename to src/main/java/org/torproject/metrics/collector/bridgedescs/SanitizedBridgesWriter.java
index af54e03..23b91ad 100644
--- a/src/main/java/org/torproject/collector/bridgedescs/SanitizedBridgesWriter.java
+++ b/src/main/java/org/torproject/metrics/collector/bridgedescs/SanitizedBridgesWriter.java
@@ -1,16 +1,16 @@
/* Copyright 2010--2018 The Tor Project
* See LICENSE for licensing information */
-package org.torproject.collector.bridgedescs;
+package org.torproject.metrics.collector.bridgedescs;
-import org.torproject.collector.conf.Annotation;
-import org.torproject.collector.conf.Configuration;
-import org.torproject.collector.conf.ConfigurationException;
-import org.torproject.collector.conf.Key;
-import org.torproject.collector.cron.CollecTorMain;
import org.torproject.descriptor.BridgeExtraInfoDescriptor;
import org.torproject.descriptor.BridgeNetworkStatus;
import org.torproject.descriptor.BridgeServerDescriptor;
+import org.torproject.metrics.collector.conf.Annotation;
+import org.torproject.metrics.collector.conf.Configuration;
+import org.torproject.metrics.collector.conf.ConfigurationException;
+import org.torproject.metrics.collector.conf.Key;
+import org.torproject.metrics.collector.cron.CollecTorMain;
import org.apache.commons.codec.DecoderException;
import org.apache.commons.codec.binary.Base64;
diff --git a/src/main/java/org/torproject/collector/conf/Annotation.java b/src/main/java/org/torproject/metrics/collector/conf/Annotation.java
similarity index 95%
rename from src/main/java/org/torproject/collector/conf/Annotation.java
rename to src/main/java/org/torproject/metrics/collector/conf/Annotation.java
index 6a8094e..a796f4d 100644
--- a/src/main/java/org/torproject/collector/conf/Annotation.java
+++ b/src/main/java/org/torproject/metrics/collector/conf/Annotation.java
@@ -1,7 +1,7 @@
/* Copyright 2016--2018 The Tor Project
* See LICENSE for licensing information */
-package org.torproject.collector.conf;
+package org.torproject.metrics.collector.conf;
/** This enum contains all currently valid descriptor annotations. */
public enum Annotation {
diff --git a/src/main/java/org/torproject/collector/conf/Configuration.java b/src/main/java/org/torproject/metrics/collector/conf/Configuration.java
similarity index 99%
rename from src/main/java/org/torproject/collector/conf/Configuration.java
rename to src/main/java/org/torproject/metrics/collector/conf/Configuration.java
index 72bd5fc..503ebbf 100644
--- a/src/main/java/org/torproject/collector/conf/Configuration.java
+++ b/src/main/java/org/torproject/metrics/collector/conf/Configuration.java
@@ -1,7 +1,7 @@
/* Copyright 2016--2018 The Tor Project
* See LICENSE for licensing information */
-package org.torproject.collector.conf;
+package org.torproject.metrics.collector.conf;
import org.slf4j.Logger;
import org.slf4j.LoggerFactory;
diff --git a/src/main/java/org/torproject/collector/conf/ConfigurationException.java b/src/main/java/org/torproject/metrics/collector/conf/ConfigurationException.java
similarity index 87%
rename from src/main/java/org/torproject/collector/conf/ConfigurationException.java
rename to src/main/java/org/torproject/metrics/collector/conf/ConfigurationException.java
index 1d55341..5257434 100644
--- a/src/main/java/org/torproject/collector/conf/ConfigurationException.java
+++ b/src/main/java/org/torproject/metrics/collector/conf/ConfigurationException.java
@@ -1,7 +1,7 @@
/* Copyright 2016--2018 The Tor Project
* See LICENSE for licensing information */
-package org.torproject.collector.conf;
+package org.torproject.metrics.collector.conf;
public class ConfigurationException extends Exception {
diff --git a/src/main/java/org/torproject/collector/conf/Key.java b/src/main/java/org/torproject/metrics/collector/conf/Key.java
similarity index 98%
rename from src/main/java/org/torproject/collector/conf/Key.java
rename to src/main/java/org/torproject/metrics/collector/conf/Key.java
index 5e91e3e..ba4bcd9 100644
--- a/src/main/java/org/torproject/collector/conf/Key.java
+++ b/src/main/java/org/torproject/metrics/collector/conf/Key.java
@@ -1,7 +1,7 @@
/* Copyright 2016--2018 The Tor Project
* See LICENSE for licensing information */
-package org.torproject.collector.conf;
+package org.torproject.metrics.collector.conf;
import java.net.URL;
import java.nio.file.Path;
diff --git a/src/main/java/org/torproject/collector/conf/SourceType.java b/src/main/java/org/torproject/metrics/collector/conf/SourceType.java
similarity index 76%
rename from src/main/java/org/torproject/collector/conf/SourceType.java
rename to src/main/java/org/torproject/metrics/collector/conf/SourceType.java
index 0ae18ce..984ff21 100644
--- a/src/main/java/org/torproject/collector/conf/SourceType.java
+++ b/src/main/java/org/torproject/metrics/collector/conf/SourceType.java
@@ -1,7 +1,7 @@
/* Copyright 2016--2018 The Tor Project
* See LICENSE for licensing information */
-package org.torproject.collector.conf;
+package org.torproject.metrics.collector.conf;
public enum SourceType {
Cache,
diff --git a/src/main/java/org/torproject/collector/cron/CollecTorMain.java b/src/main/java/org/torproject/metrics/collector/cron/CollecTorMain.java
similarity index 93%
rename from src/main/java/org/torproject/collector/cron/CollecTorMain.java
rename to src/main/java/org/torproject/metrics/collector/cron/CollecTorMain.java
index d2a92f6..95f7445 100644
--- a/src/main/java/org/torproject/collector/cron/CollecTorMain.java
+++ b/src/main/java/org/torproject/metrics/collector/cron/CollecTorMain.java
@@ -1,14 +1,14 @@
/* Copyright 2016--2018 The Tor Project
* See LICENSE for licensing information */
-package org.torproject.collector.cron;
+package org.torproject.metrics.collector.cron;
-import org.torproject.collector.conf.Configuration;
-import org.torproject.collector.conf.ConfigurationException;
-import org.torproject.collector.conf.Key;
-import org.torproject.collector.conf.SourceType;
-import org.torproject.collector.sync.SyncManager;
import org.torproject.descriptor.Descriptor;
+import org.torproject.metrics.collector.conf.Configuration;
+import org.torproject.metrics.collector.conf.ConfigurationException;
+import org.torproject.metrics.collector.conf.Key;
+import org.torproject.metrics.collector.conf.SourceType;
+import org.torproject.metrics.collector.sync.SyncManager;
import org.slf4j.Logger;
import org.slf4j.LoggerFactory;
diff --git a/src/main/java/org/torproject/collector/cron/Scheduler.java b/src/main/java/org/torproject/metrics/collector/cron/Scheduler.java
similarity index 96%
rename from src/main/java/org/torproject/collector/cron/Scheduler.java
rename to src/main/java/org/torproject/metrics/collector/cron/Scheduler.java
index ca8bc0a..1fc0039 100644
--- a/src/main/java/org/torproject/collector/cron/Scheduler.java
+++ b/src/main/java/org/torproject/metrics/collector/cron/Scheduler.java
@@ -1,11 +1,11 @@
/* Copyright 2016--2018 The Tor Project
* See LICENSE for licensing information */
-package org.torproject.collector.cron;
+package org.torproject.metrics.collector.cron;
-import org.torproject.collector.conf.Configuration;
-import org.torproject.collector.conf.ConfigurationException;
-import org.torproject.collector.conf.Key;
+import org.torproject.metrics.collector.conf.Configuration;
+import org.torproject.metrics.collector.conf.ConfigurationException;
+import org.torproject.metrics.collector.conf.Key;
import org.slf4j.Logger;
import org.slf4j.LoggerFactory;
diff --git a/src/main/java/org/torproject/collector/cron/ShutdownHook.java b/src/main/java/org/torproject/metrics/collector/cron/ShutdownHook.java
similarity index 93%
rename from src/main/java/org/torproject/collector/cron/ShutdownHook.java
rename to src/main/java/org/torproject/metrics/collector/cron/ShutdownHook.java
index b9bade6..70699f6 100644
--- a/src/main/java/org/torproject/collector/cron/ShutdownHook.java
+++ b/src/main/java/org/torproject/metrics/collector/cron/ShutdownHook.java
@@ -1,7 +1,7 @@
/* Copyright 2016--2018 The Tor Project
* See LICENSE for licensing information */
-package org.torproject.collector.cron;
+package org.torproject.metrics.collector.cron;
import org.slf4j.Logger;
import org.slf4j.LoggerFactory;
diff --git a/src/main/java/org/torproject/collector/exitlists/ExitListDownloader.java b/src/main/java/org/torproject/metrics/collector/exitlists/ExitListDownloader.java
similarity index 95%
rename from src/main/java/org/torproject/collector/exitlists/ExitListDownloader.java
rename to src/main/java/org/torproject/metrics/collector/exitlists/ExitListDownloader.java
index 587f563..4ef8974 100644
--- a/src/main/java/org/torproject/collector/exitlists/ExitListDownloader.java
+++ b/src/main/java/org/torproject/metrics/collector/exitlists/ExitListDownloader.java
@@ -1,17 +1,17 @@
/* Copyright 2010--2018 The Tor Project
* See LICENSE for licensing information */
-package org.torproject.collector.exitlists;
+package org.torproject.metrics.collector.exitlists;
-import org.torproject.collector.conf.Annotation;
-import org.torproject.collector.conf.Configuration;
-import org.torproject.collector.conf.ConfigurationException;
-import org.torproject.collector.conf.Key;
-import org.torproject.collector.cron.CollecTorMain;
import org.torproject.descriptor.Descriptor;
import org.torproject.descriptor.DescriptorParser;
import org.torproject.descriptor.DescriptorSourceFactory;
import org.torproject.descriptor.ExitList;
+import org.torproject.metrics.collector.conf.Annotation;
+import org.torproject.metrics.collector.conf.Configuration;
+import org.torproject.metrics.collector.conf.ConfigurationException;
+import org.torproject.metrics.collector.conf.Key;
+import org.torproject.metrics.collector.cron.CollecTorMain;
import org.slf4j.Logger;
import org.slf4j.LoggerFactory;
diff --git a/src/main/java/org/torproject/collector/index/CreateIndexJson.java b/src/main/java/org/torproject/metrics/collector/indexer/CreateIndexJson.java
similarity index 95%
rename from src/main/java/org/torproject/collector/index/CreateIndexJson.java
rename to src/main/java/org/torproject/metrics/collector/indexer/CreateIndexJson.java
index 5f030eb..55ebd15 100644
--- a/src/main/java/org/torproject/collector/index/CreateIndexJson.java
+++ b/src/main/java/org/torproject/metrics/collector/indexer/CreateIndexJson.java
@@ -1,16 +1,16 @@
/* Copyright 2015--2018 The Tor Project
* See LICENSE for licensing information */
-package org.torproject.collector.index;
+package org.torproject.metrics.collector.indexer;
-import org.torproject.collector.conf.Configuration;
-import org.torproject.collector.conf.ConfigurationException;
-import org.torproject.collector.conf.Key;
-import org.torproject.collector.cron.CollecTorMain;
import org.torproject.descriptor.index.DirectoryNode;
import org.torproject.descriptor.index.FileNode;
import org.torproject.descriptor.index.IndexNode;
import org.torproject.descriptor.internal.FileType;
+import org.torproject.metrics.collector.conf.Configuration;
+import org.torproject.metrics.collector.conf.ConfigurationException;
+import org.torproject.metrics.collector.conf.Key;
+import org.torproject.metrics.collector.cron.CollecTorMain;
import org.slf4j.Logger;
import org.slf4j.LoggerFactory;
diff --git a/src/main/java/org/torproject/collector/onionperf/OnionPerfDownloader.java b/src/main/java/org/torproject/metrics/collector/onionperf/OnionPerfDownloader.java
similarity index 97%
rename from src/main/java/org/torproject/collector/onionperf/OnionPerfDownloader.java
rename to src/main/java/org/torproject/metrics/collector/onionperf/OnionPerfDownloader.java
index 16a05e7..ab7c4f9 100644
--- a/src/main/java/org/torproject/collector/onionperf/OnionPerfDownloader.java
+++ b/src/main/java/org/torproject/metrics/collector/onionperf/OnionPerfDownloader.java
@@ -1,16 +1,16 @@
/* Copyright 2012--2018 The Tor Project
* See LICENSE for licensing information */
-package org.torproject.collector.onionperf;
+package org.torproject.metrics.collector.onionperf;
-import org.torproject.collector.conf.Configuration;
-import org.torproject.collector.conf.ConfigurationException;
-import org.torproject.collector.conf.Key;
-import org.torproject.collector.cron.CollecTorMain;
import org.torproject.descriptor.Descriptor;
import org.torproject.descriptor.DescriptorParser;
import org.torproject.descriptor.DescriptorSourceFactory;
import org.torproject.descriptor.TorperfResult;
+import org.torproject.metrics.collector.conf.Configuration;
+import org.torproject.metrics.collector.conf.ConfigurationException;
+import org.torproject.metrics.collector.conf.Key;
+import org.torproject.metrics.collector.cron.CollecTorMain;
import org.slf4j.Logger;
import org.slf4j.LoggerFactory;
diff --git a/src/main/java/org/torproject/collector/persist/BridgeExtraInfoPersistence.java b/src/main/java/org/torproject/metrics/collector/persist/BridgeExtraInfoPersistence.java
similarity index 90%
rename from src/main/java/org/torproject/collector/persist/BridgeExtraInfoPersistence.java
rename to src/main/java/org/torproject/metrics/collector/persist/BridgeExtraInfoPersistence.java
index 1b8a602..23245c3 100644
--- a/src/main/java/org/torproject/collector/persist/BridgeExtraInfoPersistence.java
+++ b/src/main/java/org/torproject/metrics/collector/persist/BridgeExtraInfoPersistence.java
@@ -1,10 +1,10 @@
/* Copyright 2016--2018 The Tor Project
* See LICENSE for licensing information */
-package org.torproject.collector.persist;
+package org.torproject.metrics.collector.persist;
-import org.torproject.collector.conf.Annotation;
import org.torproject.descriptor.BridgeExtraInfoDescriptor;
+import org.torproject.metrics.collector.conf.Annotation;
import java.nio.file.Paths;
diff --git a/src/main/java/org/torproject/collector/persist/BridgeServerDescriptorPersistence.java b/src/main/java/org/torproject/metrics/collector/persist/BridgeServerDescriptorPersistence.java
similarity index 90%
rename from src/main/java/org/torproject/collector/persist/BridgeServerDescriptorPersistence.java
rename to src/main/java/org/torproject/metrics/collector/persist/BridgeServerDescriptorPersistence.java
index 8ff7a1a..7694f14 100644
--- a/src/main/java/org/torproject/collector/persist/BridgeServerDescriptorPersistence.java
+++ b/src/main/java/org/torproject/metrics/collector/persist/BridgeServerDescriptorPersistence.java
@@ -1,10 +1,10 @@
/* Copyright 2016--2018 The Tor Project
* See LICENSE for licensing information */
-package org.torproject.collector.persist;
+package org.torproject.metrics.collector.persist;
-import org.torproject.collector.conf.Annotation;
import org.torproject.descriptor.BridgeServerDescriptor;
+import org.torproject.metrics.collector.conf.Annotation;
import java.nio.file.Paths;
diff --git a/src/main/java/org/torproject/collector/persist/ConsensusPersistence.java b/src/main/java/org/torproject/metrics/collector/persist/ConsensusPersistence.java
similarity index 91%
rename from src/main/java/org/torproject/collector/persist/ConsensusPersistence.java
rename to src/main/java/org/torproject/metrics/collector/persist/ConsensusPersistence.java
index 4425634..b48077f 100644
--- a/src/main/java/org/torproject/collector/persist/ConsensusPersistence.java
+++ b/src/main/java/org/torproject/metrics/collector/persist/ConsensusPersistence.java
@@ -1,10 +1,10 @@
/* Copyright 2016--2018 The Tor Project
* See LICENSE for licensing information */
-package org.torproject.collector.persist;
+package org.torproject.metrics.collector.persist;
-import org.torproject.collector.conf.Annotation;
import org.torproject.descriptor.RelayNetworkStatusConsensus;
+import org.torproject.metrics.collector.conf.Annotation;
import java.nio.file.Paths;
diff --git a/src/main/java/org/torproject/collector/persist/DescriptorPersistence.java b/src/main/java/org/torproject/metrics/collector/persist/DescriptorPersistence.java
similarity index 98%
rename from src/main/java/org/torproject/collector/persist/DescriptorPersistence.java
rename to src/main/java/org/torproject/metrics/collector/persist/DescriptorPersistence.java
index 01c9fad..ea3d67d 100644
--- a/src/main/java/org/torproject/collector/persist/DescriptorPersistence.java
+++ b/src/main/java/org/torproject/metrics/collector/persist/DescriptorPersistence.java
@@ -1,7 +1,7 @@
/* Copyright 2016--2018 The Tor Project
* See LICENSE for licensing information */
-package org.torproject.collector.persist;
+package org.torproject.metrics.collector.persist;
import org.torproject.descriptor.Descriptor;
diff --git a/src/main/java/org/torproject/collector/persist/ExitlistPersistence.java b/src/main/java/org/torproject/metrics/collector/persist/ExitlistPersistence.java
similarity index 89%
rename from src/main/java/org/torproject/collector/persist/ExitlistPersistence.java
rename to src/main/java/org/torproject/metrics/collector/persist/ExitlistPersistence.java
index d992cd5..307f3fa 100644
--- a/src/main/java/org/torproject/collector/persist/ExitlistPersistence.java
+++ b/src/main/java/org/torproject/metrics/collector/persist/ExitlistPersistence.java
@@ -1,10 +1,10 @@
/* Copyright 2016--2018 The Tor Project
* See LICENSE for licensing information */
-package org.torproject.collector.persist;
+package org.torproject.metrics.collector.persist;
-import org.torproject.collector.conf.Annotation;
import org.torproject.descriptor.ExitList;
+import org.torproject.metrics.collector.conf.Annotation;
import java.nio.file.Paths;
diff --git a/src/main/java/org/torproject/collector/persist/ExtraInfoPersistence.java b/src/main/java/org/torproject/metrics/collector/persist/ExtraInfoPersistence.java
similarity index 90%
rename from src/main/java/org/torproject/collector/persist/ExtraInfoPersistence.java
rename to src/main/java/org/torproject/metrics/collector/persist/ExtraInfoPersistence.java
index 93bdfe5..4ac8cba 100644
--- a/src/main/java/org/torproject/collector/persist/ExtraInfoPersistence.java
+++ b/src/main/java/org/torproject/metrics/collector/persist/ExtraInfoPersistence.java
@@ -1,10 +1,10 @@
/* Copyright 2016--2018 The Tor Project
* See LICENSE for licensing information */
-package org.torproject.collector.persist;
+package org.torproject.metrics.collector.persist;
-import org.torproject.collector.conf.Annotation;
import org.torproject.descriptor.RelayExtraInfoDescriptor;
+import org.torproject.metrics.collector.conf.Annotation;
import java.nio.file.Paths;
diff --git a/src/main/java/org/torproject/collector/persist/MicroConsensusPersistence.java b/src/main/java/org/torproject/metrics/collector/persist/MicroConsensusPersistence.java
similarity index 92%
rename from src/main/java/org/torproject/collector/persist/MicroConsensusPersistence.java
rename to src/main/java/org/torproject/metrics/collector/persist/MicroConsensusPersistence.java
index 1858334..a3e189a 100644
--- a/src/main/java/org/torproject/collector/persist/MicroConsensusPersistence.java
+++ b/src/main/java/org/torproject/metrics/collector/persist/MicroConsensusPersistence.java
@@ -1,10 +1,10 @@
/* Copyright 2016--2018 The Tor Project
* See LICENSE for licensing information */
-package org.torproject.collector.persist;
+package org.torproject.metrics.collector.persist;
-import org.torproject.collector.conf.Annotation;
import org.torproject.descriptor.RelayNetworkStatusConsensus;
+import org.torproject.metrics.collector.conf.Annotation;
import java.nio.file.Paths;
diff --git a/src/main/java/org/torproject/collector/persist/OnionPerfPersistence.java b/src/main/java/org/torproject/metrics/collector/persist/OnionPerfPersistence.java
similarity index 92%
rename from src/main/java/org/torproject/collector/persist/OnionPerfPersistence.java
rename to src/main/java/org/torproject/metrics/collector/persist/OnionPerfPersistence.java
index d8e1b33..bc654a4 100644
--- a/src/main/java/org/torproject/collector/persist/OnionPerfPersistence.java
+++ b/src/main/java/org/torproject/metrics/collector/persist/OnionPerfPersistence.java
@@ -1,10 +1,10 @@
/* Copyright 2017--2018 The Tor Project
* See LICENSE for licensing information */
-package org.torproject.collector.persist;
+package org.torproject.metrics.collector.persist;
-import org.torproject.collector.conf.Annotation;
import org.torproject.descriptor.TorperfResult;
+import org.torproject.metrics.collector.conf.Annotation;
import java.nio.file.Paths;
import java.nio.file.StandardOpenOption;
diff --git a/src/main/java/org/torproject/collector/persist/PersistenceUtils.java b/src/main/java/org/torproject/metrics/collector/persist/PersistenceUtils.java
similarity index 98%
rename from src/main/java/org/torproject/collector/persist/PersistenceUtils.java
rename to src/main/java/org/torproject/metrics/collector/persist/PersistenceUtils.java
index 0537145..7d30cb1 100644
--- a/src/main/java/org/torproject/collector/persist/PersistenceUtils.java
+++ b/src/main/java/org/torproject/metrics/collector/persist/PersistenceUtils.java
@@ -1,7 +1,7 @@
/* Copyright 2016--2018 The Tor Project
* See LICENSE for licensing information */
-package org.torproject.collector.persist;
+package org.torproject.metrics.collector.persist;
import org.slf4j.Logger;
import org.slf4j.LoggerFactory;
diff --git a/src/main/java/org/torproject/collector/persist/ServerDescriptorPersistence.java b/src/main/java/org/torproject/metrics/collector/persist/ServerDescriptorPersistence.java
similarity index 91%
rename from src/main/java/org/torproject/collector/persist/ServerDescriptorPersistence.java
rename to src/main/java/org/torproject/metrics/collector/persist/ServerDescriptorPersistence.java
index cd5d92c..bb0ae64 100644
--- a/src/main/java/org/torproject/collector/persist/ServerDescriptorPersistence.java
+++ b/src/main/java/org/torproject/metrics/collector/persist/ServerDescriptorPersistence.java
@@ -1,10 +1,10 @@
/* Copyright 2016--2018 The Tor Project
* See LICENSE for licensing information */
-package org.torproject.collector.persist;
+package org.torproject.metrics.collector.persist;
-import org.torproject.collector.conf.Annotation;
import org.torproject.descriptor.RelayServerDescriptor;
+import org.torproject.metrics.collector.conf.Annotation;
import java.nio.file.Paths;
diff --git a/src/main/java/org/torproject/collector/persist/StatusPersistence.java b/src/main/java/org/torproject/metrics/collector/persist/StatusPersistence.java
similarity index 90%
rename from src/main/java/org/torproject/collector/persist/StatusPersistence.java
rename to src/main/java/org/torproject/metrics/collector/persist/StatusPersistence.java
index 165cf6c..c3cbf9e 100644
--- a/src/main/java/org/torproject/collector/persist/StatusPersistence.java
+++ b/src/main/java/org/torproject/metrics/collector/persist/StatusPersistence.java
@@ -1,10 +1,10 @@
/* Copyright 2016--2018 The Tor Project
* See LICENSE for licensing information */
-package org.torproject.collector.persist;
+package org.torproject.metrics.collector.persist;
-import org.torproject.collector.conf.Annotation;
import org.torproject.descriptor.BridgeNetworkStatus;
+import org.torproject.metrics.collector.conf.Annotation;
import java.nio.file.Paths;
diff --git a/src/main/java/org/torproject/collector/persist/VotePersistence.java b/src/main/java/org/torproject/metrics/collector/persist/VotePersistence.java
similarity index 95%
rename from src/main/java/org/torproject/collector/persist/VotePersistence.java
rename to src/main/java/org/torproject/metrics/collector/persist/VotePersistence.java
index 45f117f..a1bb032 100644
--- a/src/main/java/org/torproject/collector/persist/VotePersistence.java
+++ b/src/main/java/org/torproject/metrics/collector/persist/VotePersistence.java
@@ -1,10 +1,10 @@
/* Copyright 2016--2018 The Tor Project
* See LICENSE for licensing information */
-package org.torproject.collector.persist;
+package org.torproject.metrics.collector.persist;
-import org.torproject.collector.conf.Annotation;
import org.torproject.descriptor.RelayNetworkStatusVote;
+import org.torproject.metrics.collector.conf.Annotation;
import org.apache.commons.codec.digest.DigestUtils;
diff --git a/src/main/java/org/torproject/collector/persist/WebServerAccessLogPersistence.java b/src/main/java/org/torproject/metrics/collector/persist/WebServerAccessLogPersistence.java
similarity index 97%
rename from src/main/java/org/torproject/collector/persist/WebServerAccessLogPersistence.java
rename to src/main/java/org/torproject/metrics/collector/persist/WebServerAccessLogPersistence.java
index dab4112..b10f706 100644
--- a/src/main/java/org/torproject/collector/persist/WebServerAccessLogPersistence.java
+++ b/src/main/java/org/torproject/metrics/collector/persist/WebServerAccessLogPersistence.java
@@ -1,7 +1,7 @@
/* Copyright 2016--2018 The Tor Project
* See LICENSE for licensing information */
-package org.torproject.collector.persist;
+package org.torproject.metrics.collector.persist;
import org.torproject.descriptor.WebServerAccessLog;
import org.torproject.descriptor.internal.FileType;
diff --git a/src/main/java/org/torproject/collector/persist/package-info.java b/src/main/java/org/torproject/metrics/collector/persist/package-info.java
similarity index 87%
rename from src/main/java/org/torproject/collector/persist/package-info.java
rename to src/main/java/org/torproject/metrics/collector/persist/package-info.java
index 6f75116..d3f6d2f 100644
--- a/src/main/java/org/torproject/collector/persist/package-info.java
+++ b/src/main/java/org/torproject/metrics/collector/persist/package-info.java
@@ -1,7 +1,7 @@
/* Copyright 2016--2018 The Tor Project
* See LICENSE for licensing information */
-package org.torproject.collector.persist;
+package org.torproject.metrics.collector.persist;
/** This package containes decorating classes for descriptors that
* simply determine the two storage paths based on the descriptor
diff --git a/src/main/java/org/torproject/collector/relaydescs/ArchiveReader.java b/src/main/java/org/torproject/metrics/collector/relaydescs/ArchiveReader.java
similarity index 99%
rename from src/main/java/org/torproject/collector/relaydescs/ArchiveReader.java
rename to src/main/java/org/torproject/metrics/collector/relaydescs/ArchiveReader.java
index c665acb..22a3113 100644
--- a/src/main/java/org/torproject/collector/relaydescs/ArchiveReader.java
+++ b/src/main/java/org/torproject/metrics/collector/relaydescs/ArchiveReader.java
@@ -1,7 +1,7 @@
/* Copyright 2010--2018 The Tor Project
* See LICENSE for licensing information */
-package org.torproject.collector.relaydescs;
+package org.torproject.metrics.collector.relaydescs;
import org.apache.commons.codec.binary.Base64;
import org.apache.commons.codec.digest.DigestUtils;
diff --git a/src/main/java/org/torproject/collector/relaydescs/ArchiveWriter.java b/src/main/java/org/torproject/metrics/collector/relaydescs/ArchiveWriter.java
similarity index 98%
rename from src/main/java/org/torproject/collector/relaydescs/ArchiveWriter.java
rename to src/main/java/org/torproject/metrics/collector/relaydescs/ArchiveWriter.java
index e8d717a..11388f2 100644
--- a/src/main/java/org/torproject/collector/relaydescs/ArchiveWriter.java
+++ b/src/main/java/org/torproject/metrics/collector/relaydescs/ArchiveWriter.java
@@ -1,14 +1,8 @@
/* Copyright 2010--2018 The Tor Project
* See LICENSE for licensing information */
-package org.torproject.collector.relaydescs;
-
-import org.torproject.collector.conf.Annotation;
-import org.torproject.collector.conf.Configuration;
-import org.torproject.collector.conf.ConfigurationException;
-import org.torproject.collector.conf.Key;
-import org.torproject.collector.conf.SourceType;
-import org.torproject.collector.cron.CollecTorMain;
+package org.torproject.metrics.collector.relaydescs;
+
import org.torproject.descriptor.Descriptor;
import org.torproject.descriptor.DescriptorParser;
import org.torproject.descriptor.DescriptorSourceFactory;
@@ -17,6 +11,12 @@ import org.torproject.descriptor.RelayNetworkStatusConsensus;
import org.torproject.descriptor.RelayNetworkStatusVote;
import org.torproject.descriptor.RelayServerDescriptor;
import org.torproject.descriptor.UnparseableDescriptor;
+import org.torproject.metrics.collector.conf.Annotation;
+import org.torproject.metrics.collector.conf.Configuration;
+import org.torproject.metrics.collector.conf.ConfigurationException;
+import org.torproject.metrics.collector.conf.Key;
+import org.torproject.metrics.collector.conf.SourceType;
+import org.torproject.metrics.collector.cron.CollecTorMain;
import org.slf4j.Logger;
import org.slf4j.LoggerFactory;
diff --git a/src/main/java/org/torproject/collector/relaydescs/CachedRelayDescriptorReader.java b/src/main/java/org/torproject/metrics/collector/relaydescs/CachedRelayDescriptorReader.java
similarity index 99%
rename from src/main/java/org/torproject/collector/relaydescs/CachedRelayDescriptorReader.java
rename to src/main/java/org/torproject/metrics/collector/relaydescs/CachedRelayDescriptorReader.java
index 4986509..5b5d218 100644
--- a/src/main/java/org/torproject/collector/relaydescs/CachedRelayDescriptorReader.java
+++ b/src/main/java/org/torproject/metrics/collector/relaydescs/CachedRelayDescriptorReader.java
@@ -1,7 +1,7 @@
/* Copyright 2010--2018 The Tor Project
* See LICENSE for licensing information */
-package org.torproject.collector.relaydescs;
+package org.torproject.metrics.collector.relaydescs;
import org.apache.commons.codec.binary.Hex;
import org.apache.commons.codec.digest.DigestUtils;
diff --git a/src/main/java/org/torproject/collector/relaydescs/ReferenceChecker.java b/src/main/java/org/torproject/metrics/collector/relaydescs/ReferenceChecker.java
similarity index 99%
rename from src/main/java/org/torproject/collector/relaydescs/ReferenceChecker.java
rename to src/main/java/org/torproject/metrics/collector/relaydescs/ReferenceChecker.java
index df0508a..83b3ae9 100644
--- a/src/main/java/org/torproject/collector/relaydescs/ReferenceChecker.java
+++ b/src/main/java/org/torproject/metrics/collector/relaydescs/ReferenceChecker.java
@@ -1,7 +1,7 @@
/* Copyright 2016--2018 The Tor Project
* See LICENSE for licensing information */
-package org.torproject.collector.relaydescs;
+package org.torproject.metrics.collector.relaydescs;
import org.torproject.descriptor.Descriptor;
import org.torproject.descriptor.DescriptorReader;
diff --git a/src/main/java/org/torproject/collector/relaydescs/RelayDescriptorDownloader.java b/src/main/java/org/torproject/metrics/collector/relaydescs/RelayDescriptorDownloader.java
similarity index 99%
rename from src/main/java/org/torproject/collector/relaydescs/RelayDescriptorDownloader.java
rename to src/main/java/org/torproject/metrics/collector/relaydescs/RelayDescriptorDownloader.java
index 453a466..a65ea9a 100644
--- a/src/main/java/org/torproject/collector/relaydescs/RelayDescriptorDownloader.java
+++ b/src/main/java/org/torproject/metrics/collector/relaydescs/RelayDescriptorDownloader.java
@@ -1,7 +1,7 @@
/* Copyright 2010--2018 The Tor Project
* See LICENSE for licensing information */
-package org.torproject.collector.relaydescs;
+package org.torproject.metrics.collector.relaydescs;
import org.apache.commons.codec.binary.Base64;
import org.apache.commons.codec.digest.DigestUtils;
diff --git a/src/main/java/org/torproject/collector/relaydescs/RelayDescriptorParser.java b/src/main/java/org/torproject/metrics/collector/relaydescs/RelayDescriptorParser.java
similarity index 99%
rename from src/main/java/org/torproject/collector/relaydescs/RelayDescriptorParser.java
rename to src/main/java/org/torproject/metrics/collector/relaydescs/RelayDescriptorParser.java
index be26040..74e0ce9 100644
--- a/src/main/java/org/torproject/collector/relaydescs/RelayDescriptorParser.java
+++ b/src/main/java/org/torproject/metrics/collector/relaydescs/RelayDescriptorParser.java
@@ -1,7 +1,7 @@
/* Copyright 2010--2018 The Tor Project
* See LICENSE for licensing information */
-package org.torproject.collector.relaydescs;
+package org.torproject.metrics.collector.relaydescs;
import org.apache.commons.codec.binary.Base64;
import org.apache.commons.codec.binary.Hex;
diff --git a/src/main/java/org/torproject/collector/sync/Criterium.java b/src/main/java/org/torproject/metrics/collector/sync/Criterium.java
similarity index 86%
rename from src/main/java/org/torproject/collector/sync/Criterium.java
rename to src/main/java/org/torproject/metrics/collector/sync/Criterium.java
index b612794..c9d6212 100644
--- a/src/main/java/org/torproject/collector/sync/Criterium.java
+++ b/src/main/java/org/torproject/metrics/collector/sync/Criterium.java
@@ -1,7 +1,7 @@
/* Copyright 2016--2018 The Tor Project
* See LICENSE for licensing information */
-package org.torproject.collector.sync;
+package org.torproject.metrics.collector.sync;
/** Interface for decisions to be made in the sync-process. */
public interface Criterium<T> {
diff --git a/src/main/java/org/torproject/collector/sync/ProcessCriterium.java b/src/main/java/org/torproject/metrics/collector/sync/ProcessCriterium.java
similarity index 92%
rename from src/main/java/org/torproject/collector/sync/ProcessCriterium.java
rename to src/main/java/org/torproject/metrics/collector/sync/ProcessCriterium.java
index 8edcf15..d4ec149 100644
--- a/src/main/java/org/torproject/collector/sync/ProcessCriterium.java
+++ b/src/main/java/org/torproject/metrics/collector/sync/ProcessCriterium.java
@@ -1,7 +1,7 @@
/* Copyright 2016--2018 The Tor Project
* See LICENSE for licensing information */
-package org.torproject.collector.sync;
+package org.torproject.metrics.collector.sync;
import org.torproject.descriptor.Descriptor;
diff --git a/src/main/java/org/torproject/collector/sync/SyncManager.java b/src/main/java/org/torproject/metrics/collector/sync/SyncManager.java
similarity index 95%
rename from src/main/java/org/torproject/collector/sync/SyncManager.java
rename to src/main/java/org/torproject/metrics/collector/sync/SyncManager.java
index c7300b4..005501f 100644
--- a/src/main/java/org/torproject/collector/sync/SyncManager.java
+++ b/src/main/java/org/torproject/metrics/collector/sync/SyncManager.java
@@ -1,11 +1,7 @@
/* Copyright 2016--2018 The Tor Project
* See LICENSE for licensing information */
-package org.torproject.collector.sync;
-
-import org.torproject.collector.conf.Configuration;
-import org.torproject.collector.conf.ConfigurationException;
-import org.torproject.collector.conf.Key;
+package org.torproject.metrics.collector.sync;
import org.torproject.descriptor.Descriptor;
import org.torproject.descriptor.DescriptorCollector;
@@ -13,6 +9,9 @@ import org.torproject.descriptor.DescriptorReader;
import org.torproject.descriptor.DescriptorSourceFactory;
import org.torproject.descriptor.UnparseableDescriptor;
import org.torproject.descriptor.index.DescriptorIndexCollector;
+import org.torproject.metrics.collector.conf.Configuration;
+import org.torproject.metrics.collector.conf.ConfigurationException;
+import org.torproject.metrics.collector.conf.Key;
import org.slf4j.Logger;
import org.slf4j.LoggerFactory;
diff --git a/src/main/java/org/torproject/collector/sync/SyncPersistence.java b/src/main/java/org/torproject/metrics/collector/sync/SyncPersistence.java
similarity index 82%
rename from src/main/java/org/torproject/collector/sync/SyncPersistence.java
rename to src/main/java/org/torproject/metrics/collector/sync/SyncPersistence.java
index 142be7a..bbd3103 100644
--- a/src/main/java/org/torproject/collector/sync/SyncPersistence.java
+++ b/src/main/java/org/torproject/metrics/collector/sync/SyncPersistence.java
@@ -1,24 +1,8 @@
/* Copyright 2016--2018 The Tor Project
* See LICENSE for licensing information */
-package org.torproject.collector.sync;
+package org.torproject.metrics.collector.sync;
-import org.torproject.collector.conf.Configuration;
-import org.torproject.collector.conf.ConfigurationException;
-import org.torproject.collector.conf.Key;
-import org.torproject.collector.persist.BridgeExtraInfoPersistence;
-import org.torproject.collector.persist.BridgeServerDescriptorPersistence;
-import org.torproject.collector.persist.ConsensusPersistence;
-import org.torproject.collector.persist.DescriptorPersistence;
-import org.torproject.collector.persist.ExitlistPersistence;
-import org.torproject.collector.persist.ExtraInfoPersistence;
-import org.torproject.collector.persist.MicroConsensusPersistence;
-import org.torproject.collector.persist.OnionPerfPersistence;
-import org.torproject.collector.persist.PersistenceUtils;
-import org.torproject.collector.persist.ServerDescriptorPersistence;
-import org.torproject.collector.persist.StatusPersistence;
-import org.torproject.collector.persist.VotePersistence;
-import org.torproject.collector.persist.WebServerAccessLogPersistence;
import org.torproject.descriptor.BridgeExtraInfoDescriptor;
import org.torproject.descriptor.BridgeNetworkStatus;
import org.torproject.descriptor.BridgeServerDescriptor;
@@ -30,6 +14,22 @@ import org.torproject.descriptor.RelayNetworkStatusVote;
import org.torproject.descriptor.RelayServerDescriptor;
import org.torproject.descriptor.TorperfResult;
import org.torproject.descriptor.WebServerAccessLog;
+import org.torproject.metrics.collector.conf.Configuration;
+import org.torproject.metrics.collector.conf.ConfigurationException;
+import org.torproject.metrics.collector.conf.Key;
+import org.torproject.metrics.collector.persist.BridgeExtraInfoPersistence;
+import org.torproject.metrics.collector.persist.BridgeServerDescriptorPersistence;
+import org.torproject.metrics.collector.persist.ConsensusPersistence;
+import org.torproject.metrics.collector.persist.DescriptorPersistence;
+import org.torproject.metrics.collector.persist.ExitlistPersistence;
+import org.torproject.metrics.collector.persist.ExtraInfoPersistence;
+import org.torproject.metrics.collector.persist.MicroConsensusPersistence;
+import org.torproject.metrics.collector.persist.OnionPerfPersistence;
+import org.torproject.metrics.collector.persist.PersistenceUtils;
+import org.torproject.metrics.collector.persist.ServerDescriptorPersistence;
+import org.torproject.metrics.collector.persist.StatusPersistence;
+import org.torproject.metrics.collector.persist.VotePersistence;
+import org.torproject.metrics.collector.persist.WebServerAccessLogPersistence;
import org.slf4j.Logger;
import org.slf4j.LoggerFactory;
diff --git a/src/main/java/org/torproject/collector/sync/package-info.java b/src/main/java/org/torproject/metrics/collector/sync/package-info.java
similarity index 90%
rename from src/main/java/org/torproject/collector/sync/package-info.java
rename to src/main/java/org/torproject/metrics/collector/sync/package-info.java
index 241fde7..401fb84 100644
--- a/src/main/java/org/torproject/collector/sync/package-info.java
+++ b/src/main/java/org/torproject/metrics/collector/sync/package-info.java
@@ -1,7 +1,7 @@
/* Copyright 2016--2018 The Tor Project
* See LICENSE for licensing information */
-package org.torproject.collector.sync;
+package org.torproject.metrics.collector.sync;
/** This package coordinates syncing and merging the fetched data.
* <p>The central class for this process is <code>SyncManager</code>, which
diff --git a/src/main/java/org/torproject/collector/webstats/LogFileMap.java b/src/main/java/org/torproject/metrics/collector/webstats/LogFileMap.java
similarity index 98%
rename from src/main/java/org/torproject/collector/webstats/LogFileMap.java
rename to src/main/java/org/torproject/metrics/collector/webstats/LogFileMap.java
index c1a6802..0d23f9a 100644
--- a/src/main/java/org/torproject/collector/webstats/LogFileMap.java
+++ b/src/main/java/org/torproject/metrics/collector/webstats/LogFileMap.java
@@ -1,7 +1,7 @@
/* Copyright 2017--2018 The Tor Project
* See LICENSE for licensing information */
-package org.torproject.collector.webstats;
+package org.torproject.metrics.collector.webstats;
import org.slf4j.Logger;
import org.slf4j.LoggerFactory;
diff --git a/src/main/java/org/torproject/collector/webstats/LogMetadata.java b/src/main/java/org/torproject/metrics/collector/webstats/LogMetadata.java
similarity index 98%
rename from src/main/java/org/torproject/collector/webstats/LogMetadata.java
rename to src/main/java/org/torproject/metrics/collector/webstats/LogMetadata.java
index ee0db1a..c74cbcb 100644
--- a/src/main/java/org/torproject/collector/webstats/LogMetadata.java
+++ b/src/main/java/org/torproject/metrics/collector/webstats/LogMetadata.java
@@ -1,7 +1,7 @@
/* Copyright 2017--2018 The Tor Project
* See LICENSE for licensing information */
-package org.torproject.collector.webstats;
+package org.torproject.metrics.collector.webstats;
import static org.torproject.descriptor.log.WebServerAccessLogImpl.MARKER;
diff --git a/src/main/java/org/torproject/collector/webstats/SanitizeWeblogs.java b/src/main/java/org/torproject/metrics/collector/webstats/SanitizeWeblogs.java
similarity index 95%
rename from src/main/java/org/torproject/collector/webstats/SanitizeWeblogs.java
rename to src/main/java/org/torproject/metrics/collector/webstats/SanitizeWeblogs.java
index 88d1456..3d25cea 100644
--- a/src/main/java/org/torproject/collector/webstats/SanitizeWeblogs.java
+++ b/src/main/java/org/torproject/metrics/collector/webstats/SanitizeWeblogs.java
@@ -1,7 +1,7 @@
/* Copyright 2017--2018 The Tor Project
* See LICENSE for licensing information */
-package org.torproject.collector.webstats;
+package org.torproject.metrics.collector.webstats;
import static java.util.stream.Collectors.counting;
import static java.util.stream.Collectors.groupingBy;
@@ -9,14 +9,6 @@ import static java.util.stream.Collectors.groupingByConcurrent;
import static java.util.stream.Collectors.reducing;
import static java.util.stream.Collectors.summingLong;
-import org.torproject.collector.conf.Configuration;
-import org.torproject.collector.conf.ConfigurationException;
-import org.torproject.collector.conf.Key;
-import org.torproject.collector.conf.SourceType;
-import org.torproject.collector.cron.CollecTorMain;
-
-import org.torproject.collector.persist.PersistenceUtils;
-import org.torproject.collector.persist.WebServerAccessLogPersistence;
import org.torproject.descriptor.DescriptorParseException;
import org.torproject.descriptor.Method;
import org.torproject.descriptor.WebServerAccessLog;
@@ -25,6 +17,13 @@ import org.torproject.descriptor.log.InternalLogDescriptor;
import org.torproject.descriptor.log.InternalWebServerAccessLog;
import org.torproject.descriptor.log.WebServerAccessLogImpl;
import org.torproject.descriptor.log.WebServerAccessLogLine;
+import org.torproject.metrics.collector.conf.Configuration;
+import org.torproject.metrics.collector.conf.ConfigurationException;
+import org.torproject.metrics.collector.conf.Key;
+import org.torproject.metrics.collector.conf.SourceType;
+import org.torproject.metrics.collector.cron.CollecTorMain;
+import org.torproject.metrics.collector.persist.PersistenceUtils;
+import org.torproject.metrics.collector.persist.WebServerAccessLogPersistence;
import org.slf4j.Logger;
import org.slf4j.LoggerFactory;
diff --git a/src/test/java/org/torproject/collector/MainTest.java b/src/test/java/org/torproject/metrics/collector/MainTest.java
similarity index 96%
rename from src/test/java/org/torproject/collector/MainTest.java
rename to src/test/java/org/torproject/metrics/collector/MainTest.java
index 28d3571..6459040 100644
--- a/src/test/java/org/torproject/collector/MainTest.java
+++ b/src/test/java/org/torproject/metrics/collector/MainTest.java
@@ -1,7 +1,7 @@
/* Copyright 2016--2018 The Tor Project
* See LICENSE for licensing information */
-package org.torproject.collector;
+package org.torproject.metrics.collector;
import static org.junit.Assert.assertEquals;
import static org.junit.Assert.assertFalse;
@@ -9,10 +9,10 @@ import static org.junit.Assert.assertNotNull;
import static org.junit.Assert.assertTrue;
import static org.junit.Assert.fail;
-import org.torproject.collector.conf.Configuration;
-import org.torproject.collector.conf.ConfigurationException;
-import org.torproject.collector.conf.Key;
-import org.torproject.collector.cron.Scheduler;
+import org.torproject.metrics.collector.conf.Configuration;
+import org.torproject.metrics.collector.conf.ConfigurationException;
+import org.torproject.metrics.collector.conf.Key;
+import org.torproject.metrics.collector.cron.Scheduler;
import org.hamcrest.Matchers;
import org.junit.Rule;
diff --git a/src/test/java/org/torproject/collector/bridgedescs/BridgeDescriptorParserTest.java b/src/test/java/org/torproject/metrics/collector/bridgedescs/BridgeDescriptorParserTest.java
similarity index 92%
rename from src/test/java/org/torproject/collector/bridgedescs/BridgeDescriptorParserTest.java
rename to src/test/java/org/torproject/metrics/collector/bridgedescs/BridgeDescriptorParserTest.java
index 2d4e175..040d161 100644
--- a/src/test/java/org/torproject/collector/bridgedescs/BridgeDescriptorParserTest.java
+++ b/src/test/java/org/torproject/metrics/collector/bridgedescs/BridgeDescriptorParserTest.java
@@ -1,9 +1,9 @@
/* Copyright 2016--2018 The Tor Project
* See LICENSE for licensing information */
-package org.torproject.collector.bridgedescs;
+package org.torproject.metrics.collector.bridgedescs;
-import org.torproject.collector.conf.Configuration;
+import org.torproject.metrics.collector.conf.Configuration;
import org.junit.Test;
diff --git a/src/test/java/org/torproject/collector/bridgedescs/ExtraInfoTestDescriptorBuilder.java b/src/test/java/org/torproject/metrics/collector/bridgedescs/ExtraInfoTestDescriptorBuilder.java
similarity index 97%
rename from src/test/java/org/torproject/collector/bridgedescs/ExtraInfoTestDescriptorBuilder.java
rename to src/test/java/org/torproject/metrics/collector/bridgedescs/ExtraInfoTestDescriptorBuilder.java
index 71d52e9..45d6925 100644
--- a/src/test/java/org/torproject/collector/bridgedescs/ExtraInfoTestDescriptorBuilder.java
+++ b/src/test/java/org/torproject/metrics/collector/bridgedescs/ExtraInfoTestDescriptorBuilder.java
@@ -1,7 +1,7 @@
/* Copyright 2016--2018 The Tor Project
* See LICENSE for licensing information */
-package org.torproject.collector.bridgedescs;
+package org.torproject.metrics.collector.bridgedescs;
import java.util.Arrays;
diff --git a/src/test/java/org/torproject/collector/bridgedescs/NetworkStatusTestDescriptorBuilder.java b/src/test/java/org/torproject/metrics/collector/bridgedescs/NetworkStatusTestDescriptorBuilder.java
similarity index 95%
rename from src/test/java/org/torproject/collector/bridgedescs/NetworkStatusTestDescriptorBuilder.java
rename to src/test/java/org/torproject/metrics/collector/bridgedescs/NetworkStatusTestDescriptorBuilder.java
index b8c1cc9..d04fc3c 100644
--- a/src/test/java/org/torproject/collector/bridgedescs/NetworkStatusTestDescriptorBuilder.java
+++ b/src/test/java/org/torproject/metrics/collector/bridgedescs/NetworkStatusTestDescriptorBuilder.java
@@ -1,7 +1,7 @@
/* Copyright 2016--2018 The Tor Project
* See LICENSE for licensing information */
-package org.torproject.collector.bridgedescs;
+package org.torproject.metrics.collector.bridgedescs;
import java.util.Arrays;
diff --git a/src/test/java/org/torproject/collector/bridgedescs/SanitizedBridgesWriterTest.java b/src/test/java/org/torproject/metrics/collector/bridgedescs/SanitizedBridgesWriterTest.java
similarity index 99%
rename from src/test/java/org/torproject/collector/bridgedescs/SanitizedBridgesWriterTest.java
rename to src/test/java/org/torproject/metrics/collector/bridgedescs/SanitizedBridgesWriterTest.java
index 41a88c6..91332a5 100644
--- a/src/test/java/org/torproject/collector/bridgedescs/SanitizedBridgesWriterTest.java
+++ b/src/test/java/org/torproject/metrics/collector/bridgedescs/SanitizedBridgesWriterTest.java
@@ -1,17 +1,17 @@
/* Copyright 2016--2018 The Tor Project
* See LICENSE for licensing information */
-package org.torproject.collector.bridgedescs;
+package org.torproject.metrics.collector.bridgedescs;
import static org.junit.Assert.assertEquals;
import static org.junit.Assert.assertFalse;
import static org.junit.Assert.assertTrue;
import static org.junit.Assert.fail;
-import org.torproject.collector.Main;
-import org.torproject.collector.conf.Configuration;
-import org.torproject.collector.conf.ConfigurationException;
-import org.torproject.collector.conf.Key;
+import org.torproject.metrics.collector.Main;
+import org.torproject.metrics.collector.conf.Configuration;
+import org.torproject.metrics.collector.conf.ConfigurationException;
+import org.torproject.metrics.collector.conf.Key;
import org.junit.Before;
import org.junit.Rule;
diff --git a/src/test/java/org/torproject/collector/bridgedescs/ServerTestDescriptorBuilder.java b/src/test/java/org/torproject/metrics/collector/bridgedescs/ServerTestDescriptorBuilder.java
similarity index 98%
rename from src/test/java/org/torproject/collector/bridgedescs/ServerTestDescriptorBuilder.java
rename to src/test/java/org/torproject/metrics/collector/bridgedescs/ServerTestDescriptorBuilder.java
index b23c9e9..c0a6bf5 100644
--- a/src/test/java/org/torproject/collector/bridgedescs/ServerTestDescriptorBuilder.java
+++ b/src/test/java/org/torproject/metrics/collector/bridgedescs/ServerTestDescriptorBuilder.java
@@ -1,7 +1,7 @@
/* Copyright 2016--2018 The Tor Project
* See LICENSE for licensing information */
-package org.torproject.collector.bridgedescs;
+package org.torproject.metrics.collector.bridgedescs;
import java.util.Arrays;
diff --git a/src/test/java/org/torproject/collector/bridgedescs/TarballTestBuilder.java b/src/test/java/org/torproject/metrics/collector/bridgedescs/TarballTestBuilder.java
similarity index 98%
rename from src/test/java/org/torproject/collector/bridgedescs/TarballTestBuilder.java
rename to src/test/java/org/torproject/metrics/collector/bridgedescs/TarballTestBuilder.java
index 2cfe0f5..44f4490 100644
--- a/src/test/java/org/torproject/collector/bridgedescs/TarballTestBuilder.java
+++ b/src/test/java/org/torproject/metrics/collector/bridgedescs/TarballTestBuilder.java
@@ -1,7 +1,7 @@
/* Copyright 2016--2018 The Tor Project
* See LICENSE for licensing information */
-package org.torproject.collector.bridgedescs;
+package org.torproject.metrics.collector.bridgedescs;
import static org.junit.Assert.fail;
diff --git a/src/test/java/org/torproject/collector/bridgedescs/TestDescriptorBuilder.java b/src/test/java/org/torproject/metrics/collector/bridgedescs/TestDescriptorBuilder.java
similarity index 98%
rename from src/test/java/org/torproject/collector/bridgedescs/TestDescriptorBuilder.java
rename to src/test/java/org/torproject/metrics/collector/bridgedescs/TestDescriptorBuilder.java
index 73c00b7..2fad06a 100644
--- a/src/test/java/org/torproject/collector/bridgedescs/TestDescriptorBuilder.java
+++ b/src/test/java/org/torproject/metrics/collector/bridgedescs/TestDescriptorBuilder.java
@@ -1,7 +1,7 @@
/* Copyright 2016--2018 The Tor Project
* See LICENSE for licensing information */
-package org.torproject.collector.bridgedescs;
+package org.torproject.metrics.collector.bridgedescs;
import static org.junit.Assert.assertTrue;
import static org.junit.Assert.fail;
diff --git a/src/test/java/org/torproject/collector/conf/ConfigurationTest.java b/src/test/java/org/torproject/metrics/collector/conf/ConfigurationTest.java
similarity index 97%
rename from src/test/java/org/torproject/collector/conf/ConfigurationTest.java
rename to src/test/java/org/torproject/metrics/collector/conf/ConfigurationTest.java
index e408109..d91013b 100644
--- a/src/test/java/org/torproject/collector/conf/ConfigurationTest.java
+++ b/src/test/java/org/torproject/metrics/collector/conf/ConfigurationTest.java
@@ -1,16 +1,16 @@
/* Copyright 2016--2018 The Tor Project
* See LICENSE for licensing information */
-package org.torproject.collector.conf;
+package org.torproject.metrics.collector.conf;
import static org.junit.Assert.assertArrayEquals;
import static org.junit.Assert.assertEquals;
import static org.junit.Assert.assertFalse;
import static org.junit.Assert.assertTrue;
-import org.torproject.collector.MainTest;
-import org.torproject.collector.cron.CollecTorMain;
-import org.torproject.collector.cron.Dummy;
+import org.torproject.metrics.collector.MainTest;
+import org.torproject.metrics.collector.cron.CollecTorMain;
+import org.torproject.metrics.collector.cron.Dummy;
import org.junit.Rule;
import org.junit.Test;
diff --git a/src/test/java/org/torproject/collector/cron/Broken.java b/src/test/java/org/torproject/metrics/collector/cron/Broken.java
similarity index 81%
rename from src/test/java/org/torproject/collector/cron/Broken.java
rename to src/test/java/org/torproject/metrics/collector/cron/Broken.java
index 95fec3b..ef896bf 100644
--- a/src/test/java/org/torproject/collector/cron/Broken.java
+++ b/src/test/java/org/torproject/metrics/collector/cron/Broken.java
@@ -1,10 +1,10 @@
/* Copyright 2016--2018 The Tor Project
* See LICENSE for licensing information */
-package org.torproject.collector.cron;
+package org.torproject.metrics.collector.cron;
-import org.torproject.collector.conf.Configuration;
-import org.torproject.collector.conf.ConfigurationException;
+import org.torproject.metrics.collector.conf.Configuration;
+import org.torproject.metrics.collector.conf.ConfigurationException;
import java.util.concurrent.atomic.AtomicInteger;
diff --git a/src/test/java/org/torproject/collector/cron/CollecTorMainTest.java b/src/test/java/org/torproject/metrics/collector/cron/CollecTorMainTest.java
similarity index 91%
rename from src/test/java/org/torproject/collector/cron/CollecTorMainTest.java
rename to src/test/java/org/torproject/metrics/collector/cron/CollecTorMainTest.java
index 025f96c..78b6ac7 100644
--- a/src/test/java/org/torproject/collector/cron/CollecTorMainTest.java
+++ b/src/test/java/org/torproject/metrics/collector/cron/CollecTorMainTest.java
@@ -1,17 +1,17 @@
/* Copyright 2016--2018 The Tor Project
* See LICENSE for licensing information */
-package org.torproject.collector.cron;
+package org.torproject.metrics.collector.cron;
import static org.junit.Assert.assertNotNull;
import static org.junit.Assert.assertNull;
import static org.junit.Assert.assertTrue;
import static org.junit.Assert.fail;
-import org.torproject.collector.Main;
-import org.torproject.collector.conf.Configuration;
-import org.torproject.collector.conf.Key;
-import org.torproject.collector.sync.SyncManager;
+import org.torproject.metrics.collector.Main;
+import org.torproject.metrics.collector.conf.Configuration;
+import org.torproject.metrics.collector.conf.Key;
+import org.torproject.metrics.collector.sync.SyncManager;
import org.junit.Rule;
import org.junit.Test;
diff --git a/src/test/java/org/torproject/collector/cron/Counter.java b/src/test/java/org/torproject/metrics/collector/cron/Counter.java
similarity index 72%
rename from src/test/java/org/torproject/collector/cron/Counter.java
rename to src/test/java/org/torproject/metrics/collector/cron/Counter.java
index ad0882e..d48b62c 100644
--- a/src/test/java/org/torproject/collector/cron/Counter.java
+++ b/src/test/java/org/torproject/metrics/collector/cron/Counter.java
@@ -1,7 +1,7 @@
-package org.torproject.collector.cron;
+package org.torproject.metrics.collector.cron;
-import org.torproject.collector.conf.Configuration;
-import org.torproject.collector.conf.ConfigurationException;
+import org.torproject.metrics.collector.conf.Configuration;
+import org.torproject.metrics.collector.conf.ConfigurationException;
import java.util.concurrent.atomic.AtomicInteger;
diff --git a/src/test/java/org/torproject/collector/cron/Dummy.java b/src/test/java/org/torproject/metrics/collector/cron/Dummy.java
similarity index 66%
rename from src/test/java/org/torproject/collector/cron/Dummy.java
rename to src/test/java/org/torproject/metrics/collector/cron/Dummy.java
index 039182b..1110676 100644
--- a/src/test/java/org/torproject/collector/cron/Dummy.java
+++ b/src/test/java/org/torproject/metrics/collector/cron/Dummy.java
@@ -1,7 +1,7 @@
-package org.torproject.collector.cron;
+package org.torproject.metrics.collector.cron;
-import org.torproject.collector.conf.Configuration;
-import org.torproject.collector.conf.ConfigurationException;
+import org.torproject.metrics.collector.conf.Configuration;
+import org.torproject.metrics.collector.conf.ConfigurationException;
public class Dummy extends CollecTorMain {
diff --git a/src/test/java/org/torproject/collector/cron/SchedulerTest.java b/src/test/java/org/torproject/metrics/collector/cron/SchedulerTest.java
similarity index 95%
rename from src/test/java/org/torproject/collector/cron/SchedulerTest.java
rename to src/test/java/org/torproject/metrics/collector/cron/SchedulerTest.java
index 5e38a36..e0496fb 100644
--- a/src/test/java/org/torproject/collector/cron/SchedulerTest.java
+++ b/src/test/java/org/torproject/metrics/collector/cron/SchedulerTest.java
@@ -1,14 +1,14 @@
/* Copyright 2016--2018 The Tor Project
* See LICENSE for licensing information */
-package org.torproject.collector.cron;
+package org.torproject.metrics.collector.cron;
import static org.junit.Assert.assertEquals;
import static org.junit.Assert.assertTrue;
-import org.torproject.collector.MainTest;
-import org.torproject.collector.conf.Configuration;
-import org.torproject.collector.conf.Key;
+import org.torproject.metrics.collector.MainTest;
+import org.torproject.metrics.collector.conf.Configuration;
+import org.torproject.metrics.collector.conf.Key;
import org.junit.Ignore;
import org.junit.Test;
diff --git a/src/test/java/org/torproject/collector/persist/PersistUtilsTest.java b/src/test/java/org/torproject/metrics/collector/persist/PersistUtilsTest.java
similarity index 98%
rename from src/test/java/org/torproject/collector/persist/PersistUtilsTest.java
rename to src/test/java/org/torproject/metrics/collector/persist/PersistUtilsTest.java
index d2801be..6774923 100644
--- a/src/test/java/org/torproject/collector/persist/PersistUtilsTest.java
+++ b/src/test/java/org/torproject/metrics/collector/persist/PersistUtilsTest.java
@@ -1,7 +1,7 @@
/* Copyright 2016--2018 The Tor Project
* See LICENSE for licensing information */
-package org.torproject.collector.persist;
+package org.torproject.metrics.collector.persist;
import static org.junit.Assert.assertEquals;
import static org.junit.Assert.assertFalse;
diff --git a/src/test/java/org/torproject/collector/relaydescs/ReferenceCheckerTest.java b/src/test/java/org/torproject/metrics/collector/relaydescs/ReferenceCheckerTest.java
similarity index 98%
rename from src/test/java/org/torproject/collector/relaydescs/ReferenceCheckerTest.java
rename to src/test/java/org/torproject/metrics/collector/relaydescs/ReferenceCheckerTest.java
index da2d9ad..19672fc 100644
--- a/src/test/java/org/torproject/collector/relaydescs/ReferenceCheckerTest.java
+++ b/src/test/java/org/torproject/metrics/collector/relaydescs/ReferenceCheckerTest.java
@@ -1,7 +1,7 @@
/* Copyright 2016--2018 The Tor Project
* See LICENSE for licensing information */
-package org.torproject.collector.relaydescs;
+package org.torproject.metrics.collector.relaydescs;
import static org.junit.Assert.assertEquals;
import static org.junit.Assert.assertTrue;
diff --git a/src/test/java/org/torproject/collector/sync/FileCollector.java b/src/test/java/org/torproject/metrics/collector/sync/FileCollector.java
similarity index 93%
rename from src/test/java/org/torproject/collector/sync/FileCollector.java
rename to src/test/java/org/torproject/metrics/collector/sync/FileCollector.java
index 681b113..57d9216 100644
--- a/src/test/java/org/torproject/collector/sync/FileCollector.java
+++ b/src/test/java/org/torproject/metrics/collector/sync/FileCollector.java
@@ -1,7 +1,7 @@
/* Copyright 2016--2018 The Tor Project
* See LICENSE for licensing information */
-package org.torproject.collector.sync;
+package org.torproject.metrics.collector.sync;
import java.io.File;
import java.io.IOException;
diff --git a/src/test/java/org/torproject/collector/sync/SyncPersistenceTest.java b/src/test/java/org/torproject/metrics/collector/sync/SyncPersistenceTest.java
similarity index 99%
rename from src/test/java/org/torproject/collector/sync/SyncPersistenceTest.java
rename to src/test/java/org/torproject/metrics/collector/sync/SyncPersistenceTest.java
index 489a413..0a20338 100644
--- a/src/test/java/org/torproject/collector/sync/SyncPersistenceTest.java
+++ b/src/test/java/org/torproject/metrics/collector/sync/SyncPersistenceTest.java
@@ -1,15 +1,15 @@
/* Copyright 2016--2018 The Tor Project
* See LICENSE for licensing information */
-package org.torproject.collector.sync;
+package org.torproject.metrics.collector.sync;
import static org.junit.Assert.assertEquals;
import static org.junit.Assert.assertTrue;
-import org.torproject.collector.conf.Configuration;
-import org.torproject.collector.conf.Key;
import org.torproject.descriptor.DescriptorParser;
import org.torproject.descriptor.DescriptorSourceFactory;
+import org.torproject.metrics.collector.conf.Configuration;
+import org.torproject.metrics.collector.conf.Key;
import org.junit.Rule;
import org.junit.Test;
diff --git a/src/test/java/org/torproject/collector/webstats/LogFileMapTest.java b/src/test/java/org/torproject/metrics/collector/webstats/LogFileMapTest.java
similarity index 93%
rename from src/test/java/org/torproject/collector/webstats/LogFileMapTest.java
rename to src/test/java/org/torproject/metrics/collector/webstats/LogFileMapTest.java
index d55ba40..89cfc10 100644
--- a/src/test/java/org/torproject/collector/webstats/LogFileMapTest.java
+++ b/src/test/java/org/torproject/metrics/collector/webstats/LogFileMapTest.java
@@ -1,7 +1,7 @@
/* Copyright 2017--2018 The Tor Project
* See LICENSE for licensing information */
-package org.torproject.collector.webstats;
+package org.torproject.metrics.collector.webstats;
import static org.junit.Assert.assertTrue;
diff --git a/src/test/java/org/torproject/collector/webstats/LogMetadataTest.java b/src/test/java/org/torproject/metrics/collector/webstats/LogMetadataTest.java
similarity index 98%
rename from src/test/java/org/torproject/collector/webstats/LogMetadataTest.java
rename to src/test/java/org/torproject/metrics/collector/webstats/LogMetadataTest.java
index 6121e8d..9a58cb9 100644
--- a/src/test/java/org/torproject/collector/webstats/LogMetadataTest.java
+++ b/src/test/java/org/torproject/metrics/collector/webstats/LogMetadataTest.java
@@ -1,7 +1,7 @@
/* Copyright 2017--2018 The Tor Project
* See LICENSE for licensing information */
-package org.torproject.collector.webstats;
+package org.torproject.metrics.collector.webstats;
import static org.junit.Assert.assertEquals;
diff --git a/src/test/java/org/torproject/collector/webstats/SanitizeWeblogsTest.java b/src/test/java/org/torproject/metrics/collector/webstats/SanitizeWeblogsTest.java
similarity index 88%
rename from src/test/java/org/torproject/collector/webstats/SanitizeWeblogsTest.java
rename to src/test/java/org/torproject/metrics/collector/webstats/SanitizeWeblogsTest.java
index 9ad4996..a550c41 100644
--- a/src/test/java/org/torproject/collector/webstats/SanitizeWeblogsTest.java
+++ b/src/test/java/org/torproject/metrics/collector/webstats/SanitizeWeblogsTest.java
@@ -1,7 +1,7 @@
/* Copyright 2017--2018 The Tor Project
* See LICENSE for licensing information */
-package org.torproject.collector.webstats;
+package org.torproject.metrics.collector.webstats;
import static org.junit.Assert.assertEquals;
1
0

15 Jul '18
commit 2472f0129621c576deaaccb07e876456a78bd3f9
Author: Karsten Loesing <karsten.loesing(a)gmx.net>
Date: Sat Jul 14 20:33:13 2018 +0200
Recognize new bridge authority Serge.
Fixes #26786.
---
CHANGELOG.md | 5 ++++-
.../metrics/collector/bridgedescs/BridgeSnapshotReader.java | 4 ++++
2 files changed, 8 insertions(+), 1 deletion(-)
diff --git a/CHANGELOG.md b/CHANGELOG.md
index 31788f1..aad7213 100644
--- a/CHANGELOG.md
+++ b/CHANGELOG.md
@@ -1,4 +1,7 @@
-# Changes in version 1.?.? - 2018-??-??
+# Changes in version 1.7.0 - 2018-07-14
+
+ * Medium changes
+ - Recognize new bridge authority Serge.
* Minor changes
- Rename root package org.torproject.collector to
diff --git a/src/main/java/org/torproject/metrics/collector/bridgedescs/BridgeSnapshotReader.java b/src/main/java/org/torproject/metrics/collector/bridgedescs/BridgeSnapshotReader.java
index 1a58d84..85c593d 100644
--- a/src/main/java/org/torproject/metrics/collector/bridgedescs/BridgeSnapshotReader.java
+++ b/src/main/java/org/torproject/metrics/collector/bridgedescs/BridgeSnapshotReader.java
@@ -121,6 +121,10 @@ public class BridgeSnapshotReader {
authorityFingerprint =
"1D8F3A91C37C5D1C4C19B1AD1D0CFBE8BF72D8E1";
break;
+ case "from-serge-":
+ authorityFingerprint =
+ "BA44A889E64B93FAA2B114E02C2A279A8555C533";
+ break;
default:
logger.warn("Did not recognize the bridge authority that "
+ "generated " + fn + ". Skipping.");
1
0