From 93f2480ef01a6881274ca9503e5783c2bc5e6b06 Mon Sep 17 00:00:00 2001 From: Xavier Beaudouin Date: Fri, 18 Jul 2025 07:08:38 +0200 Subject: [PATCH] Update patches and add patchs from commits 4297f4e, ff69dad, 55f74e5 (some of them don't applies correctly) --- www/libapreq2/Makefile | 2 +- www/libapreq2/files/patch-glue-Makefile.in | 6 +- .../files/patch-glue-perl-Makefile.PL | 6 +- .../files/patch-library_module__cgi.c | 11 + .../files/patch-library_parser__multipart.c | 37 ++ www/libapreq2/files/patch-library_t_parsers.c | 319 ++++++++++++++++++ www/libapreq2/files/patch-library_t_util.c | 58 ++++ www/libapreq2/files/patch-module-Makefile.in | 4 +- .../files/patch-module_apache2_filter.c | 11 + .../files/patch-module_t_conf_extra.conf.in | 14 + 10 files changed, 459 insertions(+), 9 deletions(-) create mode 100644 www/libapreq2/files/patch-library_module__cgi.c create mode 100644 www/libapreq2/files/patch-library_parser__multipart.c create mode 100644 www/libapreq2/files/patch-library_t_parsers.c create mode 100644 www/libapreq2/files/patch-library_t_util.c create mode 100644 www/libapreq2/files/patch-module_apache2_filter.c create mode 100644 www/libapreq2/files/patch-module_t_conf_extra.conf.in diff --git a/www/libapreq2/Makefile b/www/libapreq2/Makefile index be0880e..c867f96 100644 --- a/www/libapreq2/Makefile +++ b/www/libapreq2/Makefile @@ -1,6 +1,6 @@ PORTNAME= libapreq2 PORTVERSION= 2.17 -PORTREVISION= 0 +PORTREVISION= 1 CATEGORIES= www devel MASTER_SITES= APACHE_HTTPD/libapreq diff --git a/www/libapreq2/files/patch-glue-Makefile.in b/www/libapreq2/files/patch-glue-Makefile.in index 9a66859..15d67d1 100644 --- a/www/libapreq2/files/patch-glue-Makefile.in +++ b/www/libapreq2/files/patch-glue-Makefile.in @@ -1,6 +1,6 @@ ---- ./glue/Makefile.in.orig 2009-04-13 06:32:19.000000000 +0000 -+++ ./glue/Makefile.in 2009-04-13 06:32:29.000000000 +0000 -@@ -266,7 +266,7 @@ +--- glue/Makefile.in.orig 2022-08-18 09:23:35 UTC ++++ glue/Makefile.in +@@ -479,7 +479,7 @@ perl_install: perl_install: cd perl; INSTALL=1 @PERL@ @PERL_OPTS@ Makefile.PL -apxs @APACHE2_APXS@ @MM_OPTS@ diff --git a/www/libapreq2/files/patch-glue-perl-Makefile.PL b/www/libapreq2/files/patch-glue-perl-Makefile.PL index 4387e26..f29aa7d 100644 --- a/www/libapreq2/files/patch-glue-perl-Makefile.PL +++ b/www/libapreq2/files/patch-glue-perl-Makefile.PL @@ -1,6 +1,6 @@ ---- glue/perl/Makefile.PL.orig 2006-08-09 04:26:45.000000000 +0000 -+++ glue/perl/Makefile.PL 2008-08-25 18:07:08.000000000 +0000 -@@ -415,8 +450,8 @@ +--- glue/perl/Makefile.PL.orig 2022-08-18 09:18:20 UTC ++++ glue/perl/Makefile.PL +@@ -460,8 +460,8 @@ ModPerl::MM::WriteMakefile( 'NAME' => '$class', 'VERSION' => '$version', 'TYPEMAPS' => [qw(@$mp2_typemaps $typemap)], diff --git a/www/libapreq2/files/patch-library_module__cgi.c b/www/libapreq2/files/patch-library_module__cgi.c new file mode 100644 index 0000000..7178d8d --- /dev/null +++ b/www/libapreq2/files/patch-library_module__cgi.c @@ -0,0 +1,11 @@ +--- library/module_cgi.c.orig 2022-08-18 09:18:20 UTC ++++ library/module_cgi.c +@@ -354,7 +354,7 @@ static void init_body(apreq_handle_t *handle) + + if (cl_header != NULL) { + char *dummy; +- apr_int64_t content_length = apr_strtoi64(cl_header, &dummy, 0); ++ apr_int64_t content_length = apr_strtoi64(cl_header, &dummy, 10); + + if (dummy == cl_header || *dummy != 0) { + req->body_status = APREQ_ERROR_BADHEADER; diff --git a/www/libapreq2/files/patch-library_parser__multipart.c b/www/libapreq2/files/patch-library_parser__multipart.c new file mode 100644 index 0000000..4beb068 --- /dev/null +++ b/www/libapreq2/files/patch-library_parser__multipart.c @@ -0,0 +1,37 @@ +--- library/parser_multipart.c.orig 2022-08-18 09:18:20 UTC ++++ library/parser_multipart.c +@@ -425,7 +425,7 @@ APREQ_DECLARE_PARSER(apreq_parse_multipart) + if (cd != NULL) { + s = apreq_header_attribute(cd, "name", 4, + &name, &nlen); +- if (s == APR_SUCCESS && nlen) { ++ if (s == APR_SUCCESS) { + next_ctx->param_name = apr_pstrmemdup(pool, name, + nlen); + } +@@ -460,14 +460,14 @@ APREQ_DECLARE_PARSER(apreq_parse_multipart) + + if (cd != NULL && strncmp(cd, "form-data", 9) == 0) { + s = apreq_header_attribute(cd, "name", 4, &name, &nlen); +- if (s != APR_SUCCESS || !nlen) { ++ if (s != APR_SUCCESS) { + ctx->status = MFD_ERROR; + goto mfd_parse_brigade; + } + + s = apreq_header_attribute(cd, "filename", + 8, &filename, &flen); +- if (s == APR_SUCCESS && flen) { ++ if (s == APR_SUCCESS) { + apreq_param_t *param; + + param = apreq_param_make(pool, name, nlen, +@@ -497,7 +497,7 @@ APREQ_DECLARE_PARSER(apreq_parse_multipart) + + s = apreq_header_attribute(cd, "filename", + 8, &filename, &flen); +- if (s != APR_SUCCESS || !flen || !ctx->param_name) { ++ if (s != APR_SUCCESS || !ctx->param_name) { + ctx->status = MFD_ERROR; + goto mfd_parse_brigade; + } diff --git a/www/libapreq2/files/patch-library_t_parsers.c b/www/libapreq2/files/patch-library_t_parsers.c new file mode 100644 index 0000000..3df46b0 --- /dev/null +++ b/www/libapreq2/files/patch-library_t_parsers.c @@ -0,0 +1,319 @@ +--- library/t/parsers.c.orig 2022-08-18 09:18:20 UTC ++++ library/t/parsers.c +@@ -25,6 +25,7 @@ static apr_pool_t *p; + #define CRLF "\015\012" + + static apr_pool_t *p; ++static apr_pool_t *test_pool; + + static char url_data[] = "alpha=one&beta=two;omega=last%2"; + +@@ -152,10 +153,10 @@ static void parse_urlencoded(dAT, void *ctx) + apreq_parser_t *parser; + apr_table_t *body; + +- body = apr_table_make(p, APREQ_DEFAULT_NELTS); +- ba = apr_bucket_alloc_create(p); +- bb = apr_brigade_create(p, ba); +- parser = apreq_parser_make(p, ba, URL_ENCTYPE, apreq_parse_urlencoded, ++ body = apr_table_make(test_pool, APREQ_DEFAULT_NELTS); ++ ba = apr_bucket_alloc_create(test_pool); ++ bb = apr_brigade_create(test_pool, ba); ++ parser = apreq_parser_make(test_pool, ba, URL_ENCTYPE, apreq_parse_urlencoded, + 100, NULL, NULL, NULL); + + APR_BRIGADE_INSERT_HEAD(bb, +@@ -178,6 +179,7 @@ static void parse_urlencoded(dAT, void *ctx) + AT_str_eq(apr_table_get(body,"beta"), "two"); + AT_str_eq(apr_table_get(body,"omega"),"last+last"); + ++ apr_pool_clear(test_pool); + } + + static void parse_multipart(dAT, void *ctx) +@@ -188,7 +190,7 @@ static void parse_multipart(dAT, void *ctx) + + for (j = 0; j <= strlen(form_data); ++j) { + +- ba = apr_bucket_alloc_create(p); ++ ba = apr_bucket_alloc_create(test_pool); + + /* AT_localize checks the inner loop tests itself + * (and interprets any such failures as being fatal), +@@ -208,9 +210,9 @@ static void parse_multipart(dAT, void *ctx) + apr_status_t rv; + apr_bucket *e, *f; + +- bb = apr_brigade_create(p, ba); +- body = apr_table_make(p, APREQ_DEFAULT_NELTS); +- parser = apreq_parser_make(p, ba, MFD_ENCTYPE ++ bb = apr_brigade_create(test_pool, ba); ++ body = apr_table_make(test_pool, APREQ_DEFAULT_NELTS); ++ parser = apreq_parser_make(test_pool, ba, MFD_ENCTYPE + "; charset=\"iso-8859-1\"" + "; boundary=\"AaB03x\"", + apreq_parse_multipart, +@@ -247,7 +249,7 @@ static void parse_multipart(dAT, void *ctx) + AT_str_eq(val, "file1.txt"); + t = apreq_value_to_param(val)->info; + vb = apreq_value_to_param(val)->upload; +- apr_brigade_pflatten(vb, &val2, &len, p); ++ apr_brigade_pflatten(vb, &val2, &len, test_pool); + AT_int_eq(len, strlen("... contents of file1.txt ..." CRLF)); + AT_mem_eq(val2 ,"... contents of file1.txt ..." CRLF, len); + val = apr_table_get(t, "content-type"); +@@ -257,11 +259,9 @@ static void parse_multipart(dAT, void *ctx) + apr_brigade_cleanup(bb); + } + +-#ifdef APR_POOL_DEBUG +- apr_bucket_alloc_destroy(ba); +-#endif + AT_delocalize(); +- apr_pool_clear(p); ++ ++ apr_pool_clear(test_pool); + } + } + +@@ -276,17 +276,17 @@ static void parse_disable_uploads(dAT, void *ctx) + apreq_parser_t *parser; + apreq_hook_t *hook; + +- ba = apr_bucket_alloc_create(p); +- bb = apr_brigade_create(p, ba); ++ ba = apr_bucket_alloc_create(test_pool); ++ bb = apr_brigade_create(test_pool, ba); + + e = apr_bucket_immortal_create(form_data, strlen(form_data), ba); + APR_BRIGADE_INSERT_HEAD(bb, e); + APR_BRIGADE_INSERT_TAIL(bb, apr_bucket_eos_create(bb->bucket_alloc)); + +- body = apr_table_make(p, APREQ_DEFAULT_NELTS); +- hook = apreq_hook_make(p, apreq_hook_disable_uploads, NULL, NULL); ++ body = apr_table_make(test_pool, APREQ_DEFAULT_NELTS); ++ hook = apreq_hook_make(test_pool, apreq_hook_disable_uploads, NULL, NULL); + +- parser = apreq_parser_make(p, ba, MFD_ENCTYPE ++ parser = apreq_parser_make(test_pool, ba, MFD_ENCTYPE + "; charset=\"iso-8859-1\"" + "; boundary=\"AaB03x\"", + apreq_parse_multipart, +@@ -305,6 +305,8 @@ static void parse_disable_uploads(dAT, void *ctx) + + val = apr_table_get(body, "pics"); + AT_is_null(val); ++ ++ apr_pool_clear(test_pool); + } + + +@@ -316,8 +318,8 @@ static void parse_generic(dAT, void *ctx) + apreq_param_t *dummy; + apreq_parser_t *parser; + apr_table_t *body; +- apr_bucket_alloc_t *ba = apr_bucket_alloc_create(p); +- apr_bucket_brigade *bb = apr_brigade_create(p, ba); ++ apr_bucket_alloc_t *ba = apr_bucket_alloc_create(test_pool); ++ apr_bucket_brigade *bb = apr_brigade_create(test_pool, ba); + apr_bucket *e = apr_bucket_immortal_create(xml_data, + strlen(xml_data), + ba); +@@ -325,19 +327,21 @@ static void parse_generic(dAT, void *ctx) + APR_BRIGADE_INSERT_HEAD(bb, e); + APR_BRIGADE_INSERT_TAIL(bb, apr_bucket_eos_create(ba)); + +- body = apr_table_make(p, APREQ_DEFAULT_NELTS); ++ body = apr_table_make(test_pool, APREQ_DEFAULT_NELTS); + +- parser = apreq_parser_make(p, ba, "application/xml", ++ parser = apreq_parser_make(test_pool, ba, "application/xml", + apreq_parse_generic, 1000, NULL, NULL, NULL); + + rv = apreq_parser_run(parser, body, bb); + AT_int_eq(rv, APR_SUCCESS); + dummy = *(apreq_param_t **)parser->ctx; + AT_not_null(dummy); +- apr_brigade_pflatten(dummy->upload, &val, &vlen, p); ++ apr_brigade_pflatten(dummy->upload, &val, &vlen, test_pool); + + AT_int_eq(vlen, strlen(xml_data)); + AT_mem_eq(val, xml_data, vlen); ++ ++ apr_pool_clear(test_pool); + } + + static void hook_discard(dAT, void *ctx) +@@ -347,8 +351,8 @@ static void hook_discard(dAT, void *ctx) + apreq_parser_t *parser; + apreq_hook_t *hook; + apr_table_t *body; +- apr_bucket_alloc_t *ba = apr_bucket_alloc_create(p); +- apr_bucket_brigade *bb = apr_brigade_create(p, ba); ++ apr_bucket_alloc_t *ba = apr_bucket_alloc_create(test_pool); ++ apr_bucket_brigade *bb = apr_brigade_create(test_pool, ba); + apr_bucket *e = apr_bucket_immortal_create(xml_data, + strlen(xml_data), + ba); +@@ -356,10 +360,10 @@ static void hook_discard(dAT, void *ctx) + APR_BRIGADE_INSERT_HEAD(bb, e); + APR_BRIGADE_INSERT_TAIL(bb, apr_bucket_eos_create(ba)); + +- body = apr_table_make(p, APREQ_DEFAULT_NELTS); ++ body = apr_table_make(test_pool, APREQ_DEFAULT_NELTS); + +- hook = apreq_hook_make(p, apreq_hook_discard_brigade, NULL, NULL); +- parser = apreq_parser_make(p, ba, "application/xml", ++ hook = apreq_hook_make(test_pool, apreq_hook_discard_brigade, NULL, NULL); ++ parser = apreq_parser_make(test_pool, ba, "application/xml", + apreq_parse_generic, 1000, NULL, hook, NULL); + + +@@ -369,6 +373,8 @@ static void hook_discard(dAT, void *ctx) + AT_not_null(dummy); + AT_not_null(dummy->upload); + AT_ok(APR_BRIGADE_EMPTY(dummy->upload), "brigade has no contents"); ++ ++ apr_pool_clear(test_pool); + } + + +@@ -388,18 +394,18 @@ static void parse_related(dAT, void *ctx) + apreq_parser_t *parser; + apreq_hook_t *xml_hook; + apreq_param_t *param; +- apr_bucket_alloc_t *ba = apr_bucket_alloc_create(p); +- apr_bucket_brigade *bb = apr_brigade_create(p, ba); ++ apr_bucket_alloc_t *ba = apr_bucket_alloc_create(test_pool); ++ apr_bucket_brigade *bb = apr_brigade_create(test_pool, ba); + apr_bucket *e = apr_bucket_immortal_create(rel_data, + strlen(rel_data), + bb->bucket_alloc); + + APR_BRIGADE_INSERT_HEAD(bb, e); + APR_BRIGADE_INSERT_TAIL(bb, apr_bucket_eos_create(bb->bucket_alloc)); +- xml_hook = apreq_hook_make(p, apreq_hook_apr_xml_parser, NULL, NULL); ++ xml_hook = apreq_hook_make(test_pool, apreq_hook_apr_xml_parser, NULL, NULL); + +- body = apr_table_make(p, APREQ_DEFAULT_NELTS); +- parser = apreq_parser_make(p, ba, ct, apreq_parse_multipart, ++ body = apr_table_make(test_pool, APREQ_DEFAULT_NELTS); ++ parser = apreq_parser_make(test_pool, ba, ct, apreq_parse_multipart, + 1000, NULL, xml_hook, NULL); + + rv = apreq_parser_run(parser, body, bb); +@@ -414,12 +420,12 @@ static void parse_related(dAT, void *ctx) + val = apr_table_get(param->info, "Content-Length"); + AT_str_eq(val, "400"); + AT_not_null(param->upload); +- apr_brigade_pflatten(param->upload, &val2, &vlen, p); ++ apr_brigade_pflatten(param->upload, &val2, &vlen, test_pool); + AT_int_eq(vlen, 400); + AT_mem_eq(val2, rel_data + 122, 400); + + doc = *(apr_xml_doc **)xml_hook->ctx; +- apr_xml_to_text(p, doc->root, APR_XML_X2T_FULL, ++ apr_xml_to_text(test_pool, doc->root, APR_XML_X2T_FULL, + doc->namespaces, &ns_map, &val, &vlen); + AT_int_eq(vlen, 400 - 22); + AT_mem_eq(val, rel_data + 122 + 23, 400 - 23); +@@ -430,7 +436,7 @@ static void parse_related(dAT, void *ctx) + param = apreq_value_to_param(val); + AT_not_null(param); + AT_not_null(param->upload); +- apr_brigade_pflatten(param->upload, &val2, &vlen, p); ++ apr_brigade_pflatten(param->upload, &val2, &vlen, test_pool); + AT_int_eq(vlen, dlen); + AT_mem_eq(val2, data, vlen); + +@@ -439,9 +445,11 @@ static void parse_related(dAT, void *ctx) + param = apreq_value_to_param(val); + AT_not_null(param); + AT_not_null(param->upload); +- apr_brigade_pflatten(param->upload, &val2, &vlen, p); ++ apr_brigade_pflatten(param->upload, &val2, &vlen, test_pool); + AT_int_eq(vlen, dlen); + AT_mem_eq(val2, data, vlen); ++ ++ apr_pool_clear(test_pool); + } + + typedef struct { +@@ -461,9 +469,9 @@ static void parse_mixed(dAT, void *ctx) + array_elt *elt; + char ct[] = MFD_ENCTYPE "; charset=\"iso-8859-1\"; boundary=\"AaB03x\""; + apreq_parser_t *parser; +- apr_table_t *body = apr_table_make(p, APREQ_DEFAULT_NELTS); +- apr_bucket_alloc_t *ba = apr_bucket_alloc_create(p); +- apr_bucket_brigade *bb = apr_brigade_create(p, ba); ++ apr_table_t *body = apr_table_make(test_pool, APREQ_DEFAULT_NELTS); ++ apr_bucket_alloc_t *ba = apr_bucket_alloc_create(test_pool); ++ apr_bucket_brigade *bb = apr_brigade_create(test_pool, ba); + apr_bucket *e = apr_bucket_immortal_create(mix_data, + strlen(mix_data), + bb->bucket_alloc); +@@ -471,7 +479,7 @@ static void parse_mixed(dAT, void *ctx) + APR_BRIGADE_INSERT_HEAD(bb, e); + APR_BRIGADE_INSERT_TAIL(bb, apr_bucket_eos_create(bb->bucket_alloc)); + +- parser = apreq_parser_make(p, ba, ct, apreq_parse_multipart, ++ parser = apreq_parser_make(test_pool, ba, ct, apreq_parse_multipart, + 1000, NULL, NULL, NULL); + + rv = apreq_parser_run(parser, body, bb); +@@ -490,7 +498,7 @@ static void parse_mixed(dAT, void *ctx) + param = apreq_value_to_param(val); + + AT_not_null(param->upload); +- apr_brigade_pflatten(param->upload, &val2, &vlen, p); ++ apr_brigade_pflatten(param->upload, &val2, &vlen, test_pool); + AT_int_eq(vlen, strlen("... contents of file1.txt ...")); + AT_mem_eq(val2, "... contents of file1.txt ...", vlen); + +@@ -503,10 +511,11 @@ static void parse_mixed(dAT, void *ctx) + + param = apreq_value_to_param(elt->val); + AT_not_null(param->upload); +- apr_brigade_pflatten(param->upload, &val2, &vlen, p); ++ apr_brigade_pflatten(param->upload, &val2, &vlen, test_pool); + AT_int_eq(vlen, strlen("...contents of file2.gif...")); + AT_mem_eq(val2, "...contents of file2.gif...", vlen); + ++ apr_pool_clear(test_pool); + } + + +@@ -514,7 +523,6 @@ int main(int argc, char *argv[]) + + int main(int argc, char *argv[]) + { +- apr_pool_t *test_pool; + unsigned i, plan = 0; + dAT; + at_test_t test_list [] = { +@@ -532,10 +540,8 @@ int main(int argc, char *argv[]) + atexit(apr_terminate); + + apr_pool_create(&p, NULL); +- apr_pool_create(&test_pool, NULL); + apreq_initialize(p); + +- + AT = at_create(0, at_report_stdout_make()); + + for (i = 0; i < sizeof(test_list) / sizeof(at_test_t); ++i) +@@ -543,10 +549,14 @@ int main(int argc, char *argv[]) + + AT_begin(plan); + ++ apr_pool_create(&test_pool, p); + for (i = 0; i < sizeof(test_list) / sizeof(at_test_t); ++i) + AT_run(&test_list[i]); ++ apr_pool_destroy(test_pool); + + AT_end(); ++ ++ apr_pool_destroy(p); + + return 0; + } diff --git a/www/libapreq2/files/patch-library_t_util.c b/www/libapreq2/files/patch-library_t_util.c new file mode 100644 index 0000000..8924da4 --- /dev/null +++ b/www/libapreq2/files/patch-library_t_util.c @@ -0,0 +1,58 @@ +--- library/t/util.c.orig 2022-08-18 09:18:20 UTC ++++ library/t/util.c +@@ -152,7 +152,7 @@ static void test_cp1252_to_utf8(dAT, void *ctx) + static void test_cp1252_to_utf8(dAT, void *ctx) + { + char src1[] = "%C3%80%E3%82%a2"; /* A_GRAVE KATAKANA_A as utf8 */ +- char src2[5]; ++ char src2[6]; /* + '\0' */ + unsigned char expect[16]; + apr_size_t slen; + +@@ -270,7 +270,9 @@ static void test_header_attribute(dAT, void *ctx) + + static void test_header_attribute(dAT, void *ctx) + { +- const char hdr[] = "name=\"filename=foo\"; filename=\"quux.txt\""; ++ const char hdr[] = "form-data; name=\"filename=foo\"; filename=\"quux.txt\""; ++ const char opera[] = "form-data; name=\"foo\"; filename=\"\""; ++ const char empty[] = "form-data; name=\"\"; filename=\"\""; + const char *val; + apr_size_t vlen; + +@@ -278,12 +280,25 @@ static void test_header_attribute(dAT, void *ctx) + APR_SUCCESS); + AT_int_eq(vlen, 12); + AT_mem_eq("filename=foo", val, 12); +- + AT_int_eq(apreq_header_attribute(hdr, "filename", 8, &val, &vlen), + APR_SUCCESS); + AT_int_eq(vlen, 8); + AT_mem_eq("quux.txt", val, 8); + ++ AT_int_eq(apreq_header_attribute(opera, "name", 4, &val, &vlen), ++ APR_SUCCESS); ++ AT_int_eq(vlen, 3); ++ AT_mem_eq("foo", val, 3); ++ AT_int_eq(apreq_header_attribute(opera, "filename", 8, &val, &vlen), ++ APR_SUCCESS); ++ AT_int_eq(vlen, 0); ++ ++ AT_int_eq(apreq_header_attribute(empty, "name", 4, &val, &vlen), ++ APR_SUCCESS); ++ AT_int_eq(vlen,0); ++ AT_int_eq(apreq_header_attribute(empty, "filename", 8, &val, &vlen), ++ APR_SUCCESS); ++ AT_int_eq(vlen, 0); + } + + static void test_brigade_concat(dAT, void *ctx) +@@ -315,7 +330,7 @@ int main(int argc, char *argv[]) + { dT(test_join, 0) }, + { dT(test_brigade_fwrite, 0) }, + { dT(test_file_mktemp, 0) }, +- { dT(test_header_attribute, 6) }, ++ { dT(test_header_attribute, 15) }, + { dT(test_brigade_concat, 0) }, + }; + diff --git a/www/libapreq2/files/patch-module-Makefile.in b/www/libapreq2/files/patch-module-Makefile.in index bc8b746..1b441c8 100644 --- a/www/libapreq2/files/patch-module-Makefile.in +++ b/www/libapreq2/files/patch-module-Makefile.in @@ -1,5 +1,5 @@ ---- module/Makefile.in.orig 2023-03-13 19:18:13.887355000 +0100 -+++ module/Makefile.in 2023-03-13 19:19:15.902362000 +0100 +--- module/Makefile.in.orig 2022-08-18 09:23:35 UTC ++++ module/Makefile.in @@ -100,7 +100,7 @@ CONFIG_CLEAN_VPATH_FILES = CONFIG_HEADER = $(top_builddir)/include/apreq_config.h CONFIG_CLEAN_FILES = diff --git a/www/libapreq2/files/patch-module_apache2_filter.c b/www/libapreq2/files/patch-module_apache2_filter.c new file mode 100644 index 0000000..0e33110 --- /dev/null +++ b/www/libapreq2/files/patch-module_apache2_filter.c @@ -0,0 +1,11 @@ +--- module/apache2/filter.c.orig 2022-08-18 09:18:20 UTC ++++ module/apache2/filter.c +@@ -125,7 +125,7 @@ void apreq_filter_init_context(ap_filter_t *f) + + if (cl_header != NULL) { + char *dummy; +- apr_uint64_t content_length = apr_strtoi64(cl_header,&dummy,0); ++ apr_uint64_t content_length = apr_strtoi64(cl_header,&dummy,10); + + if (dummy == NULL || *dummy != 0) { + ap_log_rerror(APLOG_MARK, APLOG_ERR, APR_EGENERAL, r, diff --git a/www/libapreq2/files/patch-module_t_conf_extra.conf.in b/www/libapreq2/files/patch-module_t_conf_extra.conf.in new file mode 100644 index 0000000..2dcc8ad --- /dev/null +++ b/www/libapreq2/files/patch-module_t_conf_extra.conf.in @@ -0,0 +1,14 @@ +--- module/t/conf/extra.conf.in.orig 2022-08-18 09:18:20 UTC ++++ module/t/conf/extra.conf.in +@@ -2,7 +2,10 @@ + ScriptAlias /cgi-bin/ "@ServerRoot@/cgi-bin/" + + +- ++ ++ DumpIoInput on ++ DumpIoOutput on ++ + + + AllowOverride None