components/apache24/patches/priv_drop.patch
changeset 5828 5009deba8bc0
parent 2079 46ce7840065c
child 6502 568ea88798fa
equal deleted inserted replaced
5827:17e1134323cc 5828:5009deba8bc0
    18      apr_status_t rv;
    18      apr_status_t rv;
    19      module **mod;
    19      module **mod;
    20      const char *opt_arg;
    20      const char *opt_arg;
    21 +    priv_set_t *tset;
    21 +    priv_set_t *tset;
    22      APR_OPTIONAL_FN_TYPE(ap_signal_server) *signal_server;
    22      APR_OPTIONAL_FN_TYPE(ap_signal_server) *signal_server;
       
    23      int rc = OK;
    23  
    24  
    24      AP_MONCONTROL(0); /* turn off profiling of startup */
    25 @@ -789,6 +907,17 @@
    25 @@ -788,6 +806,17 @@
       
    26  
    26  
    27          ap_run_optional_fn_retrieve();
    27          ap_run_optional_fn_retrieve();
    28  
    28  
    29 +
    29 +
    30 +        /* here we drop privileges we won't need any more */
    30 +        /* here we drop privileges we won't need any more */
    36 +                         APLOGNO(00021) "Unable to drop unneeded privilege.");
    36 +                         APLOGNO(00021) "Unable to drop unneeded privilege.");
    37 +            destroy_and_exit_process(process, 1);
    37 +            destroy_and_exit_process(process, 1);
    38 +        }
    38 +        }
    39 +
    39 +
    40          ap_main_state = AP_SQ_MS_RUN_MPM;
    40          ap_main_state = AP_SQ_MS_RUN_MPM;
    41          if (ap_run_mpm(pconf, plog, ap_server_conf) != OK)
    41          rc = ap_run_mpm(pconf, plog, ap_server_conf);
    42              break;
    42