[tor-commits] [stem/master] Bump test for TAKEOWNERSHIP termination SLA
commit e64a118db8d789827183b6b66a6aa6c535868727 Author: Damian Johnson Date: Wed Jan 15 17:37:44 2020 -0800 Bump test for TAKEOWNERSHIP termination SLA Tor checks for the owning process every fifteen seconds, so this test's timeout is way too low... https://github.com/torproject/stem/issues/52 Puzzling that this passes reliably for me. With that poll rate this should be failing far more often... --- test/integ/process.py | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/test/integ/process.py b/test/integ/process.py index e40c501a..274a8ec9 100644 --- a/test/integ/process.py +++ b/test/integ/process.py @@ -631,7 +631,7 @@ class TestProcess(unittest.TestCase): # give tor a few seconds to quit start_time = time.time() - while time.time() - start_time < 5: + while time.time() - start_time < 20: if tor_process.poll() == 0: return # tor exited ___ tor-commits mailing list tor-commits@lists.torproject.org https://lists.torproject.org/cgi-bin/mailman/listinfo/tor-commits
[tor-commits] [tor/release-0.4.2] Merge branch 'maint-0.4.1' into maint-0.4.2
commit 48187248d3f79243590d60285708f3e2d45f8d8f Merge: 7e111d0ea fb541ffca Author: teor Date: Thu Jan 16 10:00:47 2020 +1000 Merge branch 'maint-0.4.1' into maint-0.4.2 ___ tor-commits mailing list tor-commits@lists.torproject.org https://lists.torproject.org/cgi-bin/mailman/listinfo/tor-commits
[tor-commits] [tor/release-0.4.2] Merge branch 'maint-0.3.5' into maint-0.4.0
commit 026f068bb3aed9de0f1cc6792f6c9528b7b27db2 Merge: d96b35d66 19954cffd Author: teor Date: Thu Jan 16 10:00:32 2020 +1000 Merge branch 'maint-0.3.5' into maint-0.4.0 changes/ticket32407 | 4 src/core/mainloop/mainloop.c | 4 src/lib/evloop/compat_libevent.c | 10 ++ src/lib/evloop/compat_libevent.h | 3 +++ 4 files changed, 21 insertions(+) ___ tor-commits mailing list tor-commits@lists.torproject.org https://lists.torproject.org/cgi-bin/mailman/listinfo/tor-commits
[tor-commits] [tor/release-0.4.0] Merge branch 'maint-0.4.0' into release-0.4.0
commit 8e3e8b0a1c27a7643706259ff7413e4e2d359124 Merge: 262906e99 026f068bb Author: teor Date: Thu Jan 16 10:00:36 2020 +1000 Merge branch 'maint-0.4.0' into release-0.4.0 changes/ticket32407 | 4 src/core/mainloop/mainloop.c | 4 src/lib/evloop/compat_libevent.c | 10 ++ src/lib/evloop/compat_libevent.h | 3 +++ 4 files changed, 21 insertions(+) ___ tor-commits mailing list tor-commits@lists.torproject.org https://lists.torproject.org/cgi-bin/mailman/listinfo/tor-commits
[tor-commits] [tor/release-0.4.2] Merge branch 'maint-0.4.0' into maint-0.4.1
commit fb541ffca31d4906642ffb3bbe6bb6079cfcb1c9 Merge: f5461a4bd 026f068bb Author: teor Date: Thu Jan 16 10:00:40 2020 +1000 Merge branch 'maint-0.4.0' into maint-0.4.1 changes/ticket32407 | 4 src/core/mainloop/mainloop.c | 4 src/lib/evloop/compat_libevent.c | 10 ++ src/lib/evloop/compat_libevent.h | 3 +++ 4 files changed, 21 insertions(+) ___ tor-commits mailing list tor-commits@lists.torproject.org https://lists.torproject.org/cgi-bin/mailman/listinfo/tor-commits
[tor-commits] [tor/release-0.4.2] Merge remote-tracking branch 'tor-github/pr/1513' into maint-0.3.5
commit 19954cffd7710ccac778aa5cf15ae1bc6a5d56fa Merge: 0b3763612 4d70e725d Author: teor Date: Thu Jan 16 09:57:27 2020 +1000 Merge remote-tracking branch 'tor-github/pr/1513' into maint-0.3.5 changes/ticket32407 | 4 src/core/mainloop/mainloop.c | 4 src/lib/evloop/compat_libevent.c | 10 ++ src/lib/evloop/compat_libevent.h | 3 +++ 4 files changed, 21 insertions(+) ___ tor-commits mailing list tor-commits@lists.torproject.org https://lists.torproject.org/cgi-bin/mailman/listinfo/tor-commits
[tor-commits] [tor/release-0.4.1] Merge branch 'maint-0.4.0' into maint-0.4.1
commit fb541ffca31d4906642ffb3bbe6bb6079cfcb1c9 Merge: f5461a4bd 026f068bb Author: teor Date: Thu Jan 16 10:00:40 2020 +1000 Merge branch 'maint-0.4.0' into maint-0.4.1 changes/ticket32407 | 4 src/core/mainloop/mainloop.c | 4 src/lib/evloop/compat_libevent.c | 10 ++ src/lib/evloop/compat_libevent.h | 3 +++ 4 files changed, 21 insertions(+) ___ tor-commits mailing list tor-commits@lists.torproject.org https://lists.torproject.org/cgi-bin/mailman/listinfo/tor-commits
[tor-commits] [tor/release-0.3.5] Merge remote-tracking branch 'tor-github/pr/1513' into maint-0.3.5
commit 19954cffd7710ccac778aa5cf15ae1bc6a5d56fa Merge: 0b3763612 4d70e725d Author: teor Date: Thu Jan 16 09:57:27 2020 +1000 Merge remote-tracking branch 'tor-github/pr/1513' into maint-0.3.5 changes/ticket32407 | 4 src/core/mainloop/mainloop.c | 4 src/lib/evloop/compat_libevent.c | 10 ++ src/lib/evloop/compat_libevent.h | 3 +++ 4 files changed, 21 insertions(+) ___ tor-commits mailing list tor-commits@lists.torproject.org https://lists.torproject.org/cgi-bin/mailman/listinfo/tor-commits
[tor-commits] [tor/release-0.4.1] Merge remote-tracking branch 'tor-github/pr/1513' into maint-0.3.5
commit 19954cffd7710ccac778aa5cf15ae1bc6a5d56fa Merge: 0b3763612 4d70e725d Author: teor Date: Thu Jan 16 09:57:27 2020 +1000 Merge remote-tracking branch 'tor-github/pr/1513' into maint-0.3.5 changes/ticket32407 | 4 src/core/mainloop/mainloop.c | 4 src/lib/evloop/compat_libevent.c | 10 ++ src/lib/evloop/compat_libevent.h | 3 +++ 4 files changed, 21 insertions(+) ___ tor-commits mailing list tor-commits@lists.torproject.org https://lists.torproject.org/cgi-bin/mailman/listinfo/tor-commits
[tor-commits] [tor/release-0.4.1] Merge branch 'maint-0.4.1' into release-0.4.1
commit 2be3b8275062e34ef6a2c8d753a01b3137de739e Merge: bdc870e6f fb541ffca Author: teor Date: Thu Jan 16 10:00:44 2020 +1000 Merge branch 'maint-0.4.1' into release-0.4.1 changes/ticket32407 | 4 src/core/mainloop/mainloop.c | 4 src/lib/evloop/compat_libevent.c | 10 ++ src/lib/evloop/compat_libevent.h | 3 +++ 4 files changed, 21 insertions(+) ___ tor-commits mailing list tor-commits@lists.torproject.org https://lists.torproject.org/cgi-bin/mailman/listinfo/tor-commits
[tor-commits] [tor/release-0.3.5] Do not try to shut down the event loop when it is not initialized.
commit 4d70e725d16abc2f85d54b91f50e75c37c765087 Author: Nick Mathewson Date: Wed Nov 6 11:33:23 2019 -0500 Do not try to shut down the event loop when it is not initialized. Doing so caused us to crash in some unusual circumstances, such as using --verify-config to verify a configuration that failed during the options_act() stage. Fixes bug 32407; bugfix on 0.3.3.1-alpha. --- changes/ticket32407 | 4 src/core/mainloop/mainloop.c | 4 src/lib/evloop/compat_libevent.c | 10 ++ src/lib/evloop/compat_libevent.h | 3 +++ 4 files changed, 21 insertions(+) diff --git a/changes/ticket32407 b/changes/ticket32407 new file mode 100644 index 0..badb09abf --- /dev/null +++ b/changes/ticket32407 @@ -0,0 +1,4 @@ + o Minor bugfixes (crash): +- When running Tor with an option like --verify-config or --dump-config + that does not start the event loop, avoid crashing if we try to exit + early because of an error. Fixes bug 32407; bugfix on 0.3.3.1-alpha. diff --git a/src/core/mainloop/mainloop.c b/src/core/mainloop/mainloop.c index 6e2b300fb..64df495ba 100644 --- a/src/core/mainloop/mainloop.c +++ b/src/core/mainloop/mainloop.c @@ -774,6 +774,10 @@ tor_shutdown_event_loop_and_exit(int exitcode) main_loop_should_exit = 1; main_loop_exit_value = exitcode; + if (! tor_libevent_is_initialized()) { +return; /* No event loop to shut down. */ + } + /* Die with an assertion failure in ten seconds, if for some reason we don't * exit normally. */ /* We should consider this code if it's never used. */ diff --git a/src/lib/evloop/compat_libevent.c b/src/lib/evloop/compat_libevent.c index 91eacb993..939d77f85 100644 --- a/src/lib/evloop/compat_libevent.c +++ b/src/lib/evloop/compat_libevent.c @@ -181,6 +181,16 @@ tor_libevent_initialize(tor_libevent_cfg *torcfg) event_get_version(), tor_libevent_get_method()); } +/** + * Return true iff the libevent module has been successfully initialized, + * and not subsequently shut down. + **/ +bool +tor_libevent_is_initialized(void) +{ + return the_event_base != NULL; +} + /** Return the current Libevent event base that we're set up to use. */ MOCK_IMPL(struct event_base *, tor_libevent_get_base, (void)) diff --git a/src/lib/evloop/compat_libevent.h b/src/lib/evloop/compat_libevent.h index afe887a01..92724c369 100644 --- a/src/lib/evloop/compat_libevent.h +++ b/src/lib/evloop/compat_libevent.h @@ -13,6 +13,8 @@ #include "lib/testsupport/testsupport.h" #include "lib/malloc/malloc.h" +#include + void configure_libevent_logging(void); void suppress_libevent_log_msg(const char *msg); @@ -68,6 +70,7 @@ typedef struct tor_libevent_cfg { } tor_libevent_cfg; void tor_libevent_initialize(tor_libevent_cfg *cfg); +bool tor_libevent_is_initialized(void); MOCK_DECL(struct event_base *, tor_libevent_get_base, (void)); const char *tor_libevent_get_method(void); void tor_check_libevent_header_compatibility(void); ___ tor-commits mailing list tor-commits@lists.torproject.org https://lists.torproject.org/cgi-bin/mailman/listinfo/tor-commits
[tor-commits] [tor/release-0.4.1] Do not try to shut down the event loop when it is not initialized.
commit 4d70e725d16abc2f85d54b91f50e75c37c765087 Author: Nick Mathewson Date: Wed Nov 6 11:33:23 2019 -0500 Do not try to shut down the event loop when it is not initialized. Doing so caused us to crash in some unusual circumstances, such as using --verify-config to verify a configuration that failed during the options_act() stage. Fixes bug 32407; bugfix on 0.3.3.1-alpha. --- changes/ticket32407 | 4 src/core/mainloop/mainloop.c | 4 src/lib/evloop/compat_libevent.c | 10 ++ src/lib/evloop/compat_libevent.h | 3 +++ 4 files changed, 21 insertions(+) diff --git a/changes/ticket32407 b/changes/ticket32407 new file mode 100644 index 0..badb09abf --- /dev/null +++ b/changes/ticket32407 @@ -0,0 +1,4 @@ + o Minor bugfixes (crash): +- When running Tor with an option like --verify-config or --dump-config + that does not start the event loop, avoid crashing if we try to exit + early because of an error. Fixes bug 32407; bugfix on 0.3.3.1-alpha. diff --git a/src/core/mainloop/mainloop.c b/src/core/mainloop/mainloop.c index 6e2b300fb..64df495ba 100644 --- a/src/core/mainloop/mainloop.c +++ b/src/core/mainloop/mainloop.c @@ -774,6 +774,10 @@ tor_shutdown_event_loop_and_exit(int exitcode) main_loop_should_exit = 1; main_loop_exit_value = exitcode; + if (! tor_libevent_is_initialized()) { +return; /* No event loop to shut down. */ + } + /* Die with an assertion failure in ten seconds, if for some reason we don't * exit normally. */ /* We should consider this code if it's never used. */ diff --git a/src/lib/evloop/compat_libevent.c b/src/lib/evloop/compat_libevent.c index 91eacb993..939d77f85 100644 --- a/src/lib/evloop/compat_libevent.c +++ b/src/lib/evloop/compat_libevent.c @@ -181,6 +181,16 @@ tor_libevent_initialize(tor_libevent_cfg *torcfg) event_get_version(), tor_libevent_get_method()); } +/** + * Return true iff the libevent module has been successfully initialized, + * and not subsequently shut down. + **/ +bool +tor_libevent_is_initialized(void) +{ + return the_event_base != NULL; +} + /** Return the current Libevent event base that we're set up to use. */ MOCK_IMPL(struct event_base *, tor_libevent_get_base, (void)) diff --git a/src/lib/evloop/compat_libevent.h b/src/lib/evloop/compat_libevent.h index afe887a01..92724c369 100644 --- a/src/lib/evloop/compat_libevent.h +++ b/src/lib/evloop/compat_libevent.h @@ -13,6 +13,8 @@ #include "lib/testsupport/testsupport.h" #include "lib/malloc/malloc.h" +#include + void configure_libevent_logging(void); void suppress_libevent_log_msg(const char *msg); @@ -68,6 +70,7 @@ typedef struct tor_libevent_cfg { } tor_libevent_cfg; void tor_libevent_initialize(tor_libevent_cfg *cfg); +bool tor_libevent_is_initialized(void); MOCK_DECL(struct event_base *, tor_libevent_get_base, (void)); const char *tor_libevent_get_method(void); void tor_check_libevent_header_compatibility(void); ___ tor-commits mailing list tor-commits@lists.torproject.org https://lists.torproject.org/cgi-bin/mailman/listinfo/tor-commits
[tor-commits] [tor/release-0.4.2] Merge branch 'maint-0.4.2' into release-0.4.2
commit 3bfbeff80db8d15dc47744fd49ad826b014a7b91 Merge: afa4cc57b 48187248d Author: teor Date: Thu Jan 16 10:00:51 2020 +1000 Merge branch 'maint-0.4.2' into release-0.4.2 ___ tor-commits mailing list tor-commits@lists.torproject.org https://lists.torproject.org/cgi-bin/mailman/listinfo/tor-commits
[tor-commits] [tor/release-0.4.1] Merge branch 'maint-0.3.5' into maint-0.4.0
commit 026f068bb3aed9de0f1cc6792f6c9528b7b27db2 Merge: d96b35d66 19954cffd Author: teor Date: Thu Jan 16 10:00:32 2020 +1000 Merge branch 'maint-0.3.5' into maint-0.4.0 changes/ticket32407 | 4 src/core/mainloop/mainloop.c | 4 src/lib/evloop/compat_libevent.c | 10 ++ src/lib/evloop/compat_libevent.h | 3 +++ 4 files changed, 21 insertions(+) ___ tor-commits mailing list tor-commits@lists.torproject.org https://lists.torproject.org/cgi-bin/mailman/listinfo/tor-commits
[tor-commits] [tor/release-0.4.0] Do not try to shut down the event loop when it is not initialized.
commit 4d70e725d16abc2f85d54b91f50e75c37c765087 Author: Nick Mathewson Date: Wed Nov 6 11:33:23 2019 -0500 Do not try to shut down the event loop when it is not initialized. Doing so caused us to crash in some unusual circumstances, such as using --verify-config to verify a configuration that failed during the options_act() stage. Fixes bug 32407; bugfix on 0.3.3.1-alpha. --- changes/ticket32407 | 4 src/core/mainloop/mainloop.c | 4 src/lib/evloop/compat_libevent.c | 10 ++ src/lib/evloop/compat_libevent.h | 3 +++ 4 files changed, 21 insertions(+) diff --git a/changes/ticket32407 b/changes/ticket32407 new file mode 100644 index 0..badb09abf --- /dev/null +++ b/changes/ticket32407 @@ -0,0 +1,4 @@ + o Minor bugfixes (crash): +- When running Tor with an option like --verify-config or --dump-config + that does not start the event loop, avoid crashing if we try to exit + early because of an error. Fixes bug 32407; bugfix on 0.3.3.1-alpha. diff --git a/src/core/mainloop/mainloop.c b/src/core/mainloop/mainloop.c index 6e2b300fb..64df495ba 100644 --- a/src/core/mainloop/mainloop.c +++ b/src/core/mainloop/mainloop.c @@ -774,6 +774,10 @@ tor_shutdown_event_loop_and_exit(int exitcode) main_loop_should_exit = 1; main_loop_exit_value = exitcode; + if (! tor_libevent_is_initialized()) { +return; /* No event loop to shut down. */ + } + /* Die with an assertion failure in ten seconds, if for some reason we don't * exit normally. */ /* We should consider this code if it's never used. */ diff --git a/src/lib/evloop/compat_libevent.c b/src/lib/evloop/compat_libevent.c index 91eacb993..939d77f85 100644 --- a/src/lib/evloop/compat_libevent.c +++ b/src/lib/evloop/compat_libevent.c @@ -181,6 +181,16 @@ tor_libevent_initialize(tor_libevent_cfg *torcfg) event_get_version(), tor_libevent_get_method()); } +/** + * Return true iff the libevent module has been successfully initialized, + * and not subsequently shut down. + **/ +bool +tor_libevent_is_initialized(void) +{ + return the_event_base != NULL; +} + /** Return the current Libevent event base that we're set up to use. */ MOCK_IMPL(struct event_base *, tor_libevent_get_base, (void)) diff --git a/src/lib/evloop/compat_libevent.h b/src/lib/evloop/compat_libevent.h index afe887a01..92724c369 100644 --- a/src/lib/evloop/compat_libevent.h +++ b/src/lib/evloop/compat_libevent.h @@ -13,6 +13,8 @@ #include "lib/testsupport/testsupport.h" #include "lib/malloc/malloc.h" +#include + void configure_libevent_logging(void); void suppress_libevent_log_msg(const char *msg); @@ -68,6 +70,7 @@ typedef struct tor_libevent_cfg { } tor_libevent_cfg; void tor_libevent_initialize(tor_libevent_cfg *cfg); +bool tor_libevent_is_initialized(void); MOCK_DECL(struct event_base *, tor_libevent_get_base, (void)); const char *tor_libevent_get_method(void); void tor_check_libevent_header_compatibility(void); ___ tor-commits mailing list tor-commits@lists.torproject.org https://lists.torproject.org/cgi-bin/mailman/listinfo/tor-commits
[tor-commits] [tor/release-0.3.5] Merge branch 'maint-0.3.5' into release-0.3.5
commit 792172ffec157594e9e35748a2de83e414ec5ab2 Merge: 23e1c1c35 19954cffd Author: teor Date: Thu Jan 16 10:00:28 2020 +1000 Merge branch 'maint-0.3.5' into release-0.3.5 changes/ticket32407 | 4 src/core/mainloop/mainloop.c | 4 src/lib/evloop/compat_libevent.c | 10 ++ src/lib/evloop/compat_libevent.h | 3 +++ 4 files changed, 21 insertions(+) ___ tor-commits mailing list tor-commits@lists.torproject.org https://lists.torproject.org/cgi-bin/mailman/listinfo/tor-commits
[tor-commits] [tor/release-0.4.0] Merge remote-tracking branch 'tor-github/pr/1513' into maint-0.3.5
commit 19954cffd7710ccac778aa5cf15ae1bc6a5d56fa Merge: 0b3763612 4d70e725d Author: teor Date: Thu Jan 16 09:57:27 2020 +1000 Merge remote-tracking branch 'tor-github/pr/1513' into maint-0.3.5 changes/ticket32407 | 4 src/core/mainloop/mainloop.c | 4 src/lib/evloop/compat_libevent.c | 10 ++ src/lib/evloop/compat_libevent.h | 3 +++ 4 files changed, 21 insertions(+) ___ tor-commits mailing list tor-commits@lists.torproject.org https://lists.torproject.org/cgi-bin/mailman/listinfo/tor-commits
[tor-commits] [tor/release-0.4.0] Merge branch 'maint-0.3.5' into maint-0.4.0
commit 026f068bb3aed9de0f1cc6792f6c9528b7b27db2 Merge: d96b35d66 19954cffd Author: teor Date: Thu Jan 16 10:00:32 2020 +1000 Merge branch 'maint-0.3.5' into maint-0.4.0 changes/ticket32407 | 4 src/core/mainloop/mainloop.c | 4 src/lib/evloop/compat_libevent.c | 10 ++ src/lib/evloop/compat_libevent.h | 3 +++ 4 files changed, 21 insertions(+) ___ tor-commits mailing list tor-commits@lists.torproject.org https://lists.torproject.org/cgi-bin/mailman/listinfo/tor-commits
[tor-commits] [tor/maint-0.4.2] Merge branch 'maint-0.3.5' into maint-0.4.0
commit 026f068bb3aed9de0f1cc6792f6c9528b7b27db2 Merge: d96b35d66 19954cffd Author: teor Date: Thu Jan 16 10:00:32 2020 +1000 Merge branch 'maint-0.3.5' into maint-0.4.0 changes/ticket32407 | 4 src/core/mainloop/mainloop.c | 4 src/lib/evloop/compat_libevent.c | 10 ++ src/lib/evloop/compat_libevent.h | 3 +++ 4 files changed, 21 insertions(+) ___ tor-commits mailing list tor-commits@lists.torproject.org https://lists.torproject.org/cgi-bin/mailman/listinfo/tor-commits
[tor-commits] [tor/maint-0.4.1] Merge remote-tracking branch 'tor-github/pr/1513' into maint-0.3.5
commit 19954cffd7710ccac778aa5cf15ae1bc6a5d56fa Merge: 0b3763612 4d70e725d Author: teor Date: Thu Jan 16 09:57:27 2020 +1000 Merge remote-tracking branch 'tor-github/pr/1513' into maint-0.3.5 changes/ticket32407 | 4 src/core/mainloop/mainloop.c | 4 src/lib/evloop/compat_libevent.c | 10 ++ src/lib/evloop/compat_libevent.h | 3 +++ 4 files changed, 21 insertions(+) ___ tor-commits mailing list tor-commits@lists.torproject.org https://lists.torproject.org/cgi-bin/mailman/listinfo/tor-commits
[tor-commits] [tor/maint-0.4.2] Merge branch 'maint-0.4.1' into maint-0.4.2
commit 48187248d3f79243590d60285708f3e2d45f8d8f Merge: 7e111d0ea fb541ffca Author: teor Date: Thu Jan 16 10:00:47 2020 +1000 Merge branch 'maint-0.4.1' into maint-0.4.2 ___ tor-commits mailing list tor-commits@lists.torproject.org https://lists.torproject.org/cgi-bin/mailman/listinfo/tor-commits
[tor-commits] [tor/maint-0.4.2] Merge remote-tracking branch 'tor-github/pr/1513' into maint-0.3.5
commit 19954cffd7710ccac778aa5cf15ae1bc6a5d56fa Merge: 0b3763612 4d70e725d Author: teor Date: Thu Jan 16 09:57:27 2020 +1000 Merge remote-tracking branch 'tor-github/pr/1513' into maint-0.3.5 changes/ticket32407 | 4 src/core/mainloop/mainloop.c | 4 src/lib/evloop/compat_libevent.c | 10 ++ src/lib/evloop/compat_libevent.h | 3 +++ 4 files changed, 21 insertions(+) ___ tor-commits mailing list tor-commits@lists.torproject.org https://lists.torproject.org/cgi-bin/mailman/listinfo/tor-commits
[tor-commits] [tor/maint-0.4.1] Merge branch 'maint-0.4.0' into maint-0.4.1
commit fb541ffca31d4906642ffb3bbe6bb6079cfcb1c9 Merge: f5461a4bd 026f068bb Author: teor Date: Thu Jan 16 10:00:40 2020 +1000 Merge branch 'maint-0.4.0' into maint-0.4.1 changes/ticket32407 | 4 src/core/mainloop/mainloop.c | 4 src/lib/evloop/compat_libevent.c | 10 ++ src/lib/evloop/compat_libevent.h | 3 +++ 4 files changed, 21 insertions(+) ___ tor-commits mailing list tor-commits@lists.torproject.org https://lists.torproject.org/cgi-bin/mailman/listinfo/tor-commits
[tor-commits] [tor/maint-0.4.1] Do not try to shut down the event loop when it is not initialized.
commit 4d70e725d16abc2f85d54b91f50e75c37c765087 Author: Nick Mathewson Date: Wed Nov 6 11:33:23 2019 -0500 Do not try to shut down the event loop when it is not initialized. Doing so caused us to crash in some unusual circumstances, such as using --verify-config to verify a configuration that failed during the options_act() stage. Fixes bug 32407; bugfix on 0.3.3.1-alpha. --- changes/ticket32407 | 4 src/core/mainloop/mainloop.c | 4 src/lib/evloop/compat_libevent.c | 10 ++ src/lib/evloop/compat_libevent.h | 3 +++ 4 files changed, 21 insertions(+) diff --git a/changes/ticket32407 b/changes/ticket32407 new file mode 100644 index 0..badb09abf --- /dev/null +++ b/changes/ticket32407 @@ -0,0 +1,4 @@ + o Minor bugfixes (crash): +- When running Tor with an option like --verify-config or --dump-config + that does not start the event loop, avoid crashing if we try to exit + early because of an error. Fixes bug 32407; bugfix on 0.3.3.1-alpha. diff --git a/src/core/mainloop/mainloop.c b/src/core/mainloop/mainloop.c index 6e2b300fb..64df495ba 100644 --- a/src/core/mainloop/mainloop.c +++ b/src/core/mainloop/mainloop.c @@ -774,6 +774,10 @@ tor_shutdown_event_loop_and_exit(int exitcode) main_loop_should_exit = 1; main_loop_exit_value = exitcode; + if (! tor_libevent_is_initialized()) { +return; /* No event loop to shut down. */ + } + /* Die with an assertion failure in ten seconds, if for some reason we don't * exit normally. */ /* We should consider this code if it's never used. */ diff --git a/src/lib/evloop/compat_libevent.c b/src/lib/evloop/compat_libevent.c index 91eacb993..939d77f85 100644 --- a/src/lib/evloop/compat_libevent.c +++ b/src/lib/evloop/compat_libevent.c @@ -181,6 +181,16 @@ tor_libevent_initialize(tor_libevent_cfg *torcfg) event_get_version(), tor_libevent_get_method()); } +/** + * Return true iff the libevent module has been successfully initialized, + * and not subsequently shut down. + **/ +bool +tor_libevent_is_initialized(void) +{ + return the_event_base != NULL; +} + /** Return the current Libevent event base that we're set up to use. */ MOCK_IMPL(struct event_base *, tor_libevent_get_base, (void)) diff --git a/src/lib/evloop/compat_libevent.h b/src/lib/evloop/compat_libevent.h index afe887a01..92724c369 100644 --- a/src/lib/evloop/compat_libevent.h +++ b/src/lib/evloop/compat_libevent.h @@ -13,6 +13,8 @@ #include "lib/testsupport/testsupport.h" #include "lib/malloc/malloc.h" +#include + void configure_libevent_logging(void); void suppress_libevent_log_msg(const char *msg); @@ -68,6 +70,7 @@ typedef struct tor_libevent_cfg { } tor_libevent_cfg; void tor_libevent_initialize(tor_libevent_cfg *cfg); +bool tor_libevent_is_initialized(void); MOCK_DECL(struct event_base *, tor_libevent_get_base, (void)); const char *tor_libevent_get_method(void); void tor_check_libevent_header_compatibility(void); ___ tor-commits mailing list tor-commits@lists.torproject.org https://lists.torproject.org/cgi-bin/mailman/listinfo/tor-commits
[tor-commits] [tor/maint-0.4.2] Merge branch 'maint-0.4.0' into maint-0.4.1
commit fb541ffca31d4906642ffb3bbe6bb6079cfcb1c9 Merge: f5461a4bd 026f068bb Author: teor Date: Thu Jan 16 10:00:40 2020 +1000 Merge branch 'maint-0.4.0' into maint-0.4.1 changes/ticket32407 | 4 src/core/mainloop/mainloop.c | 4 src/lib/evloop/compat_libevent.c | 10 ++ src/lib/evloop/compat_libevent.h | 3 +++ 4 files changed, 21 insertions(+) ___ tor-commits mailing list tor-commits@lists.torproject.org https://lists.torproject.org/cgi-bin/mailman/listinfo/tor-commits
[tor-commits] [tor/maint-0.4.1] Merge branch 'maint-0.3.5' into maint-0.4.0
commit 026f068bb3aed9de0f1cc6792f6c9528b7b27db2 Merge: d96b35d66 19954cffd Author: teor Date: Thu Jan 16 10:00:32 2020 +1000 Merge branch 'maint-0.3.5' into maint-0.4.0 changes/ticket32407 | 4 src/core/mainloop/mainloop.c | 4 src/lib/evloop/compat_libevent.c | 10 ++ src/lib/evloop/compat_libevent.h | 3 +++ 4 files changed, 21 insertions(+) ___ tor-commits mailing list tor-commits@lists.torproject.org https://lists.torproject.org/cgi-bin/mailman/listinfo/tor-commits
[tor-commits] [tor/maint-0.4.0] Merge remote-tracking branch 'tor-github/pr/1513' into maint-0.3.5
commit 19954cffd7710ccac778aa5cf15ae1bc6a5d56fa Merge: 0b3763612 4d70e725d Author: teor Date: Thu Jan 16 09:57:27 2020 +1000 Merge remote-tracking branch 'tor-github/pr/1513' into maint-0.3.5 changes/ticket32407 | 4 src/core/mainloop/mainloop.c | 4 src/lib/evloop/compat_libevent.c | 10 ++ src/lib/evloop/compat_libevent.h | 3 +++ 4 files changed, 21 insertions(+) ___ tor-commits mailing list tor-commits@lists.torproject.org https://lists.torproject.org/cgi-bin/mailman/listinfo/tor-commits
[tor-commits] [tor/maint-0.3.5] Do not try to shut down the event loop when it is not initialized.
commit 4d70e725d16abc2f85d54b91f50e75c37c765087 Author: Nick Mathewson Date: Wed Nov 6 11:33:23 2019 -0500 Do not try to shut down the event loop when it is not initialized. Doing so caused us to crash in some unusual circumstances, such as using --verify-config to verify a configuration that failed during the options_act() stage. Fixes bug 32407; bugfix on 0.3.3.1-alpha. --- changes/ticket32407 | 4 src/core/mainloop/mainloop.c | 4 src/lib/evloop/compat_libevent.c | 10 ++ src/lib/evloop/compat_libevent.h | 3 +++ 4 files changed, 21 insertions(+) diff --git a/changes/ticket32407 b/changes/ticket32407 new file mode 100644 index 0..badb09abf --- /dev/null +++ b/changes/ticket32407 @@ -0,0 +1,4 @@ + o Minor bugfixes (crash): +- When running Tor with an option like --verify-config or --dump-config + that does not start the event loop, avoid crashing if we try to exit + early because of an error. Fixes bug 32407; bugfix on 0.3.3.1-alpha. diff --git a/src/core/mainloop/mainloop.c b/src/core/mainloop/mainloop.c index 6e2b300fb..64df495ba 100644 --- a/src/core/mainloop/mainloop.c +++ b/src/core/mainloop/mainloop.c @@ -774,6 +774,10 @@ tor_shutdown_event_loop_and_exit(int exitcode) main_loop_should_exit = 1; main_loop_exit_value = exitcode; + if (! tor_libevent_is_initialized()) { +return; /* No event loop to shut down. */ + } + /* Die with an assertion failure in ten seconds, if for some reason we don't * exit normally. */ /* We should consider this code if it's never used. */ diff --git a/src/lib/evloop/compat_libevent.c b/src/lib/evloop/compat_libevent.c index 91eacb993..939d77f85 100644 --- a/src/lib/evloop/compat_libevent.c +++ b/src/lib/evloop/compat_libevent.c @@ -181,6 +181,16 @@ tor_libevent_initialize(tor_libevent_cfg *torcfg) event_get_version(), tor_libevent_get_method()); } +/** + * Return true iff the libevent module has been successfully initialized, + * and not subsequently shut down. + **/ +bool +tor_libevent_is_initialized(void) +{ + return the_event_base != NULL; +} + /** Return the current Libevent event base that we're set up to use. */ MOCK_IMPL(struct event_base *, tor_libevent_get_base, (void)) diff --git a/src/lib/evloop/compat_libevent.h b/src/lib/evloop/compat_libevent.h index afe887a01..92724c369 100644 --- a/src/lib/evloop/compat_libevent.h +++ b/src/lib/evloop/compat_libevent.h @@ -13,6 +13,8 @@ #include "lib/testsupport/testsupport.h" #include "lib/malloc/malloc.h" +#include + void configure_libevent_logging(void); void suppress_libevent_log_msg(const char *msg); @@ -68,6 +70,7 @@ typedef struct tor_libevent_cfg { } tor_libevent_cfg; void tor_libevent_initialize(tor_libevent_cfg *cfg); +bool tor_libevent_is_initialized(void); MOCK_DECL(struct event_base *, tor_libevent_get_base, (void)); const char *tor_libevent_get_method(void); void tor_check_libevent_header_compatibility(void); ___ tor-commits mailing list tor-commits@lists.torproject.org https://lists.torproject.org/cgi-bin/mailman/listinfo/tor-commits
[tor-commits] [tor/master] Merge branch 'maint-0.4.0' into maint-0.4.1
commit fb541ffca31d4906642ffb3bbe6bb6079cfcb1c9 Merge: f5461a4bd 026f068bb Author: teor Date: Thu Jan 16 10:00:40 2020 +1000 Merge branch 'maint-0.4.0' into maint-0.4.1 changes/ticket32407 | 4 src/core/mainloop/mainloop.c | 4 src/lib/evloop/compat_libevent.c | 10 ++ src/lib/evloop/compat_libevent.h | 3 +++ 4 files changed, 21 insertions(+) ___ tor-commits mailing list tor-commits@lists.torproject.org https://lists.torproject.org/cgi-bin/mailman/listinfo/tor-commits
[tor-commits] [tor/maint-0.4.0] Merge branch 'maint-0.3.5' into maint-0.4.0
commit 026f068bb3aed9de0f1cc6792f6c9528b7b27db2 Merge: d96b35d66 19954cffd Author: teor Date: Thu Jan 16 10:00:32 2020 +1000 Merge branch 'maint-0.3.5' into maint-0.4.0 changes/ticket32407 | 4 src/core/mainloop/mainloop.c | 4 src/lib/evloop/compat_libevent.c | 10 ++ src/lib/evloop/compat_libevent.h | 3 +++ 4 files changed, 21 insertions(+) ___ tor-commits mailing list tor-commits@lists.torproject.org https://lists.torproject.org/cgi-bin/mailman/listinfo/tor-commits
[tor-commits] [tor/maint-0.4.0] Do not try to shut down the event loop when it is not initialized.
commit 4d70e725d16abc2f85d54b91f50e75c37c765087 Author: Nick Mathewson Date: Wed Nov 6 11:33:23 2019 -0500 Do not try to shut down the event loop when it is not initialized. Doing so caused us to crash in some unusual circumstances, such as using --verify-config to verify a configuration that failed during the options_act() stage. Fixes bug 32407; bugfix on 0.3.3.1-alpha. --- changes/ticket32407 | 4 src/core/mainloop/mainloop.c | 4 src/lib/evloop/compat_libevent.c | 10 ++ src/lib/evloop/compat_libevent.h | 3 +++ 4 files changed, 21 insertions(+) diff --git a/changes/ticket32407 b/changes/ticket32407 new file mode 100644 index 0..badb09abf --- /dev/null +++ b/changes/ticket32407 @@ -0,0 +1,4 @@ + o Minor bugfixes (crash): +- When running Tor with an option like --verify-config or --dump-config + that does not start the event loop, avoid crashing if we try to exit + early because of an error. Fixes bug 32407; bugfix on 0.3.3.1-alpha. diff --git a/src/core/mainloop/mainloop.c b/src/core/mainloop/mainloop.c index 6e2b300fb..64df495ba 100644 --- a/src/core/mainloop/mainloop.c +++ b/src/core/mainloop/mainloop.c @@ -774,6 +774,10 @@ tor_shutdown_event_loop_and_exit(int exitcode) main_loop_should_exit = 1; main_loop_exit_value = exitcode; + if (! tor_libevent_is_initialized()) { +return; /* No event loop to shut down. */ + } + /* Die with an assertion failure in ten seconds, if for some reason we don't * exit normally. */ /* We should consider this code if it's never used. */ diff --git a/src/lib/evloop/compat_libevent.c b/src/lib/evloop/compat_libevent.c index 91eacb993..939d77f85 100644 --- a/src/lib/evloop/compat_libevent.c +++ b/src/lib/evloop/compat_libevent.c @@ -181,6 +181,16 @@ tor_libevent_initialize(tor_libevent_cfg *torcfg) event_get_version(), tor_libevent_get_method()); } +/** + * Return true iff the libevent module has been successfully initialized, + * and not subsequently shut down. + **/ +bool +tor_libevent_is_initialized(void) +{ + return the_event_base != NULL; +} + /** Return the current Libevent event base that we're set up to use. */ MOCK_IMPL(struct event_base *, tor_libevent_get_base, (void)) diff --git a/src/lib/evloop/compat_libevent.h b/src/lib/evloop/compat_libevent.h index afe887a01..92724c369 100644 --- a/src/lib/evloop/compat_libevent.h +++ b/src/lib/evloop/compat_libevent.h @@ -13,6 +13,8 @@ #include "lib/testsupport/testsupport.h" #include "lib/malloc/malloc.h" +#include + void configure_libevent_logging(void); void suppress_libevent_log_msg(const char *msg); @@ -68,6 +70,7 @@ typedef struct tor_libevent_cfg { } tor_libevent_cfg; void tor_libevent_initialize(tor_libevent_cfg *cfg); +bool tor_libevent_is_initialized(void); MOCK_DECL(struct event_base *, tor_libevent_get_base, (void)); const char *tor_libevent_get_method(void); void tor_check_libevent_header_compatibility(void); ___ tor-commits mailing list tor-commits@lists.torproject.org https://lists.torproject.org/cgi-bin/mailman/listinfo/tor-commits
[tor-commits] [tor/maint-0.3.5] Merge remote-tracking branch 'tor-github/pr/1513' into maint-0.3.5
commit 19954cffd7710ccac778aa5cf15ae1bc6a5d56fa Merge: 0b3763612 4d70e725d Author: teor Date: Thu Jan 16 09:57:27 2020 +1000 Merge remote-tracking branch 'tor-github/pr/1513' into maint-0.3.5 changes/ticket32407 | 4 src/core/mainloop/mainloop.c | 4 src/lib/evloop/compat_libevent.c | 10 ++ src/lib/evloop/compat_libevent.h | 3 +++ 4 files changed, 21 insertions(+) ___ tor-commits mailing list tor-commits@lists.torproject.org https://lists.torproject.org/cgi-bin/mailman/listinfo/tor-commits
[tor-commits] [tor/master] Merge branch 'maint-0.4.1' into maint-0.4.2
commit 48187248d3f79243590d60285708f3e2d45f8d8f Merge: 7e111d0ea fb541ffca Author: teor Date: Thu Jan 16 10:00:47 2020 +1000 Merge branch 'maint-0.4.1' into maint-0.4.2 ___ tor-commits mailing list tor-commits@lists.torproject.org https://lists.torproject.org/cgi-bin/mailman/listinfo/tor-commits
[tor-commits] [tor/master] Merge branch 'maint-0.3.5' into maint-0.4.0
commit 026f068bb3aed9de0f1cc6792f6c9528b7b27db2 Merge: d96b35d66 19954cffd Author: teor Date: Thu Jan 16 10:00:32 2020 +1000 Merge branch 'maint-0.3.5' into maint-0.4.0 changes/ticket32407 | 4 src/core/mainloop/mainloop.c | 4 src/lib/evloop/compat_libevent.c | 10 ++ src/lib/evloop/compat_libevent.h | 3 +++ 4 files changed, 21 insertions(+) ___ tor-commits mailing list tor-commits@lists.torproject.org https://lists.torproject.org/cgi-bin/mailman/listinfo/tor-commits
[tor-commits] [tor/master] Merge branch 'maint-0.4.2'
commit 4025cbada6ab01247275faec8dd32ae857ef0fd5 Merge: f3cbc26bd 48187248d Author: teor Date: Thu Jan 16 10:00:55 2020 +1000 Merge branch 'maint-0.4.2' ___ tor-commits mailing list tor-commits@lists.torproject.org https://lists.torproject.org/cgi-bin/mailman/listinfo/tor-commits
[tor-commits] [tor/master] Merge remote-tracking branch 'tor-github/pr/1513' into maint-0.3.5
commit 19954cffd7710ccac778aa5cf15ae1bc6a5d56fa Merge: 0b3763612 4d70e725d Author: teor Date: Thu Jan 16 09:57:27 2020 +1000 Merge remote-tracking branch 'tor-github/pr/1513' into maint-0.3.5 changes/ticket32407 | 4 src/core/mainloop/mainloop.c | 4 src/lib/evloop/compat_libevent.c | 10 ++ src/lib/evloop/compat_libevent.h | 3 +++ 4 files changed, 21 insertions(+) ___ tor-commits mailing list tor-commits@lists.torproject.org https://lists.torproject.org/cgi-bin/mailman/listinfo/tor-commits
[tor-commits] [tor/master] add_c_file: Fix "control line not preceded by a blank line"
commit f3cbc26bdd0d26c5bd80d2c3bc40f90d70a814f5 Author: teor Date: Thu Jan 16 09:38:26 2020 +1000 add_c_file: Fix "control line not preceded by a blank line" Fix dirauth and relay module include.am add_c_file.py "control line not preceded by a blank line" errors. Also remove a duplicate ADD_C_FILE: SOURCES in the relay module. Obviously correct fixes to already-reviewed code. --- src/feature/dirauth/include.am | 1 + src/feature/relay/include.am | 3 ++- 2 files changed, 3 insertions(+), 1 deletion(-) diff --git a/src/feature/dirauth/include.am b/src/feature/dirauth/include.am index ec7b3b296..2ef629ae3 100644 --- a/src/feature/dirauth/include.am +++ b/src/feature/dirauth/include.am @@ -1,5 +1,6 @@ # The Directory Authority module. + # ADD_C_FILE: INSERT SOURCES HERE. MODULE_DIRAUTH_SOURCES = \ src/feature/dirauth/authmode.c \ diff --git a/src/feature/relay/include.am b/src/feature/relay/include.am index aa9aa3adf..a4c025ae1 100644 --- a/src/feature/relay/include.am +++ b/src/feature/relay/include.am @@ -1,5 +1,5 @@ -# ADD_C_FILE: INSERT SOURCES HERE. +# Legacy shared relay code: migrate to the relay module over time LIBTOR_APP_A_SOURCES +=\ src/feature/relay/dns.c \ src/feature/relay/ext_orport.c \ @@ -9,6 +9,7 @@ LIBTOR_APP_A_SOURCES += \ src/feature/relay/selftest.c # The Relay module. + # ADD_C_FILE: INSERT SOURCES HERE. MODULE_RELAY_SOURCES = \ src/feature/relay/routermode.c \ ___ tor-commits mailing list tor-commits@lists.torproject.org https://lists.torproject.org/cgi-bin/mailman/listinfo/tor-commits
[tor-commits] [translation/tails-misc_release] https://gitweb.torproject.org/translation.git/commit/?h=tails-misc_release
commit 9c59b1a895385680239c1039f810aece91b5bf13 Author: Translation commit bot Date: Wed Jan 15 22:48:34 2020 + https://gitweb.torproject.org/translation.git/commit/?h=tails-misc_release --- en_GB.po | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/en_GB.po b/en_GB.po index ca8eec86f9..e9123101cd 100644 --- a/en_GB.po +++ b/en_GB.po @@ -3,7 +3,7 @@ # This file is distributed under the same license as the PACKAGE package. # # Translators: -# Andi Chandler , 2014-2017,2019 +# Andi Chandler , 2014-2017,2019-2020 # Billy Humphreys , 2014 # newharha ehrara , 2015 # Richard Shaylor , 2014 @@ -12,8 +12,8 @@ msgstr "" "Project-Id-Version: Tor Project\n" "Report-Msgid-Bugs-To: \n" "POT-Creation-Date: 2020-01-06 11:20+0100\n" -"PO-Revision-Date: 2020-01-06 13:47+\n" -"Last-Translator: erinm\n" +"PO-Revision-Date: 2020-01-15 22:46+\n" +"Last-Translator: Andi Chandler \n" "Language-Team: English (United Kingdom) (http://www.transifex.com/otf/torproject/language/en_GB/)\n" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" ___ tor-commits mailing list tor-commits@lists.torproject.org https://lists.torproject.org/cgi-bin/mailman/listinfo/tor-commits
[tor-commits] [exonerator/release] Remove unnecessary method call.
commit a4187326e58ea40ef3f43d0a0e5a86fe3b6d9c89 Author: Karsten Loesing Date: Wed Nov 20 16:39:05 2019 +0100 Remove unnecessary method call. --- .../org/torproject/metrics/exonerator/ExoneraTorDatabaseImporter.java | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/src/main/java/org/torproject/metrics/exonerator/ExoneraTorDatabaseImporter.java b/src/main/java/org/torproject/metrics/exonerator/ExoneraTorDatabaseImporter.java index fcc534f..47261fc 100644 --- a/src/main/java/org/torproject/metrics/exonerator/ExoneraTorDatabaseImporter.java +++ b/src/main/java/org/torproject/metrics/exonerator/ExoneraTorDatabaseImporter.java @@ -380,7 +380,7 @@ public class ExoneraTorDatabaseImporter { parseHistoryFile)); for (Map.Entry historyEntry : nextImportHistory.entrySet()) { -bw.write(String.valueOf(historyEntry.getValue()) + "," +bw.write(historyEntry.getValue() + "," + historyEntry.getKey() + "\n"); } bw.close(); ___ tor-commits mailing list tor-commits@lists.torproject.org https://lists.torproject.org/cgi-bin/mailman/listinfo/tor-commits
[tor-commits] [translation/tails-misc] https://gitweb.torproject.org/translation.git/commit/?h=tails-misc
commit 7b7e7387806f22746d7822953698bf288a70650a Author: Translation commit bot Date: Wed Jan 15 22:47:18 2020 + https://gitweb.torproject.org/translation.git/commit/?h=tails-misc --- en_GB.po | 104 +++ 1 file changed, 52 insertions(+), 52 deletions(-) diff --git a/en_GB.po b/en_GB.po index 67819996dd..746a97a82c 100644 --- a/en_GB.po +++ b/en_GB.po @@ -3,7 +3,7 @@ # This file is distributed under the same license as the PACKAGE package. # # Translators: -# Andi Chandler , 2014-2017,2019 +# Andi Chandler , 2014-2017,2019-2020 # Billy Humphreys , 2014 # newharha ehrara , 2015 # Richard Shaylor , 2014 @@ -12,8 +12,8 @@ msgstr "" "Project-Id-Version: Tor Project\n" "Report-Msgid-Bugs-To: \n" "POT-Creation-Date: 2020-01-06 11:20+0100\n" -"PO-Revision-Date: 2020-01-06 13:47+\n" -"Last-Translator: carolyn \n" +"PO-Revision-Date: 2020-01-15 22:46+\n" +"Last-Translator: Andi Chandler \n" "Language-Team: English (United Kingdom) (http://www.transifex.com/otf/torproject/language/en_GB/)\n" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" @@ -105,7 +105,7 @@ msgstr "_Exit" msgid "" "For debugging information, execute the following command: sudo tails-" "debugging-info" -msgstr "" +msgstr "For debugging information, execute the following command: sudo tails-debugging-info" #: config/chroot_local-includes/usr/src/iuk/lib/Tails/IUK/Frontend.pm:244 msgid "" @@ -114,15 +114,15 @@ msgid "" "website.\\n\\nCheck your network connection, and restart Tails to try " "upgrading again.\\n\\nIf the problem persists, go to " "file:///usr/share/doc/tails/website/doc/upgrade/error/check.en.html" -msgstr "" +msgstr "An error occured while updating the signing key.\\n\\nThis prevents determining whether an upgrade is available from our website.\\n\\nCheck your network connection, and restart Tails to try upgrading again.\\n\\nIf the problem persists, go to file:///usr/share/doc/tails/website/doc/upgrade/error/check.en.html" #: config/chroot_local-includes/usr/src/iuk/lib/Tails/IUK/Frontend.pm:250 msgid "Error while updating the signing key" -msgstr "" +msgstr "Error while updating the signing key" #: config/chroot_local-includes/usr/src/iuk/lib/Tails/IUK/Frontend.pm:279 msgid "Error while checking for upgrades" -msgstr "" +msgstr "Error while checking for upgrades" #: config/chroot_local-includes/usr/src/iuk/lib/Tails/IUK/Frontend.pm:282 msgid "" @@ -131,64 +131,64 @@ msgid "" "Check your network connection, and restart Tails to try upgrading again.\n" "\n" "If the problem persists, go to file:///usr/share/doc/tails/website/doc/upgrade/error/check.en.html" -msgstr "" +msgstr "Could not determine whether an upgrade is available from our website.\n\nCheck your network connection, and restart Tails to try upgrading again.\n\nIf the problem persists, go to file:///usr/share/doc/tails/website/doc/upgrade/error/check.en.html" #: config/chroot_local-includes/usr/src/iuk/lib/Tails/IUK/Frontend.pm:297 msgid "no automatic upgrade is available from our website for this version" -msgstr "" +msgstr "no automatic upgrade is available from our website for this version" #: config/chroot_local-includes/usr/src/iuk/lib/Tails/IUK/Frontend.pm:303 msgid "your device was not created using a USB image or Tails Installer" -msgstr "" +msgstr "your device was not created using a USB image or Tails Installer" #: config/chroot_local-includes/usr/src/iuk/lib/Tails/IUK/Frontend.pm:308 msgid "Tails was started from a DVD or a read-only device" -msgstr "" +msgstr "Tails was started from a DVD or a read-only device" #: config/chroot_local-includes/usr/src/iuk/lib/Tails/IUK/Frontend.pm:313 msgid "there is not enough free space on the Tails system partition" -msgstr "" +msgstr "there is not enough free space on the Tails system partition" #: config/chroot_local-includes/usr/src/iuk/lib/Tails/IUK/Frontend.pm:318 msgid "not enough memory is available on this system" -msgstr "" +msgstr "not enough memory is available on this system" #: config/chroot_local-includes/usr/src/iuk/lib/Tails/IUK/Frontend.pm:324 #, perl-brace-format msgid "No explanation available for reason '%{reason}s'." -msgstr "" +msgstr "No explanation available for reason '%{reason}s'." #: config/chroot_local-includes/usr/src/iuk/lib/Tails/IUK/Frontend.pm:345 msgid "The system is up-to-date" -msgstr "" +msgstr "The system is up-to-date" #: config/chroot_local-includes/usr/src/iuk/lib/Tails/IUK/Frontend.pm:350 msgid "This version of Tails is outdated, and may have security issues." -msgstr "" +msgstr "This version of Tails is outdated, and may have security issues." #: config/chroot_local-includes/usr/src/iuk/lib/Tails/IUK/Frontend.pm:382 #, perl-brace-format msgid "" "The available incremental upgrade requires %{space_needed}s of free space on" " Tails system partition, but only %{free_space}s is available." -msgstr ""
[tor-commits] [exonerator/release] Avoid unnecessary continue and empty block.
commit e50f0204455c68b9b785232640cf289f4be827e1 Author: Karsten Loesing Date: Wed Nov 20 15:51:57 2019 +0100 Avoid unnecessary continue and empty block. --- .../torproject/metrics/exonerator/ExoneraTorDatabaseImporter.java | 6 +- 1 file changed, 1 insertion(+), 5 deletions(-) diff --git a/src/main/java/org/torproject/metrics/exonerator/ExoneraTorDatabaseImporter.java b/src/main/java/org/torproject/metrics/exonerator/ExoneraTorDatabaseImporter.java index 57eb5df..fcc534f 100644 --- a/src/main/java/org/torproject/metrics/exonerator/ExoneraTorDatabaseImporter.java +++ b/src/main/java/org/torproject/metrics/exonerator/ExoneraTorDatabaseImporter.java @@ -76,14 +76,10 @@ public class ExoneraTorDatabaseImporter { try { BufferedReader br = new BufferedReader(new FileReader(configFile)); while ((line = br.readLine()) != null) { -if (line.startsWith("#") || line.length() < 1) { - continue; -} else if (line.startsWith("ExoneraTorDatabaseJdbc")) { +if (line.startsWith("ExoneraTorDatabaseJdbc")) { jdbcString = line.split(" ")[1]; } else if (line.startsWith("ExoneraTorImportDirectory")) { importDirString = line.split(" ")[1]; -} else { - /* Ignore unrecognized configuration keys. */ } } br.close(); ___ tor-commits mailing list tor-commits@lists.torproject.org https://lists.torproject.org/cgi-bin/mailman/listinfo/tor-commits
[tor-commits] [exonerator/release] Update to latest metrics-base.
commit a28a9e86e70452fe0151bf43ec2266f8007e0d2d Author: Karsten Loesing Date: Tue Jan 14 22:05:23 2020 +0100 Update to latest metrics-base. --- src/build | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/src/build b/src/build index eb16cb3..264e498 16 --- a/src/build +++ b/src/build @@ -1 +1 @@ -Subproject commit eb16cb359db41722e6089bafb1e26808df4338df +Subproject commit 264e498f54a20f7d299daaf2533d043f880e6a8b ___ tor-commits mailing list tor-commits@lists.torproject.org https://lists.torproject.org/cgi-bin/mailman/listinfo/tor-commits
[tor-commits] [exonerator/release] Bump version to 4.2.0-dev.
commit ec51d14df47ee9dae29a9e2cbfbc9a3ba55459f9 Author: Karsten Loesing Date: Sat Nov 9 22:45:32 2019 +0100 Bump version to 4.2.0-dev. --- CHANGELOG.md | 3 +++ build.xml| 2 +- 2 files changed, 4 insertions(+), 1 deletion(-) diff --git a/CHANGELOG.md b/CHANGELOG.md index 632f622..9c0cf51 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -1,3 +1,6 @@ +# Changes in version 4.?.? - 2019-1?-?? + + # Changes in version 4.2.0 - 2019-11-09 * Medium changes diff --git a/build.xml b/build.xml index 38fee16..312f249 100644 --- a/build.xml +++ b/build.xml @@ -9,7 +9,7 @@ - + https://lists.torproject.org/cgi-bin/mailman/listinfo/tor-commits
[tor-commits] [exonerator/release] Prepare for 4.3.0 release.
commit 4390e931b5e3f10f6dfe72779c4edca07b570fdf Author: Karsten Loesing Date: Wed Jan 15 23:40:54 2020 +0100 Prepare for 4.3.0 release. --- CHANGELOG.md | 3 ++- build.xml| 4 ++-- 2 files changed, 4 insertions(+), 3 deletions(-) diff --git a/CHANGELOG.md b/CHANGELOG.md index a7cc1ec..0db446b 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -1,10 +1,11 @@ -# Changes in version 4.?.? - 2019-1?-?? +# Changes in version 4.3.0 - 2020-01-15 * Medium changes - Turn absolute links to nearby addresses and translations into relative links to avoid falling back to http://. Use the base URL from the deployment descriptor for the printed permanent link, also to avoid falling back to http://. + - Update to metrics-lib 2.10.0. # Changes in version 4.2.0 - 2019-11-09 diff --git a/build.xml b/build.xml index 312f249..c209699 100644 --- a/build.xml +++ b/build.xml @@ -9,8 +9,8 @@ - - + + ___ tor-commits mailing list tor-commits@lists.torproject.org https://lists.torproject.org/cgi-bin/mailman/listinfo/tor-commits
[tor-commits] [exonerator/release] Use configured base URL for permanent link.
commit d165e4a1d5a29f82d932115e611011fc7ef97134 Author: Karsten Loesing Date: Tue Jan 14 21:20:04 2020 +0100 Use configured base URL for permanent link. Turn absolute links into relative links. Fixes #27925. --- CHANGELOG.md | 6 +++ .../metrics/exonerator/ExoneraTorServlet.java | 53 -- 2 files changed, 36 insertions(+), 23 deletions(-) diff --git a/CHANGELOG.md b/CHANGELOG.md index 9c0cf51..a7cc1ec 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -1,5 +1,11 @@ # Changes in version 4.?.? - 2019-1?-?? + * Medium changes + - Turn absolute links to nearby addresses and translations into + relative links to avoid falling back to http://. Use the base URL + from the deployment descriptor for the printed permanent link, + also to avoid falling back to http://. + # Changes in version 4.2.0 - 2019-11-09 diff --git a/src/main/java/org/torproject/metrics/exonerator/ExoneraTorServlet.java b/src/main/java/org/torproject/metrics/exonerator/ExoneraTorServlet.java index a74aa60..92cc8bb 100644 --- a/src/main/java/org/torproject/metrics/exonerator/ExoneraTorServlet.java +++ b/src/main/java/org/torproject/metrics/exonerator/ExoneraTorServlet.java @@ -140,8 +140,14 @@ public class ExoneraTorServlet extends HttpServlet { PrintWriter out = new PrintWriter(so); this.writeHeader(out, rb, langStr); - /* Obtain request URL without query string parameters for links. */ - String requestUrl = request.getRequestURL().toString(); + /* Obtain the current request URI for relative links and the configured + * base URL for absolute links like the printed permanent link. If no base + * URL has been configured, use the current request URL for the permanent + * link. */ + String requestUri = request.getRequestURI(); + String baseUrl = this.getServletContext().getInitParameter("baseUrl"); + String permanentLinkUrl = (null != baseUrl) + ? (baseUrl + requestUri) : request.getRequestURL().toString(); /* Write form. */ boolean timestampOutOfRange = requestedDate.valid @@ -157,43 +163,43 @@ public class ExoneraTorServlet extends HttpServlet { /* If both parameters are empty, don't print any summary and exit. * This is the start page. */ if ("".equals(relayIp) && requestedDate.empty) { -this.writeFooter(out, rb, requestUrl, null, null); +this.writeFooter(out, rb, requestUri, null, null); /* If only one parameter is empty and the other is not, print summary * with warning message and exit. */ } else if ("".equals(relayIp)) { this.writeSummaryNoIp(out, rb); -this.writeFooter(out, rb, requestUrl, null, null); +this.writeFooter(out, rb, requestUri, null, null); } else if (requestedDate.empty) { this.writeSummaryNoTimestamp(out, rb); -this.writeFooter(out, rb, requestUrl, null, null); +this.writeFooter(out, rb, requestUri, null, null); /* If there's an issue with parsing either of the parameters, print * summary with error message and exit. */ } else if (relayIpHasError) { this.writeSummaryInvalidIp(out, rb, ipParameter); -this.writeFooter(out, rb, requestUrl, null, null); +this.writeFooter(out, rb, requestUri, null, null); } else if (!requestedDate.valid) { this.writeSummaryInvalidTimestamp(out, rb, requestedDate.asRequested); -this.writeFooter(out, rb, requestUrl, null, null); +this.writeFooter(out, rb, requestUri, null, null); /* If the timestamp is too recent, print summary with error message and * exit. */ } else if (requestedDate.tooRecent) { this.writeSummaryTimestampTooRecent(out, rb); -this.writeFooter(out, rb, requestUrl, null, null); +this.writeFooter(out, rb, requestUri, null, null); /* If we were unable to connect to the database, * write an error message. */ } else if (!successfullyConnectedToBackend) { this.writeSummaryUnableToConnectToBackend(out, rb); -this.writeFooter(out, rb, requestUrl, null, null); +this.writeFooter(out, rb, requestUri, null, null); /* Similarly, if we found the database to be empty, * write an error message, too. */ } else if (firstDate.empty || lastDate.empty) { this.writeSummaryNoData(out, rb); -this.writeFooter(out, rb, requestUrl, null, null); +this.writeFooter(out, rb, requestUri, null, null); /* If the requested date is out of range, tell the user. */ } else if (timestampOutOfRange) { @@ -201,11 +207,11 @@ public class ExoneraTorServlet extends HttpServlet { this.writeSummaryTimestampOutsideRange(out, rb, requestedDate.asString, firstDate.asString, lastDate.date.isBefore(dayBeforeYesterday) ?
[tor-commits] [exonerator/release] Update copyright to 2020.
commit 20501a55241d90a015ea7efcef3f18371c6c80c8 Author: Karsten Loesing Date: Wed Jan 15 21:45:54 2020 +0100 Update copyright to 2020. --- LICENSE | 2 +- .../org/torproject/metrics/exonerator/ExoneraTorDatabaseImporter.java | 2 +- src/main/java/org/torproject/metrics/exonerator/ExoneraTorDate.java | 2 +- .../org/torproject/metrics/exonerator/ExoneraTorRedirectServlet.java| 2 +- src/main/java/org/torproject/metrics/exonerator/ExoneraTorServlet.java | 2 +- src/main/java/org/torproject/metrics/exonerator/QueryResponse.java | 2 +- src/main/java/org/torproject/metrics/exonerator/QueryServlet.java | 2 +- src/main/java/org/torproject/metrics/exonerator/ServerMain.java | 2 +- src/main/resources/bootstrap-development.sh | 2 +- src/main/sql/exonerator.sql | 2 +- src/main/sql/exonerator2.sql| 2 +- src/test/java/org/torproject/metrics/exonerator/ExoneraTorDateTest.java | 2 +- .../java/org/torproject/metrics/exonerator/ExoneraTorServletTest.java | 2 +- src/test/java/org/torproject/metrics/exonerator/QueryResponseTest.java | 2 +- 14 files changed, 14 insertions(+), 14 deletions(-) diff --git a/LICENSE b/LICENSE index 49d61f8..d7b0663 100644 --- a/LICENSE +++ b/LICENSE @@ -1,4 +1,4 @@ -Copyright 2010--2017 The Tor Project +Copyright 2010--2020 The Tor Project Redistribution and use in source and binary forms, with or without modification, are permitted provided that the following conditions are diff --git a/src/main/java/org/torproject/metrics/exonerator/ExoneraTorDatabaseImporter.java b/src/main/java/org/torproject/metrics/exonerator/ExoneraTorDatabaseImporter.java index 47261fc..c9cc6b9 100644 --- a/src/main/java/org/torproject/metrics/exonerator/ExoneraTorDatabaseImporter.java +++ b/src/main/java/org/torproject/metrics/exonerator/ExoneraTorDatabaseImporter.java @@ -1,4 +1,4 @@ -/* Copyright 2011--2018 The Tor Project +/* Copyright 2011--2020 The Tor Project * See LICENSE for licensing information */ package org.torproject.metrics.exonerator; diff --git a/src/main/java/org/torproject/metrics/exonerator/ExoneraTorDate.java b/src/main/java/org/torproject/metrics/exonerator/ExoneraTorDate.java index 92d6b31..8e084d6 100644 --- a/src/main/java/org/torproject/metrics/exonerator/ExoneraTorDate.java +++ b/src/main/java/org/torproject/metrics/exonerator/ExoneraTorDate.java @@ -1,4 +1,4 @@ -/* Copyright 2017--2018 The Tor Project +/* Copyright 2017--2020 The Tor Project * See LICENSE for licensing information */ package org.torproject.metrics.exonerator; diff --git a/src/main/java/org/torproject/metrics/exonerator/ExoneraTorRedirectServlet.java b/src/main/java/org/torproject/metrics/exonerator/ExoneraTorRedirectServlet.java index fbe4e49..ebcbaca 100644 --- a/src/main/java/org/torproject/metrics/exonerator/ExoneraTorRedirectServlet.java +++ b/src/main/java/org/torproject/metrics/exonerator/ExoneraTorRedirectServlet.java @@ -1,4 +1,4 @@ -/* Copyright 2018 The Tor Project +/* Copyright 2018--2020 The Tor Project * See LICENSE for licensing information */ package org.torproject.metrics.exonerator; diff --git a/src/main/java/org/torproject/metrics/exonerator/ExoneraTorServlet.java b/src/main/java/org/torproject/metrics/exonerator/ExoneraTorServlet.java index 92cc8bb..3ba42da 100644 --- a/src/main/java/org/torproject/metrics/exonerator/ExoneraTorServlet.java +++ b/src/main/java/org/torproject/metrics/exonerator/ExoneraTorServlet.java @@ -1,4 +1,4 @@ -/* Copyright 2011--2018 The Tor Project +/* Copyright 2011--2020 The Tor Project * See LICENSE for licensing information */ package org.torproject.metrics.exonerator; diff --git a/src/main/java/org/torproject/metrics/exonerator/QueryResponse.java b/src/main/java/org/torproject/metrics/exonerator/QueryResponse.java index 6a8976a..aee8dbf 100644 --- a/src/main/java/org/torproject/metrics/exonerator/QueryResponse.java +++ b/src/main/java/org/torproject/metrics/exonerator/QueryResponse.java @@ -1,4 +1,4 @@ -/* Copyright 2017--2018 The Tor Project +/* Copyright 2017--2020 The Tor Project * See LICENSE for licensing information */ package org.torproject.metrics.exonerator; diff --git a/src/main/java/org/torproject/metrics/exonerator/QueryServlet.java b/src/main/java/org/torproject/metrics/exonerator/QueryServlet.java index 760e385..85dec57 100644 --- a/src/main/java/org/torproject/metrics/exonerator/QueryServlet.java +++ b/src/main/java/org/torproject/metrics/exonerator/QueryServlet.java @@ -1,4 +1,4 @@ -/* Copyright 2017--2018 The Tor Project +/* Copyright 2017--2020 The Tor Project * See LICENSE for licensing information */ package org.torproject.metrics.exonerator; diff --git a/src/main/java/org/torproject/metrics/exonerator/ServerMain.java b/src/main/java/org/torproject/metrics/exonerator/ServerMain.java
[tor-commits] [exonerator/master] Bump version to 4.3.0-dev.
commit 06ec2db71aceb8ba0ca346f30742d46039bb7979 Author: Karsten Loesing Date: Wed Jan 15 23:45:45 2020 +0100 Bump version to 4.3.0-dev. --- CHANGELOG.md | 3 +++ build.xml| 2 +- 2 files changed, 4 insertions(+), 1 deletion(-) diff --git a/CHANGELOG.md b/CHANGELOG.md index 0db446b..9c87922 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -1,3 +1,6 @@ +# Changes in version 4.?.? - 2020-0?-?? + + # Changes in version 4.3.0 - 2020-01-15 * Medium changes diff --git a/build.xml b/build.xml index c209699..cdc919c 100644 --- a/build.xml +++ b/build.xml @@ -9,7 +9,7 @@ - + https://lists.torproject.org/cgi-bin/mailman/listinfo/tor-commits
[tor-commits] [exonerator/master] Prepare for 4.3.0 release.
commit 4390e931b5e3f10f6dfe72779c4edca07b570fdf Author: Karsten Loesing Date: Wed Jan 15 23:40:54 2020 +0100 Prepare for 4.3.0 release. --- CHANGELOG.md | 3 ++- build.xml| 4 ++-- 2 files changed, 4 insertions(+), 3 deletions(-) diff --git a/CHANGELOG.md b/CHANGELOG.md index a7cc1ec..0db446b 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -1,10 +1,11 @@ -# Changes in version 4.?.? - 2019-1?-?? +# Changes in version 4.3.0 - 2020-01-15 * Medium changes - Turn absolute links to nearby addresses and translations into relative links to avoid falling back to http://. Use the base URL from the deployment descriptor for the printed permanent link, also to avoid falling back to http://. + - Update to metrics-lib 2.10.0. # Changes in version 4.2.0 - 2019-11-09 diff --git a/build.xml b/build.xml index 312f249..c209699 100644 --- a/build.xml +++ b/build.xml @@ -9,8 +9,8 @@ - - + + ___ tor-commits mailing list tor-commits@lists.torproject.org https://lists.torproject.org/cgi-bin/mailman/listinfo/tor-commits
[tor-commits] [collector/release] Add some real tests for the webstats module.
commit 3002d6bc6b6bf84953cf842cbf6b3b18dc944879 Author: Karsten Loesing Date: Wed Dec 11 12:16:05 2019 +0100 Add some real tests for the webstats module. --- src/build | 2 +- .../collector/webstats/SanitizeWeblogsTest.java| 290 - 2 files changed, 287 insertions(+), 5 deletions(-) diff --git a/src/build b/src/build index eb16cb3..264e498 16 --- a/src/build +++ b/src/build @@ -1 +1 @@ -Subproject commit eb16cb359db41722e6089bafb1e26808df4338df +Subproject commit 264e498f54a20f7d299daaf2533d043f880e6a8b diff --git a/src/test/java/org/torproject/metrics/collector/webstats/SanitizeWeblogsTest.java b/src/test/java/org/torproject/metrics/collector/webstats/SanitizeWeblogsTest.java index a550c41..21617b5 100644 --- a/src/test/java/org/torproject/metrics/collector/webstats/SanitizeWeblogsTest.java +++ b/src/test/java/org/torproject/metrics/collector/webstats/SanitizeWeblogsTest.java @@ -4,17 +4,299 @@ package org.torproject.metrics.collector.webstats; import static org.junit.Assert.assertEquals; +import static org.junit.Assert.assertTrue; +import static org.junit.Assert.fail; +import org.torproject.descriptor.Descriptor; +import org.torproject.descriptor.DescriptorParseException; +import org.torproject.descriptor.DescriptorSourceFactory; +import org.torproject.descriptor.WebServerAccessLog; +import org.torproject.metrics.collector.Main; +import org.torproject.metrics.collector.conf.Configuration; +import org.torproject.metrics.collector.conf.Key; + +import org.apache.commons.compress.compressors.gzip.GzipCompressorOutputStream; +import org.junit.Before; +import org.junit.Rule; import org.junit.Test; +import org.junit.rules.TemporaryFolder; + +import java.io.BufferedWriter; +import java.io.IOException; +import java.io.OutputStreamWriter; +import java.nio.file.Files; +import java.nio.file.Path; +import java.util.ArrayList; +import java.util.Arrays; +import java.util.List; +import java.util.SortedMap; +import java.util.TreeMap; public class SanitizeWeblogsTest { + /** Sample original web server access logs as input for tests. */ + private static final String[][] inputLogs = new String[][] { + { "metrics.torproject.org-access.log-20191120.gz", + "0.0.0.0 - - [19/Nov/2019:00:00:00 +] " + + "\"GET /networksize.html HTTP/1.1\" 200 3269 \"-\" \"-\" -\n" + + "0.0.0.0 - - [19/Nov/2019:00:00:00 +] " + + "\"GET /networksize.png?start=2019-08-21=2019-11-19 HTTP/1.1\" " + + "200 39383 \"-\" \"-\" -\n" + + "0.0.0.0 - - [19/Nov/2019:00:00:00 +] " + + "\"GET /userstats-relay-country.html HTTP/1.1\" 200 7350 " + + "\"-\" \"-\" -\n" + + "0.0.0.0 - - [20/Nov/2019:00:00:00 +] " + + "\"GET /collector/recent/relay-descriptors/ HTTP/1.1\" 200 10227 " + + "\"-\" \"-\" -\n" }, + { "metrics.torproject.org-access.log-20191121.gz", + "0.0.0.0 - - [20/Nov/2019:00:00:00 +] " + + "\"HEAD /collector/recent/relay-descriptors/microdescs/ " + + "HTTP/1.1\" 200 - \"-\" \"-\" -\n" + + "0.0.0.0 - - [20/Nov/2019:00:00:00 +] " + + "\"HEAD /collector/recent/exit-lists/ HTTP/1.1\" 200 " + + "- \"-\" \"-\" -\n" + + "0.0.0.0 - - [20/Nov/2019:00:00:00 +] " + + "\"GET /collector/archive/bridge-descriptors/extra-infos/ " + + "HTTP/1.1\" 200 48013 \"-\" \"-\" -\n" + + "0.0.0.0 - - [21/Nov/2019:00:00:00 +] " + + "\"GET /images/cc/sk.png HTTP/1.1\" 200 395 \"-\" \"-\" -\n" }, + { "metrics.torproject.org-access.log-20191122.gz", + "0.0.0.0 - - [21/Nov/2019:00:00:00 +] " + + "\"GET /images/favicon.ico HTTP/1.1\" 200 1150 \"-\" \"-\" -\n" + + "0.0.0.0 - - [21/Nov/2019:00:00:00 +] " + + "\"GET /images/flags/authority.png HTTP/1.1\" 200 325 " + + "\"https://metrics.torproject.org/rs.html\; \"-\" -\n" + + "0.0.0.0 - - [21/Nov/2019:00:00:00 +] " + + "\"GET /news.atom HTTP/1.1\" 200 36362 \"-\" \"-\" -\n" + + "0.0.0.0 - - [22/Nov/2019:00:00:00 +] " + + "\"GET /onionperf-buildtimes.csv HTTP/1.1\" 200 270336 " + + "\"-\" \"-\" -\n" }, + { "metrics.torproject.org-access.log-20191123.gz", + "0.0.0.0 - - [22/Nov/2019:00:00:00 +] " + + "\"GET /userstats-relay-country.html?" + + "start=2010-01-01=2019-11-22=vn=off HTTP/1.1\" " + + "200 35517 \"-\" \"-\" -\n" + + "0.0.0.0 - - [22/Nov/2019:00:00:00 +] " + + "\"GET /userstats-relay-country.png?" + + "start=2010-01-01=2019-11-22=vn=off HTTP/1.1\" " + + "200 28041 \"-\" \"-\" -\n" + + "0.0.0.0 - - [22/Nov/2019:00:00:00 +] " + + "\"GET /userstats-relay-country.png?" + + "start=2010-01-01=2019-11-22=vn=off HTTP/1.1\" " + + "200 28041 \"-\" \"-\" -\n" + +
[tor-commits] [collector/release] Prepare for 1.14.0 release.
commit 3a9f05e01f1abe8315d25c780b3aab72376412f5 Author: Karsten Loesing Date: Wed Jan 15 23:07:02 2020 +0100 Prepare for 1.14.0 release. --- CHANGELOG.md | 2 +- build.xml| 2 +- 2 files changed, 2 insertions(+), 2 deletions(-) diff --git a/CHANGELOG.md b/CHANGELOG.md index 028755f..898338c 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -1,4 +1,4 @@ -# Changes in version 1.1?.? - 2019-1?-?? +# Changes in version 1.14.0 - 2020-01-15 * Medium changes - Give up on periodically checking the configuration file for diff --git a/build.xml b/build.xml index 312244f..5293d41 100644 --- a/build.xml +++ b/build.xml @@ -9,7 +9,7 @@ - + ___ tor-commits mailing list tor-commits@lists.torproject.org https://lists.torproject.org/cgi-bin/mailman/listinfo/tor-commits
[tor-commits] [collector/release] Update to metrics-lib 2.10.0.
commit 27e41ea7393c24bc72429915dd74c309c2583fa2 Author: Karsten Loesing Date: Wed Jan 15 22:58:17 2020 +0100 Update to metrics-lib 2.10.0. --- CHANGELOG.md | 1 + build.xml| 2 +- 2 files changed, 2 insertions(+), 1 deletion(-) diff --git a/CHANGELOG.md b/CHANGELOG.md index fb295d6..028755f 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -10,6 +10,7 @@ * Minor changes - Remove dependency on metrics-lib's internal package. + - Update to metrics-lib 2.10.0. # Changes in version 1.13.1 - 2019-11-11 diff --git a/build.xml b/build.xml index c75b69e..312244f 100644 --- a/build.xml +++ b/build.xml @@ -12,7 +12,7 @@ - + ___ tor-commits mailing list tor-commits@lists.torproject.org https://lists.torproject.org/cgi-bin/mailman/listinfo/tor-commits
[tor-commits] [collector/release] Update copyright to 2020.
commit d2a74b676a0d1c8563638ca3607a866b95877949 Author: Karsten Loesing Date: Wed Jan 15 21:36:34 2020 +0100 Update copyright to 2020. --- LICENSE | 2 +- src/main/java/org/torproject/metrics/collector/Main.java| 2 +- .../torproject/metrics/collector/bridgedb/BridgedbMetricsProcessor.java | 2 +- .../metrics/collector/bridgedescs/BridgeDescriptorParser.java | 2 +- .../torproject/metrics/collector/bridgedescs/BridgeSnapshotReader.java | 2 +- .../org/torproject/metrics/collector/bridgedescs/DescriptorBuilder.java | 2 +- .../metrics/collector/bridgedescs/SanitizedBridgesWriter.java | 2 +- .../metrics/collector/bridgepools/BridgePoolAssignmentsProcessor.java | 2 +- src/main/java/org/torproject/metrics/collector/conf/Annotation.java | 2 +- src/main/java/org/torproject/metrics/collector/conf/Configuration.java | 2 +- .../org/torproject/metrics/collector/conf/ConfigurationException.java | 2 +- src/main/java/org/torproject/metrics/collector/conf/Key.java| 2 +- src/main/java/org/torproject/metrics/collector/conf/SourceType.java | 2 +- src/main/java/org/torproject/metrics/collector/cron/CollecTorMain.java | 2 +- src/main/java/org/torproject/metrics/collector/cron/Scheduler.java | 2 +- src/main/java/org/torproject/metrics/collector/cron/ShutdownHook.java | 2 +- .../java/org/torproject/metrics/collector/downloader/Downloader.java| 2 +- .../org/torproject/metrics/collector/exitlists/ExitListDownloader.java | 2 +- .../java/org/torproject/metrics/collector/indexer/CreateIndexJson.java | 2 +- .../java/org/torproject/metrics/collector/indexer/DirectoryNode.java| 2 +- src/main/java/org/torproject/metrics/collector/indexer/FileNode.java| 2 +- src/main/java/org/torproject/metrics/collector/indexer/IndexNode.java | 2 +- src/main/java/org/torproject/metrics/collector/indexer/IndexerTask.java | 2 +- .../org/torproject/metrics/collector/onionperf/OnionPerfDownloader.java | 2 +- .../torproject/metrics/collector/persist/BandwidthFilePersistence.java | 2 +- .../metrics/collector/persist/BridgeExtraInfoPersistence.java | 2 +- .../metrics/collector/persist/BridgePoolAssignmentPersistence.java | 2 +- .../metrics/collector/persist/BridgeServerDescriptorPersistence.java| 2 +- .../metrics/collector/persist/BridgedbMetricsPersistence.java | 2 +- .../org/torproject/metrics/collector/persist/ConsensusPersistence.java | 2 +- .../org/torproject/metrics/collector/persist/DescriptorPersistence.java | 2 +- .../org/torproject/metrics/collector/persist/ExitlistPersistence.java | 2 +- .../org/torproject/metrics/collector/persist/ExtraInfoPersistence.java | 2 +- .../torproject/metrics/collector/persist/MicroConsensusPersistence.java | 2 +- .../org/torproject/metrics/collector/persist/OnionPerfPersistence.java | 2 +- .../java/org/torproject/metrics/collector/persist/PersistenceUtils.java | 2 +- .../metrics/collector/persist/ServerDescriptorPersistence.java | 2 +- .../torproject/metrics/collector/persist/SnowflakeStatsPersistence.java | 2 +- .../org/torproject/metrics/collector/persist/StatusPersistence.java | 2 +- .../java/org/torproject/metrics/collector/persist/VotePersistence.java | 2 +- .../metrics/collector/persist/WebServerAccessLogPersistence.java| 2 +- .../java/org/torproject/metrics/collector/persist/package-info.java | 2 +- .../java/org/torproject/metrics/collector/relaydescs/ArchiveReader.java | 2 +- .../java/org/torproject/metrics/collector/relaydescs/ArchiveWriter.java | 2 +- .../metrics/collector/relaydescs/CachedRelayDescriptorReader.java | 2 +- .../org/torproject/metrics/collector/relaydescs/ReferenceChecker.java | 2 +- .../metrics/collector/relaydescs/RelayDescriptorDownloader.java | 2 +- .../torproject/metrics/collector/relaydescs/RelayDescriptorParser.java | 2 +- .../metrics/collector/snowflake/SnowflakeStatsDownloader.java | 2 +- src/main/java/org/torproject/metrics/collector/sync/Criterium.java | 2 +- .../java/org/torproject/metrics/collector/sync/ProcessCriterium.java| 2 +- src/main/java/org/torproject/metrics/collector/sync/SyncManager.java| 2 +- .../java/org/torproject/metrics/collector/sync/SyncPersistence.java | 2 +- src/main/java/org/torproject/metrics/collector/sync/package-info.java | 2 +- src/main/java/org/torproject/metrics/collector/webstats/FileType.java | 2 +- src/main/java/org/torproject/metrics/collector/webstats/LogFileMap.java | 2 +- .../java/org/torproject/metrics/collector/webstats/LogMetadata.java | 2 +- .../java/org/torproject/metrics/collector/webstats/SanitizeWeblogs.java | 2 +- .../torproject/metrics/collector/webstats/WebServerAccessLogImpl.java | 2 +- .../torproject/metrics/collector/webstats/WebServerAccessLogLine.java | 2 +- src/main/resources/bootstrap-development.sh
[tor-commits] [collector/release] Remove dependency on DescriptorIndexCollector.
commit cc3aa57e57cdcd632a6a8a360f08880f0ec57242 Author: Karsten Loesing Date: Fri Nov 22 18:49:46 2019 +0100 Remove dependency on DescriptorIndexCollector. --- src/main/java/org/torproject/metrics/collector/sync/SyncManager.java | 5 ++--- 1 file changed, 2 insertions(+), 3 deletions(-) diff --git a/src/main/java/org/torproject/metrics/collector/sync/SyncManager.java b/src/main/java/org/torproject/metrics/collector/sync/SyncManager.java index 005501f..5a1a142 100644 --- a/src/main/java/org/torproject/metrics/collector/sync/SyncManager.java +++ b/src/main/java/org/torproject/metrics/collector/sync/SyncManager.java @@ -8,7 +8,6 @@ import org.torproject.descriptor.DescriptorCollector; 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; @@ -47,8 +46,8 @@ public class SyncManager { String marker, Configuration conf) throws ConfigurationException { Path basePath = conf.getPath(Key.SyncPath); -// The default implementation is less robust. -DescriptorCollector descriptorCollector = new DescriptorIndexCollector(); +DescriptorCollector descriptorCollector += DescriptorSourceFactory.createDescriptorCollector(); for (URL source : sources) { try { File storage = new File(basePath.toFile(), ___ tor-commits mailing list tor-commits@lists.torproject.org https://lists.torproject.org/cgi-bin/mailman/listinfo/tor-commits
[tor-commits] [collector/release] Remove dependency on metrics-lib's log package (3/4).
commit c11b61465a644940559b97c93a769fda84287970 Author: Karsten Loesing Date: Sat Nov 23 17:55:17 2019 +0100 Remove dependency on metrics-lib's log package (3/4). - Remove package-internal interfaces InternalLogDescriptor and InternalWebServerAccessLog. --- .../persist/WebServerAccessLogPersistence.java | 4 ++-- .../collector/webstats/InternalLogDescriptor.java | 28 -- .../webstats/InternalWebServerAccessLog.java | 17 - .../collector/webstats/LogDescriptorImpl.java | 8 +++ .../collector/webstats/SanitizeWeblogs.java| 4 ++-- .../collector/webstats/WebServerAccessLogImpl.java | 4 ++-- 6 files changed, 10 insertions(+), 55 deletions(-) diff --git a/src/main/java/org/torproject/metrics/collector/persist/WebServerAccessLogPersistence.java b/src/main/java/org/torproject/metrics/collector/persist/WebServerAccessLogPersistence.java index 6afb97e..0001957 100644 --- a/src/main/java/org/torproject/metrics/collector/persist/WebServerAccessLogPersistence.java +++ b/src/main/java/org/torproject/metrics/collector/persist/WebServerAccessLogPersistence.java @@ -5,7 +5,7 @@ package org.torproject.metrics.collector.persist; import org.torproject.descriptor.WebServerAccessLog; import org.torproject.metrics.collector.webstats.FileType; -import org.torproject.metrics.collector.webstats.InternalWebServerAccessLog; +import org.torproject.metrics.collector.webstats.WebServerAccessLogImpl; import java.nio.file.Paths; import java.nio.file.StandardOpenOption; @@ -14,7 +14,7 @@ import java.time.format.DateTimeFormatter; public class WebServerAccessLogPersistence extends DescriptorPersistence { - public static final String SEP = InternalWebServerAccessLog.SEP; + public static final String SEP = WebServerAccessLogImpl.SEP; public static final FileType COMPRESSION = FileType.XZ; private DateTimeFormatter yearPattern = DateTimeFormatter.ofPattern(""); diff --git a/src/main/java/org/torproject/metrics/collector/webstats/InternalLogDescriptor.java b/src/main/java/org/torproject/metrics/collector/webstats/InternalLogDescriptor.java deleted file mode 100644 index ac7d689..000 --- a/src/main/java/org/torproject/metrics/collector/webstats/InternalLogDescriptor.java +++ /dev/null @@ -1,28 +0,0 @@ -/* Copyright 2017--2018 The Tor Project - * See LICENSE for licensing information */ - -package org.torproject.metrics.collector.webstats; - -import org.torproject.descriptor.LogDescriptor; - -/** - * This interface provides methods for internal use only. - * - * @since 2.2.0 - */ -public interface InternalLogDescriptor extends LogDescriptor { - - /** Logfile name parts separator. */ - String SEP = "_"; - - /** - * Set the descriptor's bytes. - * - * @since 2.2.0 - */ - void setRawDescriptorBytes(byte[] bytes); - - /** Return the descriptor's preferred compression. */ - String getCompressionType(); -} - diff --git a/src/main/java/org/torproject/metrics/collector/webstats/InternalWebServerAccessLog.java b/src/main/java/org/torproject/metrics/collector/webstats/InternalWebServerAccessLog.java deleted file mode 100644 index 817b8d5..000 --- a/src/main/java/org/torproject/metrics/collector/webstats/InternalWebServerAccessLog.java +++ /dev/null @@ -1,17 +0,0 @@ -/* Copyright 2018 The Tor Project - * See LICENSE for licensing information */ - -package org.torproject.metrics.collector.webstats; - -/** - * This interface provides methods for internal use only. - * - * @since 2.2.0 - */ -public interface InternalWebServerAccessLog extends InternalLogDescriptor { - - /** The log's name should include this string. */ - String MARKER = "access.log"; - -} - diff --git a/src/main/java/org/torproject/metrics/collector/webstats/LogDescriptorImpl.java b/src/main/java/org/torproject/metrics/collector/webstats/LogDescriptorImpl.java index c0b0c69..e20be27 100644 --- a/src/main/java/org/torproject/metrics/collector/webstats/LogDescriptorImpl.java +++ b/src/main/java/org/torproject/metrics/collector/webstats/LogDescriptorImpl.java @@ -20,8 +20,10 @@ import java.util.regex.Pattern; * * @since 2.2.0 */ -public abstract class LogDescriptorImpl -implements LogDescriptor, InternalLogDescriptor { +public abstract class LogDescriptorImpl implements LogDescriptor { + + /** Logfile name parts separator. */ + public static final String SEP = "_"; /** The log's file name should contain this string. */ public static final String MARKER = ".log"; @@ -78,7 +80,6 @@ public abstract class LogDescriptorImpl } } - @Override public String getCompressionType() { return this.fileType.name().toLowerCase(); } @@ -88,7 +89,6 @@ public abstract class LogDescriptorImpl return this.logBytes; } - @Override public void setRawDescriptorBytes(byte[] bytes) { this.logBytes = bytes; } diff --git a/src/main/java/org/torproject/metrics/collector/webstats/SanitizeWeblogs.java
[tor-commits] [collector/release] Stop checking and reloading configuration file.
commit de10fcd5b3bc9d29c0e2a011728e34fbe9b0fd5d Author: Karsten Loesing Date: Wed Nov 20 13:03:25 2019 +0100 Stop checking and reloading configuration file. Removes a deprecation warning and simplifies code. Implements #32554. --- CHANGELOG.md | 4 ++ .../org/torproject/metrics/collector/Main.java | 2 +- .../metrics/collector/conf/Configuration.java | 59 +++--- .../metrics/collector/cron/CollecTorMain.java | 28 +- src/main/resources/collector.properties| 9 .../org/torproject/metrics/collector/MainTest.java | 6 +-- .../metrics/collector/conf/ConfigurationTest.java | 58 - 7 files changed, 16 insertions(+), 150 deletions(-) diff --git a/CHANGELOG.md b/CHANGELOG.md index 5293207..b55d7a4 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -1,5 +1,9 @@ # Changes in version 1.1?.? - 2019-1?-?? + * Medium changes + - Give up on periodically checking the configuration file for + updates and reloading it in case of changes. + # Changes in version 1.13.1 - 2019-11-11 diff --git a/src/main/java/org/torproject/metrics/collector/Main.java b/src/main/java/org/torproject/metrics/collector/Main.java index 3438bda..861567f 100644 --- a/src/main/java/org/torproject/metrics/collector/Main.java +++ b/src/main/java/org/torproject/metrics/collector/Main.java @@ -85,7 +85,7 @@ public class Main { writeDefaultConfig(confPath); return; } else { -conf.setWatchableSourceAndLoad(confPath); +conf.loadAndCheckConfiguration(confPath); } Scheduler.getInstance().scheduleModuleRuns(collecTorMains, conf); } catch (ConfigurationException ce) { diff --git a/src/main/java/org/torproject/metrics/collector/conf/Configuration.java b/src/main/java/org/torproject/metrics/collector/conf/Configuration.java index 4bb581b..cfdd9c8 100644 --- a/src/main/java/org/torproject/metrics/collector/conf/Configuration.java +++ b/src/main/java/org/torproject/metrics/collector/conf/Configuration.java @@ -3,85 +3,40 @@ package org.torproject.metrics.collector.conf; -import org.slf4j.Logger; -import org.slf4j.LoggerFactory; - import java.io.FileInputStream; import java.io.IOException; import java.io.InputStream; import java.net.MalformedURLException; import java.net.URL; -import java.nio.file.Files; import java.nio.file.Path; import java.nio.file.Paths; -import java.nio.file.attribute.FileTime; import java.util.EnumSet; -import java.util.Observable; import java.util.Properties; import java.util.Set; -import java.util.concurrent.Executors; -import java.util.concurrent.ScheduledExecutorService; -import java.util.concurrent.TimeUnit; /** * Initialize configuration with defaults from collector.properties, * unless a configuration properties file is available. */ -public class Configuration extends Observable implements Cloneable { - - private static final Logger logger = LoggerFactory.getLogger( - Configuration.class); - - private final ScheduledExecutorService scheduler = - Executors.newScheduledThreadPool(1); +public class Configuration { public static final String FIELDSEP = ","; private final Properties props = new Properties(); - private Path configurationFile; - private FileTime ft; /** - * Load the configuration from the given path and start monitoring changes. - * If the file was changed, re-read and inform all observers. + * Load the configuration from the given path. */ - public void setWatchableSourceAndLoad(final Path confPath) throws + public void loadAndCheckConfiguration(Path confPath) throws ConfigurationException { -this.configurationFile = confPath; -try { - ft = Files.getLastModifiedTime(confPath); - reload(); +try (FileInputStream fis + = new FileInputStream(confPath.toFile())) { + this.props.load(fis); anythingActivated(); } catch (IOException e) { - throw new ConfigurationException("Cannot watch configuration file. " + throw new ConfigurationException("Cannot load configuration file. " + "Reason: " + e.getMessage(), e); } -if (this.getBool(Key.RunOnce)) { // no need to watch - return; -} -this.scheduler.scheduleAtFixedRate(() -> { - logger.trace("Check configuration file."); - try { -FileTime ftNow = Files.getLastModifiedTime(confPath); -if (ft.compareTo(ftNow) < 0) { - logger.info("Configuration file was changed."); - reload(); - setChanged(); - notifyObservers(null); -} -ft = ftNow; - } catch (Throwable th) { // Catch all and keep running. -logger.error("Cannot reload configuration file.", th); - } -}, 5, 5, TimeUnit.SECONDS); - } - - private void reload() throws IOException { -props.clear(); -try (FileInputStream fis -= new
[tor-commits] [collector/release] Avoid reprocessing webstats files.
commit d48163379c2604626a62da775aafe68b5be62186 Author: Karsten Loesing Date: Wed Dec 11 12:22:40 2019 +0100 Avoid reprocessing webstats files. Web servers typically provide us with the last 14 days of request logs. We shouldn't process the whole 14 days over and over. Instead we should only process new logs files and any other log files containing log lines from newly written dates. In some cases web servers stop serving a given virtual host or stop acting as web server at all. However, in these cases we're left with 14 days of logs per virtual host. Ideally, these logs would get cleaned up, but until that's the case, we should at least not reprocess these files over and over. In order to avoid reprocessing webstats files, we need a new state file with log dates contained in given input files. We use that state file to determine which of the previously processed webstats files to re-process, so that we can write complete daily logs. --- CHANGELOG.md | 1 + .../metrics/collector/webstats/LogMetadata.java| 17 +++ .../collector/webstats/SanitizeWeblogs.java| 155 ++--- .../collector/webstats/WebServerAccessLogImpl.java | 19 +++ 4 files changed, 170 insertions(+), 22 deletions(-) diff --git a/CHANGELOG.md b/CHANGELOG.md index 73abdea..fe7937c 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -3,6 +3,7 @@ * Medium changes - Give up on periodically checking the configuration file for updates and reloading it in case of changes. + - Avoid reprocessing webstats files. * Minor changes - Remove dependency on metrics-lib's internal package. diff --git a/src/main/java/org/torproject/metrics/collector/webstats/LogMetadata.java b/src/main/java/org/torproject/metrics/collector/webstats/LogMetadata.java index 879e8d7..b30c13a 100644 --- a/src/main/java/org/torproject/metrics/collector/webstats/LogMetadata.java +++ b/src/main/java/org/torproject/metrics/collector/webstats/LogMetadata.java @@ -81,5 +81,22 @@ public class LogMetadata { } return Optional.ofNullable(metadata); } + + @Override + public boolean equals(Object other) { +if (this == other) { + return true; +} +if (other == null || getClass() != other.getClass()) { + return false; +} +LogMetadata that = (LogMetadata) other; +return path.toString().equals(that.path.toString()); + } + + @Override + public int hashCode() { +return path.hashCode(); + } } diff --git a/src/main/java/org/torproject/metrics/collector/webstats/SanitizeWeblogs.java b/src/main/java/org/torproject/metrics/collector/webstats/SanitizeWeblogs.java index fc7c64f..b3fee06 100644 --- a/src/main/java/org/torproject/metrics/collector/webstats/SanitizeWeblogs.java +++ b/src/main/java/org/torproject/metrics/collector/webstats/SanitizeWeblogs.java @@ -25,14 +25,18 @@ import org.slf4j.LoggerFactory; import java.io.BufferedReader; import java.io.ByteArrayOutputStream; import java.io.File; +import java.io.IOException; import java.io.InputStreamReader; import java.io.OutputStream; import java.nio.file.Files; import java.nio.file.Path; +import java.nio.file.Paths; import java.time.LocalDate; import java.time.format.DateTimeFormatter; import java.util.ArrayList; import java.util.Collections; +import java.util.HashMap; +import java.util.HashSet; import java.util.List; import java.util.Map; import java.util.Optional; @@ -56,8 +60,10 @@ public class SanitizeWeblogs extends CollecTorMain { private static final int LIMIT = 2; private static final String WEBSTATS = "webstats"; - private String outputPathName; - private String recentPathName; + private Path outputDirectory; + private Path recentDirectory; + private Path processedWebstatsFile; + private boolean limits; /** @@ -84,14 +90,22 @@ public class SanitizeWeblogs extends CollecTorMain { try { Files.createDirectories(this.config.getPath(Key.OutputPath)); Files.createDirectories(this.config.getPath(Key.RecentPath)); - this.outputPathName = this.config.getPath(Key.OutputPath).toString(); - this.recentPathName = this.config.getPath(Key.RecentPath).toString(); + Files.createDirectories(this.config.getPath(Key.StatsPath)); + this.outputDirectory = this.config.getPath(Key.OutputPath); + this.recentDirectory = this.config.getPath(Key.RecentPath); + this.processedWebstatsFile = this.config.getPath(Key.StatsPath) + .resolve("processed-webstats"); this.limits = this.config.getBool(Key.WebstatsLimits); Set sources = this.config.getSourceTypeSet( Key.WebstatsSources); if (sources.contains(SourceType.Local)) { log.info("Processing logs using batch value {}.", BATCH); -findCleanWrite(this.config.getPath(Key.WebstatsLocalOrigins)); +Map> previouslyProcessedWebstats +=
[tor-commits] [collector/release] Remove String[][] as configuration value type.
commit edf505ae06479b86a87e81ea0a2266a1cad2f7fc Author: Karsten Loesing Date: Thu Nov 21 09:49:49 2019 +0100 Remove String[][] as configuration value type. --- .../metrics/collector/conf/Configuration.java | 24 -- .../metrics/collector/conf/ConfigurationTest.java | 7 --- 2 files changed, 31 deletions(-) diff --git a/src/main/java/org/torproject/metrics/collector/conf/Configuration.java b/src/main/java/org/torproject/metrics/collector/conf/Configuration.java index afda281..4bb581b 100644 --- a/src/main/java/org/torproject/metrics/collector/conf/Configuration.java +++ b/src/main/java/org/torproject/metrics/collector/conf/Configuration.java @@ -36,7 +36,6 @@ public class Configuration extends Observable implements Cloneable { Executors.newScheduledThreadPool(1); public static final String FIELDSEP = ","; - public static final String ARRAYSEP = ";"; private final Properties props = new Properties(); private Path configurationFile; @@ -143,29 +142,6 @@ public class Configuration extends Observable implements Cloneable { } /** - * Returns {@code String[][]} from a property. Commas seperate array elements - * and semicolons separate arrays, e.g., - * {@code propertyname = a1, a2, a3; b1, b2, b3} - */ - public String[][] getStringArrayArray(Key key) throws ConfigurationException { -try { - checkClass(key, String[][].class); - String[] interim = props.getProperty(key.name()).split(ARRAYSEP); - String[][] res = new String[interim.length][]; - for (int i = 0; i < interim.length; i++) { -res[i] = interim[i].trim().split(FIELDSEP); -for (int j = 0; j < res[i].length; j++) { - res[i][j] = res[i][j].trim(); -} - } - return res; -} catch (RuntimeException re) { - throw new ConfigurationException("Corrupt property: " + key - + " reason: " + re.getMessage(), re); -} - } - - /** * Returns {@code String[]} from a property. Commas seperate array elements, * e.g., * {@code propertyname = a1, a2, a3} diff --git a/src/test/java/org/torproject/metrics/collector/conf/ConfigurationTest.java b/src/test/java/org/torproject/metrics/collector/conf/ConfigurationTest.java index 887f3ae..e01aba2 100644 --- a/src/test/java/org/torproject/metrics/collector/conf/ConfigurationTest.java +++ b/src/test/java/org/torproject/metrics/collector/conf/ConfigurationTest.java @@ -148,13 +148,6 @@ public class ConfigurationTest { } @Test(expected = ConfigurationException.class) - public void testArrayArrayValueException() throws Exception { -Configuration conf = new Configuration(); -conf.setProperty(Key.RelayCacheOrigins.name(), ""); -conf.getStringArrayArray(Key.OutputPath); - } - - @Test(expected = ConfigurationException.class) public void testPathValueException() throws Exception { Configuration conf = new Configuration(); conf.setProperty(Key.RelayLocalOrigins.name(), "\\\u:"); ___ tor-commits mailing list tor-commits@lists.torproject.org https://lists.torproject.org/cgi-bin/mailman/listinfo/tor-commits
[tor-commits] [collector/release] Remove dependency on metrics-lib's log package (1/4).
commit 859476ecaec2164e0d84bbba4377da11c90034b2 Author: Karsten Loesing Date: Sat Nov 23 17:13:22 2019 +0100 Remove dependency on metrics-lib's log package (1/4). - Copy types from metrics-lib to this code base. - Update package and import statements. - Copy remaining parts of metrics-lib's FileType. --- .../persist/WebServerAccessLogPersistence.java | 2 +- .../metrics/collector/webstats/FileType.java | 44 + .../collector/webstats/InternalLogDescriptor.java | 63 +++ .../webstats/InternalWebServerAccessLog.java | 17 ++ .../collector/webstats/LogDescriptorImpl.java | 166 +++ .../metrics/collector/webstats/LogMetadata.java| 2 +- .../collector/webstats/SanitizeWeblogs.java| 4 - .../collector/webstats/WebServerAccessLogImpl.java | 173 .../collector/webstats/WebServerAccessLogLine.java | 182 + 9 files changed, 647 insertions(+), 6 deletions(-) diff --git a/src/main/java/org/torproject/metrics/collector/persist/WebServerAccessLogPersistence.java b/src/main/java/org/torproject/metrics/collector/persist/WebServerAccessLogPersistence.java index 848fa2e..0f862b4 100644 --- a/src/main/java/org/torproject/metrics/collector/persist/WebServerAccessLogPersistence.java +++ b/src/main/java/org/torproject/metrics/collector/persist/WebServerAccessLogPersistence.java @@ -4,8 +4,8 @@ package org.torproject.metrics.collector.persist; import org.torproject.descriptor.WebServerAccessLog; -import org.torproject.descriptor.log.InternalWebServerAccessLog; import org.torproject.metrics.collector.webstats.FileType; +import org.torproject.metrics.collector.webstats.InternalWebServerAccessLog; import org.slf4j.Logger; import org.slf4j.LoggerFactory; diff --git a/src/main/java/org/torproject/metrics/collector/webstats/FileType.java b/src/main/java/org/torproject/metrics/collector/webstats/FileType.java index 79dcf21..15b1e00 100644 --- a/src/main/java/org/torproject/metrics/collector/webstats/FileType.java +++ b/src/main/java/org/torproject/metrics/collector/webstats/FileType.java @@ -12,6 +12,8 @@ import org.apache.commons.compress.compressors.xz.XZCompressorOutputStream; import java.io.BufferedInputStream; import java.io.BufferedOutputStream; +import java.io.ByteArrayInputStream; +import java.io.ByteArrayOutputStream; import java.io.InputStream; import java.io.OutputStream; @@ -69,10 +71,52 @@ public enum FileType { } /** + * Compresses the given bytes in memory and returns the compressed bytes. + */ + public byte[] compress(byte[] bytes) throws Exception { +ByteArrayOutputStream baos = new ByteArrayOutputStream(); +try (OutputStream os = this.outputStream(baos)) { + os.write(bytes); + os.flush(); +} +return baos.toByteArray(); + } + + /** + * Compresses the given InputStream and returns an OutputStream. + */ + public OutputStream compress(OutputStream os) throws Exception { +return this.outputStream(os); + } + + /** * Decompresses the given InputStream and returns an OutputStream. */ public InputStream decompress(InputStream is) throws Exception { return this.inputStream(is); } + + /** + * Decompresses the given bytes in memory and returns the decompressed bytes. + * + * @since 2.2.0 + */ + public byte[] decompress(byte[] bytes) throws Exception { +if (0 == bytes.length) { + return bytes; +} +try (InputStream is += this.inputStream(new ByteArrayInputStream(bytes)); +ByteArrayOutputStream baos = new ByteArrayOutputStream()) { + int readByte = is.read(); + while (readByte > 0) { +baos.write(readByte); +readByte = is.read(); + } + baos.flush(); + return baos.toByteArray(); +} + } + } diff --git a/src/main/java/org/torproject/metrics/collector/webstats/InternalLogDescriptor.java b/src/main/java/org/torproject/metrics/collector/webstats/InternalLogDescriptor.java new file mode 100644 index 000..3a8a1f0 --- /dev/null +++ b/src/main/java/org/torproject/metrics/collector/webstats/InternalLogDescriptor.java @@ -0,0 +1,63 @@ +/* Copyright 2017--2018 The Tor Project + * See LICENSE for licensing information */ + +package org.torproject.metrics.collector.webstats; + +import org.torproject.descriptor.DescriptorParseException; +import org.torproject.descriptor.LogDescriptor; + +/** + * This interface provides methods for internal use only. + * + * @since 2.2.0 + */ +public interface InternalLogDescriptor extends LogDescriptor { + + /** Logfile name parts separator. */ + String SEP = "_"; + + /** + * Validate log lines. + * + * @since 2.2.0 + */ + void validate() throws DescriptorParseException; + + /** + * Set the {@code Validator} that will perform the validation on log + * lines. + * + * Usually set by the implementing class. + * + * @since 2.2.0 + */ + void setValidator(Validator
[tor-commits] [collector/release] Fix two JavaDocs issues with package-info.java.
commit 3bbc4db433979867cfcbac08eb7a698d4259a009 Author: Karsten Loesing Date: Wed Nov 20 11:53:11 2019 +0100 Fix two JavaDocs issues with package-info.java. --- .../java/org/torproject/metrics/collector/persist/package-info.java | 6 +++--- .../java/org/torproject/metrics/collector/sync/package-info.java| 3 +-- 2 files changed, 4 insertions(+), 5 deletions(-) diff --git a/src/main/java/org/torproject/metrics/collector/persist/package-info.java b/src/main/java/org/torproject/metrics/collector/persist/package-info.java index 11d3939..75ec95e 100644 --- a/src/main/java/org/torproject/metrics/collector/persist/package-info.java +++ b/src/main/java/org/torproject/metrics/collector/persist/package-info.java @@ -1,11 +1,11 @@ /* Copyright 2016--2018 The Tor Project * See LICENSE for licensing information */ -package org.torproject.metrics.collector.persist; - -/** This package containes decorating classes for descriptors that +/** This package contains decorating classes for descriptors that * simply determine the two storage paths based on the descriptor * and further parameters like acquisition time. * All special persistence classes extend * {@code DescriptorPersistence}. */ +package org.torproject.metrics.collector.persist; + diff --git a/src/main/java/org/torproject/metrics/collector/sync/package-info.java b/src/main/java/org/torproject/metrics/collector/sync/package-info.java index 08a6cdd..53e64b7 100644 --- a/src/main/java/org/torproject/metrics/collector/sync/package-info.java +++ b/src/main/java/org/torproject/metrics/collector/sync/package-info.java @@ -1,8 +1,6 @@ /* Copyright 2016--2018 The Tor Project * See LICENSE for licensing information */ -package org.torproject.metrics.collector.sync; - /** This package coordinates syncing and merging the fetched data. * The central class for this process is {@code SyncManager}, which * coordinates download from other instances and merging the new data @@ -10,4 +8,5 @@ package org.torproject.metrics.collector.sync; * Storing data to the file system is facilitated by * {@code SyncPersistence}. */ +package org.torproject.metrics.collector.sync; ___ tor-commits mailing list tor-commits@lists.torproject.org https://lists.torproject.org/cgi-bin/mailman/listinfo/tor-commits
[tor-commits] [collector/release] Remove dependency on metrics-lib's log package (2/4).
commit ea1b1b4f6ab11e7ac933b0e00d5f8c040e4cc11e Author: Karsten Loesing Date: Sat Nov 23 17:43:45 2019 +0100 Remove dependency on metrics-lib's log package (2/4). - Remove unused code. --- .../persist/WebServerAccessLogPersistence.java | 5 -- .../collector/webstats/InternalLogDescriptor.java | 35 -- .../collector/webstats/LogDescriptorImpl.java | 53 +- .../metrics/collector/webstats/LogFileMap.java | 26 --- .../collector/webstats/SanitizeWeblogs.java| 2 +- .../collector/webstats/WebServerAccessLogImpl.java | 38 +--- 6 files changed, 4 insertions(+), 155 deletions(-) diff --git a/src/main/java/org/torproject/metrics/collector/persist/WebServerAccessLogPersistence.java b/src/main/java/org/torproject/metrics/collector/persist/WebServerAccessLogPersistence.java index 0f862b4..6afb97e 100644 --- a/src/main/java/org/torproject/metrics/collector/persist/WebServerAccessLogPersistence.java +++ b/src/main/java/org/torproject/metrics/collector/persist/WebServerAccessLogPersistence.java @@ -7,9 +7,6 @@ import org.torproject.descriptor.WebServerAccessLog; import org.torproject.metrics.collector.webstats.FileType; import org.torproject.metrics.collector.webstats.InternalWebServerAccessLog; -import org.slf4j.Logger; -import org.slf4j.LoggerFactory; - import java.nio.file.Paths; import java.nio.file.StandardOpenOption; import java.time.format.DateTimeFormatter; @@ -19,8 +16,6 @@ public class WebServerAccessLogPersistence public static final String SEP = InternalWebServerAccessLog.SEP; public static final FileType COMPRESSION = FileType.XZ; - private static final Logger log - = LoggerFactory.getLogger(WebServerAccessLogPersistence.class); private DateTimeFormatter yearPattern = DateTimeFormatter.ofPattern(""); private DateTimeFormatter monthPattern = DateTimeFormatter.ofPattern("MM"); diff --git a/src/main/java/org/torproject/metrics/collector/webstats/InternalLogDescriptor.java b/src/main/java/org/torproject/metrics/collector/webstats/InternalLogDescriptor.java index 3a8a1f0..ac7d689 100644 --- a/src/main/java/org/torproject/metrics/collector/webstats/InternalLogDescriptor.java +++ b/src/main/java/org/torproject/metrics/collector/webstats/InternalLogDescriptor.java @@ -3,7 +3,6 @@ package org.torproject.metrics.collector.webstats; -import org.torproject.descriptor.DescriptorParseException; import org.torproject.descriptor.LogDescriptor; /** @@ -17,23 +16,6 @@ public interface InternalLogDescriptor extends LogDescriptor { String SEP = "_"; /** - * Validate log lines. - * - * @since 2.2.0 - */ - void validate() throws DescriptorParseException; - - /** - * Set the {@code Validator} that will perform the validation on log - * lines. - * - * Usually set by the implementing class. - * - * @since 2.2.0 - */ - void setValidator(Validator validator); - - /** * Set the descriptor's bytes. * * @since 2.2.0 @@ -42,22 +24,5 @@ public interface InternalLogDescriptor extends LogDescriptor { /** Return the descriptor's preferred compression. */ String getCompressionType(); - - /** - * Provides a single function for validating a single log line. - * - * @since 2.2.0 - */ - interface Validator { - -/** - * Verifies a log line. - * - * @since 2.2.0 - */ -boolean validate(String line); - - } - } diff --git a/src/main/java/org/torproject/metrics/collector/webstats/LogDescriptorImpl.java b/src/main/java/org/torproject/metrics/collector/webstats/LogDescriptorImpl.java index d13c85a..c0b0c69 100644 --- a/src/main/java/org/torproject/metrics/collector/webstats/LogDescriptorImpl.java +++ b/src/main/java/org/torproject/metrics/collector/webstats/LogDescriptorImpl.java @@ -3,25 +3,17 @@ package org.torproject.metrics.collector.webstats; -import org.torproject.descriptor.Descriptor; import org.torproject.descriptor.DescriptorParseException; import org.torproject.descriptor.LogDescriptor; -import org.slf4j.Logger; -import org.slf4j.LoggerFactory; - -import java.io.BufferedReader; import java.io.ByteArrayInputStream; import java.io.File; import java.io.InputStream; -import java.io.InputStreamReader; import java.util.ArrayList; -import java.util.Arrays; import java.util.Collections; import java.util.List; import java.util.regex.Matcher; import java.util.regex.Pattern; -import java.util.stream.Collectors; /** * Base class for log descriptors. @@ -34,11 +26,6 @@ public abstract class LogDescriptorImpl /** The log's file name should contain this string. */ public static final String MARKER = ".log"; - private static final int unrecognizedLinesLimit = 3; - - private static final Logger log - = LoggerFactory.getLogger(LogDescriptorImpl.class); - private static Pattern filenamePattern = Pattern.compile( "(?:\\S*)" + MARKER + SEP +
[tor-commits] [collector/release] Bump version to 1.13.1-dev.
commit d3d63bb1d8eaaf2c33486d68181fbb199041c9a5 Author: Karsten Loesing Date: Mon Nov 11 10:19:39 2019 +0100 Bump version to 1.13.1-dev. --- CHANGELOG.md | 3 +++ build.xml| 2 +- 2 files changed, 4 insertions(+), 1 deletion(-) diff --git a/CHANGELOG.md b/CHANGELOG.md index 174f2e1..5293207 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -1,3 +1,6 @@ +# Changes in version 1.1?.? - 2019-1?-?? + + # Changes in version 1.13.1 - 2019-11-11 * Minor changes diff --git a/build.xml b/build.xml index e91dae3..c75b69e 100644 --- a/build.xml +++ b/build.xml @@ -9,7 +9,7 @@ - + ___ tor-commits mailing list tor-commits@lists.torproject.org https://lists.torproject.org/cgi-bin/mailman/listinfo/tor-commits
[tor-commits] [collector/release] Remove dependency on metrics-lib's internal package.
commit 5a0e6be21c2de4b35e4111364b3ecd7caf424164 Author: Karsten Loesing Date: Fri Nov 22 17:54:26 2019 +0100 Remove dependency on metrics-lib's internal package. The only functionality contained in metrics-lib's internal package is file (de-)compression, which in turn uses a third-party library that we're using anyway. This is a weak reason for depending on our own library for this functionality. Removing this dependency will make it easier to make changes to our library in the future. The new FileType class is based on a copy of the same enum type in metrics-lib without @since tags and without methods that we don't use. --- CHANGELOG.md | 3 + .../persist/WebServerAccessLogPersistence.java | 2 +- .../metrics/collector/webstats/FileType.java | 78 ++ .../metrics/collector/webstats/LogMetadata.java| 2 - .../collector/webstats/SanitizeWeblogs.java| 1 - 5 files changed, 82 insertions(+), 4 deletions(-) diff --git a/CHANGELOG.md b/CHANGELOG.md index b55d7a4..73abdea 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -4,6 +4,9 @@ - Give up on periodically checking the configuration file for updates and reloading it in case of changes. + * Minor changes + - Remove dependency on metrics-lib's internal package. + # Changes in version 1.13.1 - 2019-11-11 diff --git a/src/main/java/org/torproject/metrics/collector/persist/WebServerAccessLogPersistence.java b/src/main/java/org/torproject/metrics/collector/persist/WebServerAccessLogPersistence.java index b10f706..848fa2e 100644 --- a/src/main/java/org/torproject/metrics/collector/persist/WebServerAccessLogPersistence.java +++ b/src/main/java/org/torproject/metrics/collector/persist/WebServerAccessLogPersistence.java @@ -4,8 +4,8 @@ package org.torproject.metrics.collector.persist; import org.torproject.descriptor.WebServerAccessLog; -import org.torproject.descriptor.internal.FileType; import org.torproject.descriptor.log.InternalWebServerAccessLog; +import org.torproject.metrics.collector.webstats.FileType; import org.slf4j.Logger; import org.slf4j.LoggerFactory; diff --git a/src/main/java/org/torproject/metrics/collector/webstats/FileType.java b/src/main/java/org/torproject/metrics/collector/webstats/FileType.java new file mode 100644 index 000..79dcf21 --- /dev/null +++ b/src/main/java/org/torproject/metrics/collector/webstats/FileType.java @@ -0,0 +1,78 @@ +/* Copyright 2016--2019 The Tor Project + * See LICENSE for licensing information */ + +package org.torproject.metrics.collector.webstats; + +import org.apache.commons.compress.compressors.bzip2.BZip2CompressorInputStream; +import org.apache.commons.compress.compressors.bzip2.BZip2CompressorOutputStream; +import org.apache.commons.compress.compressors.gzip.GzipCompressorInputStream; +import org.apache.commons.compress.compressors.gzip.GzipCompressorOutputStream; +import org.apache.commons.compress.compressors.xz.XZCompressorInputStream; +import org.apache.commons.compress.compressors.xz.XZCompressorOutputStream; + +import java.io.BufferedInputStream; +import java.io.BufferedOutputStream; +import java.io.InputStream; +import java.io.OutputStream; + +/** + * These enums provide compression functionality. + * + * {@link #findType} determines the compression type by the given extension. + * Compression can also be zero-compression, which is currently provided by + * the PLAIN and JSON enums. + */ +public enum FileType { + + BZ2(BZip2CompressorInputStream.class, BZip2CompressorOutputStream.class), + GZ(GzipCompressorInputStream.class, GzipCompressorOutputStream.class), + JSON(BufferedInputStream.class, BufferedOutputStream.class), + PLAIN(BufferedInputStream.class, BufferedOutputStream.class), + XZ(XZCompressorInputStream.class, XZCompressorOutputStream.class); + + private final Class inClass; + private final Class outClass; + + FileType(Class in, Class out) { +this.inClass = in; +this.outClass = out; + } + + /** + * Returns {@code valueOf} or the default enum {@link #PLAIN}, i.e., + * this method doesn't throw any exceptions and allways returns a valid enum. + */ + public static FileType findType(String ext) { +FileType res; +try { + res = FileType.valueOf(ext.toUpperCase()); + return res; +} catch (IllegalArgumentException | NullPointerException re) { + return PLAIN; +} + } + + /** + * Return the appropriate input stream. + */ + public InputStream inputStream(InputStream is) throws Exception { +return this.inClass.getConstructor(new Class[]{InputStream.class}) +.newInstance(is); + } + + /** + * Return the appropriate output stream. + */ + public OutputStream outputStream(OutputStream os) throws Exception { +return this.outClass.getConstructor(new Class[]{OutputStream.class}) +.newInstance(os); + } + + /** + * Decompresses the given InputStream and
[tor-commits] [collector/release] Remember processed files between module runs.
commit 741401a0daffda52fd1de81b29b276ed9e939ba5 Author: Karsten Loesing Date: Tue Jan 7 13:30:28 2020 +0100 Remember processed files between module runs. The three recently added modules to archive Snowflake statistics, bridge pool assignments, and BridgeDB metrics have in common that they process any input files regardless of whether they already processed them before. The problem is that the input files processed by these modules are either never removed (Snowflake statistics) or only removed manually by the operator (bridge pool assignments and BridgeDB statistics). The effect is that non-recent BridgeDB metrics and bridge pool assignments are being placed in the indexed/recent/ directory in the next execution after they are deleted for being older than 72 hours. The same would happen with Snowflake statistics after the operator removes them from the out/ directory. The fix is to use a state file containing file names of previously processed files and only process a file not found in there. This is the same approach as taken for bridge descriptor tarballs. --- CHANGELOG.md | 3 ++ .../bridgedb/BridgedbMetricsProcessor.java | 18 + .../BridgePoolAssignmentsProcessor.java| 19 + .../metrics/collector/cron/CollecTorMain.java | 47 ++ .../snowflake/SnowflakeStatsDownloader.java| 13 ++ 5 files changed, 100 insertions(+) diff --git a/CHANGELOG.md b/CHANGELOG.md index fe7937c..fb295d6 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -4,6 +4,9 @@ - Give up on periodically checking the configuration file for updates and reloading it in case of changes. - Avoid reprocessing webstats files. + - Remember processed files between module runs for archived + Snowflake statistics, bridge pool assignments, and BridgeDB + metrics. * Minor changes - Remove dependency on metrics-lib's internal package. diff --git a/src/main/java/org/torproject/metrics/collector/bridgedb/BridgedbMetricsProcessor.java b/src/main/java/org/torproject/metrics/collector/bridgedb/BridgedbMetricsProcessor.java index c6b939b..0073ee3 100644 --- a/src/main/java/org/torproject/metrics/collector/bridgedb/BridgedbMetricsProcessor.java +++ b/src/main/java/org/torproject/metrics/collector/bridgedb/BridgedbMetricsProcessor.java @@ -24,7 +24,9 @@ import java.nio.file.Paths; import java.time.Instant; import java.time.temporal.ChronoUnit; import java.util.Arrays; +import java.util.SortedSet; import java.util.Stack; +import java.util.TreeSet; public class BridgedbMetricsProcessor extends CollecTorMain { @@ -40,6 +42,11 @@ public class BridgedbMetricsProcessor extends CollecTorMain { private File inputDirectory; /** + * File containing file names of previously parsed BridgeDB metrics files. + */ + private Path parsedBridgedbMetricsFile; + + /** * Directory for writing BridgeDB statistics files to be archived in tarballs. */ private String outputPathName; @@ -88,11 +95,19 @@ public class BridgedbMetricsProcessor extends CollecTorMain { protected void startProcessing() throws ConfigurationException { logger.info("Starting BridgeDB statistics module of CollecTor."); this.initializeConfiguration(); +SortedSet previouslyProcessedFiles = this.readProcessedFiles( +this.parsedBridgedbMetricsFile); +SortedSet processedFiles = new TreeSet<>(); logger.info("Reading BridgeDB statistics files in {}.", this.inputDirectory); for (Descriptor descriptor : DescriptorSourceFactory.createDescriptorReader() .readDescriptors(this.inputDirectory)) { + processedFiles.add(descriptor.getDescriptorFile().toPath()); + if (previouslyProcessedFiles.contains( + descriptor.getDescriptorFile().toPath())) { +continue; + } if (descriptor instanceof BridgedbMetrics) { BridgedbMetrics bridgedbMetrics = (BridgedbMetrics) descriptor; BridgedbMetricsPersistence persistence @@ -114,6 +129,7 @@ public class BridgedbMetricsProcessor extends CollecTorMain { } logger.info("Cleaning up directory {} containing recent files.", this.recentPathName); +this.writeProcessedFiles(this.parsedBridgedbMetricsFile, processedFiles); this.cleanUpRsyncDirectory(); logger.info("Finished processing BridgeDB statistics file(s)."); } @@ -123,6 +139,8 @@ public class BridgedbMetricsProcessor extends CollecTorMain { * storing them in instance attributes. */ private void initializeConfiguration() throws ConfigurationException { +this.parsedBridgedbMetricsFile = this.config.getPath(Key.StatsPath) +.resolve("processed-bridgedb-metrics"); this.outputPathName = config.getPath(Key.OutputPath).toString(); this.recentPathName = config.getPath(Key.RecentPath).toString();
[tor-commits] [collector/release] Remove dependency on metrics-lib's log package (4/4).
commit 8263cc7bdbb0a632f12a84fb2051dd9a25c28142 Author: Karsten Loesing Date: Sat Nov 23 18:07:41 2019 +0100 Remove dependency on metrics-lib's log package (4/4). - Remove package-internal abstract class. --- .../collector/webstats/LogDescriptorImpl.java | 117 - .../collector/webstats/SanitizeWeblogs.java| 2 +- .../collector/webstats/WebServerAccessLogImpl.java | 82 +-- 3 files changed, 73 insertions(+), 128 deletions(-) diff --git a/src/main/java/org/torproject/metrics/collector/webstats/LogDescriptorImpl.java b/src/main/java/org/torproject/metrics/collector/webstats/LogDescriptorImpl.java deleted file mode 100644 index e20be27..000 --- a/src/main/java/org/torproject/metrics/collector/webstats/LogDescriptorImpl.java +++ /dev/null @@ -1,117 +0,0 @@ -/* Copyright 2017--2018 The Tor Project - * See LICENSE for licensing information */ - -package org.torproject.metrics.collector.webstats; - -import org.torproject.descriptor.DescriptorParseException; -import org.torproject.descriptor.LogDescriptor; - -import java.io.ByteArrayInputStream; -import java.io.File; -import java.io.InputStream; -import java.util.ArrayList; -import java.util.Collections; -import java.util.List; -import java.util.regex.Matcher; -import java.util.regex.Pattern; - -/** - * Base class for log descriptors. - * - * @since 2.2.0 - */ -public abstract class LogDescriptorImpl implements LogDescriptor { - - /** Logfile name parts separator. */ - public static final String SEP = "_"; - - /** The log's file name should contain this string. */ - public static final String MARKER = ".log"; - - private static Pattern filenamePattern = Pattern.compile( - "(?:\\S*)" + MARKER + SEP + "(?:[0-9a-zA-Z]*)(?:\\.?)([a-zA-Z2]*)"); - - private final File descriptorFile; - - /** Byte array for plain, i.e. uncompressed, log data. */ - private byte[] logBytes; - - private FileType fileType; - - private List unrecognizedLines = new ArrayList<>(); - - /** - * This constructor performs basic operations on the given bytes. - * - * An unknown compression type (see {@link #getCompressionType}) - * is interpreted as missing compression. In this case the bytes - * will be compressed to the given compression type. - * - * @since 2.2.0 - */ - protected LogDescriptorImpl(byte[] logBytes, File descriptorFile, - String logName) throws DescriptorParseException { -this.logBytes = logBytes; -this.descriptorFile = descriptorFile; -try { - Matcher mat = filenamePattern.matcher(logName); - if (!mat.find()) { -throw new DescriptorParseException( -"Log file name doesn't comply to standard: " + logName); - } - this.fileType = FileType.findType(mat.group(1).toUpperCase()); - if (FileType.PLAIN == this.fileType) { -this.fileType = FileType.XZ; -this.logBytes = this.fileType.compress(this.logBytes); - } -} catch (Exception ex) { - throw new DescriptorParseException("Cannot parse file " - + logName + " from file " + descriptorFile.getName(), ex); -} - } - - @Override - public InputStream decompressedByteStream() throws DescriptorParseException { -try { - return this.fileType.decompress(new ByteArrayInputStream(this.logBytes)); -} catch (Exception ex) { - throw new DescriptorParseException("Cannot provide deflated stream of " - + this.descriptorFile + ".", ex); -} - } - - public String getCompressionType() { -return this.fileType.name().toLowerCase(); - } - - @Override - public byte[] getRawDescriptorBytes() { -return this.logBytes; - } - - public void setRawDescriptorBytes(byte[] bytes) { -this.logBytes = bytes; - } - - @Override - public int getRawDescriptorLength() { -return this.logBytes.length; - } - - @Override - public List getAnnotations() { -return Collections.emptyList(); - } - - @Override - public List getUnrecognizedLines() { -return this.unrecognizedLines; - } - - @Override - public File getDescriptorFile() { -return descriptorFile; - } - -} - diff --git a/src/main/java/org/torproject/metrics/collector/webstats/SanitizeWeblogs.java b/src/main/java/org/torproject/metrics/collector/webstats/SanitizeWeblogs.java index 51318f8..fc7c64f 100644 --- a/src/main/java/org/torproject/metrics/collector/webstats/SanitizeWeblogs.java +++ b/src/main/java/org/torproject/metrics/collector/webstats/SanitizeWeblogs.java @@ -135,7 +135,7 @@ public class SanitizeWeblogs extends CollecTorMain { private void storeSortedAndForget(String virtualHost, String physicalHost, LocalDate date, Map lineCounts) { -String name = new StringJoiner(LogDescriptorImpl.SEP) +String name = new StringJoiner(WebServerAccessLogImpl.SEP) .add(virtualHost).add(physicalHost) .add(WebServerAccessLogImpl.MARKER) .add(date.format(DateTimeFormatter.BASIC_ISO_DATE)) diff --git
[tor-commits] [collector/release] Remove final modifier from private method.
commit ccdad654f27aa90cd9c86273c5a7f03871e2c3ec Author: Karsten Loesing Date: Wed Nov 20 16:44:25 2019 +0100 Remove final modifier from private method. --- src/main/java/org/torproject/metrics/collector/conf/Configuration.java | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/src/main/java/org/torproject/metrics/collector/conf/Configuration.java b/src/main/java/org/torproject/metrics/collector/conf/Configuration.java index 56be34c..afda281 100644 --- a/src/main/java/org/torproject/metrics/collector/conf/Configuration.java +++ b/src/main/java/org/torproject/metrics/collector/conf/Configuration.java @@ -77,7 +77,7 @@ public class Configuration extends Observable implements Cloneable { }, 5, 5, TimeUnit.SECONDS); } - private final void reload() throws IOException { + private void reload() throws IOException { props.clear(); try (FileInputStream fis = new FileInputStream(configurationFile.toFile())) { ___ tor-commits mailing list tor-commits@lists.torproject.org https://lists.torproject.org/cgi-bin/mailman/listinfo/tor-commits
[tor-commits] [collector/release] Make inner class static.
commit 86f8001590225327411cb8b7aa18dba0397deb96 Author: Karsten Loesing Date: Wed Nov 20 15:14:15 2019 +0100 Make inner class static. --- .../torproject/metrics/collector/bridgedescs/TarballTestBuilder.java| 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/src/test/java/org/torproject/metrics/collector/bridgedescs/TarballTestBuilder.java b/src/test/java/org/torproject/metrics/collector/bridgedescs/TarballTestBuilder.java index e2f4c40..08dca84 100644 --- a/src/test/java/org/torproject/metrics/collector/bridgedescs/TarballTestBuilder.java +++ b/src/test/java/org/torproject/metrics/collector/bridgedescs/TarballTestBuilder.java @@ -26,7 +26,7 @@ class TarballTestBuilder { /** Internal helper class to store details about a file contained in the * tarball. */ - private class TarballFile { + private static class TarballFile { /** Last modified time of the file. */ private long modifiedMillis; ___ tor-commits mailing list tor-commits@lists.torproject.org https://lists.torproject.org/cgi-bin/mailman/listinfo/tor-commits
[tor-commits] [collector/release] Tweak DownloaderTest a bit.
commit 5d5d2eba7fb1c1fda3a0a16fe1cb5daf84f8ec47 Author: Karsten Loesing Date: Wed Nov 20 12:00:15 2019 +0100 Tweak DownloaderTest a bit. --- .../metrics/collector/downloader/DownloaderTest.java | 15 ++- 1 file changed, 6 insertions(+), 9 deletions(-) diff --git a/src/test/java/org/torproject/metrics/collector/downloader/DownloaderTest.java b/src/test/java/org/torproject/metrics/collector/downloader/DownloaderTest.java index 0617940..aef8c0c 100644 --- a/src/test/java/org/torproject/metrics/collector/downloader/DownloaderTest.java +++ b/src/test/java/org/torproject/metrics/collector/downloader/DownloaderTest.java @@ -15,7 +15,6 @@ import org.junit.BeforeClass; import org.junit.Test; import java.io.ByteArrayInputStream; -import java.io.IOException; import java.net.HttpURLConnection; import java.net.SocketTimeoutException; import java.net.URL; @@ -42,21 +41,19 @@ public class DownloaderTest { */ private static class HttpUrlStreamHandler extends URLStreamHandler { -private Map connections = new HashMap(); +private Map connections = new HashMap<>(); @Override -protected URLConnection openConnection(URL url) throws IOException { - return connections.get(url); +protected URLConnection openConnection(URL url) { + return this.connections.get(url); } private void resetConnections() { - connections = new HashMap(); + this.connections = new HashMap<>(); } -private HttpUrlStreamHandler addConnection(URL url, -URLConnection urlConnection) { - connections.put(url, urlConnection); - return this; +private void addConnection(URL url, URLConnection urlConnection) { + this.connections.put(url, urlConnection); } } ___ tor-commits mailing list tor-commits@lists.torproject.org https://lists.torproject.org/cgi-bin/mailman/listinfo/tor-commits
[tor-commits] [collector/release] Fix minor JavaDoc issue.
commit 38234a37884b091ac3b06e027bc2a92c019f6f11 Author: Karsten Loesing Date: Wed Nov 20 11:47:48 2019 +0100 Fix minor JavaDoc issue. --- src/main/java/org/torproject/metrics/collector/conf/Key.java | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/src/main/java/org/torproject/metrics/collector/conf/Key.java b/src/main/java/org/torproject/metrics/collector/conf/Key.java index d59438b..d0b8a5a 100644 --- a/src/main/java/org/torproject/metrics/collector/conf/Key.java +++ b/src/main/java/org/torproject/metrics/collector/conf/Key.java @@ -89,7 +89,7 @@ public enum Key { private static Set keys; /** - * @param Class of key value. + * @param clazz Class of key value. */ Key(Class clazz) { this.clazz = clazz; ___ tor-commits mailing list tor-commits@lists.torproject.org https://lists.torproject.org/cgi-bin/mailman/listinfo/tor-commits
[tor-commits] [collector/release] Fix logging bug.
commit e25b39757cc464e0450f88e3779b9c987d003d58 Author: Karsten Loesing Date: Wed Nov 20 11:54:46 2019 +0100 Fix logging bug. --- src/main/java/org/torproject/metrics/collector/cron/Scheduler.java | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/src/main/java/org/torproject/metrics/collector/cron/Scheduler.java b/src/main/java/org/torproject/metrics/collector/cron/Scheduler.java index db10205..054f03f 100644 --- a/src/main/java/org/torproject/metrics/collector/cron/Scheduler.java +++ b/src/main/java/org/torproject/metrics/collector/cron/Scheduler.java @@ -58,7 +58,7 @@ public final class Scheduler implements ThreadFactory { try { gracePeriodMinutes = conf.getLong(Key.ShutdownGraceWaitMinutes); } catch (ConfigurationException ce) { - logger.warn("Cannot read grace period: {}", ce); + logger.warn("Cannot read grace period.", ce); gracePeriodMinutes = 10L; } List> runOnceMains = new ArrayList<>(); ___ tor-commits mailing list tor-commits@lists.torproject.org https://lists.torproject.org/cgi-bin/mailman/listinfo/tor-commits
[tor-commits] [collector/release] Use StandardCharsets.US_ASCII instead of "US-ASCII".
commit 7338d79d1abcfd04857a10818d076d6a7917649b Author: Karsten Loesing Date: Wed Nov 20 11:49:54 2019 +0100 Use StandardCharsets.US_ASCII instead of "US-ASCII". --- .../collector/bridgedescs/BridgeDescriptorParser.java| 3 ++- .../collector/bridgedescs/BridgeSnapshotReader.java | 3 ++- .../collector/bridgedescs/SanitizedBridgesWriter.java| 6 +++--- .../metrics/collector/relaydescs/ArchiveReader.java | 2 +- .../relaydescs/CachedRelayDescriptorReader.java | 7 --- .../collector/relaydescs/RelayDescriptorParser.java | 9 + .../collector/relaydescs/ReferenceCheckerTest.java | 16 7 files changed, 25 insertions(+), 21 deletions(-) diff --git a/src/main/java/org/torproject/metrics/collector/bridgedescs/BridgeDescriptorParser.java b/src/main/java/org/torproject/metrics/collector/bridgedescs/BridgeDescriptorParser.java index 04460c8..778d187 100644 --- a/src/main/java/org/torproject/metrics/collector/bridgedescs/BridgeDescriptorParser.java +++ b/src/main/java/org/torproject/metrics/collector/bridgedescs/BridgeDescriptorParser.java @@ -9,6 +9,7 @@ import org.slf4j.LoggerFactory; import java.io.BufferedReader; import java.io.IOException; import java.io.StringReader; +import java.nio.charset.StandardCharsets; public class BridgeDescriptorParser { @@ -33,7 +34,7 @@ public class BridgeDescriptorParser { String authorityFingerprint) { try { BufferedReader br = new BufferedReader(new StringReader( - new String(allData, "US-ASCII"))); + new String(allData, StandardCharsets.US_ASCII))); String line = br.readLine(); if (line == null) { return; 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 68ee28b..041807e 100644 --- a/src/main/java/org/torproject/metrics/collector/bridgedescs/BridgeSnapshotReader.java +++ b/src/main/java/org/torproject/metrics/collector/bridgedescs/BridgeSnapshotReader.java @@ -20,6 +20,7 @@ import java.io.FileReader; import java.io.FileWriter; import java.io.IOException; import java.io.StringReader; +import java.nio.charset.StandardCharsets; import java.util.Collections; import java.util.HashSet; import java.util.Set; @@ -139,7 +140,7 @@ public class BridgeSnapshotReader { } String fileDigest = Hex.encodeHexString(DigestUtils.sha1( allData)); -String ascii = new String(allData, "US-ASCII"); +String ascii = new String(allData, StandardCharsets.US_ASCII); BufferedReader br3 = new BufferedReader(new StringReader( ascii)); String firstLine; 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 921396c..45f2a1a 100644 --- a/src/main/java/org/torproject/metrics/collector/bridgedescs/SanitizedBridgesWriter.java +++ b/src/main/java/org/torproject/metrics/collector/bridgedescs/SanitizedBridgesWriter.java @@ -470,7 +470,7 @@ public class SanitizedBridgesWriter extends CollecTorMain { try { DescriptorBuilder scrubbed = new DescriptorBuilder(); BufferedReader br = new BufferedReader(new StringReader(new String( - data, "US-ASCII"))); + data, StandardCharsets.US_ASCII))); String line; String mostRecentDescPublished = null; byte[] fingerprintBytes = null; @@ -682,7 +682,7 @@ public class SanitizedBridgesWriter extends CollecTorMain { String masterKeyEd25519FromIdentityEd25519 = null; DescriptorBuilder scrubbed = new DescriptorBuilder(); try (BufferedReader br = new BufferedReader(new StringReader( -new String(data, "US-ASCII" { +new String(data, StandardCharsets.US_ASCII { scrubbed.append(Annotation.BridgeServer.toString()); String line; String masterKeyEd25519 = null; @@ -1112,7 +1112,7 @@ public class SanitizedBridgesWriter extends CollecTorMain { String masterKeyEd25519FromIdentityEd25519 = null; try { BufferedReader br = new BufferedReader(new StringReader(new String( - data, "US-ASCII"))); + data, StandardCharsets.US_ASCII))); String line; DescriptorBuilder scrubbed = null; String hashedBridgeIdentity; diff --git a/src/main/java/org/torproject/metrics/collector/relaydescs/ArchiveReader.java b/src/main/java/org/torproject/metrics/collector/relaydescs/ArchiveReader.java index fee46c9..3326833 100644 --- a/src/main/java/org/torproject/metrics/collector/relaydescs/ArchiveReader.java +++ b/src/main/java/org/torproject/metrics/collector/relaydescs/ArchiveReader.java @@ -184,7 +184,7 @@ public class ArchiveReader { bis.close();
[tor-commits] [translation/support-portal] https://gitweb.torproject.org/translation.git/commit/?h=support-portal
commit c55f9b762f22c8524b42a0112913ba93a5476fb5 Author: Translation commit bot Date: Wed Jan 15 22:23:56 2020 + https://gitweb.torproject.org/translation.git/commit/?h=support-portal --- contents+ru.po | 2 ++ 1 file changed, 2 insertions(+) diff --git a/contents+ru.po b/contents+ru.po index f2a6396707..94ed840d22 100644 --- a/contents+ru.po +++ b/contents+ru.po @@ -4255,6 +4255,8 @@ msgid "" "If you are unable to connect to an onion service, please see [I cannot reach" " X.onion!](../../onionservices/onionservices-3)." msgstr "" +"ÐÑли Ñ Ð²Ð°Ñ Ð¿ÑÐ¾Ð±Ð»ÐµÐ¼Ñ Ñ Ð´Ð¾ÑÑÑпом к onion-ÑеÑÑÑÑÑ, пожалÑйÑÑа, Ñм. ÑÑÑаниÑÑ [Я " +"не Ð¼Ð¾Ð³Ñ Ð¾ÑкÑÑÑÑ ÑеÑÑÑÑ .onion](../../onionservices/onionservices-3)." #: https//support.torproject.org/censorship/censorship-7/ #: (content/censorship/censorship-7/contents+en.lrquestion.title) ___ tor-commits mailing list tor-commits@lists.torproject.org https://lists.torproject.org/cgi-bin/mailman/listinfo/tor-commits
[tor-commits] [collector/master] Prepare for 1.14.0 release.
commit 3a9f05e01f1abe8315d25c780b3aab72376412f5 Author: Karsten Loesing Date: Wed Jan 15 23:07:02 2020 +0100 Prepare for 1.14.0 release. --- CHANGELOG.md | 2 +- build.xml| 2 +- 2 files changed, 2 insertions(+), 2 deletions(-) diff --git a/CHANGELOG.md b/CHANGELOG.md index 028755f..898338c 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -1,4 +1,4 @@ -# Changes in version 1.1?.? - 2019-1?-?? +# Changes in version 1.14.0 - 2020-01-15 * Medium changes - Give up on periodically checking the configuration file for diff --git a/build.xml b/build.xml index 312244f..5293d41 100644 --- a/build.xml +++ b/build.xml @@ -9,7 +9,7 @@ - + ___ tor-commits mailing list tor-commits@lists.torproject.org https://lists.torproject.org/cgi-bin/mailman/listinfo/tor-commits
[tor-commits] [collector/master] Bump version to 1.14.0-dev.
commit c75f0c781ec45b6b56aedea5738692d0404bdc8a Author: Karsten Loesing Date: Wed Jan 15 23:20:01 2020 +0100 Bump version to 1.14.0-dev. --- CHANGELOG.md | 3 +++ build.xml| 2 +- 2 files changed, 4 insertions(+), 1 deletion(-) diff --git a/CHANGELOG.md b/CHANGELOG.md index 898338c..d3088c3 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -1,3 +1,6 @@ +# Changes in version 1.1?.? - 2020-0?-?? + + # Changes in version 1.14.0 - 2020-01-15 * Medium changes diff --git a/build.xml b/build.xml index 5293d41..5d90b46 100644 --- a/build.xml +++ b/build.xml @@ -9,7 +9,7 @@ - + ___ tor-commits mailing list tor-commits@lists.torproject.org https://lists.torproject.org/cgi-bin/mailman/listinfo/tor-commits
[tor-commits] [collector/master] Update to metrics-lib 2.10.0.
commit 27e41ea7393c24bc72429915dd74c309c2583fa2 Author: Karsten Loesing Date: Wed Jan 15 22:58:17 2020 +0100 Update to metrics-lib 2.10.0. --- CHANGELOG.md | 1 + build.xml| 2 +- 2 files changed, 2 insertions(+), 1 deletion(-) diff --git a/CHANGELOG.md b/CHANGELOG.md index fb295d6..028755f 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -10,6 +10,7 @@ * Minor changes - Remove dependency on metrics-lib's internal package. + - Update to metrics-lib 2.10.0. # Changes in version 1.13.1 - 2019-11-11 diff --git a/build.xml b/build.xml index c75b69e..312244f 100644 --- a/build.xml +++ b/build.xml @@ -12,7 +12,7 @@ - + ___ tor-commits mailing list tor-commits@lists.torproject.org https://lists.torproject.org/cgi-bin/mailman/listinfo/tor-commits
[tor-commits] [collector/master] Remember processed files between module runs.
commit 741401a0daffda52fd1de81b29b276ed9e939ba5 Author: Karsten Loesing Date: Tue Jan 7 13:30:28 2020 +0100 Remember processed files between module runs. The three recently added modules to archive Snowflake statistics, bridge pool assignments, and BridgeDB metrics have in common that they process any input files regardless of whether they already processed them before. The problem is that the input files processed by these modules are either never removed (Snowflake statistics) or only removed manually by the operator (bridge pool assignments and BridgeDB statistics). The effect is that non-recent BridgeDB metrics and bridge pool assignments are being placed in the indexed/recent/ directory in the next execution after they are deleted for being older than 72 hours. The same would happen with Snowflake statistics after the operator removes them from the out/ directory. The fix is to use a state file containing file names of previously processed files and only process a file not found in there. This is the same approach as taken for bridge descriptor tarballs. --- CHANGELOG.md | 3 ++ .../bridgedb/BridgedbMetricsProcessor.java | 18 + .../BridgePoolAssignmentsProcessor.java| 19 + .../metrics/collector/cron/CollecTorMain.java | 47 ++ .../snowflake/SnowflakeStatsDownloader.java| 13 ++ 5 files changed, 100 insertions(+) diff --git a/CHANGELOG.md b/CHANGELOG.md index fe7937c..fb295d6 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -4,6 +4,9 @@ - Give up on periodically checking the configuration file for updates and reloading it in case of changes. - Avoid reprocessing webstats files. + - Remember processed files between module runs for archived + Snowflake statistics, bridge pool assignments, and BridgeDB + metrics. * Minor changes - Remove dependency on metrics-lib's internal package. diff --git a/src/main/java/org/torproject/metrics/collector/bridgedb/BridgedbMetricsProcessor.java b/src/main/java/org/torproject/metrics/collector/bridgedb/BridgedbMetricsProcessor.java index c6b939b..0073ee3 100644 --- a/src/main/java/org/torproject/metrics/collector/bridgedb/BridgedbMetricsProcessor.java +++ b/src/main/java/org/torproject/metrics/collector/bridgedb/BridgedbMetricsProcessor.java @@ -24,7 +24,9 @@ import java.nio.file.Paths; import java.time.Instant; import java.time.temporal.ChronoUnit; import java.util.Arrays; +import java.util.SortedSet; import java.util.Stack; +import java.util.TreeSet; public class BridgedbMetricsProcessor extends CollecTorMain { @@ -40,6 +42,11 @@ public class BridgedbMetricsProcessor extends CollecTorMain { private File inputDirectory; /** + * File containing file names of previously parsed BridgeDB metrics files. + */ + private Path parsedBridgedbMetricsFile; + + /** * Directory for writing BridgeDB statistics files to be archived in tarballs. */ private String outputPathName; @@ -88,11 +95,19 @@ public class BridgedbMetricsProcessor extends CollecTorMain { protected void startProcessing() throws ConfigurationException { logger.info("Starting BridgeDB statistics module of CollecTor."); this.initializeConfiguration(); +SortedSet previouslyProcessedFiles = this.readProcessedFiles( +this.parsedBridgedbMetricsFile); +SortedSet processedFiles = new TreeSet<>(); logger.info("Reading BridgeDB statistics files in {}.", this.inputDirectory); for (Descriptor descriptor : DescriptorSourceFactory.createDescriptorReader() .readDescriptors(this.inputDirectory)) { + processedFiles.add(descriptor.getDescriptorFile().toPath()); + if (previouslyProcessedFiles.contains( + descriptor.getDescriptorFile().toPath())) { +continue; + } if (descriptor instanceof BridgedbMetrics) { BridgedbMetrics bridgedbMetrics = (BridgedbMetrics) descriptor; BridgedbMetricsPersistence persistence @@ -114,6 +129,7 @@ public class BridgedbMetricsProcessor extends CollecTorMain { } logger.info("Cleaning up directory {} containing recent files.", this.recentPathName); +this.writeProcessedFiles(this.parsedBridgedbMetricsFile, processedFiles); this.cleanUpRsyncDirectory(); logger.info("Finished processing BridgeDB statistics file(s)."); } @@ -123,6 +139,8 @@ public class BridgedbMetricsProcessor extends CollecTorMain { * storing them in instance attributes. */ private void initializeConfiguration() throws ConfigurationException { +this.parsedBridgedbMetricsFile = this.config.getPath(Key.StatsPath) +.resolve("processed-bridgedb-metrics"); this.outputPathName = config.getPath(Key.OutputPath).toString(); this.recentPathName = config.getPath(Key.RecentPath).toString();
[tor-commits] [translation/support-portal] https://gitweb.torproject.org/translation.git/commit/?h=support-portal
commit 5882f97c617aca3ef72b58032c14d10b4c0ee4a7 Author: Translation commit bot Date: Wed Jan 15 21:54:11 2020 + https://gitweb.torproject.org/translation.git/commit/?h=support-portal --- contents+ru.po | 27 +++ 1 file changed, 19 insertions(+), 8 deletions(-) diff --git a/contents+ru.po b/contents+ru.po index 034940f35c..f2a6396707 100644 --- a/contents+ru.po +++ b/contents+ru.po @@ -4429,7 +4429,7 @@ msgstr "" #: https//support.torproject.org/operators/bandwidth-shaping/ #: (content/operators/bandwidth-shaping/contents+en.lrquestion.description) msgid "There are two options you can add to your torrc file:" -msgstr "" +msgstr "Ð Ñайле torrc можно ÑказаÑÑ ÑледÑÑÑие две опÑии:" #: https//support.torproject.org/operators/bandwidth-shaping/ #: (content/operators/bandwidth-shaping/contents+en.lrquestion.description) @@ -4449,7 +4449,7 @@ msgstr "" #: https//support.torproject.org/operators/bandwidth-shaping/ #: (content/operators/bandwidth-shaping/contents+en.lrquestion.description) msgid "The minimum BandwidthRate setting is 75 kilobytes per second." -msgstr "" +msgstr "ÐинималÑное знаÑение BandwidthRate â 75 килобайÑ/Ñ." #: https//support.torproject.org/operators/bandwidth-shaping/ #: (content/operators/bandwidth-shaping/contents+en.lrquestion.description) @@ -4525,11 +4525,13 @@ msgstr "" #: (content/operators/bandwidth-shaping/contents+en.lrquestion.description) msgid "Note that BandwidthRate and BandwidthBurst are in **Bytes**, not Bits." msgstr "" +"ÐбÑаÑиÑе внимание, ÑÑо BandwidthRate и BandwidthBurst ÑказÑваÑÑÑÑ Ð² " +"**байÑÐ°Ñ **, а не биÑÐ°Ñ ." #: https//support.torproject.org/operators/behind-nat/ #: (content/operators/behind-nat/contents+en.lrquestion.title) msgid "I'm behind a NAT/Firewall." -msgstr "" +msgstr "Я ÑабоÑÐ°Ñ Ð·Ð° NAT / бÑанмаÑÑÑом" #: https//support.torproject.org/operators/behind-nat/ #: (content/operators/behind-nat/contents+en.lrquestion.description) @@ -4697,7 +4699,7 @@ msgstr "" #: https//support.torproject.org/operators/exit-policies/ #: (content/operators/exit-policies/contents+en.lrquestion.title) msgid "I'd run a relay, but I don't want to deal with abuse issues." -msgstr "" +msgstr "Я Ð±Ñ Ð¾Ñганизовал Ñ ÑÐµÐ±Ñ Ñзел Tor, но не Ñ Ð¾ÑÑ ÑÑидиÑеÑÐºÐ¸Ñ Ð¿Ñоблем" #: https//support.torproject.org/operators/exit-policies/ #: (content/operators/exit-policies/contents+en.lrquestion.description) @@ -5157,7 +5159,7 @@ msgstr "" #: https//support.torproject.org/operators/offline-ed25519/ #: (content/operators/offline-ed25519/contents+en.lrquestion.description) msgid "In simple words, it works like this:" -msgstr "" +msgstr "ÐÑоÑе говоÑÑ, ÑÑо вÑглÑÐ´Ð¸Ñ Ñак:" #: https//support.torproject.org/operators/offline-ed25519/ #: (content/operators/offline-ed25519/contents+en.lrquestion.description) @@ -6376,6 +6378,8 @@ msgid "" "For reporting issues or feedback using email lists, we recommend that you do" " so on the one that is related to what you would like to report." msgstr "" +"ХоÑиÑе иÑполÑзоваÑÑ Ð´Ð»Ñ Ð¾Ð±ÑаÑной ÑвÑзи и ÑообÑений об оÑÐ¸Ð±ÐºÐ°Ñ ÑпиÑки email? " +"СовеÑÑем вÑбÑаÑÑ ÑпиÑок, коÑоÑÑй ÑооÑвеÑÑÑвÑÐµÑ Ð²Ð°ÑÐµÐ¼Ñ Ð²Ð¾Ð¿ÑоÑÑ." #: https//support.torproject.org/misc/bug-or-feedback/ #: (content/misc/bug-or-feedback/contents+en.lrquestion.description) @@ -6524,6 +6528,8 @@ msgid "" "You should not install any additional add-ons on Tor Browser because that " "can compromise some of its privacy features." msgstr "" +"Ðе ÑледÑÐµÑ ÑÑÑанавливаÑÑ Ð´ÑÑгие дополнениÑ. ÐÑо Ð¼Ð¾Ð¶ÐµÑ ÑÑ ÑдÑиÑÑ Ð½ÐµÐºÐ¾ÑоÑÑе " +"заÑиÑнÑе каÑеÑÑва Tor Browser." #: https//support.torproject.org/misc/glossary/ #: (content/misc/glossary/contents+en.lrquestion.description) @@ -6716,6 +6722,8 @@ msgid "" "CAPTCHAs are a challenge-response test used in computing to determine " "whether the user is human or not." msgstr "" +"ÐапÑа. ÐадаÑка-ÑеÑÑ Ð² ÑÑеÑе вÑÑиÑлений Ð´Ð»Ñ Ð¾Ð¿ÑеделениÑ, кем ÑвлÑеÑÑÑ " +"полÑзоваÑелÑ: живÑм Ñеловеком или ÑобоÑом." #: https//support.torproject.org/misc/glossary/ #: (content/misc/glossary/contents+en.lrquestion.description) @@ -7117,7 +7125,7 @@ msgstr "" #: https//support.torproject.org/misc/glossary/ #: (content/misc/glossary/contents+en.lrquestion.description) msgid "### GSoD" -msgstr "" +msgstr "### GSoD" #: https//support.torproject.org/misc/glossary/ #: (content/misc/glossary/contents+en.lrquestion.description) @@ -7260,7 +7268,7 @@ msgstr "## I" #: https//support.torproject.org/misc/glossary/ #:
[tor-commits] [metrics-lib/release] Remove unused methods.
commit 067add639b8cd260b1530a50c81e0e1d0a63e9b0 Author: Karsten Loesing Date: Thu Nov 21 09:55:12 2019 +0100 Remove unused methods. --- .../torproject/descriptor/impl/ParseHelper.java| 27 -- 1 file changed, 27 deletions(-) diff --git a/src/main/java/org/torproject/descriptor/impl/ParseHelper.java b/src/main/java/org/torproject/descriptor/impl/ParseHelper.java index 53f011c..cd73278 100644 --- a/src/main/java/org/torproject/descriptor/impl/ParseHelper.java +++ b/src/main/java/org/torproject/descriptor/impl/ParseHelper.java @@ -223,26 +223,6 @@ public class ParseHelper { ZoneOffset.UTC); } - protected static long parseDateAtIndex(String line, String[] parts, - int dateIndex) throws DescriptorParseException { -if (dateIndex >= parts.length) { - throw new DescriptorParseException("Line '" + line + "' does not " - + "contain a date at the expected position."); -} -long result = -1L; -try { - DateFormat dateFormat = getDateFormat("-MM-dd"); - result = dateFormat.parse(parts[dateIndex]).getTime(); -} catch (ParseException e) { - /* Leave result at -1L. */ -} -if (result < 0L || result / 1000L > (long) Integer.MAX_VALUE) { - throw new DescriptorParseException("Illegal date format in line '" - + line + "'."); -} -return result; - } - protected static String parseTwentyByteHexString(String line, String hexString) throws DescriptorParseException { return parseHexString(line, hexString, 40); @@ -330,18 +310,11 @@ public class ParseHelper { protected static void verifyThirtyTwoByteBase64String(String line, String base64String) throws DescriptorParseException { -convertThirtyTwoByteBase64StringToHex(line, base64String); - } - - private static String convertThirtyTwoByteBase64StringToHex(String line, - String base64String) throws DescriptorParseException { if (!thirtyTwoByteBase64Pattern.matcher(base64String).matches()) { throw new DescriptorParseException("'" + base64String + "' in line '" + line + "' is not a valid base64-encoded " + "32-byte value."); } -return Hex.encodeHexString(Base64.decodeBase64(base64String + "=")) -.toUpperCase(); } protected static String parseCommaSeparatedKeyIntegerValueList( ___ tor-commits mailing list tor-commits@lists.torproject.org https://lists.torproject.org/cgi-bin/mailman/listinfo/tor-commits
[tor-commits] [metrics-lib/release] Prepare for 2.10.0 release.
commit abcbd7c7a6b7a17d012cf1c8ac077fd73c9479e4 Author: Karsten Loesing Date: Wed Jan 15 22:09:27 2020 +0100 Prepare for 2.10.0 release. --- CHANGELOG.md | 2 +- build.xml| 2 +- 2 files changed, 2 insertions(+), 2 deletions(-) diff --git a/CHANGELOG.md b/CHANGELOG.md index 8d3ab12..5671a86 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -1,4 +1,4 @@ -# Changes in version 2.10.0 - 2019-1?-?? +# Changes in version 2.10.0 - 2020-01-15 * Medium changes - Parse three newly added lines in snowflake statistics files. diff --git a/build.xml b/build.xml index 9c3869a..bf615f7 100644 --- a/build.xml +++ b/build.xml @@ -7,7 +7,7 @@ - + ___ tor-commits mailing list tor-commits@lists.torproject.org https://lists.torproject.org/cgi-bin/mailman/listinfo/tor-commits
[tor-commits] [metrics-lib/release] Parse three new lines in snowflake statistics.
commit 5fb36b70c884073963af8e9cb3a37fa907eb35b8 Author: Karsten Loesing Date: Mon Dec 9 10:16:29 2019 +0100 Parse three new lines in snowflake statistics. Implements #32665. --- CHANGELOG.md | 5 ++- .../org/torproject/descriptor/SnowflakeStats.java | 30 + .../java/org/torproject/descriptor/impl/Key.java | 3 ++ .../descriptor/impl/SnowflakeStatsImpl.java| 51 +- .../descriptor/impl/SnowflakeStatsImplTest.java| 12 + 5 files changed, 98 insertions(+), 3 deletions(-) diff --git a/CHANGELOG.md b/CHANGELOG.md index ad91d5d..8d3ab12 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -1,4 +1,7 @@ -# Changes in version 2.?.? - 2019-1?-?? +# Changes in version 2.10.0 - 2019-1?-?? + + * Medium changes + - Parse three newly added lines in snowflake statistics files. * Minor changes - Fix a NullPointerException when parsing an invalid crypto block diff --git a/src/main/java/org/torproject/descriptor/SnowflakeStats.java b/src/main/java/org/torproject/descriptor/SnowflakeStats.java index 379a0f7..5c464df 100644 --- a/src/main/java/org/torproject/descriptor/SnowflakeStats.java +++ b/src/main/java/org/torproject/descriptor/SnowflakeStats.java @@ -52,6 +52,36 @@ public interface SnowflakeStats extends Descriptor { Optional snowflakeIpsTotal(); /** + * Return a count of the total number of unique IP addresses of snowflake + * proxies of type "standalone" that have polled. + * + * @return Count of the total number of unique IP addresses of snowflake + * proxies of type "standalone" that have polled. + * @since 2.10.0 + */ + Optional snowflakeIpsStandalone(); + + /** + * Return a count of the total number of unique IP addresses of snowflake + * proxies of type "badge" that have polled. + * + * @return Count of the total number of unique IP addresses of snowflake + * proxies of type "badge" that have polled. + * @since 2.10.0 + */ + Optional snowflakeIpsBadge(); + + /** + * Return a count of the total number of unique IP addresses of snowflake + * proxies of type "webext" that have polled. + * + * @return Count of the total number of unique IP addresses of snowflake + * proxies of type "webext" that have polled. + * @since 2.10.0 + */ + Optional snowflakeIpsWebext(); + + /** * Return a count of the number of times a proxy has polled but received no * client offer, rounded up to the nearest multiple of 8. * diff --git a/src/main/java/org/torproject/descriptor/impl/Key.java b/src/main/java/org/torproject/descriptor/impl/Key.java index ac12992..10839dd 100644 --- a/src/main/java/org/torproject/descriptor/impl/Key.java +++ b/src/main/java/org/torproject/descriptor/impl/Key.java @@ -139,7 +139,10 @@ public enum Key { SIGNING_KEY("signing-key"), SNOWFLAKE_IDLE_COUNT("snowflake-idle-count"), SNOWFLAKE_IPS("snowflake-ips"), + SNOWFLAKE_IPS_BADGE("snowflake-ips-badge"), + SNOWFLAKE_IPS_STANDALONE("snowflake-ips-standalone"), SNOWFLAKE_IPS_TOTAL("snowflake-ips-total"), + SNOWFLAKE_IPS_WEBEXT("snowflake-ips-webext"), SNOWFLAKE_STATS_END("snowflake-stats-end"), TRANSPORT("transport"), TUNNELLED_DIR_SERVER("tunnelled-dir-server"), diff --git a/src/main/java/org/torproject/descriptor/impl/SnowflakeStatsImpl.java b/src/main/java/org/torproject/descriptor/impl/SnowflakeStatsImpl.java index 9922756..daaa933 100644 --- a/src/main/java/org/torproject/descriptor/impl/SnowflakeStatsImpl.java +++ b/src/main/java/org/torproject/descriptor/impl/SnowflakeStatsImpl.java @@ -20,8 +20,10 @@ public class SnowflakeStatsImpl extends DescriptorImpl implements SnowflakeStats { private static final Set atMostOnce = EnumSet.of( - Key.SNOWFLAKE_IPS, Key.SNOWFLAKE_IPS_TOTAL, Key.SNOWFLAKE_IDLE_COUNT, - Key.CLIENT_DENIED_COUNT, Key.CLIENT_SNOWFLAKE_MATCH_COUNT); + Key.SNOWFLAKE_IPS, Key.SNOWFLAKE_IPS_TOTAL, Key.SNOWFLAKE_IPS_STANDALONE, + Key.SNOWFLAKE_IPS_BADGE, Key.SNOWFLAKE_IPS_WEBEXT, + Key.SNOWFLAKE_IDLE_COUNT, Key.CLIENT_DENIED_COUNT, + Key.CLIENT_SNOWFLAKE_MATCH_COUNT); private static final Set exactlyOnce = EnumSet.of( Key.SNOWFLAKE_STATS_END); @@ -61,6 +63,15 @@ public class SnowflakeStatsImpl extends DescriptorImpl case SNOWFLAKE_IPS_TOTAL: this.parseSnowflakeIpsTotal(line, parts); break; +case SNOWFLAKE_IPS_STANDALONE: + this.parseSnowflakeIpsStandalone(line, parts); + break; +case SNOWFLAKE_IPS_BADGE: + this.parseSnowflakeIpsBadge(line, parts); + break; +case SNOWFLAKE_IPS_WEBEXT: + this.parseSnowflakeIpsWebext(line, parts); + break; case SNOWFLAKE_IDLE_COUNT: this.parseSnowflakeIdleCount(line, parts); break; @@ -104,6 +115,21 @@ public class SnowflakeStatsImpl extends DescriptorImpl this.snowflakeIpsTotal =
[tor-commits] [metrics-lib/release] Update copyright to 2020.
commit 0db8a5787ce3ff2cd31be957592c1ce0e38e12ce Author: Karsten Loesing Date: Wed Jan 15 21:29:57 2020 +0100 Update copyright to 2020. --- LICENSE | 2 +- src/main/java/org/torproject/descriptor/BandwidthFile.java | 2 +- src/main/java/org/torproject/descriptor/BandwidthHistory.java | 2 +- src/main/java/org/torproject/descriptor/BridgeExtraInfoDescriptor.java | 2 +- src/main/java/org/torproject/descriptor/BridgeNetworkStatus.java| 2 +- src/main/java/org/torproject/descriptor/BridgePoolAssignment.java | 2 +- src/main/java/org/torproject/descriptor/BridgeServerDescriptor.java | 2 +- src/main/java/org/torproject/descriptor/BridgedbMetrics.java| 2 +- src/main/java/org/torproject/descriptor/Descriptor.java | 2 +- src/main/java/org/torproject/descriptor/DescriptorCollector.java| 2 +- src/main/java/org/torproject/descriptor/DescriptorParseException.java | 2 +- src/main/java/org/torproject/descriptor/DescriptorParser.java | 2 +- src/main/java/org/torproject/descriptor/DescriptorReader.java | 2 +- src/main/java/org/torproject/descriptor/DescriptorSourceFactory.java| 2 +- src/main/java/org/torproject/descriptor/DirSourceEntry.java | 2 +- src/main/java/org/torproject/descriptor/DirectoryKeyCertificate.java| 2 +- src/main/java/org/torproject/descriptor/DirectorySignature.java | 2 +- src/main/java/org/torproject/descriptor/ExitList.java | 2 +- src/main/java/org/torproject/descriptor/ExtraInfoDescriptor.java| 2 +- src/main/java/org/torproject/descriptor/LogDescriptor.java | 2 +- src/main/java/org/torproject/descriptor/Method.java | 2 +- src/main/java/org/torproject/descriptor/Microdescriptor.java| 2 +- src/main/java/org/torproject/descriptor/NetworkStatusEntry.java | 2 +- src/main/java/org/torproject/descriptor/RelayDirectory.java | 2 +- src/main/java/org/torproject/descriptor/RelayExtraInfoDescriptor.java | 2 +- src/main/java/org/torproject/descriptor/RelayNetworkStatus.java | 2 +- .../java/org/torproject/descriptor/RelayNetworkStatusConsensus.java | 2 +- src/main/java/org/torproject/descriptor/RelayNetworkStatusVote.java | 2 +- src/main/java/org/torproject/descriptor/RelayServerDescriptor.java | 2 +- src/main/java/org/torproject/descriptor/RouterStatusEntry.java | 2 +- src/main/java/org/torproject/descriptor/ServerDescriptor.java | 2 +- src/main/java/org/torproject/descriptor/SnowflakeStats.java | 2 +- src/main/java/org/torproject/descriptor/TorperfResult.java | 2 +- src/main/java/org/torproject/descriptor/UnparseableDescriptor.java | 2 +- src/main/java/org/torproject/descriptor/WebServerAccessLog.java | 2 +- src/main/java/org/torproject/descriptor/impl/BandwidthFileImpl.java | 2 +- src/main/java/org/torproject/descriptor/impl/BandwidthHistoryImpl.java | 2 +- src/main/java/org/torproject/descriptor/impl/BlockingIteratorImpl.java | 2 +- .../org/torproject/descriptor/impl/BridgeExtraInfoDescriptorImpl.java | 2 +- .../java/org/torproject/descriptor/impl/BridgeNetworkStatusImpl.java| 2 +- .../java/org/torproject/descriptor/impl/BridgePoolAssignmentImpl.java | 2 +- .../java/org/torproject/descriptor/impl/BridgeServerDescriptorImpl.java | 2 +- src/main/java/org/torproject/descriptor/impl/BridgedbMetricsImpl.java | 2 +- src/main/java/org/torproject/descriptor/impl/DescriptorImpl.java| 2 +- src/main/java/org/torproject/descriptor/impl/DescriptorParserImpl.java | 2 +- src/main/java/org/torproject/descriptor/impl/DescriptorReaderImpl.java | 2 +- src/main/java/org/torproject/descriptor/impl/DirSourceEntryImpl.java| 2 +- .../org/torproject/descriptor/impl/DirectoryKeyCertificateImpl.java | 2 +- .../java/org/torproject/descriptor/impl/DirectorySignatureImpl.java | 2 +- src/main/java/org/torproject/descriptor/impl/ExitListEntryImpl.java | 2 +- src/main/java/org/torproject/descriptor/impl/ExitListImpl.java | 2 +- .../java/org/torproject/descriptor/impl/ExtraInfoDescriptorImpl.java| 2 +- src/main/java/org/torproject/descriptor/impl/KeyValueMap.java | 2 +- src/main/java/org/torproject/descriptor/impl/MicrodescriptorImpl.java | 2 +- .../java/org/torproject/descriptor/impl/NetworkStatusEntryImpl.java | 2 +- src/main/java/org/torproject/descriptor/impl/NetworkStatusImpl.java | 2 +- src/main/java/org/torproject/descriptor/impl/ParseHelper.java | 2 +- src/main/java/org/torproject/descriptor/impl/RelayDirectoryImpl.java| 2 +- .../org/torproject/descriptor/impl/RelayExtraInfoDescriptorImpl.java| 2 +- .../org/torproject/descriptor/impl/RelayNetworkStatusConsensusImpl.java | 2 +-
[tor-commits] [metrics-lib/release] Properly mark deprecated method with annotation.
commit 9c7e1b9a54aa3f0df655864768254afd63acc0cb Author: Karsten Loesing Date: Wed Nov 20 17:40:08 2019 +0100 Properly mark deprecated method with annotation. --- src/main/java/org/torproject/descriptor/ServerDescriptor.java | 1 + src/main/java/org/torproject/descriptor/impl/ServerDescriptorImpl.java | 1 + 2 files changed, 2 insertions(+) diff --git a/src/main/java/org/torproject/descriptor/ServerDescriptor.java b/src/main/java/org/torproject/descriptor/ServerDescriptor.java index 1867a01..9ecd46b 100644 --- a/src/main/java/org/torproject/descriptor/ServerDescriptor.java +++ b/src/main/java/org/torproject/descriptor/ServerDescriptor.java @@ -323,6 +323,7 @@ public interface ServerDescriptor extends Descriptor { * * @since 1.0.0 */ + @Deprecated List getHiddenServiceDirVersions(); /** diff --git a/src/main/java/org/torproject/descriptor/impl/ServerDescriptorImpl.java b/src/main/java/org/torproject/descriptor/impl/ServerDescriptorImpl.java index 7102335..f33e2e8 100644 --- a/src/main/java/org/torproject/descriptor/impl/ServerDescriptorImpl.java +++ b/src/main/java/org/torproject/descriptor/impl/ServerDescriptorImpl.java @@ -848,6 +848,7 @@ public abstract class ServerDescriptorImpl extends DescriptorImpl } @Override + @Deprecated public List getHiddenServiceDirVersions() { return this.hiddenServiceDir ? null : Collections.singletonList(2); } ___ tor-commits mailing list tor-commits@lists.torproject.org https://lists.torproject.org/cgi-bin/mailman/listinfo/tor-commits
[tor-commits] [metrics-lib/release] Remove unused suppression.
commit b3b12366411eaba769dfc95b4edd64c4e534487b Author: Karsten Loesing Date: Wed Nov 20 12:10:40 2019 +0100 Remove unused suppression. --- src/main/java/org/torproject/descriptor/impl/ServerDescriptorImpl.java | 1 - 1 file changed, 1 deletion(-) diff --git a/src/main/java/org/torproject/descriptor/impl/ServerDescriptorImpl.java b/src/main/java/org/torproject/descriptor/impl/ServerDescriptorImpl.java index 3df90cc..995909c 100644 --- a/src/main/java/org/torproject/descriptor/impl/ServerDescriptorImpl.java +++ b/src/main/java/org/torproject/descriptor/impl/ServerDescriptorImpl.java @@ -844,7 +844,6 @@ public abstract class ServerDescriptorImpl extends DescriptorImpl } @Override - @SuppressWarnings("deprecation") public List getHiddenServiceDirVersions() { return this.hiddenServiceDir ? null : Collections.singletonList(2); } ___ tor-commits mailing list tor-commits@lists.torproject.org https://lists.torproject.org/cgi-bin/mailman/listinfo/tor-commits
[tor-commits] [metrics-lib/release] Remove final modifier from static methods.
commit 3554a91d813352bdefd5e5b10fc1c0891b4b753a Author: Karsten Loesing Date: Wed Nov 20 16:43:07 2019 +0100 Remove final modifier from static methods. --- .../java/org/torproject/descriptor/DescriptorSourceFactory.java | 8 1 file changed, 4 insertions(+), 4 deletions(-) diff --git a/src/main/java/org/torproject/descriptor/DescriptorSourceFactory.java b/src/main/java/org/torproject/descriptor/DescriptorSourceFactory.java index 55fbcf3..80ea524 100644 --- a/src/main/java/org/torproject/descriptor/DescriptorSourceFactory.java +++ b/src/main/java/org/torproject/descriptor/DescriptorSourceFactory.java @@ -103,7 +103,7 @@ public final class DescriptorSourceFactory { * * @since 1.0.0 */ - public static final DescriptorParser createDescriptorParser() { + public static DescriptorParser createDescriptorParser() { return (DescriptorParser) retrieve(PARSER_PROPERTY); } @@ -113,7 +113,7 @@ public final class DescriptorSourceFactory { * * @since 1.0.0 */ - public static final DescriptorReader createDescriptorReader() { + public static DescriptorReader createDescriptorReader() { return (DescriptorReader) retrieve(READER_PROPERTY); } @@ -123,11 +123,11 @@ public final class DescriptorSourceFactory { * * @since 1.0.0 */ - public static final DescriptorCollector createDescriptorCollector() { + public static DescriptorCollector createDescriptorCollector() { return (DescriptorCollector) retrieve(COLLECTOR_PROPERTY); } - private static final Object retrieve(String type) { + private static Object retrieve(String type) { Object object; String clazzName = null; try { ___ tor-commits mailing list tor-commits@lists.torproject.org https://lists.torproject.org/cgi-bin/mailman/listinfo/tor-commits
[tor-commits] [metrics-lib/release] Remove unused constructor.
commit a8e0cb7ab75f538db0a558075c4c75dc49ddc504 Author: Karsten Loesing Date: Wed Nov 20 17:01:53 2019 +0100 Remove unused constructor. --- .../java/org/torproject/descriptor/impl/BlockingIteratorImpl.java | 4 1 file changed, 4 deletions(-) diff --git a/src/main/java/org/torproject/descriptor/impl/BlockingIteratorImpl.java b/src/main/java/org/torproject/descriptor/impl/BlockingIteratorImpl.java index 0c171ed..dbd518e 100644 --- a/src/main/java/org/torproject/descriptor/impl/BlockingIteratorImpl.java +++ b/src/main/java/org/torproject/descriptor/impl/BlockingIteratorImpl.java @@ -19,10 +19,6 @@ public class BlockingIteratorImpl implements Iterator, Iterable { /* Maximum number of elements in queue. */ private int maxQueueSize = 100; - /* Restrict object construction to the impl package. */ - protected BlockingIteratorImpl() { - } - /* Create instance with maximum queue size. */ protected BlockingIteratorImpl(Integer maxQueueSize) { if (null != maxQueueSize) { ___ tor-commits mailing list tor-commits@lists.torproject.org https://lists.torproject.org/cgi-bin/mailman/listinfo/tor-commits
[tor-commits] [metrics-lib/release] Fix NPE when parsing invalid crypto blocks.
commit d6e9a0d75eb70500aa05097e3d09f4c77d37ddbb Author: Karsten Loesing Date: Wed Nov 20 17:19:44 2019 +0100 Fix NPE when parsing invalid crypto blocks. --- CHANGELOG.md | 4 .../descriptor/impl/DirectoryKeyCertificateImpl.java | 4 .../org/torproject/descriptor/impl/DirectorySignatureImpl.java | 4 .../torproject/descriptor/impl/ExtraInfoDescriptorImpl.java| 4 .../org/torproject/descriptor/impl/MicrodescriptorImpl.java| 4 .../org/torproject/descriptor/impl/RelayDirectoryImpl.java | 8 .../org/torproject/descriptor/impl/RelayNetworkStatusImpl.java | 8 .../torproject/descriptor/impl/RelayNetworkStatusVoteImpl.java | 4 .../org/torproject/descriptor/impl/ServerDescriptorImpl.java | 4 .../descriptor/impl/ExtraInfoDescriptorImplTest.java | 10 ++ .../torproject/descriptor/impl/ServerDescriptorImplTest.java | 10 ++ 11 files changed, 64 insertions(+) diff --git a/CHANGELOG.md b/CHANGELOG.md index 1cf59e0..568f115 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -1,5 +1,9 @@ # Changes in version 2.?.? - 2019-1?-?? + * Minor changes + - Fix a NullPointerException when parsing an invalid crypto block + starting with "-END " rather than "-BEGIN ". + # Changes in version 2.9.1 - 2019-11-09 diff --git a/src/main/java/org/torproject/descriptor/impl/DirectoryKeyCertificateImpl.java b/src/main/java/org/torproject/descriptor/impl/DirectoryKeyCertificateImpl.java index a9268ce..8ae1ed7 100644 --- a/src/main/java/org/torproject/descriptor/impl/DirectoryKeyCertificateImpl.java +++ b/src/main/java/org/torproject/descriptor/impl/DirectoryKeyCertificateImpl.java @@ -80,6 +80,10 @@ public class DirectoryKeyCertificateImpl extends DescriptorImpl crypto.append(line).append(NL); break; case CRYPTO_END: + if (null == crypto) { +throw new DescriptorParseException(Key.CRYPTO_END + " before " ++ Key.CRYPTO_BEGIN); + } crypto.append(line).append(NL); String cryptoString = crypto.toString(); crypto = null; diff --git a/src/main/java/org/torproject/descriptor/impl/DirectorySignatureImpl.java b/src/main/java/org/torproject/descriptor/impl/DirectorySignatureImpl.java index 6430e7f..248d546 100644 --- a/src/main/java/org/torproject/descriptor/impl/DirectorySignatureImpl.java +++ b/src/main/java/org/torproject/descriptor/impl/DirectorySignatureImpl.java @@ -70,6 +70,10 @@ public class DirectorySignatureImpl implements DirectorySignature { crypto.append(line).append(NL); break; case CRYPTO_END: + if (null == crypto) { +throw new DescriptorParseException(Key.CRYPTO_END + " before " ++ Key.CRYPTO_BEGIN); + } crypto.append(line).append(NL); String cryptoString = crypto.toString(); crypto = null; diff --git a/src/main/java/org/torproject/descriptor/impl/ExtraInfoDescriptorImpl.java b/src/main/java/org/torproject/descriptor/impl/ExtraInfoDescriptorImpl.java index 7053ced..17ac6e5 100644 --- a/src/main/java/org/torproject/descriptor/impl/ExtraInfoDescriptorImpl.java +++ b/src/main/java/org/torproject/descriptor/impl/ExtraInfoDescriptorImpl.java @@ -242,6 +242,10 @@ public abstract class ExtraInfoDescriptorImpl extends DescriptorImpl cryptoLines.add(line); break; case CRYPTO_END: + if (null == cryptoLines) { +throw new DescriptorParseException(Key.CRYPTO_END + " before " ++ Key.CRYPTO_BEGIN); + } cryptoLines.add(line); StringBuilder sb = new StringBuilder(); for (String cryptoLine : cryptoLines) { diff --git a/src/main/java/org/torproject/descriptor/impl/MicrodescriptorImpl.java b/src/main/java/org/torproject/descriptor/impl/MicrodescriptorImpl.java index dc9795c..47028bd 100644 --- a/src/main/java/org/torproject/descriptor/impl/MicrodescriptorImpl.java +++ b/src/main/java/org/torproject/descriptor/impl/MicrodescriptorImpl.java @@ -71,6 +71,10 @@ public class MicrodescriptorImpl extends DescriptorImpl crypto.append(line).append(NL); break; case CRYPTO_END: + if (null == crypto) { +throw new DescriptorParseException(Key.CRYPTO_END + " before " ++ Key.CRYPTO_BEGIN); + } crypto.append(line).append(NL); String cryptoString = crypto.toString(); crypto = null; diff --git a/src/main/java/org/torproject/descriptor/impl/RelayDirectoryImpl.java b/src/main/java/org/torproject/descriptor/impl/RelayDirectoryImpl.java index 6370e87..55303d2 100644 --- a/src/main/java/org/torproject/descriptor/impl/RelayDirectoryImpl.java +++ b/src/main/java/org/torproject/descriptor/impl/RelayDirectoryImpl.java @@ -125,6 +125,10 @@
[tor-commits] [metrics-lib/release] Properly parse hostname in v2 network status.
commit ca37fd616c1e6464829e4ef64d6252944ccb69f5 Author: Karsten Loesing Date: Wed Nov 20 17:53:54 2019 +0100 Properly parse hostname in v2 network status. --- CHANGELOG.md| 2 ++ .../java/org/torproject/descriptor/impl/RelayNetworkStatusImpl.java | 1 + .../java/org/torproject/descriptor/impl/RelayNetworkStatusImplTest.java | 1 + 3 files changed, 4 insertions(+) diff --git a/CHANGELOG.md b/CHANGELOG.md index 568f115..ad91d5d 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -3,6 +3,8 @@ * Minor changes - Fix a NullPointerException when parsing an invalid crypto block starting with "-END " rather than "-BEGIN ". + - Properly parse an authority's hostname from the "dir-source" line + in a v2 network status. # Changes in version 2.9.1 - 2019-11-09 diff --git a/src/main/java/org/torproject/descriptor/impl/RelayNetworkStatusImpl.java b/src/main/java/org/torproject/descriptor/impl/RelayNetworkStatusImpl.java index 1af9503..9860df0 100644 --- a/src/main/java/org/torproject/descriptor/impl/RelayNetworkStatusImpl.java +++ b/src/main/java/org/torproject/descriptor/impl/RelayNetworkStatusImpl.java @@ -181,6 +181,7 @@ public class RelayNetworkStatusImpl extends NetworkStatusImpl throw new DescriptorParseException("Illegal hostname in '" + line + "'."); } +this.hostname = parts[1]; this.address = ParseHelper.parseIpv4Address(line, parts[2]); this.dirPort = ParseHelper.parsePort(line, parts[3]); } diff --git a/src/test/java/org/torproject/descriptor/impl/RelayNetworkStatusImplTest.java b/src/test/java/org/torproject/descriptor/impl/RelayNetworkStatusImplTest.java index 9ecf391..80d46da 100644 --- a/src/test/java/org/torproject/descriptor/impl/RelayNetworkStatusImplTest.java +++ b/src/test/java/org/torproject/descriptor/impl/RelayNetworkStatusImplTest.java @@ -60,6 +60,7 @@ public class RelayNetworkStatusImplTest { new int[] { 0, statusBytes.length }, null); assertEquals(rnsi.getContactLine(), "1024R/8D56913D Alex de Joode "); +assertEquals("194.109.206.212", rnsi.getHostname()); } } ___ tor-commits mailing list tor-commits@lists.torproject.org https://lists.torproject.org/cgi-bin/mailman/listinfo/tor-commits
[tor-commits] [metrics-lib/release] Simplify switch/case statement.
commit a18c70b33e89ac6a9c241860b15e46a1b54d0ea6 Author: Karsten Loesing Date: Wed Nov 20 12:07:01 2019 +0100 Simplify switch/case statement. --- src/main/java/org/torproject/descriptor/impl/ExitListImpl.java | 4 1 file changed, 4 deletions(-) diff --git a/src/main/java/org/torproject/descriptor/impl/ExitListImpl.java b/src/main/java/org/torproject/descriptor/impl/ExitListImpl.java index bd5b2b6..b1ffa67 100644 --- a/src/main/java/org/torproject/descriptor/impl/ExitListImpl.java +++ b/src/main/java/org/torproject/descriptor/impl/ExitListImpl.java @@ -77,11 +77,7 @@ public class ExitListImpl extends DescriptorImpl implements ExitList { sb.append(line).append(ExitList.EOL); break; case "Published": - sb.append(line).append(ExitList.EOL); - break; case "LastStatus": - sb.append(line).append(ExitList.EOL); - break; case "ExitAddress": sb.append(line).append(ExitList.EOL); break; ___ tor-commits mailing list tor-commits@lists.torproject.org https://lists.torproject.org/cgi-bin/mailman/listinfo/tor-commits
[tor-commits] [metrics-lib/release] Simplify method call.
commit 5af3f60993a5ccf68545ca83a485e966a66343a9 Author: Karsten Loesing Date: Wed Nov 20 12:07:49 2019 +0100 Simplify method call. --- src/main/java/org/torproject/descriptor/impl/KeyValueMap.java | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/src/main/java/org/torproject/descriptor/impl/KeyValueMap.java b/src/main/java/org/torproject/descriptor/impl/KeyValueMap.java index 08ad84e..6cb4680 100644 --- a/src/main/java/org/torproject/descriptor/impl/KeyValueMap.java +++ b/src/main/java/org/torproject/descriptor/impl/KeyValueMap.java @@ -20,7 +20,7 @@ public class KeyValueMap extends TreeMap { private void putPair(String key, T value, String line, String listElement, int keyLength) throws DescriptorParseException { -if (this.keySet().contains(key)) { +if (this.containsKey(key)) { throw new DescriptorParseException("Line '" + line + "' contains " + "duplicate key '" + key + "'."); } ___ tor-commits mailing list tor-commits@lists.torproject.org https://lists.torproject.org/cgi-bin/mailman/listinfo/tor-commits
[tor-commits] [metrics-lib/release] Bump version to 2.9.1-dev.
commit 87d998c542688c7e465486de24ef07c1cbece0b0 Author: Karsten Loesing Date: Sat Nov 9 12:30:02 2019 +0100 Bump version to 2.9.1-dev. --- CHANGELOG.md | 3 +++ build.xml| 2 +- 2 files changed, 4 insertions(+), 1 deletion(-) diff --git a/CHANGELOG.md b/CHANGELOG.md index 2fd361d..1cf59e0 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -1,3 +1,6 @@ +# Changes in version 2.?.? - 2019-1?-?? + + # Changes in version 2.9.1 - 2019-11-09 * Minor changes diff --git a/build.xml b/build.xml index 0f8ac3c..9c3869a 100644 --- a/build.xml +++ b/build.xml @@ -7,7 +7,7 @@ - + ___ tor-commits mailing list tor-commits@lists.torproject.org https://lists.torproject.org/cgi-bin/mailman/listinfo/tor-commits
[tor-commits] [metrics-lib/release] Fix possible NPE in tests.
commit f5f6e5971c9f5d42fa9698526d8716a0f13deebc Author: Karsten Loesing Date: Wed Nov 20 17:34:59 2019 +0100 Fix possible NPE in tests. --- .../java/org/torproject/descriptor/impl/ServerDescriptorImplTest.java | 3 +++ 1 file changed, 3 insertions(+) diff --git a/src/test/java/org/torproject/descriptor/impl/ServerDescriptorImplTest.java b/src/test/java/org/torproject/descriptor/impl/ServerDescriptorImplTest.java index bd1d1d2..8e4424c 100644 --- a/src/test/java/org/torproject/descriptor/impl/ServerDescriptorImplTest.java +++ b/src/test/java/org/torproject/descriptor/impl/ServerDescriptorImplTest.java @@ -453,6 +453,9 @@ public class ServerDescriptorImplTest { private ServerDescriptorImpl buildDescriptor() throws DescriptorParseException { byte[] descriptorBytes = this.buildDescriptorBytes(); + if (null == descriptorBytes) { +descriptorBytes = new byte[0]; + } return new RelayServerDescriptorImpl(descriptorBytes, new int[] { 0, descriptorBytes.length }, null); } ___ tor-commits mailing list tor-commits@lists.torproject.org https://lists.torproject.org/cgi-bin/mailman/listinfo/tor-commits
[tor-commits] [metrics-lib/release] Use StandardCharsets.US_ASCII instead of "US-ASCII".
commit 75e1d31465aceb31c81f86575dc71abdab77095a Author: Karsten Loesing Date: Wed Nov 20 12:04:29 2019 +0100 Use StandardCharsets.US_ASCII instead of "US-ASCII". --- .../java/org/torproject/descriptor/impl/ExitListImplTest.java| 9 + .../org/torproject/descriptor/impl/TorperfResultImplTest.java| 8 2 files changed, 9 insertions(+), 8 deletions(-) diff --git a/src/test/java/org/torproject/descriptor/impl/ExitListImplTest.java b/src/test/java/org/torproject/descriptor/impl/ExitListImplTest.java index 0b53250..44a868b 100644 --- a/src/test/java/org/torproject/descriptor/impl/ExitListImplTest.java +++ b/src/test/java/org/torproject/descriptor/impl/ExitListImplTest.java @@ -12,6 +12,7 @@ import org.junit.Rule; import org.junit.Test; import org.junit.rules.ExpectedException; +import java.nio.charset.StandardCharsets; import java.util.Map; public class ExitListImplTest { @@ -22,7 +23,7 @@ public class ExitListImplTest { @Test public void testAnnotatedInput() throws Exception { ExitListImpl result = new ExitListImpl((tordnselAnnotation + input) -.getBytes("US-ASCII"), null, fileName); +.getBytes(StandardCharsets.US_ASCII), null, fileName); assertEquals("Expected one annotation.", 1, result.getAnnotations().size()); assertEquals(tordnselAnnotation.substring(0, 18), @@ -38,7 +39,7 @@ public class ExitListImplTest { public void testMultipleExitAddresses() throws Exception { ExitListImpl result = new ExitListImpl( (tordnselAnnotation + multiExitAddressInput) -.getBytes("US-ASCII"), null, fileName); +.getBytes(StandardCharsets.US_ASCII), null, fileName); assertTrue("Unrecognized lines: " + result.getUnrecognizedLines(), result.getUnrecognizedLines().isEmpty()); Map map = result.getEntries() @@ -54,7 +55,7 @@ public class ExitListImplTest { this.thrown.expect(DescriptorParseException.class); this.thrown.expectMessage("Missing 'ExitAddress' line in exit list entry."); new ExitListImpl((tordnselAnnotation + insufficientInput[0]) -.getBytes("US-ASCII"), null, fileName); +.getBytes(StandardCharsets.US_ASCII), null, fileName); } @Test @@ -62,7 +63,7 @@ public class ExitListImplTest { this.thrown.expect(DescriptorParseException.class); this.thrown.expectMessage("Missing 'Published' line in exit list entry."); new ExitListImpl((tordnselAnnotation + insufficientInput[1]) -.getBytes("US-ASCII"), null, fileName); +.getBytes(StandardCharsets.US_ASCII), null, fileName); } private static final String tordnselAnnotation = "@type tordnsel 1.0\n"; diff --git a/src/test/java/org/torproject/descriptor/impl/TorperfResultImplTest.java b/src/test/java/org/torproject/descriptor/impl/TorperfResultImplTest.java index 2af458f..b56490a 100644 --- a/src/test/java/org/torproject/descriptor/impl/TorperfResultImplTest.java +++ b/src/test/java/org/torproject/descriptor/impl/TorperfResultImplTest.java @@ -22,7 +22,7 @@ public class TorperfResultImplTest { public void testAnnotatedInput() throws Exception { TorperfResultImpl result = (TorperfResultImpl) (TorperfResultImpl.parseTorperfResults((torperfAnnotation + input) -.getBytes("US-ASCII"), null).get(0)); +.getBytes(StandardCharsets.US_ASCII), null).get(0)); assertEquals("Expected one annotation.", 1, result.getAnnotations().size()); assertEquals(torperfAnnotation.substring(0, 17), @@ -37,7 +37,7 @@ public class TorperfResultImplTest { @Test public void testPartiallyAnnotatedInput() throws Exception { byte[] asciiBytes = (torperfAnnotation -+ input + input + input).getBytes("US-ASCII"); ++ input + input + input).getBytes(StandardCharsets.US_ASCII); List result = TorperfResultImpl.parseTorperfResults( asciiBytes, null); assertEquals("Expected one annotation.", 1, @@ -53,7 +53,7 @@ public class TorperfResultImplTest { public void testAllAnnotatedInput() throws Exception { byte[] asciiBytes = (torperfAnnotation + input + torperfAnnotation + input -+ torperfAnnotation + input).getBytes("US-ASCII"); ++ torperfAnnotation + input).getBytes(StandardCharsets.US_ASCII); List result = TorperfResultImpl.parseTorperfResults( asciiBytes, null); assertEquals("Expected one annotation.", 1, @@ -68,7 +68,7 @@ public class TorperfResultImplTest { @Test public void testTrailingNewlinesRetained() throws Exception { byte[] asciiBytes = (torperfAnnotation + input -+ torperfAnnotation + input).getBytes("US-ASCII"); ++ torperfAnnotation + input).getBytes(StandardCharsets.US_ASCII); List result = TorperfResultImpl.parseTorperfResults( asciiBytes, null); for (Descriptor descriptor : result) { ___ tor-commits mailing list tor-commits@lists.torproject.org
[tor-commits] [metrics-lib/release] Remove unnecessary cast.
commit a1209fa5ea992d2dc55b522b6ad2f3b06bb197be Author: Karsten Loesing Date: Wed Nov 20 16:39:33 2019 +0100 Remove unnecessary cast. --- .../java/org/torproject/descriptor/benchmark/MeasurePerformance.java| 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/src/test/java/org/torproject/descriptor/benchmark/MeasurePerformance.java b/src/test/java/org/torproject/descriptor/benchmark/MeasurePerformance.java index cf85e22..80d9792 100644 --- a/src/test/java/org/torproject/descriptor/benchmark/MeasurePerformance.java +++ b/src/test/java/org/torproject/descriptor/benchmark/MeasurePerformance.java @@ -98,7 +98,7 @@ public class MeasurePerformance { continue; } ServerDescriptor serverDescriptor = (ServerDescriptor) descriptor; - sumAdvertisedBandwidth += (long) Math.min(Math.min( + sumAdvertisedBandwidth += Math.min(Math.min( serverDescriptor.getBandwidthRate(), serverDescriptor.getBandwidthBurst()), serverDescriptor.getBandwidthObserved()); ___ tor-commits mailing list tor-commits@lists.torproject.org https://lists.torproject.org/cgi-bin/mailman/listinfo/tor-commits
[tor-commits] [metrics-lib/release] Make inner class static.
commit 26874eb8a9af953b907fbe90cd6a604626312f6d Author: Karsten Loesing Date: Wed Nov 20 12:08:57 2019 +0100 Make inner class static. --- src/main/java/org/torproject/descriptor/impl/BandwidthFileImpl.java | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/src/main/java/org/torproject/descriptor/impl/BandwidthFileImpl.java b/src/main/java/org/torproject/descriptor/impl/BandwidthFileImpl.java index 5d661e4..657b90e 100644 --- a/src/main/java/org/torproject/descriptor/impl/BandwidthFileImpl.java +++ b/src/main/java/org/torproject/descriptor/impl/BandwidthFileImpl.java @@ -165,7 +165,7 @@ public class BandwidthFileImpl extends DescriptorImpl implements BandwidthFile { } } - private class RelayLineImpl implements RelayLine { + private static class RelayLineImpl implements RelayLine { private String nodeId; ___ tor-commits mailing list tor-commits@lists.torproject.org https://lists.torproject.org/cgi-bin/mailman/listinfo/tor-commits
[tor-commits] [metrics-lib/master] Bump version to 2.10.0-dev.
commit 4581035acf51769592d143c5c6d931ae0022 Author: Karsten Loesing Date: Wed Jan 15 22:45:16 2020 +0100 Bump version to 2.10.0-dev. --- CHANGELOG.md | 3 +++ build.xml| 2 +- 2 files changed, 4 insertions(+), 1 deletion(-) diff --git a/CHANGELOG.md b/CHANGELOG.md index 5671a86..bb8bb89 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -1,3 +1,6 @@ +# Changes in version 2.1?.? - 2020-0?-?? + + # Changes in version 2.10.0 - 2020-01-15 * Medium changes diff --git a/build.xml b/build.xml index bf615f7..fcf737b 100644 --- a/build.xml +++ b/build.xml @@ -7,7 +7,7 @@ - + ___ tor-commits mailing list tor-commits@lists.torproject.org https://lists.torproject.org/cgi-bin/mailman/listinfo/tor-commits
[tor-commits] [metrics-lib/release] Remove deprecation warning.
commit 25ea064dc8214385f2077706b2635f2da0d530fa Author: Karsten Loesing Date: Wed Nov 20 10:34:35 2019 +0100 Remove deprecation warning. Class#newInstance is deprecated in Java 9 and higher, which doesn't affect us yet in Java 8. But the suggested replacement already works in Java 8, so that we can safely switch to that. --- src/main/java/org/torproject/descriptor/DescriptorSourceFactory.java | 5 ++--- 1 file changed, 2 insertions(+), 3 deletions(-) diff --git a/src/main/java/org/torproject/descriptor/DescriptorSourceFactory.java b/src/main/java/org/torproject/descriptor/DescriptorSourceFactory.java index e755e42..55fbcf3 100644 --- a/src/main/java/org/torproject/descriptor/DescriptorSourceFactory.java +++ b/src/main/java/org/torproject/descriptor/DescriptorSourceFactory.java @@ -146,10 +146,9 @@ public final class DescriptorSourceFactory { + "."); } object = ClassLoader.getSystemClassLoader().loadClass(clazzName) - .newInstance(); + .getDeclaredConstructor().newInstance(); log.info("Serving implementation {} for {}.", clazzName, type); -} catch (ClassNotFoundException | InstantiationException - | IllegalAccessException ex) { +} catch (ReflectiveOperationException ex) { throw new RuntimeException("Cannot load class " + clazzName + "for type " + type, ex); } ___ tor-commits mailing list tor-commits@lists.torproject.org https://lists.torproject.org/cgi-bin/mailman/listinfo/tor-commits
[tor-commits] [metrics-lib/release] Fix logging.
commit 2614e6137ce7ddac40eb369175f3f24aad45d4ab Author: Karsten Loesing Date: Wed Nov 20 12:03:05 2019 +0100 Fix logging. --- .../java/org/torproject/descriptor/index/DescriptorIndexCollector.java | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/src/main/java/org/torproject/descriptor/index/DescriptorIndexCollector.java b/src/main/java/org/torproject/descriptor/index/DescriptorIndexCollector.java index 9e053dc..c472da0 100644 --- a/src/main/java/org/torproject/descriptor/index/DescriptorIndexCollector.java +++ b/src/main/java/org/torproject/descriptor/index/DescriptorIndexCollector.java @@ -181,7 +181,7 @@ public class DescriptorIndexCollector implements DescriptorCollector { } catch (IOException ioe) { log.warn("Cannot index local directory {} to skip any remote files that " + "already exist locally. Continuing with an either empty or " - + "incomplete index of local files.", ioe); + + "incomplete index of local files.", localDir, ioe); } return locals; } ___ tor-commits mailing list tor-commits@lists.torproject.org https://lists.torproject.org/cgi-bin/mailman/listinfo/tor-commits
[tor-commits] [metrics-lib/master] Prepare for 2.10.0 release.
commit abcbd7c7a6b7a17d012cf1c8ac077fd73c9479e4 Author: Karsten Loesing Date: Wed Jan 15 22:09:27 2020 +0100 Prepare for 2.10.0 release. --- CHANGELOG.md | 2 +- build.xml| 2 +- 2 files changed, 2 insertions(+), 2 deletions(-) diff --git a/CHANGELOG.md b/CHANGELOG.md index 8d3ab12..5671a86 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -1,4 +1,4 @@ -# Changes in version 2.10.0 - 2019-1?-?? +# Changes in version 2.10.0 - 2020-01-15 * Medium changes - Parse three newly added lines in snowflake statistics files. diff --git a/build.xml b/build.xml index 9c3869a..bf615f7 100644 --- a/build.xml +++ b/build.xml @@ -7,7 +7,7 @@ - + ___ tor-commits mailing list tor-commits@lists.torproject.org https://lists.torproject.org/cgi-bin/mailman/listinfo/tor-commits
[tor-commits] [metrics-lib/master] Update to latest metrics-base.
commit 6408bd9a85890f06a74f5f077e49dffe33acc36e Author: Karsten Loesing Date: Wed Jan 15 22:45:39 2020 +0100 Update to latest metrics-base. --- src/build | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/src/build b/src/build index eb16cb3..264e498 16 --- a/src/build +++ b/src/build @@ -1 +1 @@ -Subproject commit eb16cb359db41722e6089bafb1e26808df4338df +Subproject commit 264e498f54a20f7d299daaf2533d043f880e6a8b ___ tor-commits mailing list tor-commits@lists.torproject.org https://lists.torproject.org/cgi-bin/mailman/listinfo/tor-commits
[tor-commits] [metrics-web/master] Update copyright to 2020.
commit a59139b8460c6c77f36370fe35164b70a84f5d68 Author: Karsten Loesing Date: Wed Jan 15 21:56:00 2020 +0100 Update copyright to 2020. --- LICENSE | 2 +- src/main/java/org/torproject/metrics/stats/advbwdist/Main.java | 2 +- src/main/java/org/torproject/metrics/stats/bridgedb/Main.java | 2 +- src/main/java/org/torproject/metrics/stats/bwhist/Main.java | 2 +- .../metrics/stats/bwhist/RelayDescriptorDatabaseImporter.java | 2 +- src/main/java/org/torproject/metrics/stats/bwhist/Writer.java | 2 +- src/main/java/org/torproject/metrics/stats/clients/Database.java| 2 +- src/main/java/org/torproject/metrics/stats/clients/Detector.java| 2 +- src/main/java/org/torproject/metrics/stats/clients/Main.java| 2 +- src/main/java/org/torproject/metrics/stats/clients/Writer.java | 2 +- src/main/java/org/torproject/metrics/stats/collectdescs/Main.java | 2 +- src/main/java/org/torproject/metrics/stats/connbidirect/Main.java | 2 +- src/main/java/org/torproject/metrics/stats/hidserv/Aggregator.java | 2 +- .../org/torproject/metrics/stats/hidserv/ComputedNetworkFractions.java | 2 +- src/main/java/org/torproject/metrics/stats/hidserv/DateTimeHelper.java | 2 +- src/main/java/org/torproject/metrics/stats/hidserv/Document.java| 2 +- src/main/java/org/torproject/metrics/stats/hidserv/DocumentStore.java | 2 +- .../org/torproject/metrics/stats/hidserv/ExtrapolatedHidServStats.java | 2 +- src/main/java/org/torproject/metrics/stats/hidserv/Extrapolator.java| 2 +- src/main/java/org/torproject/metrics/stats/hidserv/Main.java| 2 +- src/main/java/org/torproject/metrics/stats/hidserv/Parser.java | 2 +- .../java/org/torproject/metrics/stats/hidserv/ReportedHidServStats.java | 2 +- src/main/java/org/torproject/metrics/stats/hidserv/Simulate.java| 2 +- src/main/java/org/torproject/metrics/stats/servers/Database.java| 2 +- .../java/org/torproject/metrics/stats/servers/Ipv6NetworkStatus.java| 2 +- .../java/org/torproject/metrics/stats/servers/Ipv6ServerDescriptor.java | 2 +- src/main/java/org/torproject/metrics/stats/servers/Main.java| 2 +- src/main/java/org/torproject/metrics/stats/servers/Parser.java | 2 +- src/main/java/org/torproject/metrics/stats/servers/Writer.java | 2 +- src/main/java/org/torproject/metrics/stats/totalcw/Database.java| 2 +- src/main/java/org/torproject/metrics/stats/totalcw/Main.java| 2 +- src/main/java/org/torproject/metrics/stats/totalcw/OutputLine.java | 2 +- src/main/java/org/torproject/metrics/stats/totalcw/Parser.java | 2 +- .../org/torproject/metrics/stats/totalcw/TotalcwRelayNetworkStatus.java | 2 +- src/main/java/org/torproject/metrics/stats/totalcw/Writer.java | 2 +- src/main/java/org/torproject/metrics/stats/webstats/Main.java | 2 +- src/main/java/org/torproject/metrics/web/AboutServlet.java | 2 +- src/main/java/org/torproject/metrics/web/BubblesServlet.java| 2 +- src/main/java/org/torproject/metrics/web/Category.java | 2 +- src/main/java/org/torproject/metrics/web/CollecTorServlet.java | 2 +- .../java/org/torproject/metrics/web/CollectorDirectoryProvider.java | 2 +- src/main/java/org/torproject/metrics/web/ContentProvider.java | 2 +- src/main/java/org/torproject/metrics/web/Countries.java | 2 +- src/main/java/org/torproject/metrics/web/DataSourceServlet.java | 2 +- src/main/java/org/torproject/metrics/web/DevelopmentServlet.java| 2 +- src/main/java/org/torproject/metrics/web/DirectoryListing.java | 2 +- src/main/java/org/torproject/metrics/web/ErrorServlet.java | 2 +- src/main/java/org/torproject/metrics/web/ExoneraTorWrapperServlet.java | 2 +- src/main/java/org/torproject/metrics/web/GlossaryServlet.java | 2 +- src/main/java/org/torproject/metrics/web/GraphImageServlet.java | 2 +- src/main/java/org/torproject/metrics/web/GraphParameterChecker.java | 2 +- src/main/java/org/torproject/metrics/web/GraphServlet.java | 2 +- src/main/java/org/torproject/metrics/web/IndexServlet.java | 2 +- src/main/java/org/torproject/metrics/web/LinkServlet.java | 2 +- src/main/java/org/torproject/metrics/web/Metric.java| 2 +- src/main/java/org/torproject/metrics/web/MetricServlet.java | 2 +- src/main/java/org/torproject/metrics/web/MetricsGuidelinesServlet.java | 2 +- src/main/java/org/torproject/metrics/web/MetricsLibServlet.java | 2 +- src/main/java/org/torproject/metrics/web/News.java | 2 +- src/main/java/org/torproject/metrics/web/NewsServlet.java | 2 +-
[tor-commits] [exonerator/master] Update copyright to 2020.
commit 20501a55241d90a015ea7efcef3f18371c6c80c8 Author: Karsten Loesing Date: Wed Jan 15 21:45:54 2020 +0100 Update copyright to 2020. --- LICENSE | 2 +- .../org/torproject/metrics/exonerator/ExoneraTorDatabaseImporter.java | 2 +- src/main/java/org/torproject/metrics/exonerator/ExoneraTorDate.java | 2 +- .../org/torproject/metrics/exonerator/ExoneraTorRedirectServlet.java| 2 +- src/main/java/org/torproject/metrics/exonerator/ExoneraTorServlet.java | 2 +- src/main/java/org/torproject/metrics/exonerator/QueryResponse.java | 2 +- src/main/java/org/torproject/metrics/exonerator/QueryServlet.java | 2 +- src/main/java/org/torproject/metrics/exonerator/ServerMain.java | 2 +- src/main/resources/bootstrap-development.sh | 2 +- src/main/sql/exonerator.sql | 2 +- src/main/sql/exonerator2.sql| 2 +- src/test/java/org/torproject/metrics/exonerator/ExoneraTorDateTest.java | 2 +- .../java/org/torproject/metrics/exonerator/ExoneraTorServletTest.java | 2 +- src/test/java/org/torproject/metrics/exonerator/QueryResponseTest.java | 2 +- 14 files changed, 14 insertions(+), 14 deletions(-) diff --git a/LICENSE b/LICENSE index 49d61f8..d7b0663 100644 --- a/LICENSE +++ b/LICENSE @@ -1,4 +1,4 @@ -Copyright 2010--2017 The Tor Project +Copyright 2010--2020 The Tor Project Redistribution and use in source and binary forms, with or without modification, are permitted provided that the following conditions are diff --git a/src/main/java/org/torproject/metrics/exonerator/ExoneraTorDatabaseImporter.java b/src/main/java/org/torproject/metrics/exonerator/ExoneraTorDatabaseImporter.java index 47261fc..c9cc6b9 100644 --- a/src/main/java/org/torproject/metrics/exonerator/ExoneraTorDatabaseImporter.java +++ b/src/main/java/org/torproject/metrics/exonerator/ExoneraTorDatabaseImporter.java @@ -1,4 +1,4 @@ -/* Copyright 2011--2018 The Tor Project +/* Copyright 2011--2020 The Tor Project * See LICENSE for licensing information */ package org.torproject.metrics.exonerator; diff --git a/src/main/java/org/torproject/metrics/exonerator/ExoneraTorDate.java b/src/main/java/org/torproject/metrics/exonerator/ExoneraTorDate.java index 92d6b31..8e084d6 100644 --- a/src/main/java/org/torproject/metrics/exonerator/ExoneraTorDate.java +++ b/src/main/java/org/torproject/metrics/exonerator/ExoneraTorDate.java @@ -1,4 +1,4 @@ -/* Copyright 2017--2018 The Tor Project +/* Copyright 2017--2020 The Tor Project * See LICENSE for licensing information */ package org.torproject.metrics.exonerator; diff --git a/src/main/java/org/torproject/metrics/exonerator/ExoneraTorRedirectServlet.java b/src/main/java/org/torproject/metrics/exonerator/ExoneraTorRedirectServlet.java index fbe4e49..ebcbaca 100644 --- a/src/main/java/org/torproject/metrics/exonerator/ExoneraTorRedirectServlet.java +++ b/src/main/java/org/torproject/metrics/exonerator/ExoneraTorRedirectServlet.java @@ -1,4 +1,4 @@ -/* Copyright 2018 The Tor Project +/* Copyright 2018--2020 The Tor Project * See LICENSE for licensing information */ package org.torproject.metrics.exonerator; diff --git a/src/main/java/org/torproject/metrics/exonerator/ExoneraTorServlet.java b/src/main/java/org/torproject/metrics/exonerator/ExoneraTorServlet.java index 92cc8bb..3ba42da 100644 --- a/src/main/java/org/torproject/metrics/exonerator/ExoneraTorServlet.java +++ b/src/main/java/org/torproject/metrics/exonerator/ExoneraTorServlet.java @@ -1,4 +1,4 @@ -/* Copyright 2011--2018 The Tor Project +/* Copyright 2011--2020 The Tor Project * See LICENSE for licensing information */ package org.torproject.metrics.exonerator; diff --git a/src/main/java/org/torproject/metrics/exonerator/QueryResponse.java b/src/main/java/org/torproject/metrics/exonerator/QueryResponse.java index 6a8976a..aee8dbf 100644 --- a/src/main/java/org/torproject/metrics/exonerator/QueryResponse.java +++ b/src/main/java/org/torproject/metrics/exonerator/QueryResponse.java @@ -1,4 +1,4 @@ -/* Copyright 2017--2018 The Tor Project +/* Copyright 2017--2020 The Tor Project * See LICENSE for licensing information */ package org.torproject.metrics.exonerator; diff --git a/src/main/java/org/torproject/metrics/exonerator/QueryServlet.java b/src/main/java/org/torproject/metrics/exonerator/QueryServlet.java index 760e385..85dec57 100644 --- a/src/main/java/org/torproject/metrics/exonerator/QueryServlet.java +++ b/src/main/java/org/torproject/metrics/exonerator/QueryServlet.java @@ -1,4 +1,4 @@ -/* Copyright 2017--2018 The Tor Project +/* Copyright 2017--2020 The Tor Project * See LICENSE for licensing information */ package org.torproject.metrics.exonerator; diff --git a/src/main/java/org/torproject/metrics/exonerator/ServerMain.java b/src/main/java/org/torproject/metrics/exonerator/ServerMain.java