Commit 7b850d3d authored by Bill Stoddard's avatar Bill Stoddard
Browse files

Win32: Fix stranded piped loggers on apache -k start,restart,config,install

parent 32bdb629
Loading
Loading
Loading
Loading
+5 −0
Changes for CHANGES: 5 added lines, 0 removed lines.
Original line number Diff line number Diff line
Changes with Apache 2.0.51
  *) Win32: apache -k start|restart|install|config can leave stranded
     piped logger processes (eg, rotatelogs.exe) due to improper
     server shutdown on these code paths.
     [Bill Stoddard]
  *) SECURITY: CAN-2004-0751 (cve.mitre.org)
     mod_ssl: Fix a segfault in the SSL input filter which could be
     triggered if using "speculative" mode, for instance by a 
+1 −6
Changes for STATUS: 1 added line, 6 removed lines.
Original line number Diff line number Diff line
APACHE 2.0 STATUS:                                              -*-text-*-
Last modified at [$Date: 2004/08/27 16:08:31 $]
Last modified at [$Date: 2004/08/27 18:46:51 $]

Release:

@@ -73,11 +73,6 @@ PATCHES TO BACKPORT FROM 2.1
  [ please place file names and revisions from HEAD here, so it is easy to
    identify exactly what the proposed changes are! ]

    *) Win32: Orderly shutdown of the command process after apache -k start,restart,config,
       install to prevent stranded piped logger processes.
       http://cvs.apache.org/viewcvs.cgi/httpd-2.0/server/mpm/winnt/mpm_winnt.c?r1=1.311&r2=1.312
       +1: stoddard, trawick, nd

    *) EOC bucket handling fix for core_output_filter (prevents possible variable use-
       after-free since .49).
       http://cvs.apache.org/viewcvs.cgi/httpd-2.0/server/core.c?r1=1.276&r2=1.277
+8 −0
Changes for server/mpm/winnt/mpm_winnt.c: 8 added lines, 0 removed lines.
Original line number Diff line number Diff line
@@ -1401,10 +1401,14 @@ static int winnt_post_config(apr_pool_t *pconf, apr_pool_t *plog, apr_pool_t *pt

    if (!strcasecmp(signal_arg, "install")) {
        rv = mpm_service_install(ptemp, inst_argc, inst_argv, 0);
        apr_pool_destroy(s->process->pool);
        apr_terminate();
        exit(rv);
    }
    if (!strcasecmp(signal_arg, "config")) {
        rv = mpm_service_install(ptemp, inst_argc, inst_argv, 1);
        apr_pool_destroy(s->process->pool);
        apr_terminate();
        exit(rv);
    }

@@ -1417,11 +1421,15 @@ static int winnt_post_config(apr_pool_t *pconf, apr_pool_t *plog, apr_pool_t *pt
            lr->active = 0;
        }
        rv = mpm_service_start(ptemp, inst_argc, inst_argv);
        apr_pool_destroy(s->process->pool);
        apr_terminate();
        exit(rv);
    }

    if (!strcasecmp(signal_arg, "restart")) {
        mpm_signal_service(ptemp, 1);
        apr_pool_destroy(s->process->pool);
        apr_terminate();
        exit(rv);
    }