From: Stefan Eissing Date: Thu, 12 Oct 2017 14:35:18 +0000 (+0000) Subject: patches now reside in ^/httpd/httpd/patches/2.4.x X-Git-Tag: 2.4.29~39 X-Git-Url: https://granicus.if.org/sourcecode?a=commitdiff_plain;h=b0384bd701f8241a5b4530bec4f1172d4629aad5;p=apache patches now reside in ^/httpd/httpd/patches/2.4.x git-svn-id: https://svn.apache.org/repos/asf/httpd/httpd/branches/2.4.x@1811968 13f79535-47bb-0310-9956-ffa450edef68 --- diff --git a/patches/backport-module-flags.diff b/patches/backport-module-flags.diff deleted file mode 100644 index 707b842213..0000000000 --- a/patches/backport-module-flags.diff +++ /dev/null @@ -1,171 +0,0 @@ -Index: include/ap_mmn.h -=================================================================== ---- include/ap_mmn.h (revision 1811919) -+++ include/ap_mmn.h (working copy) -@@ -496,6 +496,8 @@ - * to ap_[r]getline() - * 20120211.68 (2.4.26-dev) Add ap_get_basic_auth_components() and deprecate - * ap_get_basic_auth_pw() -+ * 20120211.69 (2.4.29-dev) Add flags field to module_struct and function -+ * ap_get_module_flags() - */ - - #define MODULE_MAGIC_COOKIE 0x41503234UL /* "AP24" */ -@@ -503,7 +505,7 @@ - #ifndef MODULE_MAGIC_NUMBER_MAJOR - #define MODULE_MAGIC_NUMBER_MAJOR 20120211 - #endif --#define MODULE_MAGIC_NUMBER_MINOR 68 /* 0...n */ -+#define MODULE_MAGIC_NUMBER_MINOR 69 /* 0...n */ - - /** - * Determine if the server's current MODULE_MAGIC_NUMBER is at least a -Index: include/http_config.h -=================================================================== ---- include/http_config.h (revision 1811919) -+++ include/http_config.h (working copy) -@@ -329,6 +329,12 @@ - }; - - /** -+ * Flags associated with a module. -+ */ -+#define AP_MODULE_FLAG_NONE (0) -+#define AP_MODULE_FLAG_ALWAYS_MERGE (1 << 0) -+ -+/** - * Module structures. Just about everything is dispatched through - * these, directly or indirectly (through the command and handler - * tables). -@@ -407,6 +413,9 @@ - * @param p the pool to use for all allocations - */ - void (*register_hooks) (apr_pool_t *p); -+ -+ /** A bitmask of AP_MODULE_FLAG_* */ -+ int flags; - }; - - /** -@@ -519,6 +528,21 @@ - AP_DECLARE(void) ap_set_module_config(ap_conf_vector_t *cv, const module *m, - void *val); - -+/** -+ * When module flags have been introduced, and a way to check this. -+ */ -+#define AP_MODULE_FLAGS_MMN_MAJOR 20161018 -+#define AP_MODULE_FLAGS_MMN_MINOR 7 -+#define AP_MODULE_HAS_FLAGS(m) \ -+ AP_MODULE_MAGIC_AT_LEAST(AP_MODULE_FLAGS_MMN_MAJOR, \ -+ AP_MODULE_FLAGS_MMN_MINOR) -+/** -+ * Generic accessor for the module's flags -+ * @param m The module to get the flags from. -+ * @return The module-specific flags -+ */ -+AP_DECLARE(int) ap_get_module_flags(const module *m); -+ - #if !defined(AP_DEBUG) - - #define ap_get_module_config(v,m) \ -Index: modules/ssl/mod_ssl.c -=================================================================== ---- modules/ssl/mod_ssl.c (revision 1811919) -+++ modules/ssl/mod_ssl.c (working copy) -@@ -713,4 +713,7 @@ - ssl_config_server_merge, /* merge per-server config structures */ - ssl_config_cmds, /* table of configuration directives */ - ssl_register_hooks /* register hooks */ -+#if defined(AP_MODULE_HAS_FLAGS) -+ ,AP_MODULE_FLAG_ALWAYS_MERGE /* flags */ -+#endif - }; -Index: server/config.c -=================================================================== ---- server/config.c (revision 1811919) -+++ server/config.c (working copy) -@@ -323,7 +323,7 @@ - } - - static void merge_server_configs(apr_pool_t *p, ap_conf_vector_t *base, -- ap_conf_vector_t *virt) -+ server_rec *virt) - { - /* Can reuse the 'virt' vector for the spine of it, since we don't - * have to deal with the moral equivalent of .htaccess files here... -@@ -330,7 +330,7 @@ - */ - - void **base_vector = (void **)base; -- void **virt_vector = (void **)virt; -+ void **virt_vector = (void **)virt->module_config; - module *modp; - - for (modp = ap_top_module; modp; modp = modp->next) { -@@ -337,10 +337,20 @@ - merger_func df = modp->merge_server_config; - int i = modp->module_index; - -- if (!virt_vector[i]) -- virt_vector[i] = base_vector[i]; -- else if (df) -+ if (!virt_vector[i]) { -+ if (df && modp->create_server_config -+ && (ap_get_module_flags(modp) & -+ AP_MODULE_FLAG_ALWAYS_MERGE)) { -+ virt_vector[i] = (*modp->create_server_config)(p, virt); -+ } -+ else { -+ virt_vector[i] = base_vector[i]; -+ df = NULL; -+ } -+ } -+ if (df) { - virt_vector[i] = (*df)(p, base_vector[i], virt_vector[i]); -+ } - } - } - -@@ -2322,8 +2332,7 @@ - dconf->log = &main_server->log; - - for (virt = main_server->next; virt; virt = virt->next) { -- merge_server_configs(p, main_server->module_config, -- virt->module_config); -+ merge_server_configs(p, main_server->module_config, virt); - - virt->lookup_defaults = - ap_merge_per_dir_configs(p, main_server->lookup_defaults, -Index: server/util_debug.c -=================================================================== ---- server/util_debug.c (revision 1811919) -+++ server/util_debug.c (working copy) -@@ -107,6 +107,17 @@ - return ((void **)cv)[m->module_index]; - } - -+AP_DECLARE(int) ap_get_module_flags(const module *m) -+{ -+ if (m->version < AP_MODULE_FLAGS_MMN_MAJOR -+ || (m->version == AP_MODULE_FLAGS_MMN_MAJOR -+ && (m->minor_version < AP_MODULE_FLAGS_MMN_MINOR))) { -+ return 0; -+ } -+ -+ return m->flags; -+} -+ - #if defined(ap_get_core_module_config) - #undef ap_get_core_module_config - AP_DECLARE(void *) ap_get_core_module_config(const ap_conf_vector_t *cv); -Index: . -=================================================================== ---- . (revision 1811919) -+++ . (working copy) - -Property changes on: . -___________________________________________________________________ -Modified: svn:mergeinfo -## -0,0 +0,1 ## - Merged /httpd/httpd/trunk:r1809302-1809303,1809305,1809311,1809314,1809713