>Number: 5032 >Category: general >Synopsis: when a network filesystem is unavailable,Apache returns access >forbidden >Confidential: no >Severity: non-critical >Priority: medium >Responsible: apache >State: open >Class: change-request >Submitter-Id: apache >Arrival-Date: Fri Sep 17 11:30:02 PDT 1999 >Last-Modified: >Originator: [EMAIL PROTECTED] >Organization: apache >Release: 1.3.9 >Environment: any OS that supports a network filesystem >Description: in http_request.c, get_path_info calls stat(). if stat() fails with any error other than ENOENT, ENOTDIR, or EACCES, Apache returns HTTP_FORBIDDEN.
if you're serving files from a network filesystem (NFS, AFS, DFS...) when the filesystem is unavailable for whatever reason, stat() will return ETIMEDOUT. this will result in an access forbidden page being returned to the end-user. This is very confusing for the end-user, and very annoying for the administrator who gets plagued with complaints about misconfiguration. >How-To-Repeat: <NA> >Fix: I propose the following addition to get_path_info(): #if defined(ETIMEDOUT) else if (errno == ETIMEDOUT) { ap_log_rerror(APLOG_MARK, APLOG_ERR, r, "access to %s timed out", r->uri); return HTTP_SERVICE_UNAVAILABLE; } #endif I believe the service unavailable error message is much more indicative of the underlying problem. >Audit-Trail: >Unformatted: [In order for any reply to be added to the PR database, you need] [to include <[EMAIL PROTECTED]> in the Cc line and make sure the] [subject line starts with the report component and number, with ] [or without any 'Re:' prefixes (such as "general/1098:" or ] ["Re: general/1098:"). If the subject doesn't match this ] [pattern, your message will be misfiled and ignored. The ] ["apbugs" address is not added to the Cc line of messages from ] [the database automatically because of the potential for mail ] [loops. If you do not include this Cc, your reply may be ig- ] [nored unless you are responding to an explicit request from a ] [developer. Reply only with text; DO NOT SEND ATTACHMENTS! ]