diff options
author | Kamil Dudka <kdudka@redhat.com> | 2019-07-30 12:59:35 +0200 |
---|---|---|
committer | Kamil Dudka <kdudka@redhat.com> | 2019-08-01 16:21:41 +0200 |
commit | 4c187043c5aac57f354ebb96cc6ff3263411e98d (patch) | |
tree | f2e2298cd80224d5d31ccb8664ecf34178f4059c /tests/data/test2078 | |
parent | cd8068ed4c6e03a3c13aa31326d0a7f1a36bfa02 (diff) |
http_negotiate: improve handling of gss_init_sec_context() failures
If HTTPAUTH_GSSNEGOTIATE was used for a POST request and
gss_init_sec_context() failed, the POST request was sent
with empty body. This commit also restores the original
behavior of `curl --fail --negotiate`, which was changed
by commit 6c6035532383e300c712e4c1cd9fdd749ed5cf59.
Add regression tests 2077 and 2078 to cover this.
Fixes #3992
Closes #4171
Diffstat (limited to 'tests/data/test2078')
-rw-r--r-- | tests/data/test2078 | 54 |
1 files changed, 54 insertions, 0 deletions
diff --git a/tests/data/test2078 b/tests/data/test2078 new file mode 100644 index 000000000..99bc2dbee --- /dev/null +++ b/tests/data/test2078 @@ -0,0 +1,54 @@ +<testcase> +<info> +<keywords> +HTTP +HTTP GET +GSS-API +</keywords> +</info> + +# Server-side +<reply> +<data> +HTTP/1.1 200 OK swsclose
+Content-Length: 23
+
+This IS the real page! +</data> +</reply> + +# Client-side +<client> +<server> +http +</server> +<features> +GSS-API +</features> +<name> +curl --negotiate should not send empty POST request only +</name> +<command> +http://%HOSTIP:%HTTPPORT/2078 -u : --negotiate --data name=value +</command> +</client> + +# Verify data after the test has been "shot" +<verify> +<errorcode> +0 +</errorcode> +<strip> +^User-Agent:.* +</strip> +<protocol nonewline="yes"> +POST /2078 HTTP/1.1
+Host: 127.0.0.1:8990
+Accept: */*
+Content-Length: 10
+Content-Type: application/x-www-form-urlencoded
+
+name=value +</protocol> +</verify> +</testcase> |