You are viewing a plain text version of this content. The canonical link for it is here.
Posted to apache-bugdb@apache.org by Paul Henson <he...@acm.org> on 1999/09/17 20:20:41 UTC

general/5032: when a network filesystem is unavailable,Apache returns access forbidden

>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:     henson@acm.org
>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 <ap...@Apache.Org> 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!     ]