From: Rainer Jung Date: Thu, 14 May 2009 19:13:17 +0000 (+0000) Subject: Revert r774755: ap_server_root_relative() for X-Git-Tag: 2.3.3~594 X-Git-Url: http://git.ipfire.org/gitweb.cgi?a=commitdiff_plain;h=99b7b9877e390d2ab2a284ba310a0b6181c768fe;p=thirdparty%2Fapache%2Fhttpd.git Revert r774755: ap_server_root_relative() for piped loggers is nonsense. It doesn't work when the logger path contains whitespace. We already allow relative paths because we open the log program via the shell. Code was taken from mod_rewrite and mod_log_forensic, which need to be still fixed (removing ap_server_root_relative() should suffice). git-svn-id: https://svn.apache.org/repos/asf/httpd/httpd/trunk@774884 13f79535-47bb-0310-9956-ffa450edef68 --- diff --git a/server/log.c b/server/log.c index e1662aebc12..c830faf8ba0 100644 --- a/server/log.c +++ b/server/log.c @@ -320,24 +320,16 @@ static int open_error_log(server_rec *s, int is_main, apr_pool_t *p) if (*s->error_fname == '|') { apr_file_t *dummy = NULL; - fname = ap_server_root_relative(p, s->error_fname + 1); - - if (!fname) { - ap_log_error(APLOG_MARK, APLOG_STARTUP, APR_EBADPATH, NULL, - "%s: Invalid error log path %s.", - ap_server_argv0, s->error_fname); - return DONE; - } /* Spawn a new child logger. If this is the main server_rec, * the new child must use a dummy stderr since the current * stderr might be a pipe to the old logger. Otherwise, the * child inherits the parents stderr. */ - rc = log_child(p, fname, &dummy, is_main); + rc = log_child(p, s->error_fname + 1, &dummy, is_main); if (rc != APR_SUCCESS) { ap_log_error(APLOG_MARK, APLOG_STARTUP, rc, NULL, "Couldn't start ErrorLog process '%s'.", - fname); + s->error_fname + 1); return DONE; }