summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorIgnacio Casal Quinteiro <qignacio@amazon.com>2022-01-31 12:44:11 +0100
committerIgnacio Casal Quinteiro <qignacio@amazon.com>2022-01-31 12:44:11 +0100
commit49004e3be3ca1200f01e161aeaa8773ed7ec1990 (patch)
treeafaa2561f1e3c3e16976129fd5841a8873086b2f
parentd93656501daf47dcf33e6371764e0f6fa6095134 (diff)
downloadlibsoup-49004e3be3ca1200f01e161aeaa8773ed7ec1990.tar.gz
test: add test about invalid percent encoding paths
-rw-r--r--tests/server-test.c24
1 files changed, 24 insertions, 0 deletions
diff --git a/tests/server-test.c b/tests/server-test.c
index 2f9c4997..8f81c256 100644
--- a/tests/server-test.c
+++ b/tests/server-test.c
@@ -247,6 +247,28 @@ do_dot_dot_test (ServerData *sd, gconstpointer test_data)
}
static void
+do_invalid_percent_encoding_paths_test (ServerData *sd, gconstpointer test_data)
+{
+ SoupSession *session;
+ SoupMessage *msg;
+ GUri *uri;
+
+ g_test_bug ("262");
+
+ session = soup_test_session_new (NULL);
+
+ uri = g_uri_parse_relative (sd->base_uri, "/TestString1%00%0aTestString2", SOUP_HTTP_URI_FLAGS, NULL);
+ msg = soup_message_new_from_uri ("GET", uri);
+ g_uri_unref (uri);
+
+ soup_test_session_send_message (session, msg);
+ soup_test_assert_message_status (msg, SOUP_STATUS_BAD_REQUEST);
+ g_object_unref (msg);
+
+ soup_test_session_abort_unref (session);
+}
+
+static void
ipv6_server_callback (SoupServer *server,
SoupServerMessage *msg,
const char *path,
@@ -1304,6 +1326,8 @@ main (int argc, char **argv)
server_setup, do_star_test, server_teardown);
g_test_add ("/server/..-in-path", ServerData, NULL,
server_setup, do_dot_dot_test, server_teardown);
+ g_test_add ("/server/invalid-percent-encoding-paths", ServerData, NULL,
+ server_setup, do_invalid_percent_encoding_paths_test, server_teardown);
g_test_add ("/server/ipv6", ServerData, NULL,
NULL, do_ipv6_test, server_teardown);
g_test_add ("/server/multi/port", ServerData, NULL,