From 3161ed034bbea40a705303811d7213aff9be17d2 Mon Sep 17 00:00:00 2001 From: Daniel Baumann Date: Sun, 28 Apr 2024 01:56:20 +0200 Subject: Merging upstream version 2.4.59. Signed-off-by: Daniel Baumann --- include/ap_config_auto.h.in | 82 +++++++++++++++++++++++++-------------------- include/ap_mmn.h | 8 +++-- include/ap_release.h | 4 +-- include/http_core.h | 26 ++++++++++++++ include/util_ldap.h | 1 - include/util_script.h | 2 ++ include/util_time.h | 4 ++- 7 files changed, 85 insertions(+), 42 deletions(-) (limited to 'include') diff --git a/include/ap_config_auto.h.in b/include/ap_config_auto.h.in index 8db09b2..b4de75a 100644 --- a/include/ap_config_auto.h.in +++ b/include/ap_config_auto.h.in @@ -52,15 +52,18 @@ /* Using autoconf to configure Apache */ #undef AP_USING_AUTOCONF -/* Define to 1 if you have the `arc4random_buf' function. */ +/* Define to 1 if you have the 'arc4random_buf' function. */ #undef HAVE_ARC4RANDOM_BUF -/* Define to 1 if you have the `bindprocessor' function. */ +/* Define to 1 if you have the 'bindprocessor' function. */ #undef HAVE_BINDPROCESSOR /* Define to 1 if you have the header file. */ #undef HAVE_BSTRING_H +/* Define if crypt() supports SHA-2 hashes */ +#undef HAVE_CRYPT_SHA2 + /* Define if curl is available */ #undef HAVE_CURL @@ -73,31 +76,31 @@ /* Define to 1 if you have the header file. */ #undef HAVE_DISTCACHE_DC_CLIENT_H -/* Define to 1 if you have the `ENGINE_init' function. */ +/* Define to 1 if you have the 'ENGINE_init' function. */ #undef HAVE_ENGINE_INIT -/* Define to 1 if you have the `ENGINE_load_builtin_engines' function. */ +/* Define to 1 if you have the 'ENGINE_load_builtin_engines' function. */ #undef HAVE_ENGINE_LOAD_BUILTIN_ENGINES -/* Define to 1 if you have the `epoll_create' function. */ +/* Define to 1 if you have the 'epoll_create' function. */ #undef HAVE_EPOLL_CREATE -/* Define to 1 if you have the `fopen64' function. */ +/* Define to 1 if you have the 'fopen64' function. */ #undef HAVE_FOPEN64 -/* Define to 1 if you have the `getgrnam' function. */ +/* Define to 1 if you have the 'getgrnam' function. */ #undef HAVE_GETGRNAM -/* Define to 1 if you have the `getloadavg' function. */ +/* Define to 1 if you have the 'getloadavg' function. */ #undef HAVE_GETLOADAVG -/* Define to 1 if you have the `getpgid' function. */ +/* Define to 1 if you have the 'getpgid' function. */ #undef HAVE_GETPGID -/* Define to 1 if you have the `getpwnam' function. */ +/* Define to 1 if you have the 'getpwnam' function. */ #undef HAVE_GETPWNAM -/* Define if you have gettid() */ +/* Define to 1 if you have the 'gettid' function. */ #undef HAVE_GETTID /* Define if struct tm has a tm_gmtoff field */ @@ -106,7 +109,7 @@ /* Define to 1 if you have the header file. */ #undef HAVE_GRP_H -/* Define to 1 if you have the `initgroups' function. */ +/* Define to 1 if you have the 'initgroups' function. */ #undef HAVE_INITGROUPS /* Define to 1 if you have the header file. */ @@ -115,10 +118,10 @@ /* Define if jansson is available */ #undef HAVE_JANSSON -/* Define to 1 if you have the `killpg' function. */ +/* Define to 1 if you have the 'killpg' function. */ #undef HAVE_KILLPG -/* Define to 1 if you have the `kqueue' function. */ +/* Define to 1 if you have the 'kqueue' function. */ #undef HAVE_KQUEUE /* Define to 1 if you have the header file. */ @@ -133,31 +136,31 @@ /* Define to 1 if you have the header file. */ #undef HAVE_NGHTTP2_NGHTTP2_H -/* Define to 1 if you have the `nghttp2_option_set_no_closed_streams' +/* Define to 1 if you have the 'nghttp2_option_set_no_closed_streams' function. */ #undef HAVE_NGHTTP2_OPTION_SET_NO_CLOSED_STREAMS /* Define to 1 if you have the - `nghttp2_option_set_no_rfc9113_leading_and_trailing_ws_validation' + 'nghttp2_option_set_no_rfc9113_leading_and_trailing_ws_validation' function. */ #undef HAVE_NGHTTP2_OPTION_SET_NO_RFC9113_LEADING_AND_TRAILING_WS_VALIDATION /* Define to 1 if you have the - `nghttp2_session_callbacks_set_on_invalid_header_callback' function. */ + 'nghttp2_session_callbacks_set_on_invalid_header_callback' function. */ #undef HAVE_NGHTTP2_SESSION_CALLBACKS_SET_ON_INVALID_HEADER_CALLBACK -/* Define to 1 if you have the `nghttp2_session_change_stream_priority' +/* Define to 1 if you have the 'nghttp2_session_change_stream_priority' function. */ #undef HAVE_NGHTTP2_SESSION_CHANGE_STREAM_PRIORITY -/* Define to 1 if you have the `nghttp2_session_get_stream_local_window_size' +/* Define to 1 if you have the 'nghttp2_session_get_stream_local_window_size' function. */ #undef HAVE_NGHTTP2_SESSION_GET_STREAM_LOCAL_WINDOW_SIZE -/* Define to 1 if you have the `nghttp2_session_server_new2' function. */ +/* Define to 1 if you have the 'nghttp2_session_server_new2' function. */ #undef HAVE_NGHTTP2_SESSION_SERVER_NEW2 -/* Define to 1 if you have the `nghttp2_stream_get_weight' function. */ +/* Define to 1 if you have the 'nghttp2_stream_get_weight' function. */ #undef HAVE_NGHTTP2_STREAM_GET_WEIGHT /* Define if OpenSSL is available */ @@ -166,37 +169,37 @@ /* Define to 1 if you have the header file. */ #undef HAVE_OPENSSL_ENGINE_H -/* Define to 1 if you have the `OPENSSL_init_ssl' function. */ +/* Define to 1 if you have the 'OPENSSL_init_ssl' function. */ #undef HAVE_OPENSSL_INIT_SSL /* Detected PCRE2 */ #undef HAVE_PCRE2 -/* Define to 1 if you have the `port_create' function. */ +/* Define to 1 if you have the 'port_create' function. */ #undef HAVE_PORT_CREATE -/* Define to 1 if you have the `prctl' function. */ +/* Define to 1 if you have the 'prctl' function. */ #undef HAVE_PRCTL /* Define to 1 if you have the header file. */ #undef HAVE_PRIV_H -/* Define to 1 if you have the `pthread_kill' function. */ +/* Define to 1 if you have the 'pthread_kill' function. */ #undef HAVE_PTHREAD_KILL /* Define to 1 if you have the header file. */ #undef HAVE_PWD_H -/* Define to 1 if you have the `RAND_egd' function. */ +/* Define to 1 if you have the 'RAND_egd' function. */ #undef HAVE_RAND_EGD /* Define if rustls is available */ #undef HAVE_RUSTLS -/* Define to 1 if you have the `setsid' function. */ +/* Define to 1 if you have the 'setsid' function. */ #undef HAVE_SETSID -/* Define to 1 if you have the `SSL_CTX_new' function. */ +/* Define to 1 if you have the 'SSL_CTX_new' function. */ #undef HAVE_SSL_CTX_NEW /* Define to 1 if you have the header file. */ @@ -214,7 +217,7 @@ /* Define to 1 if you have the header file. */ #undef HAVE_STRING_H -/* Define to 1 if you have the `syslog' function. */ +/* Define to 1 if you have the 'syslog' function. */ #undef HAVE_SYSLOG /* Define if systemd is supported */ @@ -223,6 +226,9 @@ /* Define to 1 if you have the header file. */ #undef HAVE_SYSTEMD_SD_DAEMON_H +/* Define if you have gettid() via syscall() */ +#undef HAVE_SYS_GETTID + /* Define to 1 if you have the header file. */ #undef HAVE_SYS_IPC_H @@ -262,16 +268,16 @@ /* Define to 1 if you have that is POSIX.1 compatible. */ #undef HAVE_SYS_WAIT_H -/* Define to 1 if you have the `timegm' function. */ +/* Define to 1 if you have the 'timegm' function. */ #undef HAVE_TIMEGM -/* Define to 1 if you have the `times' function. */ +/* Define to 1 if you have the 'times' function. */ #undef HAVE_TIMES /* Define to 1 if you have the header file. */ #undef HAVE_UNISTD_H -/* Define to 1 if you have the `vsyslog' function. */ +/* Define to 1 if you have the 'vsyslog' function. */ #undef HAVE_VSYSLOG /* Define to 1 if you have the header file. */ @@ -304,7 +310,7 @@ /* This platform doesn't suffer from the thundering herd problem */ #undef SINGLE_LISTEN_UNSERIALIZED_ACCEPT -/* Define to 1 if all of the C90 standard headers exist (not just the ones +/* Define to 1 if all of the C89 standard headers exist (not just the ones required in a freestanding environment). This macro is provided for backward compatibility; new code need not use it. */ #undef STDC_HEADERS @@ -312,7 +318,7 @@ /* Path to suexec binary */ #undef SUEXEC_BIN -/* Enable extensions on AIX 3, Interix. */ +/* Enable extensions on AIX, Interix, z/OS. */ #ifndef _ALL_SOURCE # undef _ALL_SOURCE #endif @@ -373,11 +379,15 @@ #ifndef __STDC_WANT_IEC_60559_DFP_EXT__ # undef __STDC_WANT_IEC_60559_DFP_EXT__ #endif +/* Enable extensions specified by C23 Annex F. */ +#ifndef __STDC_WANT_IEC_60559_EXT__ +# undef __STDC_WANT_IEC_60559_EXT__ +#endif /* Enable extensions specified by ISO/IEC TS 18661-4:2015. */ #ifndef __STDC_WANT_IEC_60559_FUNCS_EXT__ # undef __STDC_WANT_IEC_60559_FUNCS_EXT__ #endif -/* Enable extensions specified by ISO/IEC TS 18661-3:2015. */ +/* Enable extensions specified by C23 Annex H and ISO/IEC TS 18661-3:2015. */ #ifndef __STDC_WANT_IEC_60559_TYPES_EXT__ # undef __STDC_WANT_IEC_60559_TYPES_EXT__ #endif @@ -400,7 +410,7 @@ #endif -/* Define to empty if `const' does not conform to ANSI C. */ +/* Define to empty if 'const' does not conform to ANSI C. */ #undef const /* Define to 'int' if doesn't define it for us */ diff --git a/include/ap_mmn.h b/include/ap_mmn.h index 402c23a..6f80ab3 100644 --- a/include/ap_mmn.h +++ b/include/ap_mmn.h @@ -594,7 +594,11 @@ * 20120211.124 (2.4.51-dev) Add name_ex to struct proxy_worker_shared * 20120211.125 (2.4.55-dev) Export mod_http2.h as public header * 20120211.126 (2.4.55-dev) Add additional hcmethod_t enums and PROXY_WORKER_IS_ERROR - * + * 20120211.127 (2.4.56-dev) Add ap_proxy_canonenc_ex + * 20120211.128 (2.4.55-dev) Add AP_CTIME_OPTION_GMTOFF to util_time.h + * 20120211.129 (2.4.58-dev) Add ap_get_pollfd_from_conn() + * 20120211.130 (2.4.59-dev) Add ap_proxy_determine_address() + * 20120211.131 (2.4.59-dev) Add DAV_WALKTYPE_TOLERANT */ #define MODULE_MAGIC_COOKIE 0x41503234UL /* "AP24" */ @@ -602,7 +606,7 @@ #ifndef MODULE_MAGIC_NUMBER_MAJOR #define MODULE_MAGIC_NUMBER_MAJOR 20120211 #endif -#define MODULE_MAGIC_NUMBER_MINOR 126 /* 0...n */ +#define MODULE_MAGIC_NUMBER_MINOR 131 /* 0...n */ /** * Determine if the server's current MODULE_MAGIC_NUMBER is at least a diff --git a/include/ap_release.h b/include/ap_release.h index c858aae..827dfc0 100644 --- a/include/ap_release.h +++ b/include/ap_release.h @@ -23,7 +23,7 @@ #define AP_RELEASE_H #define AP_SERVER_COPYRIGHT \ - "Copyright 2021 The Apache Software Foundation." + "Copyright 2024 The Apache Software Foundation." /* * The below defines the base string of the Server: header. Additional @@ -43,7 +43,7 @@ #define AP_SERVER_MAJORVERSION_NUMBER 2 #define AP_SERVER_MINORVERSION_NUMBER 4 -#define AP_SERVER_PATCHLEVEL_NUMBER 56 +#define AP_SERVER_PATCHLEVEL_NUMBER 59 #define AP_SERVER_DEVBUILD_BOOLEAN 0 /* Synchronize the above with docs/manual/style/version.ent */ diff --git a/include/http_core.h b/include/http_core.h index 15c9bac..948034f 100644 --- a/include/http_core.h +++ b/include/http_core.h @@ -31,6 +31,7 @@ #include "apr_optional.h" #include "util_filter.h" #include "ap_expr.h" +#include "apr_poll.h" #include "apr_tables.h" #include "http_config.h" @@ -1060,6 +1061,31 @@ AP_DECLARE(int) ap_state_query(int query_code); /** only dump some parts of the config */ #define AP_SQ_RM_CONFIG_DUMP 4 +/** Get a apr_pollfd_t populated with descriptor and descriptor type + * and the timeout to use for it. + * @return APR_ENOTIMPL if not supported for a connection. + */ +AP_DECLARE_HOOK(apr_status_t, get_pollfd_from_conn, + (conn_rec *c, struct apr_pollfd_t *pfd, + apr_interval_time_t *ptimeout)) + +/** + * Pass in a `struct apr_pollfd_t*` and get `desc_type` and `desc` + * populated with a suitable value for polling connection input. + * For primary connection (c->master == NULL), this will be the connection + * socket. For secondary connections this may differ or not be available + * at all. + * Note that APR_NO_DESC may be set to indicate that the connection + * input is already closed. + * + * @param pfd the pollfd to set the descriptor in + * @param ptimeout != NULL to retrieve the timeout in effect + * @return ARP_SUCCESS when the information was assigned. + */ +AP_CORE_DECLARE(apr_status_t) ap_get_pollfd_from_conn(conn_rec *c, + struct apr_pollfd_t *pfd, + apr_interval_time_t *ptimeout); + #ifdef __cplusplus } #endif diff --git a/include/util_ldap.h b/include/util_ldap.h index 28e0760..edb8a81 100644 --- a/include/util_ldap.h +++ b/include/util_ldap.h @@ -32,7 +32,6 @@ #if APR_MAJOR_VERSION < 2 /* The LDAP API is currently only present in APR 1.x */ #include "apr_ldap.h" -#include "apr_ldap_rebind.h" #else #define APR_HAS_LDAP 0 #endif diff --git a/include/util_script.h b/include/util_script.h index 3566bd3..0557c7f 100644 --- a/include/util_script.h +++ b/include/util_script.h @@ -225,6 +225,8 @@ AP_DECLARE(int) ap_scan_script_header_err_core_ex(request_rec *r, char *buffer, */ AP_DECLARE(void) ap_args_to_table(request_rec *r, apr_table_t **table); +#define AP_TRUST_CGILIKE_CL_ENVVAR "ap_trust_cgilike_cl" + #ifdef __cplusplus } #endif diff --git a/include/util_time.h b/include/util_time.h index 2cd2833..9208218 100644 --- a/include/util_time.h +++ b/include/util_time.h @@ -47,6 +47,8 @@ extern "C" { #define AP_CTIME_OPTION_USEC 0x1 /* Use more compact ISO 8601 format */ #define AP_CTIME_OPTION_COMPACT 0x2 +/* Add timezone offset from GMT ([+-]hhmm) */ +#define AP_CTIME_OPTION_GMTOFF 0x4 /** @@ -95,7 +97,7 @@ AP_DECLARE(apr_status_t) ap_recent_ctime(char *date_str, apr_time_t t); * @param option Additional formatting options (AP_CTIME_OPTION_*). * @param len Pointer to an int containing the length of the provided buffer. * On successful return it contains the number of bytes written to the - * buffer. + * buffer (including trailing NUL byte). * @return APR_SUCCESS iff successful, APR_ENOMEM if buffer was to short. */ AP_DECLARE(apr_status_t) ap_recent_ctime_ex(char *date_str, apr_time_t t, -- cgit v1.2.3