summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authornbd <nbd@3c298f89-4303-0410-b956-a3cf2f4a3e73>2007-02-28 17:58:23 +0000
committernbd <nbd@3c298f89-4303-0410-b956-a3cf2f4a3e73>2007-02-28 17:58:23 +0000
commit89fc161def2a55790a9ddb33915792160ec9cf25 (patch)
treee6f43a84e9e78701cec08b487d2a903aaaa324f0
parente471625a2f3daf8fe2b4067522ac58af2ac5dfce (diff)
fix the issue of httpd no longer working when its root directory is replaced
git-svn-id: svn://svn.openwrt.org/openwrt/trunk@6437 3c298f89-4303-0410-b956-a3cf2f4a3e73
-rw-r--r--package/busybox/patches/440-httpd_chdir.patch28
1 files changed, 28 insertions, 0 deletions
diff --git a/package/busybox/patches/440-httpd_chdir.patch b/package/busybox/patches/440-httpd_chdir.patch
new file mode 100644
index 0000000000..fcd2689bf6
--- /dev/null
+++ b/package/busybox/patches/440-httpd_chdir.patch
@@ -0,0 +1,28 @@
+diff -ur busybox.old/networking/httpd.c busybox.dev/networking/httpd.c
+--- busybox.old/networking/httpd.c 2007-02-27 23:15:20.611300000 +0100
++++ busybox.dev/networking/httpd.c 2007-02-27 23:18:10.022546112 +0100
+@@ -102,6 +102,7 @@
+ static const char default_path_httpd_conf[] = "/etc";
+ static const char httpd_conf[] = "httpd.conf";
+ static const char home[] = "./";
++static const char *home_httpd = home;
+
+ #define TIMEOUT 60
+
+@@ -1500,6 +1501,8 @@
+ #if ENABLE_FEATURE_HTTPD_BASIC_AUTH
+ int credentials = -1; /* if not required this is Ok */
+ #endif
++
++ xchdir(home_httpd);
+
+ sa.sa_handler = handle_sigalrm;
+ sigemptyset(&sa.sa_mask);
+@@ -1931,7 +1934,6 @@
+ int httpd_main(int argc, char *argv[])
+ {
+ unsigned opt;
+- const char *home_httpd = home;
+ char *url_for_decode;
+ USE_FEATURE_HTTPD_ENCODE_URL_STR(const char *url_for_encode;)
+ const char *s_port;