-*- coding: utf-8 -*-
Changes with Apache 2.5.0
+ *) core: Add parse_errorlog_arg callback to ap_errorlog_provider
+ to allow providers to check the ErrorLog argument. [Jan Kaluza]
+
*) core: Detect incomplete body in HTTP input filter and return
APR_INCOMPLETE. PR 55475 [Yann Ylavic <ylavic dev gmail com>]
* 20130903.0 (2.5.0-dev) Changes sizeof(worker_score) in scoreboard
* 20130924.0 (2.5.0-dev) Add ap_errorlog_provider
* 20130924.1 (2.5.0-dev) Add ap_proxy_connection_reusable()
+ * 20131112.0 (2.5.0-dev) Add parse_errorlog_arg to ap_errorlog_provider
*/
#define MODULE_MAGIC_COOKIE 0x41503235UL /* "AP25" */
#ifndef MODULE_MAGIC_NUMBER_MAJOR
-#define MODULE_MAGIC_NUMBER_MAJOR 20130924
+#define MODULE_MAGIC_NUMBER_MAJOR 20131112
#endif
#define MODULE_MAGIC_NUMBER_MINOR 1 /* 0...n */
apr_status_t (*writer)(const ap_errorlog_info *info, void *handle,
const char *errstr, apr_size_t len);
+ /** Checks syntax of ErrorLog directive argument.
+ * @param cmd The config directive
+ * @param arg ErrorLog directive argument
+ * @return Error message or NULL on success
+ */
+ const char * (*parse_errorlog_arg)(cmd_parms *cmd, const char *arg);
+
/** a combination of the AP_ERRORLOG_PROVIDER_* flags */
unsigned int flags;
};
return APR_SUCCESS;
}
+static const char *syslog_error_log_parse(cmd_parms *cmd, const char *arg)
+{
+ const char *err = ap_check_cmd_context(cmd, GLOBAL_ONLY);
+
+ if (err != NULL) {
+ return apr_pstrcat(cmd->pool,
+ "When using syslog error log provider, ", err,
+ NULL);
+ }
+
+ return NULL;
+}
static void syslog_register_hooks(apr_pool_t *p)
{
static const ap_errorlog_provider syslog_provider = {
&syslog_error_log_init,
&syslog_error_log,
+ &syslog_error_log_parse,
0
};
const char *arg2)
{
ap_errorlog_provider *provider;
+ const char *err;
cmd->server->errorlog_provider = NULL;
if (!arg2) {
arg1);
}
+ err = provider->parse_errorlog_arg(cmd, arg2);
+ if (err) {
+ return err;
+ }
+
cmd->server->errorlog_provider = provider;
return set_server_string_slot(cmd, dummy, arg2);
}