aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorNick Mathewson <nickm@torproject.org>2020-09-28 10:35:12 -0400
committerNick Mathewson <nickm@torproject.org>2020-09-28 10:35:12 -0400
commit79d777396858d008bb99d0f411953a5152b921b0 (patch)
tree37a82473d5c15d159c608f27ff702bee5f3d9703
parent020e8e41c676370de66d3ddf459700867ed454cd (diff)
parentfaf89ec6c2e0db1ba82639c41a4c754751f4ce1d (diff)
downloadtor-79d777396858d008bb99d0f411953a5152b921b0.tar.gz
tor-79d777396858d008bb99d0f411953a5152b921b0.zip
Merge branch 'maint-0.3.5' into bug40133_035
-rw-r--r--.gitlab-ci.yml73
-rw-r--r--changes/ticket401254
-rw-r--r--changes/ticket401264
-rw-r--r--changes/ticket401353
-rwxr-xr-xscripts/ci/ci-driver.sh25
-rw-r--r--src/feature/hs_common/shared_random_client.c4
-rw-r--r--src/test/test_rendcache.c3
7 files changed, 111 insertions, 5 deletions
diff --git a/.gitlab-ci.yml b/.gitlab-ci.yml
index 176c71f8f0..ba61c71b2b 100644
--- a/.gitlab-ci.yml
+++ b/.gitlab-ci.yml
@@ -37,7 +37,7 @@ variables:
paths:
- artifacts/
-# This template
+# This template should be usable on any system that's based on apt.
.apt-template: &apt-template |
export LC_ALL=C.UTF-8
echo Etc/UTC > /etc/timezone
@@ -54,6 +54,7 @@ variables:
apt-get update -qq
apt-get upgrade -qy
+# This template sets us up for Debian system in particular.
.debian-template: &debian-template
<<: *artifacts-template
variables:
@@ -88,10 +89,12 @@ variables:
- if [ "$DOXYGEN" = yes ]; then apt-get install doxygen; fi
- if [ "$STEM" = yes ]; then apt-get install timelimit; fi
- if [ "$CC" = clang ]; then apt-get install clang; fi
+ - if [ "$NSS" = yes ]; then apt-get install libnss3 libnss3-dev; fi
# TODO: This next line should not be debian-only.
- if [ "$STEM" = yes ]; then git clone --depth 1 https://git.torproject.org/stem.git ; export STEM_PATH="$(pwd)/stem"; fi
# TODO: This next line should not be debian-only.
- if [ "$CHUTNEY" = yes ]; then git clone --depth 1 https://git.torproject.org/chutney.git ; export CHUTNEY_PATH="$(pwd)/chutney"; fi
+ - if [ "$TRACING" = yes ]; then apt install liblttng-ust-dev; fi
# Minmal check on debian: just make, make check.
#
@@ -110,6 +113,7 @@ debian-hardened:
image: debian:testing
<<: *debian-template
variables:
+ ALL_BUGS_ARE_FATAL: "yes"
HARDENING: "yes"
CC: "clang"
script:
@@ -152,6 +156,73 @@ debian-integration:
variables:
CHECK: "no"
CHUTNEY: "yes"
+ CHUTNEY_MAKE_TARGET: "test-network-all"
STEM: "yes"
+ ALL_BUGS_ARE_FATAL: "yes"
+ script:
+ - ./scripts/ci/ci-driver.sh
+
+#####
+# Tracing build on Debian stable.
+debian-tracing:
+ image: debian:stable
+ <<: *debian-template
+ variables:
+ TRACING: "yes"
+ CHECK: "no"
+ script:
+ - ./scripts/ci/ci-driver.sh
+ # Ensure that we only run tracing when it's implemented.
+ #
+ # Once versions before 0.4.5 are obsolete, we can remove this test.
+ rules:
+ # This first "if" check prevents us from running a duplicate version of
+ # this pipeline whenever we push and create an MR. I don't understand why
+ # it is necessary, though the following URL purports to explain:
+ #
+ # https://docs.gitlab.com/ee/ci/yaml/#prevent-duplicate-pipelines
+ - if: '$CI_PIPELINE_SOURCE == "push"'
+ exists:
+ - src/lib/trace/trace_sys.c
+
+#####
+# No-authority mode
+debian-disable-dirauth:
+ image: debian:stable
+ <<: *debian-template
+ variables:
+ DISABLE_DIRAUTH: "yes"
+ script:
+ - ./scripts/ci/ci-driver.sh
+
+#####
+# No-relay mode
+debian-disable-relay:
+ image: debian:stable
+ <<: *debian-template
+ variables:
+ DISABLE_RELAY: "yes"
+ script:
+ - ./scripts/ci/ci-driver.sh
+ # Ensure that we only run tracing when it's implemented.
+ #
+ # Once versions before 0.4.3 are obsolete, we can remove this test.
+ rules:
+ # This first "if" check prevents us from running a duplicate version of
+ # this pipeline whenever we push and create an MR. I don't understand why
+ # it is necessary, though the following URL purports to explain:
+ #
+ # https://docs.gitlab.com/ee/ci/yaml/#prevent-duplicate-pipelines
+ - if: '$CI_PIPELINE_SOURCE == "push"'
+ exists:
+ - src/feature/relay/relay_stub.c
+
+#####
+# NSS check on debian
+debian-nss:
+ image: debian:stable
+ <<: *debian-template
+ variables:
+ NSS: "yes"
script:
- ./scripts/ci/ci-driver.sh
diff --git a/changes/ticket40125 b/changes/ticket40125
new file mode 100644
index 0000000000..c68e3ce7b3
--- /dev/null
+++ b/changes/ticket40125
@@ -0,0 +1,4 @@
+ o Testing (onion service v2):
+ - Fix a rendezvous cache unit test that was triggering an underflow on the
+ global rend cache allocation. Fixes bug 40125; bugfix on
+ 0.2.8.1-alpha.
diff --git a/changes/ticket40126 b/changes/ticket40126
new file mode 100644
index 0000000000..1f5806e6cb
--- /dev/null
+++ b/changes/ticket40126
@@ -0,0 +1,4 @@
+ o Testing (onion service v2):
+ - Fix another rendezvous cache unit test that was triggering an underflow on the
+ global rend cache allocation. Fixes bug 40126; bugfix on
+ 0.2.8.1-alpha.
diff --git a/changes/ticket40135 b/changes/ticket40135
new file mode 100644
index 0000000000..9b60b4f655
--- /dev/null
+++ b/changes/ticket40135
@@ -0,0 +1,3 @@
+ o Minor bugfix (logging):
+ - Remove a debug logging statement that uselessly spam the logs. Fixes bug
+ 40135; bugfix on 0.3.5.0-alpha.
diff --git a/scripts/ci/ci-driver.sh b/scripts/ci/ci-driver.sh
index 527bba82e5..67a95a1f61 100755
--- a/scripts/ci/ci-driver.sh
+++ b/scripts/ci/ci-driver.sh
@@ -33,6 +33,11 @@ COVERAGE="${COVERAGE:-no}"
RUST="${RUST:-no}"
DOXYGEN="${DOXYGEN:-no}"
ASCIIDOC="${ASCIIDOC:-no}"
+TRACING="${TRACING:-no}"
+ALL_BUGS_ARE_FATAL="${ALL_BUGS_ARE_FATAL:-no}"
+DISABLE_DIRAUTH="${DISABLE_DIRAUTH:-no}"
+DISABLE_RELAY="${DISABLE_RELAY:-no}"
+NSS="${NSS:-no}"
# Options for which tests to run. All should be yes/no.
CHECK="${CHECK:-yes}"
@@ -191,6 +196,11 @@ yes_or_no COVERAGE
yes_or_no RUST
yes_or_no DOXYGEN
yes_or_no ASCIIDOC
+yes_or_no TRACING
+yes_or_no ALL_BUGS_ARE_FATAL
+yes_or_no DISABLE_DIRAUTH
+yes_or_no DISABLE_RELAY
+yes_or_no NSS
yes_or_no RUN_STAGE_CONFIGURE
yes_or_no RUN_STAGE_BUILD
@@ -241,6 +251,21 @@ fi
if [[ "$ASCIIDOC" != "yes" ]]; then
configure_options+=("--disable-asciidoc")
fi
+if [[ "$TRACING" == "yes" ]]; then
+ configure_options+=("--enable-tracing-instrumentation-lttng")
+fi
+if [[ "$ALL_BUGS_ARE_FATAL" == "yes" ]]; then
+ configure_options+=("--enable-all-bugs-are-fatal")
+fi
+if [[ "$DISABLE_DIRAUTH" == "yes" ]]; then
+ configure_options+=("--disable-module-dirauth")
+fi
+if [[ "$DISABLE_RELAY" == "yes" ]]; then
+ configure_options+=("--disable-module-relay")
+fi
+if [[ "$NSS" == "yes" ]]; then
+ configure_options+=("--enable-nss")
+fi
#############################################################################
# Tell the user about our versions of different tools and packages.
diff --git a/src/feature/hs_common/shared_random_client.c b/src/feature/hs_common/shared_random_client.c
index 5772034c6d..3d6be94080 100644
--- a/src/feature/hs_common/shared_random_client.c
+++ b/src/feature/hs_common/shared_random_client.c
@@ -255,10 +255,6 @@ sr_state_get_start_time_of_current_protocol_run(void)
protocol run */
time_t time_elapsed_since_start_of_run = curr_round_slot * voting_interval;
- log_debug(LD_GENERAL, "Current SRV proto run: Start of current round: %u. "
- "Time elapsed: %u (%d)", (unsigned) beginning_of_curr_round,
- (unsigned) time_elapsed_since_start_of_run, voting_interval);
-
return beginning_of_curr_round - time_elapsed_since_start_of_run;
}
diff --git a/src/test/test_rendcache.c b/src/test/test_rendcache.c
index 93f9f82953..8b0e2df485 100644
--- a/src/test/test_rendcache.c
+++ b/src/test/test_rendcache.c
@@ -954,6 +954,7 @@ test_rend_cache_free_all(void *data)
one->parsed = desc_one;
desc_one->timestamp = time(NULL) + TIME_IN_THE_PAST;
desc_one->pk = pk_generate(0);
+ rend_cache_increment_allocation(rend_cache_entry_allocation(one));
strmap_set_lc(rend_cache, "foo1", one);
rend_cache_free_all();
@@ -978,11 +979,13 @@ test_rend_cache_entry_free(void *data)
// Handles NULL descriptor correctly
e = tor_malloc_zero(sizeof(rend_cache_entry_t));
+ rend_cache_increment_allocation(rend_cache_entry_allocation(e));
rend_cache_entry_free(e);
// Handles non-NULL descriptor correctly
e = tor_malloc_zero(sizeof(rend_cache_entry_t));
e->desc = tor_malloc(10);
+ rend_cache_increment_allocation(rend_cache_entry_allocation(e));
rend_cache_entry_free(e);
/* done: */