diff options
| author | Denys Vlasenko <vda.linux@googlemail.com> | 2009-09-12 17:49:22 +0200 |
|---|---|---|
| committer | Denys Vlasenko <vda.linux@googlemail.com> | 2009-09-12 17:49:22 +0200 |
| commit | 757e46252c004c9170dfc748a78f42abd416cf50 (patch) | |
| tree | ec94eeb0b8ef339ae158d47b80a091a818236168 /networking | |
| parent | f5d4bddfbee4d9a5af479e20f4e17b5e2fb4a3ed (diff) | |
| download | busybox-w32-1_14_4.tar.gz busybox-w32-1_14_4.tar.bz2 busybox-w32-1_14_4.zip | |
apply post-1.14.3 fixes; bump version to 1.14.41_14_4
Signed-off-by: Denys Vlasenko <vda.linux@googlemail.com>
Diffstat (limited to 'networking')
| -rw-r--r-- | networking/httpd.c | 30 |
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 | /* |
