From d7686c8c2c849c775007c5de19901ab6b38bd039 Mon Sep 17 00:00:00 2001 From: Denys Vlasenko Date: Sat, 12 Sep 2009 17:57:19 +0200 Subject: Apply post-1.15.0 fixes; bump version to 1.15.1 Signed-off-by: Denys Vlasenko --- networking/httpd.c | 30 ++++++++++++------------------ 1 file changed, 12 insertions(+), 18 deletions(-) (limited to 'networking/httpd.c') diff --git a/networking/httpd.c b/networking/httpd.c index 956eeca..bc081c1 100644 --- a/networking/httpd.c +++ b/networking/httpd.c @@ -2101,8 +2101,12 @@ static void handle_incoming_and_exit(const len_and_sockaddr *fromAddr) } send_cgi_and_exit(urlcopy, prequest, length, cookie, content_type); } +#endif + + if (urlp[-1] == '/') + strcpy(urlp, index_page); + if (stat(tptr, &sb) == 0) { #if ENABLE_FEATURE_HTTPD_CONFIG_WITH_SCRIPT_INTERPR - { char *suffix = strrchr(tptr, '.'); if (suffix) { Htaccess *cur; @@ -2112,16 +2116,7 @@ static void handle_incoming_and_exit(const len_and_sockaddr *fromAddr) } } } - } #endif - if (prequest != request_GET && prequest != request_HEAD) { - send_headers_and_exit(HTTP_NOT_IMPLEMENTED); - } -#endif /* FEATURE_HTTPD_CGI */ - - if (urlp[-1] == '/') - strcpy(urlp, index_page); - if (stat(tptr, &sb) == 0) { file_size = sb.st_size; last_mod = sb.st_mtime; } @@ -2135,19 +2130,18 @@ static void handle_incoming_and_exit(const len_and_sockaddr *fromAddr) send_cgi_and_exit("/cgi-bin/index.cgi", prequest, length, cookie, content_type); } } -#endif - /* else { - * fall through to send_file, it errors out if open fails - * } - */ + /* else fall through to send_file, it errors out if open fails: */ + if (prequest != request_GET && prequest != request_HEAD) { + /* POST for files does not make sense */ + send_headers_and_exit(HTTP_NOT_IMPLEMENTED); + } send_file_and_exit(tptr, -#if ENABLE_FEATURE_HTTPD_CGI (prequest != request_HEAD ? SEND_HEADERS_AND_BODY : SEND_HEADERS) + ); #else - SEND_HEADERS_AND_BODY + send_file_and_exit(tptr, SEND_HEADERS_AND_BODY); #endif - ); } /* -- cgit v1.1