diff --git a/.azure-pipelines.yml b/.azure-pipelines.yml index 52e69c8d25..2fff67c3ec 100644 --- a/.azure-pipelines.yml +++ b/.azure-pipelines.yml @@ -121,64 +121,64 @@ stages: container_cmd: C:\msys64\usr\bin\sh prepare: pacman -S --needed --noconfirm --noprogressbar libssh2-devel mingw-w64-i686-libssh2 configure: --host=i686-w64-mingw32 --build=i686-w64-mingw32 --prefix=/mingw32 --enable-debug --enable-werror --with-libssh2 --with-openssl - tests: ~571 ~612 ~1056 ~1299 + tests: "~571" msys2_mingw64_debug_openssl: name: 64-bit OpenSSL/libssh2 container_img: ghcr.io/mback2k/curl-docker-winbuildenv/msys2-mingw64:ltsc2019 container_cmd: C:\msys64\usr\bin\sh prepare: pacman -S --needed --noconfirm --noprogressbar libssh2-devel mingw-w64-x86_64-libssh2 configure: --host=x86_64-w64-mingw32 --build=x86_64-w64-mingw32 --prefix=/mingw64 --enable-debug --enable-werror --with-libssh2 --with-openssl - tests: ~571 ~612 ~1056 ~1299 + tests: "~571" msys1_mingw_debug: name: 32-bit (legacy) container_img: ghcr.io/mback2k/curl-docker-winbuildenv/msys1-mingw:ltsc2019 container_cmd: C:\MinGW\msys\1.0\bin\sh configure: --host=i686-pc-mingw32 --build=i686-pc-mingw32 --prefix=/mingw --enable-debug --without-ssl - tests: ~203 ~1056 ~1143 + tests: "!203 !1143" msys1_mingw32_debug: name: 32-bit w/o zlib container_img: ghcr.io/mback2k/curl-docker-winbuildenv/msys1-mingw32:ltsc2019 container_cmd: C:\MinGW\msys\1.0\bin\sh configure: --host=i686-w64-mingw32 --build=i686-w64-mingw32 --prefix=/mingw32 --enable-debug --enable-werror --without-zlib --without-ssl - tests: ~203 ~1056 ~1143 ~1299 + tests: "!203 !1143" msys1_mingw64_debug: name: 64-bit w/o zlib container_img: ghcr.io/mback2k/curl-docker-winbuildenv/msys1-mingw64:ltsc2019 container_cmd: C:\MinGW\msys\1.0\bin\sh configure: --host=x86_64-w64-mingw32 --build=x86_64-w64-mingw32 --prefix=/mingw64 --enable-debug --enable-werror --without-zlib --without-ssl - tests: ~203 ~1056 ~1143 ~1299 + tests: "!203 !1143" msys2_mingw32_debug_schannel: name: 32-bit Schannel/SSPI/WinIDN/libssh2 container_img: ghcr.io/mback2k/curl-docker-winbuildenv/msys2-mingw32:ltsc2019 container_cmd: C:\msys64\usr\bin\sh prepare: pacman -S --needed --noconfirm --noprogressbar libssh2-devel mingw-w64-i686-libssh2 configure: --host=i686-w64-mingw32 --build=i686-w64-mingw32 --prefix=/mingw32 --enable-debug --enable-werror --enable-sspi --with-schannel --with-winidn --with-libssh2 - tests: ~165 ~310 ~571 ~612 ~1056 ~1299 ~1448 ~2034 ~2037 ~2041 ~2046 ~2047 ~3000 ~3001 + tests: "~571" msys2_mingw64_debug_schannel: name: 64-bit Schannel/SSPI/WinIDN/libssh2 container_img: ghcr.io/mback2k/curl-docker-winbuildenv/msys2-mingw64:ltsc2019 container_cmd: C:\msys64\usr\bin\sh prepare: pacman -S --needed --noconfirm --noprogressbar libssh2-devel mingw-w64-x86_64-libssh2 configure: --host=x86_64-w64-mingw32 --build=x86_64-w64-mingw32 --prefix=/mingw64 --enable-debug --enable-werror --enable-sspi --with-schannel --with-winidn --with-libssh2 - tests: ~165 ~310 ~571 ~612 ~1056 ~1299 ~1448 ~2034 ~2037 ~2041 ~2046 ~2047 ~3000 ~3001 + tests: "~571" msys1_mingw_debug_schannel: name: 32-bit Schannel/SSPI/WinIDN (legacy) container_img: ghcr.io/mback2k/curl-docker-winbuildenv/msys1-mingw:ltsc2019 container_cmd: C:\MinGW\msys\1.0\bin\sh configure: --host=i686-pc-mingw32 --build=i686-pc-mingw32 --prefix=/mingw --enable-debug --enable-sspi --with-schannel --with-winidn - tests: ~203 ~305 ~310 ~311 ~312 ~313 ~404 ~1056 ~1143 ~2034 ~2035 ~2037 ~2038 ~2041 ~2042 ~2048 ~3000 ~3001 + tests: "!203 !305 !311 !312 !313 !404 !1143 !2033 !2035 !2038 !2041 !2042 !2048 !2070 !2079 !2087 !3023 !3024" msys1_mingw32_debug_schannel: name: 32-bit Schannel/SSPI/WinIDN w/o zlib container_img: ghcr.io/mback2k/curl-docker-winbuildenv/msys1-mingw32:ltsc2019 container_cmd: C:\MinGW\msys\1.0\bin\sh configure: --host=i686-w64-mingw32 --build=i686-w64-mingw32 --prefix=/mingw32 --enable-debug --enable-werror --enable-sspi --with-schannel --with-winidn --without-zlib - tests: ~203 ~310 ~1056 ~1143 ~1299 ~2034 ~2037 ~2041 ~3000 ~3001 + tests: "!203 !1143" msys1_mingw64_debug_schannel: name: 64-bit Schannel/SSPI/WinIDN w/o zlib container_img: ghcr.io/mback2k/curl-docker-winbuildenv/msys1-mingw64:ltsc2019 container_cmd: C:\MinGW\msys\1.0\bin\sh configure: --host=x86_64-w64-mingw32 --build=x86_64-w64-mingw32 --prefix=/mingw64 --enable-debug --enable-werror --enable-sspi --with-schannel --with-winidn --without-zlib - tests: ~203 ~310 ~1056 ~1143 ~1299 ~2034 ~2037 ~2041 ~3000 ~3001 + tests: "!203 !1143" container: image: $(container_img) env: @@ -203,4 +203,4 @@ stages: displayName: 'test' env: AZURE_ACCESS_TOKEN: "$(System.AccessToken)" - TFLAGS: "!SCP $(tests)" + TFLAGS: "!IDN !SCP ~612 ~1056 $(tests)" diff --git a/.cirrus.yml b/.cirrus.yml index 587e0ae948..a719f8c76d 100644 --- a/.cirrus.yml +++ b/.cirrus.yml @@ -85,14 +85,14 @@ windows_task: container_cmd: C:\msys64\usr\bin\sh prepare: pacman -S --needed --noconfirm --noprogressbar libssh2-devel mingw-w64-i686-libssh2 configure: --host=i686-w64-mingw32 --build=i686-w64-mingw32 --prefix=/mingw32 --enable-werror --enable-sspi --with-schannel --with-winidn --with-libssh2 - tests: ~165 ~310 ~571 ~612 ~1056 ~1299 ~1448 ~2034 ~2037 ~2041 ~2046 ~2047 ~3000 ~3001 + tests: "~571" - name: Windows 32-bit static/release Schannel/SSPI/WinIDN/libssh2 env: container_img: ghcr.io/mback2k/curl-docker-winbuildenv/msys2-mingw32:ltsc2019 container_cmd: C:\msys64\usr\bin\sh prepare: pacman -S --needed --noconfirm --noprogressbar libssh2-devel mingw-w64-i686-libssh2 configure: --host=i686-w64-mingw32 --build=i686-w64-mingw32 --prefix=/mingw32 --enable-werror --enable-sspi --with-schannel --with-winidn --with-libssh2 --disable-shared --enable-static - tests: ~165 ~310 ~571 ~612 ~1056 ~1299 ~1448 ~2034 ~2037 ~2041 ~2046 ~2047 ~3000 ~3001 + tests: "~571" curl_LDFLAGS: -all-static PKG_CONFIG: pkg-config --static - name: Windows 64-bit shared/release Schannel/SSPI/WinIDN/libssh2 @@ -101,14 +101,14 @@ windows_task: container_cmd: C:\msys64\usr\bin\sh prepare: pacman -S --needed --noconfirm --noprogressbar libssh2-devel mingw-w64-x86_64-libssh2 configure: --host=x86_64-w64-mingw32 --build=x86_64-w64-mingw32 --prefix=/mingw64 --enable-werror --enable-sspi --with-schannel --with-winidn --with-libssh2 - tests: ~165 ~310 ~571 ~612 ~1056 ~1299 ~1448 ~2034 ~2037 ~2041 ~2046 ~2047 ~3000 ~3001 + tests: "~571" - name: Windows 64-bit static/release Schannel/SSPI/WinIDN/libssh2 env: container_img: ghcr.io/mback2k/curl-docker-winbuildenv/msys2-mingw64:ltsc2019 container_cmd: C:\msys64\usr\bin\sh prepare: pacman -S --needed --noconfirm --noprogressbar libssh2-devel mingw-w64-x86_64-libssh2 configure: --host=x86_64-w64-mingw32 --build=x86_64-w64-mingw32 --prefix=/mingw64 --enable-werror --enable-sspi --with-schannel --with-winidn --with-libssh2 --disable-shared --enable-static - tests: ~165 ~310 ~571 ~612 ~1056 ~1299 ~1448 ~2034 ~2037 ~2041 ~2046 ~2047 ~3000 ~3001 + tests: "~571" curl_LDFLAGS: -all-static PKG_CONFIG: pkg-config --static @@ -126,4 +126,4 @@ windows_task: install_script: | %container_cmd% -l -c "cd $(echo '%cd%') && make V=1 install && PATH=/usr/bin:/bin find . -type f -path '*/.libs/*.exe' -print -execdir mv -t .. {} \;" test_script: | - %container_cmd% -l -c "cd $(echo '%cd%') && make V=1 TFLAGS='!SCP %tests%' test-ci" + %container_cmd% -l -c "cd $(echo '%cd%') && make V=1 TFLAGS='!IDN !SCP ~612 ~1056 %tests%' test-ci" diff --git a/tests/data/Makefile.inc b/tests/data/Makefile.inc index 8b89895caa..9a8b64bed1 100644 --- a/tests/data/Makefile.inc +++ b/tests/data/Makefile.inc @@ -222,15 +222,13 @@ test2000 test2001 test2002 test2003 test2004 \ \ test2023 \ test2024 test2025 test2026 test2027 test2028 test2029 test2030 test2031 \ -test2032 test2034 test2035 test2036 test2037 test2038 test2039 \ +test2032 test2033 test2034 test2035 test2036 test2037 test2038 test2039 \ test2040 test2041 test2042 test2043 test2044 test2045 test2046 test2047 \ test2048 test2049 test2050 test2051 test2052 test2053 test2054 test2055 \ test2056 test2057 test2058 test2059 test2060 test2061 test2062 test2063 \ -test2064 test2065 test2066 test2067 test2068 test2069 \ -test2064 test2065 test2066 test2067 test2068 test2069 test2070 \ - test2071 test2072 test2073 test2074 test2075 test2076 test2077 \ -test2078 \ -test2080 test2081 test2082 test2083 test2084 test2085 test2086 \ +test2064 test2065 test2066 test2067 test2068 test2069 test2070 test2071 \ +test2072 test2073 test2074 test2075 test2076 test2077 test2078 test2079 \ +test2080 test2081 test2082 test2083 test2084 test2085 test2086 test2087 \ \ test2100 \ \ @@ -238,4 +236,5 @@ test2200 test2201 test2202 test2203 test2204 test2205 \ \ test3000 test3001 test3002 test3003 test3004 test3005 test3006 test3007 \ test3008 test3009 test3010 test3011 test3012 test3013 test3014 test3015 \ -test3016 test3017 test3018 test3019 test3020 test3021 test3022 +test3016 test3017 test3018 test3019 test3020 test3021 test3022 test3023 \ +test3024 diff --git a/tests/data/test2033 b/tests/data/test2033 new file mode 100644 index 0000000000..0645932a43 --- /dev/null +++ b/tests/data/test2033 @@ -0,0 +1,61 @@ + + + +HTTPS +HTTP GET +PEM certificate + + + +# +# Server-side + + +HTTP/1.1 200 OK +Date: Tue, 09 Nov 2010 14:49:00 GMT +Server: test-server/fake +Content-Length: 7 + +MooMoo + + + +# +# Client-side + + +SSL +SSLpinning +Schannel + + +https Server-localhost-sv.pem + + +simple HTTPS GET with DER public key pinning (Schannel variant) + + +# This test is pointless if we're not using the schannel backend +CURL_SSL_BACKEND=schannel + + +--cacert %SRCDIR/certs/EdelCurlRoot-ca.crt --pinnedpubkey %SRCDIR/certs/Server-localhost-sv.pub.der --ssl-revoke-best-effort https://localhost:%HTTPSPORT/%TESTNUMBER + +# Ensure that we're running on localhost because we're checking the host name + +perl -e "print 'Test requires default test server host' if ( '%HOSTIP' ne '127.0.0.1' );" + + + +# +# Verify data after the test has been "shot" + + +GET /%TESTNUMBER HTTP/1.1 +Host: localhost:%HTTPSPORT +User-Agent: curl/%VERSION +Accept: */* + + + + diff --git a/tests/data/test2034 b/tests/data/test2034 index 3ddd42024f..83f984a1d1 100644 --- a/tests/data/test2034 +++ b/tests/data/test2034 @@ -26,6 +26,7 @@ MooMoo SSL SSLpinning +!Schannel https Server-localhost-sv.pem diff --git a/tests/data/test2037 b/tests/data/test2037 index f43215fefa..2b17e53837 100644 --- a/tests/data/test2037 +++ b/tests/data/test2037 @@ -26,6 +26,7 @@ MooMoo SSL SSLpinning +!Schannel https Server-localhost-sv.pem diff --git a/tests/data/test2041 b/tests/data/test2041 index e4a2391e81..1958bb7fd0 100644 --- a/tests/data/test2041 +++ b/tests/data/test2041 @@ -26,6 +26,7 @@ MooMoo SSL SSLpinning +!Schannel https Server-localhost-sv.pem diff --git a/tests/data/test2070 b/tests/data/test2070 index 7258638f7d..74cdd7d8c4 100644 --- a/tests/data/test2070 +++ b/tests/data/test2070 @@ -24,8 +24,8 @@ MooMoo # Client-side +SSL Schannel -!MinGW https Server-localhost-sv.pem diff --git a/tests/data/test2079 b/tests/data/test2079 new file mode 100644 index 0000000000..67ffa1656c --- /dev/null +++ b/tests/data/test2079 @@ -0,0 +1,61 @@ + + + +HTTPS +HTTP GET +PEM certificate + + + +# +# Server-side + + +HTTP/1.1 200 OK +Date: Tue, 09 Nov 2010 14:49:00 GMT +Server: test-server/fake +Content-Length: 7 + +MooMoo + + + +# +# Client-side + + +SSL +SSLpinning +Schannel + + +https Server-localhost-sv.pem + + +simple HTTPS GET with PEM public key pinning (Schannel variant) + + +# This test is pointless if we're not using the schannel backend +CURL_SSL_BACKEND=schannel + + +--cacert %SRCDIR/certs/EdelCurlRoot-ca.crt --pinnedpubkey %SRCDIR/certs/Server-localhost-sv.pub.pem --ssl-revoke-best-effort https://localhost:%HTTPSPORT/%TESTNUMBER + +# Ensure that we're running on localhost because we're checking the host name + +perl -e "print 'Test requires default test server host' if ( '%HOSTIP' ne '127.0.0.1' );" + + + +# +# Verify data after the test has been "shot" + + +GET /%TESTNUMBER HTTP/1.1 +Host: localhost:%HTTPSPORT +User-Agent: curl/%VERSION +Accept: */* + + + + diff --git a/tests/data/test2087 b/tests/data/test2087 new file mode 100644 index 0000000000..78751ea628 --- /dev/null +++ b/tests/data/test2087 @@ -0,0 +1,61 @@ + + + +HTTPS +HTTP GET +PEM certificate + + + +# +# Server-side + + +HTTP/1.1 200 OK +Date: Tue, 09 Nov 2010 14:49:00 GMT +Server: test-server/fake +Content-Length: 7 + +MooMoo + + + +# +# Client-side + + +SSL +SSLpinning +Schannel + + +https Server-localhost-sv.pem + + +simple HTTPS GET with base64-sha256 public key pinning (Schannel variant) + + +# This test is pointless if we're not using the schannel backend +CURL_SSL_BACKEND=schannel + + +--cacert %SRCDIR/certs/EdelCurlRoot-ca.crt --pinnedpubkey sha256//+JYNkp2GTGRgrvZMUkOxbFJQQqYpwNE6toGmBjz00D8= --ssl-revoke-best-effort https://localhost:%HTTPSPORT/%TESTNUMBER + +# Ensure that we're running on localhost because we're checking the host name + +perl -e "print 'Test requires default test server host' if ( '%HOSTIP' ne '127.0.0.1' );" + + + +# +# Verify data after the test has been "shot" + + +GET /%TESTNUMBER HTTP/1.1 +Host: localhost:%HTTPSPORT +User-Agent: curl/%VERSION +Accept: */* + + + + diff --git a/tests/data/test3000 b/tests/data/test3000 index db5299e5f0..05f4a010ed 100644 --- a/tests/data/test3000 +++ b/tests/data/test3000 @@ -25,6 +25,7 @@ MooMoo SSL +!Schannel https Server-localhost-firstSAN-sv.pem diff --git a/tests/data/test3001 b/tests/data/test3001 index 534a5cded4..3a954324be 100644 --- a/tests/data/test3001 +++ b/tests/data/test3001 @@ -25,6 +25,7 @@ MooMoo SSL +!Schannel https Server-localhost-lastSAN-sv.pem diff --git a/tests/data/test3023 b/tests/data/test3023 new file mode 100644 index 0000000000..fe43c199f6 --- /dev/null +++ b/tests/data/test3023 @@ -0,0 +1,60 @@ + + + +HTTPS +HTTP GET +PEM certificate + + + +# +# Server-side + + +HTTP/1.1 200 OK +Date: Tue, 09 Nov 2010 14:49:00 GMT +Server: test-server/fake +Content-Length: 7 + +MooMoo + + + +# +# Client-side + + +SSL +Schannel + + +https Server-localhost-firstSAN-sv.pem + + +HTTPS GET to localhost, first subject alt name matches, CN does not match (Schannel variant) + + +# This test is pointless if we're not using the schannel backend +CURL_SSL_BACKEND=schannel + + +--cacert %SRCDIR/certs/EdelCurlRoot-ca.crt --ssl-revoke-best-effort https://localhost:%HTTPSPORT/%TESTNUMBER + +# Ensure that we're running on localhost because we're checking the host name + +perl -e "print 'Test requires default test server host' if ( '%HOSTIP' ne '127.0.0.1' );" + + + +# +# Verify data after the test has been "shot" + + +GET /%TESTNUMBER HTTP/1.1 +Host: localhost:%HTTPSPORT +User-Agent: curl/%VERSION +Accept: */* + + + + diff --git a/tests/data/test3024 b/tests/data/test3024 new file mode 100644 index 0000000000..55b26788e9 --- /dev/null +++ b/tests/data/test3024 @@ -0,0 +1,60 @@ + + + +HTTPS +HTTP GET +PEM certificate + + + +# +# Server-side + + +HTTP/1.1 200 OK +Date: Tue, 09 Nov 2010 14:49:00 GMT +Server: test-server/fake +Content-Length: 7 + +MooMoo + + + +# +# Client-side + + +SSL +Schannel + + +https Server-localhost-lastSAN-sv.pem + + +HTTPS GET to localhost, last subject alt name matches, CN does not match (Schannel variant) + + +# This test is pointless if we're not using the schannel backend +CURL_SSL_BACKEND=schannel + + +--cacert %SRCDIR/certs/EdelCurlRoot-ca.crt --ssl-revoke-best-effort https://localhost:%HTTPSPORT/%TESTNUMBER + +# Ensure that we're running on localhost because we're checking the host name + +perl -e "print 'Test requires default test server host' if ( '%HOSTIP' ne '127.0.0.1' );" + + + +# +# Verify data after the test has been "shot" + + +GET /%TESTNUMBER HTTP/1.1 +Host: localhost:%HTTPSPORT +User-Agent: curl/%VERSION +Accept: */* + + + + diff --git a/tests/data/test310 b/tests/data/test310 index c31085b877..6b6f63a668 100644 --- a/tests/data/test310 +++ b/tests/data/test310 @@ -25,6 +25,7 @@ MooMoo SSL +!Schannel https Server-localhost-sv.pem