View | Details | Raw Unified | Return to bug 51020
Collapse All | Expand All

(-)httpd-2.2.17_orig/modules/generators/fcgid_conf.c (-2 / +22 lines)
Lines 795-802 Link Here
795
    if (path == NULL || *path == '\0')
795
    if (path == NULL || *path == '\0')
796
        return "Invalid wrapper config";
796
        return "Invalid wrapper config";
797
797
798
    /* Does the wrapper exist? */
798
    /* LTAC: In few Windows AD environments (having complex groups
799
    if ((rv = apr_stat(&finfo, path, APR_FINFO_NORM,
799
     * spanning across multiple domains), apr_stat call is unable 
800
     * to fetch all (APR_FINFO_NORM) ACLs for file object's owner,
801
     * group trustee accounts, i.e., GetEffectiveRightsFromACL API
802
     * is failing with ERROR_IO_PENDING. 
803
     * http://support.microsoft.com/kb/2018746
804
     */
805
     /* Does the wrapper exist? */
806
     /*   if ((rv = apr_stat(&finfo, path, APR_FINFO_NORM,
807
                          cmd->temp_pool)) != APR_SUCCESS) {         */
808
        
809
    /* A quick fix for now is to conservatively check whether we can get 
810
     * necessary stats (inode, device ) of FcgiWrapper file., i.e., bare 
811
     * minimum entities required to check whether FCGIWrapper wrapper 
812
     * exists or not. Group protection rights and World protection rights 
813
     * are not fetched anymore - if access priveleges are limited to these 
814
     * trustee accounts then Apache will return errors while processing
815
     * fcgi requests during runtime rather than failing during startup
816
     */         
817
     
818
    /* get only require details file inode + device info */
819
    if ((rv = apr_stat(&finfo, path, APR_FINFO_IDENT, 
800
                       cmd->temp_pool)) != APR_SUCCESS) {
820
                       cmd->temp_pool)) != APR_SUCCESS) {
801
        return missing_file_msg(cmd->pool, "Wrapper", path, rv);
821
        return missing_file_msg(cmd->pool, "Wrapper", path, rv);
802
    }
822
    }

Return to bug 51020