--- httpd-2.2.17_orig/modules/generators/fcgid_conf.c 2010-11-04 11:43:30.000000000 -0700 +++ httpd-2.2.17_merge_modFcgidADIssue/modules/generators/fcgid_conf.c 2011-04-03 23:24:55.453125000 -0700 @@ -795,8 +795,28 @@ if (path == NULL || *path == '\0') return "Invalid wrapper config"; - /* Does the wrapper exist? */ - if ((rv = apr_stat(&finfo, path, APR_FINFO_NORM, + /* LTAC: In few Windows AD environments (having complex groups + * spanning across multiple domains), apr_stat call is unable + * to fetch all (APR_FINFO_NORM) ACLs for file object's owner, + * group trustee accounts, i.e., GetEffectiveRightsFromACL API + * is failing with ERROR_IO_PENDING. + * http://support.microsoft.com/kb/2018746 + */ + /* Does the wrapper exist? */ + /* if ((rv = apr_stat(&finfo, path, APR_FINFO_NORM, + cmd->temp_pool)) != APR_SUCCESS) { */ + + /* A quick fix for now is to conservatively check whether we can get + * necessary stats (inode, device ) of FcgiWrapper file., i.e., bare + * minimum entities required to check whether FCGIWrapper wrapper + * exists or not. Group protection rights and World protection rights + * are not fetched anymore - if access priveleges are limited to these + * trustee accounts then Apache will return errors while processing + * fcgi requests during runtime rather than failing during startup + */ + + /* get only require details file inode + device info */ + if ((rv = apr_stat(&finfo, path, APR_FINFO_IDENT, cmd->temp_pool)) != APR_SUCCESS) { return missing_file_msg(cmd->pool, "Wrapper", path, rv); }