aboutsummaryrefslogtreecommitdiff
path: root/tests/data/test2078
diff options
context:
space:
mode:
authorKamil Dudka <kdudka@redhat.com>2019-07-30 12:59:35 +0200
committerKamil Dudka <kdudka@redhat.com>2019-08-01 16:21:41 +0200
commit4c187043c5aac57f354ebb96cc6ff3263411e98d (patch)
treef2e2298cd80224d5d31ccb8664ecf34178f4059c /tests/data/test2078
parentcd8068ed4c6e03a3c13aa31326d0a7f1a36bfa02 (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/test207854
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>