aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorteor <teor@torproject.org>2019-04-06 09:33:15 +1000
committerteor <teor@torproject.org>2019-04-06 09:33:15 +1000
commit2afba291bbfc79198e1cd62382a30168f45db4e5 (patch)
tree8bad77ebf29fff6c5994d0d03a56592cc308b8fe
parentb0428b6dc7051a463de7bfd0b7f8a9d13a9d679f (diff)
parent48e990359b05661f2dd0ae503143ee9b18442475 (diff)
downloadtor-2afba291bbfc79198e1cd62382a30168f45db4e5.tar.gz
tor-2afba291bbfc79198e1cd62382a30168f45db4e5.zip
Merge branch 'maint-0.3.4' into release-0.3.4
-rw-r--r--.travis.yml15
-rw-r--r--Makefile.am4
-rw-r--r--changes/bug290365
-rw-r--r--changes/bug300218
-rw-r--r--changes/ticket299623
-rw-r--r--src/common/tortls.c2
6 files changed, 31 insertions, 6 deletions
diff --git a/.travis.yml b/.travis.yml
index 56d7dc0737..ed805aac31 100644
--- a/.travis.yml
+++ b/.travis.yml
@@ -5,8 +5,10 @@ cache:
## cargo: true
directories:
- $HOME/.cargo
+ ## caching CARGO_TARGET_DIR actually slows down the build over time,
+ ## because old build products are never deleted.
## where we point CARGO_TARGET_DIR in all our cargo invocations
- - $TRAVIS_BUILD_DIR/src/rust/target
+ #- $TRAVIS_BUILD_DIR/src/rust/target
compiler:
- gcc
@@ -201,6 +203,8 @@ script:
## We run `make check` because that's what https://jenkins.torproject.org does.
- if [[ "$DISTCHECK" == "" ]]; then make check; fi
- if [[ "$DISTCHECK" != "" ]]; then make distcheck DISTCHECK_CONFIGURE_FLAGS="$CONFIGURE_FLAGS"; fi
+ ## If this build was one that produced coverage, upload it.
+ - if [[ "$COVERAGE_OPTIONS" != "" ]]; then coveralls -b . --exclude src/test --exclude src/trunnel --gcov-options '\-p' || echo "Coverage failed"; fi
after_failure:
## configure will leave a log file with more details of config failures.
@@ -211,9 +215,12 @@ after_failure:
## `make distcheck` puts it somewhere different.
- if [[ "$DISTCHECK" != "" ]]; then make show-distdir-testlog || echo "make failed"; fi
-after_success:
- ## If this build was one that produced coverage, upload it.
- - if [[ "$COVERAGE_OPTIONS" != "" ]]; then coveralls -b . --exclude src/test --exclude src/trunnel --gcov-options '\-p'; fi
+before_cache:
+ ## Delete all gcov files.
+ - if [[ "$COVERAGE_OPTIONS" != "" ]]; then make reset-gcov; fi
+ ## Delete the cargo registry before caching .cargo, because it's cheaper to
+ ## download the registry and throw it away, rather than caching it
+ - rm -rf $HOME/.cargo/registry
notifications:
irc:
diff --git a/Makefile.am b/Makefile.am
index c58140ae74..191620c062 100644
--- a/Makefile.am
+++ b/Makefile.am
@@ -170,8 +170,10 @@ test-full: need-stem-path need-chutney-path check test-network test-stem
test-full-online: need-stem-path need-chutney-path check test-network test-stem-full
+# We can't delete the gcno files, because they are created when tor is compiled
reset-gcov:
- rm -f $(top_builddir)/src/*/*.gcda $(top_builddir)/src/*/*/*.gcda
+ rm -f $(top_builddir)/src/*/*.gcda $(top_builddir)/src/*/*/*.gcda \
+ $(top_builddir)/src/*/*.gcov $(top_builddir)/src/*/*/*.gcov
HTML_COVER_DIR=$(top_builddir)/coverage_html
coverage-html: all
diff --git a/changes/bug29036 b/changes/bug29036
new file mode 100644
index 0000000000..8b96c5c8fa
--- /dev/null
+++ b/changes/bug29036
@@ -0,0 +1,5 @@
+ o Minor bugfix (continuous integration):
+ - Reset coverage state on disk after Travis CI has finished. This is being
+ done to prevent future gcda file merge errors which causes the test suite
+ for the process subsystem to fail. The process subsystem was introduced
+ in 0.4.0.1-alpha. Fixes bug 29036; bugfix on 0.2.9.15.
diff --git a/changes/bug30021 b/changes/bug30021
new file mode 100644
index 0000000000..2a887f3cf2
--- /dev/null
+++ b/changes/bug30021
@@ -0,0 +1,8 @@
+ o Minor bugfixes (TLS protocol, integration tests):
+ - When classifying a client's selection of TLS ciphers, if the client
+ ciphers are not yet available, do not cache the result. Previously,
+ we had cached the unavailability of the cipher list and never looked
+ again, which in turn led us to assume that the client only supported
+ the ancient V1 link protocol. This, in turn, was causing Stem
+ integration tests to stall in some cases.
+ Fixes bug 30021; bugfix on 0.2.4.8-alpha.
diff --git a/changes/ticket29962 b/changes/ticket29962
new file mode 100644
index 0000000000..e36cc0cf9a
--- /dev/null
+++ b/changes/ticket29962
@@ -0,0 +1,3 @@
+ o Minor features (continuous integration):
+ - On Travis Rust builds, cleanup Rust registry and refrain from caching
+ target/ directory to speed up builds. Resolves issue 29962.
diff --git a/src/common/tortls.c b/src/common/tortls.c
index b55511569b..6ff513b14f 100644
--- a/src/common/tortls.c
+++ b/src/common/tortls.c
@@ -1570,7 +1570,7 @@ tor_tls_classify_client_ciphers(const SSL *ssl,
smartlist_free(elts);
}
done:
- if (tor_tls)
+ if (tor_tls && peer_ciphers)
return tor_tls->client_cipher_list_type = res;
return res;