aboutsummaryrefslogtreecommitdiff
path: root/networking
diff options
context:
space:
mode:
Diffstat (limited to 'networking')
-rw-r--r--networking/httpd.c30
1 files changed, 12 insertions, 18 deletions
diff --git a/networking/httpd.c b/networking/httpd.c
index de4fb9b39..ae9116913 100644
--- a/networking/httpd.c
+++ b/networking/httpd.c
@@ -2101,8 +2101,12 @@ static void handle_incoming_and_exit(const len_and_sockaddr *fromAddr)
2101 } 2101 }
2102 send_cgi_and_exit(urlcopy, prequest, length, cookie, content_type); 2102 send_cgi_and_exit(urlcopy, prequest, length, cookie, content_type);
2103 } 2103 }
2104#endif
2105
2106 if (urlp[-1] == '/')
2107 strcpy(urlp, index_page);
2108 if (stat(tptr, &sb) == 0) {
2104#if ENABLE_FEATURE_HTTPD_CONFIG_WITH_SCRIPT_INTERPR 2109#if ENABLE_FEATURE_HTTPD_CONFIG_WITH_SCRIPT_INTERPR
2105 {
2106 char *suffix = strrchr(tptr, '.'); 2110 char *suffix = strrchr(tptr, '.');
2107 if (suffix) { 2111 if (suffix) {
2108 Htaccess *cur; 2112 Htaccess *cur;
@@ -2112,16 +2116,7 @@ static void handle_incoming_and_exit(const len_and_sockaddr *fromAddr)
2112 } 2116 }
2113 } 2117 }
2114 } 2118 }
2115 }
2116#endif 2119#endif
2117 if (prequest != request_GET && prequest != request_HEAD) {
2118 send_headers_and_exit(HTTP_NOT_IMPLEMENTED);
2119 }
2120#endif /* FEATURE_HTTPD_CGI */
2121
2122 if (urlp[-1] == '/')
2123 strcpy(urlp, index_page);
2124 if (stat(tptr, &sb) == 0) {
2125 file_size = sb.st_size; 2120 file_size = sb.st_size;
2126 last_mod = sb.st_mtime; 2121 last_mod = sb.st_mtime;
2127 } 2122 }
@@ -2135,19 +2130,18 @@ static void handle_incoming_and_exit(const len_and_sockaddr *fromAddr)
2135 send_cgi_and_exit("/cgi-bin/index.cgi", prequest, length, cookie, content_type); 2130 send_cgi_and_exit("/cgi-bin/index.cgi", prequest, length, cookie, content_type);
2136 } 2131 }
2137 } 2132 }
2138#endif 2133 /* else fall through to send_file, it errors out if open fails: */
2139 /* else {
2140 * fall through to send_file, it errors out if open fails
2141 * }
2142 */
2143 2134
2135 if (prequest != request_GET && prequest != request_HEAD) {
2136 /* POST for files does not make sense */
2137 send_headers_and_exit(HTTP_NOT_IMPLEMENTED);
2138 }
2144 send_file_and_exit(tptr, 2139 send_file_and_exit(tptr,
2145#if ENABLE_FEATURE_HTTPD_CGI
2146 (prequest != request_HEAD ? SEND_HEADERS_AND_BODY : SEND_HEADERS) 2140 (prequest != request_HEAD ? SEND_HEADERS_AND_BODY : SEND_HEADERS)
2141 );
2147#else 2142#else
2148 SEND_HEADERS_AND_BODY 2143 send_file_and_exit(tptr, SEND_HEADERS_AND_BODY);
2149#endif 2144#endif
2150 );
2151} 2145}
2152 2146
2153/* 2147/*