Commit 4051bf65 authored by Yann Ylavic's avatar Yann Ylavic
Browse files

mod_macro: fix usability of globally defined macros in .htaccess files.

PR 57525.

Reverts pre_config hook from r1656669 (happens too late for EXEC_ON_READ), and
ensures ap_macros is reset on restart with a pconf cleanup.

Proposed by: Jose Kahan <jose w3.org>
Reviewed by: ylavic


git-svn-id: https://svn.apache.org/repos/asf/httpd/httpd/trunk@1813643 13f79535-47bb-0310-9956-ffa450edef68
parent c33c4c42
Loading
Loading
Loading
Loading
+3 −0
Original line number Diff line number Diff line
                                                         -*- coding: utf-8 -*-
Changes with Apache 2.5.0

  *) mod_macro: fix usability of globally defined macros in .htaccess files.
     PR 57525.  [Jose Kahan <jose w3.org>, Yann Ylavic]

  *) mod_md: v1.0.1, ServerName/Alias names from pure-http: virtual hosts are no longer
     auto-added to a Managed Domain. Error counts of jobs are presisted. When the server
     restarts (gracefully) any errored staging areas are purged to reset the signup/renewal
+12 −17
Original line number Diff line number Diff line
@@ -711,11 +711,17 @@ static const char *macro_section(cmd_parms * cmd,
    debug(fprintf(stderr, "macro_section: arg='%s'\n", arg));

    /* lazy initialization */
    if (ap_macros == NULL)
        ap_macros = apr_hash_make(cmd->temp_pool);
    if (ap_macros == NULL) {
        pool = cmd->pool;
        ap_macros = apr_hash_make(pool);
        ap_assert(ap_macros != NULL);

        apr_pool_cleanup_register(pool, &ap_macros,
                                  ap_pool_cleanup_set_null,
                                  apr_pool_cleanup_null);
    }
    else {
        pool = apr_hash_pool_get(ap_macros);
    }

    endp = (char *) ap_strrchr_c(arg, '>');

@@ -954,12 +960,6 @@ static const char *macro_ignore_bad_nesting(cmd_parms * cmd, void *dummy)
	return NULL;
}

static int macro_pre_config(apr_pool_t *pconf, apr_pool_t *plog, apr_pool_t *ptemp)
{
    ap_macros = NULL;
    return OK;
}

/************************************************************* EXPORT MODULE */

/*
@@ -982,11 +982,6 @@ static const command_rec macro_cmds[] = {
    {NULL}
};

static void macro_hooks(apr_pool_t *p)
{
    ap_hook_pre_config(macro_pre_config, NULL, NULL, APR_HOOK_MIDDLE);
}

/*
  Module hooks are request-oriented thus it does not suit configuration
  file utils a lot. I haven't found any clean hook to apply something
@@ -1004,5 +999,5 @@ AP_DECLARE_MODULE(macro) = {
        NULL,                   /* create per-server config structure */
        NULL,                   /* merge per-server config structures */
        macro_cmds,             /* configuration commands */
        macro_hooks             /* register hooks */
        NULL                    /* register hooks */
};