Make httpd return "404 not found" if an intermediate component of a requested
authorstsp <stsp@openbsd.org>
Tue, 6 Jan 2015 17:55:28 +0000 (17:55 +0000)
committerstsp <stsp@openbsd.org>
Tue, 6 Jan 2015 17:55:28 +0000 (17:55 +0000)
file path does not exist rather than returning "500 internal server error".
ok reyk

usr.sbin/httpd/server_file.c

index 6167bdb..d1ccce7 100644 (file)
@@ -1,4 +1,4 @@
-/*     $OpenBSD: server_file.c,v 1.44 2015/01/04 22:23:58 chrisz Exp $ */
+/*     $OpenBSD: server_file.c,v 1.45 2015/01/06 17:55:28 stsp Exp $   */
 
 /*
  * Copyright (c) 2006 - 2014 Reyk Floeter <reyk@openbsd.org>
@@ -134,6 +134,7 @@ server_file_access(struct httpd *env, struct client *clt,
  fail:
        switch (errno) {
        case ENOENT:
+       case ENOTDIR:
                return (404);
        case EACCES:
                return (403);