summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorClaudio Saavedra <csaavedra@igalia.com>2018-09-14 10:34:34 +0300
committerClaudio Saavedra <csaavedra@igalia.com>2019-05-22 14:59:14 +0000
commit81f160ba759724826adecbdb50b63fca439d46eb (patch)
treec55bd90f0e6a1c9c4c31bfd1ee36993346da37d4
parent40e2944238ee28debaaa42bed5c2b1efa6c81ec7 (diff)
downloadlibsoup-81f160ba759724826adecbdb50b63fca439d46eb.tar.gz
Add test for duplicated directives
This test is commented out because the implementation will not ignore headers with duplicated parameters.
-rw-r--r--tests/hsts-test.c14
1 files changed, 13 insertions, 1 deletions
diff --git a/tests/hsts-test.c b/tests/hsts-test.c
index 570dad7b..5ce67886 100644
--- a/tests/hsts-test.c
+++ b/tests/hsts-test.c
@@ -81,7 +81,7 @@ server_callback (SoupServer *server, SoupMessage *msg,
soup_message_headers_append (msg->response_headers,
"Strict-Transport-Security",
" max-age=3600; includeDomains; foo");
- } else if (strcmp (path, "/extra-values-2") == 0) {
+ } else if (strcmp (path, "/duplicated-directives") == 0) {
soup_message_headers_append (msg->response_headers,
"Strict-Transport-Security",
"max-age=3600; includeDomains; includeDomains");
@@ -337,6 +337,15 @@ do_hsts_extra_values_test (void)
}
static void
+do_hsts_duplicated_directives_test (void)
+{
+ SoupSession *session = hsts_session_new (NULL);
+ session_get_uri (session, "https://localhost/duplicated-directives", SOUP_STATUS_OK);
+ session_get_uri (session, "http://localhost", SOUP_STATUS_MOVED_PERMANENTLY);
+ soup_test_session_abort_unref (session);
+}
+
+static void
do_hsts_case_insensitive_header_test (void)
{
SoupSession *session = hsts_session_new (NULL);
@@ -433,6 +442,9 @@ main (int argc, char **argv)
g_test_add_func ("/hsts/missing-values", do_hsts_missing_values_test);
g_test_add_func ("/hsts/invalid-values", do_hsts_invalid_values_test);
g_test_add_func ("/hsts/extra-values", do_hsts_extra_values_test);
+ /* This test is skipped because soup_header_parse_semi_param_list() does not
+ take into account duplicated directives/parameters. */
+ /* g_test_add_func ("/hsts/duplicated-directives", do_hsts_duplicated_directives_test); */
g_test_add_func ("/hsts/case-insensitive-header", do_hsts_case_insensitive_header_test);
g_test_add_func ("/hsts/case-insensitive-directives", do_hsts_case_insensitive_directives_test);
g_test_add_func ("/hsts/optional-quotations", do_hsts_optional_quotations_test);