diff -Nru httpd-2.4.52.orig/build/rules.mk.in httpd-2.4.52/build/rules.mk.in --- httpd-2.4.52.orig/build/rules.mk.in 2012-09-26 16:30:31.000000000 +0200 +++ httpd-2.4.52/build/rules.mk.in 2022-02-18 18:06:00.504146481 +0100 @@ -26,6 +26,10 @@ # (per-subdirectory) settings through definitions in modules.mk, with highest # precedence. # + +# Always link modules w/ apr and aprutil +MOD_LIBS = -lapr-1 -laprutil-1 + ALL_CFLAGS = $(MOD_CFLAGS) $(EXTRA_CFLAGS) $(NOTEST_CFLAGS) $(CFLAGS) ALL_CPPFLAGS = $(DEFS) $(INTERNAL_CPPFLAGS) $(MOD_CPPFLAGS) $(EXTRA_CPPFLAGS) $(NOTEST_CPPFLAGS) $(CPPFLAGS) ALL_CXXFLAGS = $(MOD_CXXFLAGS) $(EXTRA_CXXFLAGS) $(NOTEST_CXXFLAGS) $(CXXFLAGS) @@ -50,8 +54,8 @@ # Link-related commands LINK = $(LIBTOOL) --mode=link $(CC) $(ALL_CFLAGS) $(PILDFLAGS) $(LT_LDFLAGS) $(ALL_LDFLAGS) -o $@ -SH_LINK = $(SH_LIBTOOL) --mode=link $(CC) $(ALL_CFLAGS) $(LT_LDFLAGS) $(ALL_LDFLAGS) $(SH_LDFLAGS) $(CORE_IMPLIB) $(SH_LIBS) -o $@ -MOD_LINK = $(LIBTOOL) --mode=link $(CC) $(ALL_CFLAGS) -static $(LT_LDFLAGS) $(ALL_LDFLAGS) -o $@ +SH_LINK = $(LIBTOOL) --mode=link $(CC) $(ALL_CFLAGS) $(LT_LDFLAGS) $(ALL_LDFLAGS) $(SH_LDFLAGS) $(CORE_IMPLIB) $(SH_LIBS) -o $@ +MOD_LINK = $(LIBTOOL) --mode=link $(CC) $(ALL_CFLAGS) -static $(LT_LDFLAGS) $(ALL_LDFLAGS) -o $@ $(SH_LDFLAGS) $(CORE_IMPLIB) $(SH_LIBS) $(MOD_LIBS) # Cross compile commands diff -Nru httpd-2.4.52.orig/server/test_char.h httpd-2.4.52/server/test_char.h --- httpd-2.4.52.orig/server/test_char.h 1970-01-01 01:00:00.000000000 +0100 +++ httpd-2.4.52/server/test_char.h 2022-02-18 18:02:05.446590626 +0100 @@ -0,0 +1,53 @@ +/* this file is automatically generated by gen_test_char, do not edit */ +#define T_ESCAPE_SHELL_CMD (1) +#define T_ESCAPE_PATH_SEGMENT (2) +#define T_OS_ESCAPE_PATH (4) +#define T_HTTP_TOKEN_STOP (8) +#define T_ESCAPE_LOGITEM (16) +#define T_ESCAPE_FORENSIC (32) +#define T_ESCAPE_URLENCODED (64) +#define T_HTTP_CTRLS (128) +#define T_VCHAR_OBSTEXT (256) +#define T_URI_UNRESERVED (512) + +static const unsigned short test_char_table[256] = { + 0x0a8,0x0fe,0x0fe,0x0fe,0x0fe,0x0fe,0x0fe,0x0fe, + 0x0fe,0x07e,0x0ff,0x0fe,0x0fe,0x0fe,0x0fe,0x0fe, + 0x0fe,0x0fe,0x0fe,0x0fe,0x0fe,0x0fe,0x0fe,0x0fe, + 0x0fe,0x0fe,0x0fe,0x0fe,0x0fe,0x0fe,0x0fe,0x0fe, + 0x00e,0x140,0x15f,0x146,0x141,0x166,0x141,0x141, + 0x149,0x149,0x101,0x140,0x148,0x300,0x300,0x14a, + 0x300,0x300,0x300,0x300,0x300,0x300,0x300,0x300, + 0x300,0x300,0x168,0x14b,0x14f,0x148,0x14f,0x14f, + 0x148,0x300,0x300,0x300,0x300,0x300,0x300,0x300, + 0x300,0x300,0x300,0x300,0x300,0x300,0x300,0x300, + 0x300,0x300,0x300,0x300,0x300,0x300,0x300,0x300, + 0x300,0x300,0x300,0x14f,0x15f,0x14f,0x147,0x300, + 0x147,0x300,0x300,0x300,0x300,0x300,0x300,0x300, + 0x300,0x300,0x300,0x300,0x300,0x300,0x300,0x300, + 0x300,0x300,0x300,0x300,0x300,0x300,0x300,0x300, + 0x300,0x300,0x300,0x14f,0x167,0x14f,0x341,0x0fe, + 0x17e,0x17e,0x17e,0x17e,0x17e,0x17e,0x17e,0x17e, + 0x17e,0x17e,0x17e,0x17e,0x17e,0x17e,0x17e,0x17e, + 0x17e,0x17e,0x17e,0x17e,0x17e,0x17e,0x17e,0x17e, + 0x17e,0x17e,0x17e,0x17e,0x17e,0x17e,0x17e,0x17e, + 0x17e,0x17e,0x17e,0x17e,0x17e,0x17e,0x17e,0x17e, + 0x17e,0x17e,0x17e,0x17e,0x17e,0x17e,0x17e,0x17e, + 0x17e,0x17e,0x17e,0x17e,0x17e,0x17e,0x17e,0x17e, + 0x17e,0x17e,0x17e,0x17e,0x17e,0x17e,0x17e,0x17e, + 0x17e,0x17e,0x17e,0x17e,0x17e,0x17e,0x17e,0x17e, + 0x17e,0x17e,0x17e,0x17e,0x17e,0x17e,0x17e,0x17e, + 0x17e,0x17e,0x17e,0x17e,0x17e,0x17e,0x17e,0x17e, + 0x17e,0x17e,0x17e,0x17e,0x17e,0x17e,0x17e,0x17e, + 0x17e,0x17e,0x17e,0x17e,0x17e,0x17e,0x17e,0x17e, + 0x17e,0x17e,0x17e,0x17e,0x17e,0x17e,0x17e,0x17e, + 0x17e,0x17e,0x17e,0x17e,0x17e,0x17e,0x17e,0x17e, + 0x17e,0x17e,0x17e,0x17e,0x17e,0x17e,0x17e,0x17e +}; + +/* we assume the folks using this ensure 0 <= c < 256... which means + * you need a cast to (unsigned char) first, you can't just plug a + * char in here and get it to work, because if char is signed then it + * will first be sign extended. + */ +#define TEST_CHAR(c, f) (test_char_table[(unsigned char)(c)] & (f))