diff options
author | Dmitry Wagin <dmitry.wagin@ya.ru> | 2021-01-25 17:02:09 +0300 |
---|---|---|
committer | Daniel Stenberg <daniel@haxx.se> | 2021-01-30 23:48:22 +0100 |
commit | 796ce293defeeefb001bd8b76bbb75eb77a1ce0c (patch) | |
tree | 5de053a8198e191860a9bc7177c9788880e094a5 /tests/data/test1935 | |
parent | 3c2210713e2427d567a6c44b83b3c9ac2a8577bc (diff) | |
download | curl-796ce293defeeefb001bd8b76bbb75eb77a1ce0c.tar.gz |
http: improve AWS HTTP v4 Signature auth
- Add support services without region and service prefixes in
the URL endpoint (ex. Min.IO, GCP, Yandex Cloud, Mail.Ru Cloud Solutions, etc)
by providing region and service parameters via aws-sigv4 option.
- Add [:region[:service]] suffix to aws-sigv4 option;
- Fix memory allocation errors.
- Refactor memory management.
- Use Curl_http_method instead() STRING_CUSTOMREQUEST.
- Refactor canonical headers generating.
- Remove repeated sha256_to_hex() usage.
- Add some docs fixes.
- Add some codestyle fixes.
- Add overloaded strndup() for debug - curl_dbg_strndup().
- Update tests.
Closes #6524
Diffstat (limited to 'tests/data/test1935')
-rw-r--r-- | tests/data/test1935 | 69 |
1 files changed, 69 insertions, 0 deletions
diff --git a/tests/data/test1935 b/tests/data/test1935 new file mode 100644 index 000000000..3744a32d5 --- /dev/null +++ b/tests/data/test1935 @@ -0,0 +1,69 @@ +<testcase> +<info> +<keywords> +HTTP +CURLOPT_AWS_SIGV4 +</keywords> +</info> + +# Server-side +<reply> +<data nocheck="yes"> +HTTP/1.1 302 OK +Date: Thu, 09 Nov 2010 14:49:00 GMT +Server: test-server/fake +Content-Type: text/html +Content-Length: 0 +Location: /19350002 + +</data> +<data2> +HTTP/1.1 200 OK +Date: Thu, 09 Nov 2010 14:49:00 GMT +Server: test-server/fake +Content-Type: text/html +Content-Length: 0 + +</data> +</reply> + +# Client-side +<client> +<server> +http +</server> +# this relies on the debug feature which allow to set the time +<features> +SSL +debug +crypto +</features> + +<name> +HTTP AWS_SIGV4 with two providers and region +</name> +<tool> +lib1935 +</tool> + +<command> +http://%HOSTIP:%HTTPPORT/1935/testapi/test +</command> +</client> + +# Verify data after the test has been "shot" +<verify> +<strip> +^User-Agent:.* +^Content-Type:.* +^Accept:.* +</strip> +<protocol> +GET /1935/testapi/test HTTP/1.1
+Host: %HOSTIP:%HTTPPORT
+Authorization: XXX4-HMAC-SHA256 Credential=xxx/19700101/rrr/127/xxx4_request, SignedHeaders=content-type;host;x-yyy-date, Signature=240750deb9263d4c8ece71c016f3919b56e518249390ef075740f94ef8df846f
+X-Yyy-Date: 19700101T000000Z
+
+</protocol> +</verify> +</testcase> |