aboutsummaryrefslogtreecommitdiff
path: root/configs
diff options
context:
space:
mode:
authorRon Yorston <rmy@pobox.com>2023-12-20 13:45:32 +0000
committerRon Yorston <rmy@pobox.com>2023-12-20 13:59:17 +0000
commit8d85a4a5be88931978fad594b94e762313d37afc (patch)
tree0f964f6cd9b0c71b02de5011a2f815e1470c8740 /configs
parent4f9b703c31e6360d1e7ffe7d3410e42e5118b4fd (diff)
downloadbusybox-w32-8d85a4a5be88931978fad594b94e762313d37afc.tar.gz
busybox-w32-8d85a4a5be88931978fad594b94e762313d37afc.tar.bz2
busybox-w32-8d85a4a5be88931978fad594b94e762313d37afc.zip
httpd: enable support for CGI
The upstream code uses fork/exec when running a CGI process. Emulate this by: - Spawning a child httpd process with the special '-I 0' option, along with the options provided on the server command line. This sets up the proper state then calls the cgi_handler() function. - The cgi_handler() function fixes the pipe file descriptors and starts another child process to run the CGI script. These processes are detached from the console on creation. When spawn() functions are run in P_DETACH mode they don't connect to the standard file descriptors. Normally this doesn't matter but the process which runs the CGI scripts needs to inherit the pipe endpoints. The create_detached_process() function handles this. See: https://github.com/rprichard/win32-console-docs/blob/master/README.md Adds about 2.9Kb to the size of the binary. (GitHub issue #266)
Diffstat (limited to 'configs')
-rw-r--r--configs/mingw32_defconfig4
-rw-r--r--configs/mingw64_defconfig4
-rw-r--r--configs/mingw64u_defconfig4
3 files changed, 6 insertions, 6 deletions
diff --git a/configs/mingw32_defconfig b/configs/mingw32_defconfig
index ee01330d1..0f674d45c 100644
--- a/configs/mingw32_defconfig
+++ b/configs/mingw32_defconfig
@@ -1,7 +1,7 @@
1# 1#
2# Automatically generated make config: don't edit 2# Automatically generated make config: don't edit
3# Busybox version: 1.37.0.git 3# Busybox version: 1.37.0.git
4# Sat Dec 9 09:38:58 2023 4# Wed Dec 20 13:23:38 2023
5# 5#
6CONFIG_HAVE_DOT_CONFIG=y 6CONFIG_HAVE_DOT_CONFIG=y
7# CONFIG_PLATFORM_POSIX is not set 7# CONFIG_PLATFORM_POSIX is not set
@@ -916,7 +916,7 @@ CONFIG_FEATURE_HTTPD_RANGES=y
916# CONFIG_FEATURE_HTTPD_SETUID is not set 916# CONFIG_FEATURE_HTTPD_SETUID is not set
917CONFIG_FEATURE_HTTPD_BASIC_AUTH=y 917CONFIG_FEATURE_HTTPD_BASIC_AUTH=y
918# CONFIG_FEATURE_HTTPD_AUTH_MD5 is not set 918# CONFIG_FEATURE_HTTPD_AUTH_MD5 is not set
919# CONFIG_FEATURE_HTTPD_CGI is not set 919CONFIG_FEATURE_HTTPD_CGI=y
920# CONFIG_FEATURE_HTTPD_CONFIG_WITH_SCRIPT_INTERPR is not set 920# CONFIG_FEATURE_HTTPD_CONFIG_WITH_SCRIPT_INTERPR is not set
921# CONFIG_FEATURE_HTTPD_SET_REMOTE_PORT_TO_ENV is not set 921# CONFIG_FEATURE_HTTPD_SET_REMOTE_PORT_TO_ENV is not set
922CONFIG_FEATURE_HTTPD_ENCODE_URL_STR=y 922CONFIG_FEATURE_HTTPD_ENCODE_URL_STR=y
diff --git a/configs/mingw64_defconfig b/configs/mingw64_defconfig
index 3fed1c99b..37f95f4c8 100644
--- a/configs/mingw64_defconfig
+++ b/configs/mingw64_defconfig
@@ -1,7 +1,7 @@
1# 1#
2# Automatically generated make config: don't edit 2# Automatically generated make config: don't edit
3# Busybox version: 1.37.0.git 3# Busybox version: 1.37.0.git
4# Sat Dec 9 09:38:58 2023 4# Wed Dec 20 13:23:38 2023
5# 5#
6CONFIG_HAVE_DOT_CONFIG=y 6CONFIG_HAVE_DOT_CONFIG=y
7# CONFIG_PLATFORM_POSIX is not set 7# CONFIG_PLATFORM_POSIX is not set
@@ -916,7 +916,7 @@ CONFIG_FEATURE_HTTPD_RANGES=y
916# CONFIG_FEATURE_HTTPD_SETUID is not set 916# CONFIG_FEATURE_HTTPD_SETUID is not set
917CONFIG_FEATURE_HTTPD_BASIC_AUTH=y 917CONFIG_FEATURE_HTTPD_BASIC_AUTH=y
918# CONFIG_FEATURE_HTTPD_AUTH_MD5 is not set 918# CONFIG_FEATURE_HTTPD_AUTH_MD5 is not set
919# CONFIG_FEATURE_HTTPD_CGI is not set 919CONFIG_FEATURE_HTTPD_CGI=y
920# CONFIG_FEATURE_HTTPD_CONFIG_WITH_SCRIPT_INTERPR is not set 920# CONFIG_FEATURE_HTTPD_CONFIG_WITH_SCRIPT_INTERPR is not set
921# CONFIG_FEATURE_HTTPD_SET_REMOTE_PORT_TO_ENV is not set 921# CONFIG_FEATURE_HTTPD_SET_REMOTE_PORT_TO_ENV is not set
922CONFIG_FEATURE_HTTPD_ENCODE_URL_STR=y 922CONFIG_FEATURE_HTTPD_ENCODE_URL_STR=y
diff --git a/configs/mingw64u_defconfig b/configs/mingw64u_defconfig
index f3391a206..f26b17ec9 100644
--- a/configs/mingw64u_defconfig
+++ b/configs/mingw64u_defconfig
@@ -1,7 +1,7 @@
1# 1#
2# Automatically generated make config: don't edit 2# Automatically generated make config: don't edit
3# Busybox version: 1.37.0.git 3# Busybox version: 1.37.0.git
4# Sat Dec 9 09:38:58 2023 4# Wed Dec 20 13:23:38 2023
5# 5#
6CONFIG_HAVE_DOT_CONFIG=y 6CONFIG_HAVE_DOT_CONFIG=y
7# CONFIG_PLATFORM_POSIX is not set 7# CONFIG_PLATFORM_POSIX is not set
@@ -916,7 +916,7 @@ CONFIG_FEATURE_HTTPD_RANGES=y
916# CONFIG_FEATURE_HTTPD_SETUID is not set 916# CONFIG_FEATURE_HTTPD_SETUID is not set
917CONFIG_FEATURE_HTTPD_BASIC_AUTH=y 917CONFIG_FEATURE_HTTPD_BASIC_AUTH=y
918# CONFIG_FEATURE_HTTPD_AUTH_MD5 is not set 918# CONFIG_FEATURE_HTTPD_AUTH_MD5 is not set
919# CONFIG_FEATURE_HTTPD_CGI is not set 919CONFIG_FEATURE_HTTPD_CGI=y
920# CONFIG_FEATURE_HTTPD_CONFIG_WITH_SCRIPT_INTERPR is not set 920# CONFIG_FEATURE_HTTPD_CONFIG_WITH_SCRIPT_INTERPR is not set
921# CONFIG_FEATURE_HTTPD_SET_REMOTE_PORT_TO_ENV is not set 921# CONFIG_FEATURE_HTTPD_SET_REMOTE_PORT_TO_ENV is not set
922CONFIG_FEATURE_HTTPD_ENCODE_URL_STR=y 922CONFIG_FEATURE_HTTPD_ENCODE_URL_STR=y