diff options
author | Isaac Boukris <iboukris@gmail.com> | 2017-07-18 21:46:21 +0300 |
---|---|---|
committer | Marcel Raad <Marcel.Raad@teamviewer.com> | 2017-09-15 14:09:08 +0200 |
commit | 56d949d31ad182a22bd3bad25b1a902b635d549d (patch) | |
tree | e95d973da761d9a87eeff98db678f84d7aed97aa /tests/data | |
parent | 65872efea74f16552e2e0e516164b01913fd706f (diff) | |
download | curl-56d949d31ad182a22bd3bad25b1a902b635d549d.tar.gz |
tests: add initial gssapi test using stub implementation
The stub implementation is pre-loaded using LD_PRELOAD
and emulates common gssapi uses (only builds if curl is
initially built with gssapi support).
The initial tests are currently disabled for debug builds
as LD_PRELOAD is not used then.
Ref: https://github.com/curl/curl/pull/1687
Diffstat (limited to 'tests/data')
-rw-r--r-- | tests/data/Makefile.inc | 3 | ||||
-rw-r--r-- | tests/data/test2056 | 87 | ||||
-rw-r--r-- | tests/data/test2057 | 108 |
3 files changed, 197 insertions, 1 deletions
diff --git a/tests/data/Makefile.inc b/tests/data/Makefile.inc index 942d2fe7c..c26699ab0 100644 --- a/tests/data/Makefile.inc +++ b/tests/data/Makefile.inc @@ -182,4 +182,5 @@ test2016 test2017 test2018 test2019 test2020 test2021 test2022 test2023 \ test2024 test2025 test2026 test2027 test2028 test2029 test2030 test2031 \ test2032 test2033 test2034 test2035 test2036 test2037 test2038 test2039 \ test2040 test2041 test2042 test2043 test2044 test2045 test2046 test2047 \ -test2048 test2049 test2050 test2051 test2052 test2053 test2054 test2055 +test2048 test2049 test2050 test2051 test2052 test2053 test2054 test2055 \ +test2056 test2057 diff --git a/tests/data/test2056 b/tests/data/test2056 new file mode 100644 index 000000000..f00e21204 --- /dev/null +++ b/tests/data/test2056 @@ -0,0 +1,87 @@ +<testcase> +<info> +<keywords> +HTTP +HTTP GET +HTTP Negotiate auth (stub krb5) +</keywords> +</info> +# Server-side +<reply> +<!-- First request, expect 401 Negotiate --> +<data> +HTTP/1.1 401 Authorization Required +Server: Microsoft-IIS/7.0 +Content-Type: text/html; charset=iso-8859-1 +WWW-Authenticate: Negotiate +Content-Length: 13 + +Not yet sir! +</data> +<!-- Second request, expect success in one shot --> +<data1> +HTTP/1.1 200 Things are fine in server land +Server: Microsoft-IIS/7.0 +Content-Type: text/html; charset=iso-8859-1 +WWW-Authenticate: Negotiate RA== +Content-Length: 15 + +Nice auth sir! +</data1> +<datacheck> +HTTP/1.1 401 Authorization Required +Server: Microsoft-IIS/7.0 +Content-Type: text/html; charset=iso-8859-1 +WWW-Authenticate: Negotiate +Content-Length: 13 + +HTTP/1.1 200 Things are fine in server land +Server: Microsoft-IIS/7.0 +Content-Type: text/html; charset=iso-8859-1 +WWW-Authenticate: Negotiate RA== +Content-Length: 15 + +Nice auth sir! +</datacheck> +</reply> + +# Client-side +<client> +<server> +http +</server> +<name> +HTTP Negotiate authentication (stub krb5) +</name> +<features> +GSS-API +ld_preload +!debug +</features> +<setenv> +LD_PRELOAD=%PWD/libtest/.libs/libstubgss.so +CURL_STUB_GSS_CREDS="KRB5_Alice" +</setenv> +<command> +-u: --negotiate http://%HOSTIP:%HTTPPORT/2056 +</command> +</client> + +# Verify data after the test has been "shot" +<verify> +<strip> +^User-Agent:.* +</strip> +<protocol> +GET /2056 HTTP/1.1
+Host: %HOSTIP:%HTTPPORT
+Accept: */*
+
+GET /2056 HTTP/1.1
+Host: %HOSTIP:%HTTPPORT
+Authorization: Negotiate IktSQjVfQWxpY2UiOkhUVFBAMTI3LjAuMC4xOjE6QUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQQ==
+Accept: */*
+
+</protocol> +</verify> +</testcase> diff --git a/tests/data/test2057 b/tests/data/test2057 new file mode 100644 index 000000000..562505168 --- /dev/null +++ b/tests/data/test2057 @@ -0,0 +1,108 @@ +<testcase> +<info> +<keywords> +HTTP +HTTP GET +HTTP Negotiate auth (stub ntlm) +</keywords> +</info> +# Server-side +<reply> +<!-- First request, expect 401 Negotiate --> +<data> +HTTP/1.1 401 Authorization Required +Server: Microsoft-IIS/7.0 +Content-Type: text/html; charset=iso-8859-1 +WWW-Authenticate: Negotiate +Content-Length: 13 + +Not yet sir! +</data> +<!-- Second request, expect 401 (ntlm challenge) --> +<data1> +HTTP/1.1 401 Authorization Required +Server: Microsoft-IIS/7.0 +Content-Type: text/html; charset=iso-8859-1 +WWW-Authenticate: Negotiate Qw== +Content-Length: 19 + +Still not yet sir! +</data1> +<!-- Third request, expect success --> +<data2> +HTTP/1.1 200 Things are fine in server land +Server: Microsoft-IIS/7.0 +Content-Type: text/html; charset=iso-8859-1 +WWW-Authenticate: Negotiate RA== +Content-Length: 15 + +Nice auth sir! +</data2> +<datacheck> +HTTP/1.1 401 Authorization Required +Server: Microsoft-IIS/7.0 +Content-Type: text/html; charset=iso-8859-1 +WWW-Authenticate: Negotiate +Content-Length: 13 + +HTTP/1.1 401 Authorization Required +Server: Microsoft-IIS/7.0 +Content-Type: text/html; charset=iso-8859-1 +WWW-Authenticate: Negotiate Qw== +Content-Length: 19 + +HTTP/1.1 200 Things are fine in server land +Server: Microsoft-IIS/7.0 +Content-Type: text/html; charset=iso-8859-1 +WWW-Authenticate: Negotiate RA== +Content-Length: 15 + +Nice auth sir! +</datacheck> +</reply> + +# Client-side +<client> +<server> +http +</server> +<name> +HTTP Negotiate authentication (stub ntlm) +</name> +<features> +GSS-API +ld_preload +!debug +</features> +<setenv> +LD_PRELOAD=%PWD/libtest/.libs/libstubgss.so +CURL_STUB_GSS_CREDS="NTLM_Alice" +</setenv> +<command> +-u: --negotiate http://%HOSTIP:%HTTPPORT/2057 +</command> +</client> + +# Verify data after the test has been "shot" +<verify> +<strip> +^User-Agent:.* +</strip> +<protocol> +GET /2057 HTTP/1.1
+Host: %HOSTIP:%HTTPPORT
+Accept: */*
+
+GET /2057 HTTP/1.1
+Host: %HOSTIP:%HTTPPORT
+Authorization: Negotiate Ik5UTE1fQWxpY2UiOkhUVFBAMTI3LjAuMC4xOjI6QUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQQ==
+Accept: */*
+
+GET /2057 HTTP/1.1
+Host: %HOSTIP:%HTTPPORT
+Authorization: Negotiate Ik5UTE1fQWxpY2UiOkhUVFBAMTI3LjAuMC4xOjM6QUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQQ==
+Accept: */*
+
+</protocol> +</verify> +</testcase> |