diff options
-rw-r--r-- | .travis.yml | 29 | ||||
-rw-r--r-- | lib/vtls/mesalink.c | 2 |
2 files changed, 30 insertions, 1 deletions
diff --git a/.travis.yml b/.travis.yml index 9a27d925e..1fed71a2e 100644 --- a/.travis.yml +++ b/.travis.yml @@ -3,6 +3,7 @@ sudo: required cache: directories: - $HOME/wolfssl-4.0.0-stable + - $HOME/mesalink-1.0.0 - $HOME/nghttp2-1.34.0 env: @@ -114,6 +115,12 @@ matrix: - *common_packages - libpsl-dev - os: linux + compiler: gcc + dist: trusty + env: + - T=debug-mesalink C="--with-mesalink --without-ssl" + - OVERRIDE_CC="CC=gcc-8" OVERRIDE_CXX="CXX=g++-8" + - os: linux compiler: clang dist: xenial env: @@ -408,6 +415,20 @@ before_script: fi - | if [ $TRAVIS_OS_NAME = linux ]; then + if [ ! -e $HOME/mesalink-1.0.0/Makefile ]; then + (cd $HOME && \ + curl https://sh.rustup.rs -sSf | sh -s -- -y && \ + source $HOME/.cargo/env && \ + curl -LO https://github.com/mesalock-linux/mesalink/archive/v1.0.0.tar.gz && \ + tar -xzf v1.0.0.tar.gz && \ + cd mesalink-1.0.0 && \ + ./autogen.sh && \ + ./configure --enable-tls13 && \ + make) + fi + fi + - | + if [ $TRAVIS_OS_NAME = linux ]; then if [ ! -e $HOME/nghttp2-1.34.0/Makefile ]; then (cd $HOME && \ curl -L https://github.com/nghttp2/nghttp2/releases/download/v1.34.0/nghttp2-1.34.0.tar.gz | @@ -420,6 +441,7 @@ before_script: - | if [ $TRAVIS_OS_NAME = linux ]; then (cd $HOME/wolfssl-4.0.0-stable && sudo make install) + (cd $HOME/mesalink-1.0.0 && sudo make install) (cd $HOME/nghttp2-1.34.0 && sudo make install) fi @@ -454,6 +476,13 @@ script: fi - | set -eo pipefail + if [ "$T" = "debug-mesalink" ]; then + ./configure --enable-debug --enable-werror $C + make + make "TFLAGS=-n !313" test-nonflaky + fi + - | + set -eo pipefail if [ "$T" = "novalgrind" ]; then ./configure $C make && make examples diff --git a/lib/vtls/mesalink.c b/lib/vtls/mesalink.c index db1411559..718c282ee 100644 --- a/lib/vtls/mesalink.c +++ b/lib/vtls/mesalink.c @@ -268,7 +268,7 @@ mesalink_connect_step2(struct connectdata *conn, int sockindex) char error_buffer[MESALINK_MAX_ERROR_SZ]; int detail = SSL_get_error(BACKEND->handle, ret); - if(SSL_ERROR_WANT_CONNECT == detail) { + if(SSL_ERROR_WANT_CONNECT == detail || SSL_ERROR_WANT_READ == detail) { connssl->connecting_state = ssl_connect_2_reading; return CURLE_OK; } |