[Date Prev][Date Next] [Thread Prev][Thread Next]
[Thread Index]
[Date Index]
[Author Index]
rpms/httpd/FC-3 httpd-2.0.52-CAN-2005-1268.patch, NONE, 1.1 httpd-2.0.52-CAN-2005-2088.patch, NONE, 1.1 httpd-2.0.52-pipedlog1.patch, NONE, 1.1 httpd-2.0.52-pipedlog2.patch, NONE, 1.1 httpd-2.0.52-sslbuff.patch, NONE, 1.1 httpd-2.0.54-digest.patch, NONE, 1.1 httpd-2.0.54-include.patch, NONE, 1.1 httpd-2.0.54-ssltrans.patch, NONE, 1.1 httpd-2.0.54-userdir.patch, NONE, 1.1 httpd.spec, 1.54, 1.55
- From: fedora-cvs-commits redhat com
- To: fedora-cvs-commits redhat com
- Subject: rpms/httpd/FC-3 httpd-2.0.52-CAN-2005-1268.patch, NONE, 1.1 httpd-2.0.52-CAN-2005-2088.patch, NONE, 1.1 httpd-2.0.52-pipedlog1.patch, NONE, 1.1 httpd-2.0.52-pipedlog2.patch, NONE, 1.1 httpd-2.0.52-sslbuff.patch, NONE, 1.1 httpd-2.0.54-digest.patch, NONE, 1.1 httpd-2.0.54-include.patch, NONE, 1.1 httpd-2.0.54-ssltrans.patch, NONE, 1.1 httpd-2.0.54-userdir.patch, NONE, 1.1 httpd.spec, 1.54, 1.55
- Date: Tue, 26 Jul 2005 11:06:38 -0400
Author: jorton
Update of /cvs/dist/rpms/httpd/FC-3
In directory cvs.devel.redhat.com:/tmp/cvs-serv11766
Modified Files:
httpd.spec
Added Files:
httpd-2.0.52-CAN-2005-1268.patch
httpd-2.0.52-CAN-2005-2088.patch httpd-2.0.52-pipedlog1.patch
httpd-2.0.52-pipedlog2.patch httpd-2.0.52-sslbuff.patch
httpd-2.0.54-digest.patch httpd-2.0.54-include.patch
httpd-2.0.54-ssltrans.patch httpd-2.0.54-userdir.patch
Log Message:
* Tue Jul 26 2005 Joe Orton <jorton redhat com> 2.0.53-3.2
- add security fix for C-L vs T-E handling (#162245, CVE CAN-2005-2088)
- mod_ssl: add security fix for CRL overflow (CVE CAN-2005-1268)
- mod_ssl: fix to enable output buffering (upstream #35279)
- mod_ssl: fix for picking up -shutdown options (upstream #34452)
- mod_include: fix variable corruption in nested includes (upstream #12655)
- mod_auth_digest: fix hostinfo comparison in CONNECT requests
- add piped logger fixes (w/Jeff Trawick)
- mod_userdir: fix memory allocation issue (upstream #34588)
httpd-2.0.52-CAN-2005-1268.patch:
ssl_engine_kernel.c | 2 +-
1 files changed, 1 insertion(+), 1 deletion(-)
--- NEW FILE httpd-2.0.52-CAN-2005-1268.patch ---
Merge r179781 from trunk:
* modules/ssl/ssl_engine_kernel.c (ssl_callback_SSLVerify_CRL): Fix
off-by-one.
PR: 35081
Submitted by: Marc Stern <mstern csc.com>
Reviewed by: jorton, trawick, pquerna
--- 2.0.x/modules/ssl/ssl_engine_kernel.c
+++ 2.0.x/modules/ssl/ssl_engine_kernel.c
@@ -1398,7 +1398,7 @@
BIO_printf(bio, ", nextUpdate: ");
ASN1_UTCTIME_print(bio, X509_CRL_get_nextUpdate(crl));
- n = BIO_read(bio, buff, sizeof(buff));
+ n = BIO_read(bio, buff, sizeof(buff) - 1);
buff[n] = '\0';
BIO_free(bio);
httpd-2.0.52-CAN-2005-2088.patch:
modules/proxy/proxy_http.c | 7 +++++++
server/protocol.c | 9 +++++++++
2 files changed, 16 insertions(+)
--- NEW FILE httpd-2.0.52-CAN-2005-2088.patch ---
--- httpd-2.0.52/modules/proxy/proxy_http.c.can2088
+++ httpd-2.0.52/modules/proxy/proxy_http.c
@@ -390,6 +390,13 @@
int counter, seen_eos;
apr_status_t status;
+ if (apr_table_get(r->headers_in, "Transfer-Encoding")) {
+ /* Reject chunked requests. */
+ ap_log_rerror(APLOG_MARK, APLOG_ERR, 0, r,
+ "proxy_http: chunked requests not supported");
+ return HTTP_LENGTH_REQUIRED;
+ }
+
/*
* Send the HTTP/1.1 request to the remote server
*/
--- httpd-2.0.52/server/protocol.c.can2088
+++ httpd-2.0.52/server/protocol.c
@@ -962,6 +962,15 @@
ap_run_log_transaction(r);
return r;
}
+
+ if (apr_table_get(r->headers_in, "Transfer-Encoding")
+ && apr_table_get(r->headers_in, "Content-Length")) {
+ /* 2616 section 4.4, point 3: "if both Transfer-Encoding
+ * and Content-Length are received, the latter MUST be
+ * ignored"; so unset it here to prevent any confusion
+ * later. */
+ apr_table_unset(r->headers_in, "Content-Length");
+ }
}
ap_add_input_filter_handle(ap_http_input_filter_handle,
httpd-2.0.52-pipedlog1.patch:
log.c | 12 +++++-------
1 files changed, 5 insertions(+), 7 deletions(-)
--- NEW FILE httpd-2.0.52-pipedlog1.patch ---
For https://bugzilla.redhat.com/bugzilla/show_bug.cgi?id=157832:
- fix error messages in piped_log_spawn error handling paths
- fix fd leak in piped_log_spawn
--- httpd-2.0.52/server/log.c.pipedlog1
+++ httpd-2.0.52/server/log.c
@@ -718,9 +762,8 @@
/* forward declaration */
static void piped_log_maintenance(int reason, void *data, apr_wait_t status);
-static int piped_log_spawn(piped_log *pl)
+static apr_status_t piped_log_spawn(piped_log *pl)
{
- int rc = 0;
apr_procattr_t *procattr;
apr_proc_t *procnew = NULL;
apr_status_t status;
@@ -738,7 +781,6 @@
ap_log_error(APLOG_MARK, APLOG_STARTUP, 0, NULL,
"piped_log_spawn: unable to setup child process '%s': %s",
pl->program, apr_strerror(status, buf, sizeof(buf)));
- rc = -1;
}
else {
char **args;
@@ -752,9 +794,10 @@
if (status == APR_SUCCESS) {
pl->pid = procnew;
- ap_piped_log_write_fd(pl) = procnew->in;
+ apr_file_close(procnew->in);
+ procnew->in = NULL;
apr_proc_other_child_register(procnew, piped_log_maintenance, pl,
ap_piped_log_write_fd(pl), pl->p);
}
else {
char buf[120];
@@ -762,11 +806,10 @@
ap_log_error(APLOG_MARK, APLOG_STARTUP, 0, NULL,
"unable to start piped log program '%s': %s",
pl->program, apr_strerror(status, buf, sizeof(buf)));
- rc = -1;
}
}
- return rc;
+ return status;
}
@@ -858,7 +901,7 @@
}
apr_pool_cleanup_register(p, pl, piped_log_cleanup,
piped_log_cleanup_for_exec);
- if (piped_log_spawn(pl) == -1) {
+ if (piped_log_spawn(pl) != APR_SUCCESS) {
int save_errno = errno;
apr_pool_cleanup_kill(p, pl, piped_log_cleanup);
apr_file_close(ap_piped_log_read_fd(pl));
httpd-2.0.52-pipedlog2.patch:
include/http_log.h | 10 ++++++++++
server/core.c | 1 +
server/log.c | 45 +++++++++++++++++++++++++++++++++++++++++++++
3 files changed, 56 insertions(+)
--- NEW FILE httpd-2.0.52-pipedlog2.patch ---
For https://bugzilla.redhat.com/bugzilla/show_bug.cgi?id=127981:
- close piped log fds in children (Jeff Trawick)
--- httpd-2.0.52/include/http_log.h.pipedlog
+++ httpd-2.0.52/include/http_log.h
@@ -119,6 +119,16 @@
int ap_open_logs(apr_pool_t *pconf, apr_pool_t *plog,
apr_pool_t *ptemp, server_rec *s_main);
+/**
+ * Perform special processing for piped loggers in MPM child
+ * processes.
+ * @param p Not used
+ * @param s Not used
+ * @tip ap_logs_child_init is not for use by modules; it is an
+ * internal core function
+ */
+void ap_logs_child_init(apr_pool_t *p, server_rec *s);
+
/*
* The three primary logging functions, ap_log_error, ap_log_rerror, and
* ap_log_perror use a printf style format string to build the log message.
--- httpd-2.0.52/server/log.c.pipedlog
+++ httpd-2.0.52/server/log.c
@@ -144,6 +144,45 @@
static apr_file_t *stderr_log = NULL;
+/* track pipe handles to close in child process */
+typedef struct read_handle_t {
+ struct read_handle_t *next;
+ apr_file_t *handle;
+} read_handle_t;
+
+static read_handle_t *read_handles;
+
+/* clear_handle_list() is called when plog is cleared; at that
+ * point we need to forget about our old list of pipe read
+ * handles
+ */
+static apr_status_t clear_handle_list(void *v)
+{
+ read_handles = NULL;
+ return APR_SUCCESS;
+}
+
+/* remember to close this handle in the child process */
+static void close_handle_in_child(apr_pool_t *p, apr_file_t *f)
+{
+ read_handle_t *new_handle;
+
+ new_handle = apr_pcalloc(p, sizeof(read_handle_t));
+ new_handle->next = read_handles;
+ new_handle->handle = f;
+ read_handles = new_handle;
+}
+
+void ap_logs_child_init(apr_pool_t *p, server_rec *s)
+{
+ read_handle_t *cur = read_handles;
+
+ while (cur) {
+ apr_file_close(cur->handle);
+ cur = cur->next;
+ }
+}
+
AP_DECLARE(void) ap_open_stderr_log(apr_pool_t *p)
{
apr_file_open_stderr(&stderr_log, p);
@@ -219,6 +258,9 @@
if (rc == APR_SUCCESS) {
apr_pool_note_subprocess(p, procnew, APR_KILL_AFTER_TIMEOUT);
(*fpin) = procnew->in;
+ /* read handle to pipe not kept open, so no need to call
+ * close_handle_in_child()
+ */
}
}
@@ -295,6 +337,8 @@
int replace_stderr;
apr_file_t *errfile = NULL;
+ apr_pool_cleanup_register(p, NULL, clear_handle_list,
+ apr_pool_cleanup_null);
if (open_error_log(s_main, p) != OK) {
return DONE;
}
@@ -753,6 +797,7 @@
ap_piped_log_write_fd(pl) = procnew->in;
apr_proc_other_child_register(procnew, piped_log_maintenance, pl,
ap_piped_log_write_fd(pl), pl->p);
+ close_handle_in_child(pl->p, ap_piped_log_read_fd(pl));
}
else {
char buf[120];
--- httpd-2.0.52/server/core.c.pipedlog
+++ httpd-2.0.52/server/core.c
@@ -4506,6 +4506,7 @@
ap_hook_translate_name(ap_core_translate,NULL,NULL,APR_HOOK_REALLY_LAST);
ap_hook_map_to_storage(core_map_to_storage,NULL,NULL,APR_HOOK_REALLY_LAST);
ap_hook_open_logs(ap_open_logs,NULL,NULL,APR_HOOK_REALLY_FIRST);
+ ap_hook_child_init(ap_logs_child_init,NULL,NULL,APR_HOOK_MIDDLE);
ap_hook_handler(default_handler,NULL,NULL,APR_HOOK_REALLY_LAST);
/* FIXME: I suspect we can eliminate the need for these do_nothings - Ben */
ap_hook_type_checker(do_nothing,NULL,NULL,APR_HOOK_REALLY_LAST);
httpd-2.0.52-sslbuff.patch:
ssl_engine_io.c | 2 ++
1 files changed, 2 insertions(+)
--- NEW FILE httpd-2.0.52-sslbuff.patch ---
Fix to initialize the ->nobuffer field correctly.
http://issues.apache.org/bugzilla/show_bug.cgi?id=35279
--- httpd-2.0.52/modules/ssl/ssl_engine_io.c.sslbuff
+++ httpd-2.0.52/modules/ssl/ssl_engine_io.c
@@ -1404,6 +1405,8 @@
filter_ctx->pbioWrite = BIO_new(&bio_filter_out_method);
filter_ctx->pbioWrite->ptr = (void *)bio_filter_out_ctx_new(filter_ctx, c);
+ filter_ctx->nobuffer = 0;
+
ssl_io_input_add_filter(filter_ctx, c, ssl);
SSL_set_bio(ssl, filter_ctx->pbioRead, filter_ctx->pbioWrite);
httpd-2.0.54-digest.patch:
mod_auth_digest.c | 4 +++-
1 files changed, 3 insertions(+), 1 deletion(-)
--- NEW FILE httpd-2.0.54-digest.patch ---
--- httpd-2.0.54/modules/aaa/mod_auth_digest.c.digest
+++ httpd-2.0.54/modules/aaa/mod_auth_digest.c
@@ -1504,6 +1504,8 @@
else {
dst->query = src->query;
}
+
+ dst->hostinfo = src->hostinfo;
}
/* These functions return 0 if client is OK, and proper error status
@@ -1631,7 +1633,7 @@
}
if (r->method_number == M_CONNECT) {
- if (strcmp(resp->uri, r_uri.hostinfo)) {
+ if (!r_uri.hostinfo || strcmp(resp->uri, r_uri.hostinfo)) {
ap_log_rerror(APLOG_MARK, APLOG_ERR, 0, r,
"Digest: uri mismatch - <%s> does not match "
"request-uri <%s>", resp->uri, r_uri.hostinfo);
httpd-2.0.54-include.patch:
mod_include.c | 10 +++++-----
1 files changed, 5 insertions(+), 5 deletions(-)
--- NEW FILE httpd-2.0.54-include.patch ---
http://svn.apache.org/viewcvs?rev=179763&view=rev
* modules/filters/mod_include.c (handle_include): Fix possible
variable corruption with nested includes.
PR: 12655
--- httpd-2.0.54/modules/filters/mod_include.c.include
+++ httpd-2.0.54/modules/filters/mod_include.c
@@ -788,11 +788,11 @@
CREATE_ERROR_BUCKET(ctx, tmp_buck, head_ptr,
*inserted_head);
}
-
- /* destroy the sub request */
- if (rr != NULL) {
- ap_destroy_sub_req(rr);
- }
+
+ /* Do *not* destroy the subrequest here; it may have allocated
+ * variables in this r->subprocess_env in the subrequest's
+ * r->pool, so that pool must survive as long as this request.
+ * Yes, this is a memory leak. */
}
else {
ap_log_rerror(APLOG_MARK, APLOG_ERR, 0, r,
httpd-2.0.54-ssltrans.patch:
mod_ssl.c | 7 ++++-
ssl_engine_kernel.c | 62 +++++++++++++++++++++-------------------------------
2 files changed, 31 insertions(+), 38 deletions(-)
--- NEW FILE httpd-2.0.54-ssltrans.patch ---
http://svn.apache.org/viewcvs?view=rev&rev=161958
PR: 34452
--- httpd-2.0.54/modules/ssl/ssl_engine_kernel.c.ssltrans
+++ httpd-2.0.54/modules/ssl/ssl_engine_kernel.c
@@ -30,6 +30,8 @@
-- Unknown */
#include "ssl_private.h"
+static void ssl_configure_env(request_rec *r, SSLConnRec *sslconn);
+
/*
* Post Read Request Handler
*/
@@ -81,8 +83,31 @@
* Get the SSL connection structure and perform the
* delayed interlinking from SSL back to request_rec
*/
- if ((ssl = sslconn->ssl)) {
+ ssl = sslconn->ssl;
+ if (!ssl) {
+ return DECLINED;
+ }
SSL_set_app_data2(ssl, r);
+
+ /*
+ * Log information about incoming HTTPS requests
+ */
+ if (r->server->loglevel >= APLOG_INFO && ap_is_initial_req(r)) {
+ ap_log_error(APLOG_MARK, APLOG_INFO, 0, r->server,
+ "%s HTTPS request received for child %ld (server %s)",
+ (r->connection->keepalives <= 0 ?
+ "Initial (No.1)" :
+ apr_psprintf(r->pool, "Subsequent (No.%d)",
+ r->connection->keepalives+1)),
+ r->connection->id,
+ ssl_util_vhostid(r->pool, r->server));
+ }
+
+ /* SetEnvIf ssl-*-shutdown flags can only be per-server,
+ * so they won't change across keepalive requests
+ */
+ if (sslconn->shutdown_type == SSL_SHUTDOWN_TYPE_UNSET) {
+ ssl_configure_env(r, sslconn);
}
return DECLINED;
@@ -126,41 +151,6 @@
}
/*
- * URL Translation Handler
- */
-int ssl_hook_Translate(request_rec *r)
-{
- SSLConnRec *sslconn = myConnConfig(r->connection);
-
- if (!(sslconn && sslconn->ssl)) {
- return DECLINED;
- }
-
- /*
- * Log information about incoming HTTPS requests
- */
- if (r->server->loglevel >= APLOG_INFO && ap_is_initial_req(r)) {
- ap_log_error(APLOG_MARK, APLOG_INFO, 0, r->server,
- "%s HTTPS request received for child %ld (server %s)",
- (r->connection->keepalives <= 0 ?
- "Initial (No.1)" :
- apr_psprintf(r->pool, "Subsequent (No.%d)",
- r->connection->keepalives+1)),
- r->connection->id,
- ssl_util_vhostid(r->pool, r->server));
- }
-
- /* SetEnvIf ssl-*-shutdown flags can only be per-server,
- * so they won't change across keepalive requests
- */
- if (sslconn->shutdown_type == SSL_SHUTDOWN_TYPE_UNSET) {
- ssl_configure_env(r, sslconn);
- }
-
- return DECLINED;
-}
-
-/*
* Access Handler
*/
int ssl_hook_Access(request_rec *r)
--- httpd-2.0.54/modules/ssl/mod_ssl.c.ssltrans
+++ httpd-2.0.54/modules/ssl/mod_ssl.c
@@ -391,6 +391,10 @@
static void ssl_register_hooks(apr_pool_t *p)
{
+ /* ssl_hook_ReadReq needs to use the BrowserMatch settings so must
+ * run after mod_setenvif's post_read_request hook. */
+ static const char *pre_prr[] = { "mod_setenvif.c", NULL };
+
ssl_io_filter_register(p);
ap_hook_pre_connection(ssl_hook_pre_connection,NULL,NULL, APR_HOOK_MIDDLE);
@@ -400,12 +404,11 @@
ap_hook_default_port (ssl_hook_default_port, NULL,NULL, APR_HOOK_MIDDLE);
ap_hook_pre_config (ssl_hook_pre_config, NULL,NULL, APR_HOOK_MIDDLE);
ap_hook_child_init (ssl_init_Child, NULL,NULL, APR_HOOK_MIDDLE);
- ap_hook_translate_name(ssl_hook_Translate, NULL,NULL, APR_HOOK_MIDDLE);
ap_hook_check_user_id (ssl_hook_UserCheck, NULL,NULL, APR_HOOK_FIRST);
ap_hook_fixups (ssl_hook_Fixup, NULL,NULL, APR_HOOK_MIDDLE);
ap_hook_access_checker(ssl_hook_Access, NULL,NULL, APR_HOOK_MIDDLE);
ap_hook_auth_checker (ssl_hook_Auth, NULL,NULL, APR_HOOK_MIDDLE);
- ap_hook_post_read_request(ssl_hook_ReadReq, NULL,NULL, APR_HOOK_MIDDLE);
+ ap_hook_post_read_request(ssl_hook_ReadReq, pre_prr,NULL, APR_HOOK_MIDDLE);
ssl_var_register();
httpd-2.0.54-userdir.patch:
mod_userdir.c | 2 +-
1 files changed, 1 insertion(+), 1 deletion(-)
--- NEW FILE httpd-2.0.54-userdir.patch ---
http://svn.apache.org/viewcvs?rev=165151&view=rev
--- httpd-2.0.54/modules/mappers/mod_userdir.c.userdir
+++ httpd-2.0.54/modules/mappers/mod_userdir.c
@@ -330,7 +330,7 @@
return NULL;
}
- if ((ugid = apr_palloc(r->pool, sizeof(ap_unix_identity_t *))) == NULL) {
+ if ((ugid = apr_palloc(r->pool, sizeof(*ugid))) == NULL) {
return NULL;
}
Index: httpd.spec
===================================================================
RCS file: /cvs/dist/rpms/httpd/FC-3/httpd.spec,v
retrieving revision 1.54
retrieving revision 1.55
diff -u -r1.54 -r1.55
--- httpd.spec 21 Mar 2005 12:24:05 -0000 1.54
+++ httpd.spec 26 Jul 2005 15:06:35 -0000 1.55
@@ -7,7 +7,7 @@
Summary: Apache HTTP Server
Name: httpd
Version: 2.0.53
-Release: 3.1
+Release: 3.2
URL: http://httpd.apache.org/
Source0: http://www.apache.org/dist/httpd/httpd-%{version}.tar.gz
Source1: index.html
@@ -52,6 +52,13 @@
Patch39: httpd-2.0.50-reclaim.patch
Patch40: httpd-2.0.52-ssluser.patch
Patch41: httpd-2.0.52-htdigperms.patch
+Patch42: httpd-2.0.54-userdir.patch
+Patch43: httpd-2.0.54-ssltrans.patch
+Patch44: httpd-2.0.52-pipedlog1.patch
+Patch45: httpd-2.0.52-pipedlog2.patch
+Patch46: httpd-2.0.52-sslbuff.patch
+Patch47: httpd-2.0.54-include.patch
+Patch48: httpd-2.0.54-digest.patch
# Features/functional changes
Patch70: httpd-2.0.48-release.patch
Patch71: httpd-2.0.40-xfsz.patch
@@ -71,6 +78,9 @@
Patch90: httpd-2.0.49-workerstack.patch
Patch91: httpd-2.0.46-testhook.patch
Patch92: httpd-2.0.46-dumpcerts.patch
+# Security fixes
+Patch110: httpd-2.0.52-CAN-2005-1268.patch
+Patch111: httpd-2.0.52-CAN-2005-2088.patch
License: Apache Software License
Group: System Environment/Daemons
BuildRoot: %{_tmppath}/%{name}-root
@@ -119,7 +129,7 @@
%package -n mod_ssl
Group: System Environment/Daemons
Summary: SSL/TLS module for the Apache HTTP server
-Serial: 1
+Epoch: 1
BuildRequires: openssl-devel, distcache-devel
Prereq: openssl, dev, /bin/cat
Requires: httpd = %{version}-%{release}, make, httpd-mmn = %{mmn}
@@ -165,6 +175,13 @@
%patch39 -p1 -b .reclaim
%patch40 -p1 -b .ssluser
%patch41 -p1 -b .htdigperms
+%patch42 -p1 -b .userdir
+%patch43 -p1 -b .ssltrans
+%patch44 -p1 -b .pipedlog1
+%patch45 -p1 -b .pipedlog2
+%patch46 -p1 -b .sslbuff
+%patch47 -p1 -b .include
+%patch48 -p1 -b .digest
%patch71 -p0 -b .xfsz
%patch72 -p1 -b .pod
@@ -184,6 +201,9 @@
%patch91 -p1 -b .testhook
%patch92 -p1 -b .dumpcerts
+%patch110 -p1 -b .can1268
+%patch111 -p1 -b .can2088
+
# Patch in vendor/release string
sed "s/@RELEASE@/%{vstring}/" < %{PATCH70} | patch -p1
@@ -581,6 +601,16 @@
%{_mandir}/man8/suexec.8*
%changelog
+* Tue Jul 26 2005 Joe Orton <jorton redhat com> 2.0.53-3.2
+- add security fix for C-L vs T-E handling (#162245, CVE CAN-2005-2088)
+- mod_ssl: add security fix for CRL overflow (CVE CAN-2005-1268)
+- mod_ssl: fix to enable output buffering (upstream #35279)
+- mod_ssl: fix for picking up -shutdown options (upstream #34452)
+- mod_include: fix variable corruption in nested includes (upstream #12655)
+- mod_auth_digest: fix hostinfo comparison in CONNECT requests
+- add piped logger fixes (w/Jeff Trawick)
+- mod_userdir: fix memory allocation issue (upstream #34588)
+
* Mon Mar 21 2005 Joe Orton <jorton redhat com> 2.0.53-3.1
- update to 2.0.53
- apachectl: use runuser so "apachectl testconfig" produces output
[Date Prev][Date Next] [Thread Prev][Thread Next]
[Thread Index]
[Date Index]
[Author Index]