aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorDenis Vlasenko <vda.linux@googlemail.com>2007-03-05 19:24:33 +0000
committerDenis Vlasenko <vda.linux@googlemail.com>2007-03-05 19:24:33 +0000
commit1ccd96fd1f4aa038bb6e5c7419d04915c3586464 (patch)
tree91e6b78c7319b4bed7c2c0ea0ee3bbbbb1caaa4a
parentd238a477b7491ba4d2cd21f7fa32021e2f755698 (diff)
downloadbusybox-1ccd96fd1f4aa038bb6e5c7419d04915c3586464.tar.gz
httpd: run interpreter for configured file extensions in any dir,
not only in /cgi-bin/
-rw-r--r--networking/httpd.c14
1 files changed, 14 insertions, 0 deletions
diff --git a/networking/httpd.c b/networking/httpd.c
index 8cf73c2b4..cb8ab763f 100644
--- a/networking/httpd.c
+++ b/networking/httpd.c
@@ -1701,6 +1701,20 @@ static void handleIncoming(void)
sendCgi(url, prequest, length, cookie, content_type);
break;
}
+#if ENABLE_FEATURE_HTTPD_CONFIG_WITH_SCRIPT_INTERPR
+ {
+ char *suffix = strrchr(test, '.');
+ if (suffix) {
+ Htaccess *cur;
+ for (cur = config->script_i; cur; cur = cur->next) {
+ if (strcmp(cur->before_colon + 1, suffix) == 0) {
+ sendCgi(url, prequest, length, cookie, content_type);
+ goto bail_out;
+ }
+ }
+ }
+ }
+#endif
if (prequest != request_GET) {
sendHeaders(HTTP_NOT_IMPLEMENTED);
break;