summaryrefslogtreecommitdiff
path: root/src/t/test_burl.c
diff options
context:
space:
mode:
authorGlenn Strauss <gstrauss@gluelogic.com>2022-05-24 14:57:30 -0400
committerGlenn Strauss <gstrauss@gluelogic.com>2022-05-24 21:56:30 -0400
commita01e62bb7d562d2176e5fc50811f0b22b30cdfa1 (patch)
tree3a7122f6f53b850a54ec31eadc4c57276ae88883 /src/t/test_burl.c
parent467fb2bfb7374d37cd6b0c9e617989e1b8ca6de4 (diff)
downloadlighttpd-git-a01e62bb7d562d2176e5fc50811f0b22b30cdfa1.tar.gz
[core] "url-invalid-utf8-reject" normalization opt
server.http-parseopts "url-invalid-utf8-reject" url normalization option default: "url-invalid-utf8-reject" => "enable"
Diffstat (limited to 'src/t/test_burl.c')
-rw-r--r--src/t/test_burl.c9
1 files changed, 8 insertions, 1 deletions
diff --git a/src/t/test_burl.c b/src/t/test_burl.c
index 174d1c3c..fa9190ff 100644
--- a/src/t/test_burl.c
+++ b/src/t/test_burl.c
@@ -31,6 +31,11 @@ static void test_burl_normalize (void) {
int flags;
flags = HTTP_PARSEOPT_URL_NORMALIZE_UNRESERVED;
+ run_burl_normalize(psrc, ptmp, flags, __LINE__, CONST_STR_LEN("/%C0"), CONST_STR_LEN("/%C0"));
+ run_burl_normalize(psrc, ptmp, flags, __LINE__, CONST_STR_LEN("/\377"), CONST_STR_LEN("/%FF"));
+
+ flags = HTTP_PARSEOPT_URL_NORMALIZE_UNRESERVED
+ | HTTP_PARSEOPT_URL_NORMALIZE_INVALID_UTF8_REJECT;
run_burl_normalize(psrc, ptmp, flags, __LINE__, CONST_STR_LEN("no-slash"), CONST_STR_LEN("no-slash"));
run_burl_normalize(psrc, ptmp, flags, __LINE__, CONST_STR_LEN("/"), CONST_STR_LEN("/"));
run_burl_normalize(psrc, ptmp, flags, __LINE__, CONST_STR_LEN("/abc"), CONST_STR_LEN("/abc"));
@@ -53,11 +58,13 @@ static void test_burl_normalize (void) {
run_burl_normalize(psrc, ptmp, flags, __LINE__, CONST_STR_LEN("/%3a"), CONST_STR_LEN("/%3A"));
run_burl_normalize(psrc, ptmp, flags, __LINE__, CONST_STR_LEN("/%3A"), CONST_STR_LEN("/%3A"));
run_burl_normalize(psrc, ptmp, flags, __LINE__, CONST_STR_LEN("/~test%20รค_"), CONST_STR_LEN("/~test%20%C3%A4_"));
+ run_burl_normalize(psrc, ptmp, flags, __LINE__, CONST_STR_LEN("/%C0"), "", (size_t)-2);
run_burl_normalize(psrc, ptmp, flags, __LINE__, CONST_STR_LEN("/\375"), "", (size_t)-2);
run_burl_normalize(psrc, ptmp, flags, __LINE__, CONST_STR_LEN("/\376"), "", (size_t)-2);
run_burl_normalize(psrc, ptmp, flags, __LINE__, CONST_STR_LEN("/\377"), "", (size_t)-2);
- flags = HTTP_PARSEOPT_URL_NORMALIZE_REQUIRED;
+ flags = HTTP_PARSEOPT_URL_NORMALIZE_REQUIRED
+ | HTTP_PARSEOPT_URL_NORMALIZE_INVALID_UTF8_REJECT;
run_burl_normalize(psrc, ptmp, flags, __LINE__, CONST_STR_LEN("/"), CONST_STR_LEN("/"));
run_burl_normalize(psrc, ptmp, flags, __LINE__, CONST_STR_LEN("/abc"), CONST_STR_LEN("/abc"));
run_burl_normalize(psrc, ptmp, flags, __LINE__, CONST_STR_LEN("/abc/"), CONST_STR_LEN("/abc/"));