Module Name:    src
Committed By:   shm
Date:           Wed Jul  2 13:58:09 UTC 2014

Modified Files:
        src/libexec/httpd: bozohttpd.c

Log Message:
Handle ENAMETOOLONG to return 404 error instead of 500.

OK mrg@


To generate a diff of this commit:
cvs rdiff -u -r1.51 -r1.52 src/libexec/httpd/bozohttpd.c

Please note that diffs are not public domain; they are subject to the
copyright notices on the relevant files.

Modified files:

Index: src/libexec/httpd/bozohttpd.c
diff -u src/libexec/httpd/bozohttpd.c:1.51 src/libexec/httpd/bozohttpd.c:1.52
--- src/libexec/httpd/bozohttpd.c:1.51	Tue Jul  1 13:41:21 2014
+++ src/libexec/httpd/bozohttpd.c	Wed Jul  2 13:58:09 2014
@@ -1,4 +1,4 @@
-/*	$NetBSD: bozohttpd.c,v 1.51 2014/07/01 13:41:21 shm Exp $	*/
+/*	$NetBSD: bozohttpd.c,v 1.52 2014/07/02 13:58:09 shm Exp $	*/
 
 /*	$eterna: bozohttpd.c,v 1.178 2011/11/18 09:21:15 mrg Exp $	*/
 
@@ -1533,15 +1533,21 @@ bozo_process_request(bozo_httpreq_t *req
 
 	if (fd < 0) {
 		debug((httpd, DEBUG_FAT, "open failed: %s", strerror(errno)));
-		if (errno == EPERM)
+		switch(errno) {
+		case EPERM:
 			(void)bozo_http_error(httpd, 403, request,
 						"no permission to open file");
-		else if (errno == ENOENT) {
+			break;
+		case ENAMETOOLONG:
+			/*FALLTHROUGH*/
+		case ENOENT:
 			if (!bozo_dir_index(request, file, isindex))
 				(void)bozo_http_error(httpd, 404, request,
 							"no file");
-		} else
+			break;
+		default:
 			(void)bozo_http_error(httpd, 500, request, "open file");
+		}
 		goto cleanup_nofd;
 	}
 	if (fstat(fd, &sb) < 0) {

Reply via email to