summaryrefslogtreecommitdiff
path: root/networking/httpd.c
diff options
context:
space:
mode:
authorDenis Vlasenko2007-03-05 19:24:33 +0000
committerDenis Vlasenko2007-03-05 19:24:33 +0000
commit1ccd96fd1f4aa038bb6e5c7419d04915c3586464 (patch)
tree91e6b78c7319b4bed7c2c0ea0ee3bbbbb1caaa4a /networking/httpd.c
parentd238a477b7491ba4d2cd21f7fa32021e2f755698 (diff)
downloadbusybox-1ccd96fd1f4aa038bb6e5c7419d04915c3586464.zip
busybox-1ccd96fd1f4aa038bb6e5c7419d04915c3586464.tar.gz
httpd: run interpreter for configured file extensions in any dir,
not only in /cgi-bin/
Diffstat (limited to 'networking/httpd.c')
-rw-r--r--networking/httpd.c14
1 files changed, 14 insertions, 0 deletions
diff --git a/networking/httpd.c b/networking/httpd.c
index 8cf73c2..cb8ab76 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;