Hi All, To carry on from the XMLRPC Error patch, here is another one that makes PHP bork on parse errors as well as others from an INI directive called break_on_parse. The reason for this is if xmlrpc_errors is on, and PHP throws 2 errors, 2 xmlrpc error packets will be returned, making certain xmlrpc clients (rightfully) spew becasue they have recieved 2 xmlrpc fault packets (xml documents). Cheerio, Matta -- Matt Allen Technical Director Investigation Marketplace 0413 777 771 [EMAIL PROTECTED]
Index: main.c =================================================================== RCS file: /repository/php4/main/main.c,v retrieving revision 1.383 diff -u -r1.383 main.c --- main.c 23 Jul 2001 14:05:26 -0000 1.383 +++ main.c 25 Jul 2001 10:24:24 -0000 @@ -202,6 +202,7 @@ STD_PHP_INI_BOOLEAN("enable_dl", "1", PHP_INI_SYSTEM, OnUpdateBool, enable_dl, php_core_globals, core_globals) STD_PHP_INI_BOOLEAN("expose_php", "1", PHP_INI_SYSTEM, OnUpdateBool, expose_php, php_core_globals, core_globals) STD_PHP_INI_BOOLEAN("html_errors", "1", PHP_INI_SYSTEM, OnUpdateBool, html_errors, php_core_globals, core_globals) + STD_PHP_INI_BOOLEAN("break_on_parse", "0", +PHP_INI_SYSTEM, OnUpdateBool, break_on_parse, + 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_BOOLEAN("ignore_user_abort", "0", PHP_INI_ALL, OnUpdateBool, ignore_user_abort, php_core_globals, core_globals) @@ -277,7 +278,7 @@ time_t error_time; PLS_FETCH(); - /* Try to use the specified logging location. */ + if (PG(error_log) != NULL) { #ifdef HAVE_SYSLOG_H if (!strcmp(PG(error_log), "syslog")) { @@ -451,7 +452,6 @@ } /* no break - intentionally */ case E_ERROR: - /*case E_PARSE: the parser would return 1 (failure), we can bail out nicely */ case E_COMPILE_ERROR: case E_USER_ERROR: if (module_initialized) { @@ -459,6 +459,13 @@ return; } break; + case E_PARSE: + if (PG(break_on_parse)) { + if (module_initialized) { + zend_bailout(); + return; + } + } } /* Log if necessary */ Index: php_globals.h =================================================================== RCS file: /repository/php4/main/php_globals.h,v retrieving revision 1.68 diff -u -r1.68 php_globals.h --- php_globals.h 17 Jul 2001 16:46:07 -0000 1.68 +++ php_globals.h 25 Jul 2001 10:24:25 -0000 @@ -127,7 +127,7 @@ zend_bool xmlrpc_errors; long xmlrpc_error_number; - + zend_bool break_on_parse; zend_bool modules_activated;
-- PHP Development Mailing List <http://www.php.net/> To unsubscribe, e-mail: [EMAIL PROTECTED] For additional commands, e-mail: [EMAIL PROTECTED] To contact the list administrators, e-mail: [EMAIL PROTECTED]