[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



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]