summaryrefslogtreecommitdiff
path: root/main/main.c
diff options
context:
space:
mode:
authorIlia Alshanetsky <iliaa@php.net>2002-10-21 13:09:29 +0000
committerIlia Alshanetsky <iliaa@php.net>2002-10-21 13:09:29 +0000
commitb9efd223395eb66bf7503a3f8a86d8eb67d4ae13 (patch)
treecc618e34d2faccd588850fd953db222b91b4bc18 /main/main.c
parentdde85e3936f2d67cfb405ed77c08c429e4954186 (diff)
downloadphp-git-b9efd223395eb66bf7503a3f8a86d8eb67d4ae13.tar.gz
Fixed bug #16880. Added an ini option max_input_time that allows the user
to specify how much time a script may spend parsing input data (POST, GET, etc..).
Diffstat (limited to 'main/main.c')
-rw-r--r--main/main.c5
1 files changed, 4 insertions, 1 deletions
diff --git a/main/main.c b/main/main.c
index 6176574d3b..e112e63c14 100644
--- a/main/main.c
+++ b/main/main.c
@@ -251,6 +251,7 @@ PHP_INI_BEGIN()
STD_PHP_INI_BOOLEAN("html_errors", "1", PHP_INI_ALL, OnUpdateBool, html_errors, php_core_globals, core_globals)
STD_PHP_INI_BOOLEAN("xmlrpc_errors", "0", PHP_INI_SYSTEM, OnUpdateBool, xmlrpc_errors, php_core_globals, core_globals)
STD_PHP_INI_ENTRY("xmlrpc_error_number", "0", PHP_INI_ALL, OnUpdateInt, xmlrpc_error_number, php_core_globals, core_globals)
+ STD_PHP_INI_ENTRY("max_input_time", "0", PHP_INI_ALL, OnUpdateInt, max_input_time, php_core_globals, core_globals)
STD_PHP_INI_BOOLEAN("ignore_user_abort", "0", PHP_INI_ALL, OnUpdateBool, ignore_user_abort, php_core_globals, core_globals)
STD_PHP_INI_BOOLEAN("implicit_flush", "0", PHP_INI_PERDIR|PHP_INI_SYSTEM,OnUpdateBool, implicit_flush, php_core_globals, core_globals)
STD_PHP_INI_BOOLEAN("log_errors", "0", PHP_INI_ALL, OnUpdateBool, log_errors, php_core_globals, core_globals)
@@ -835,7 +836,7 @@ int php_request_startup(TSRMLS_D)
zend_activate(TSRMLS_C);
sapi_activate(TSRMLS_C);
- zend_set_timeout(EG(timeout_seconds));
+ zend_set_timeout(PG(max_input_time));
if (PG(expose_php)) {
sapi_add_header(SAPI_PHP_VERSION_HEADER, sizeof(SAPI_PHP_VERSION_HEADER)-1, 1);
@@ -1539,6 +1540,8 @@ PHPAPI int php_execute_script(zend_file_handle *primary_file TSRMLS_DC)
#if defined(ZEND_MULTIBYTE) && defined(HAVE_MBSTRING)
php_mbstring_set_zend_encoding(TSRMLS_C);
#endif /* ZEND_MULTIBYTE && HAVE_MBSTRING */
+ zend_unset_timeout(TSRMLS_C);
+ zend_set_timeout(EG(timeout_seconds));
retval = (zend_execute_scripts(ZEND_REQUIRE TSRMLS_CC, NULL, 3, prepend_file_p, primary_file, append_file_p) == SUCCESS);
if (old_primary_file_path) {