From f94396a54efddf9a02cabfa3d26832cd2347053c Mon Sep 17 00:00:00 2001 From: interp Date: Thu, 29 Aug 2002 14:53:44 +0000 Subject: [PATCH] look if file is executable --- scheme/httpd/cgi-server.scm | 10 +++++++++- 1 file changed, 9 insertions(+), 1 deletion(-) diff --git a/scheme/httpd/cgi-server.scm b/scheme/httpd/cgi-server.scm index 045f08d..b3985b2 100644 --- a/scheme/httpd/cgi-server.scm +++ b/scheme/httpd/cgi-server.scm @@ -128,7 +128,15 @@ (format #f "Could not execute CGI script ~a." filename)) stat)) ;; FIXME! must return http-response object! - (cgi-make-response (run/port* doit) req))) + (case (file-not-executable? filename) + ((search-denied permission) + (make-http-error-response http-status/forbidden req + "Permission denied.")) + ((no-directory nonexistent) + (make-http-error-response http-status/not-found req + "File or directory doesn't exist.")) + (else + (cgi-make-response (run/port* doit) req))))) (else (make-http-error-response http-status/method-not-allowed req))))))