+++ /dev/null
---- php-4.0.4pl1/sapi/apache/mod_php4.c.wiget Wed Jan 3 23:07:59 2001
-+++ php-4.0.4pl1/sapi/apache/mod_php4.c Fri Jan 19 17:01:11 2001
-@@ -59,9 +59,6 @@
- #include "util_script.h"
-
- #include "mod_php4.h"
--#if HAVE_MOD_DAV
--# include "mod_dav.h"
--#endif
-
- #undef shutdown
-
-@@ -111,8 +108,6 @@
- int type;
- } php_per_dir_entry;
-
--php_apache_info_struct php_apache_info; /* active config */
--
- /* some systems are missing these from their header files */
-
- void php_save_umask(void)
-@@ -440,6 +435,7 @@
- ELS_FETCH();
- CLS_FETCH();
- PLS_FETCH();
-+ APLS_FETCH();
-
- if (setjmp(EG(bailout))!=0) {
- return OK;
-@@ -463,7 +459,7 @@
- /* If PHP parser engine has been turned off with an "engine off"
- * directive, then decline to handle this request
- */
-- if (!php_apache_info.engine) {
-+ if (!AP(engine)) {
- r->content_type = php_apache_get_default_mimetype(r SLS_CC);
- r->allowed |= (1 << METHODS) - 1;
- if (setjmp(EG(bailout))==0) {
-@@ -485,7 +481,7 @@
- }
- #endif
-
-- if (php_apache_info.last_modified) {
-+ if (AP(last_modified)) {
- #if MODULE_MAGIC_NUMBER < 19970912
- if ((retval = set_last_modified(r, r->finfo.st_mtime))) {
- if (setjmp(EG(bailout))==0) {
-@@ -734,46 +730,6 @@
- }
-
-
--#if HAVE_MOD_DAV
--
--extern int phpdav_mkcol_test_handler(request_rec *r);
--extern int phpdav_mkcol_create_handler(request_rec *r);
--
--/* conf is being read twice (both here and in send_php()) */
--int send_parsed_php_dav_script(request_rec *r)
--{
-- php_apache_info_struct *conf;
--
-- conf = (php_apache_info_struct *) get_module_config(r->per_dir_config,
-- &php4_module);
-- return send_php(r, 0, 0, conf->dav_script);
--}
--
--static int php_type_checker(request_rec *r)
--{
-- php_apache_info_struct *conf;
--
-- conf = (php_apache_info_struct *)get_module_config(r->per_dir_config,
-- &php4_module);
--
-- /* If DAV support is enabled, use mod_dav's type checker. */
-- if (conf->dav_script) {
-- dav_api_set_request_handler(r, send_parsed_php_dav_script);
-- dav_api_set_mkcol_handlers(r, phpdav_mkcol_test_handler,
-- phpdav_mkcol_create_handler);
-- /* leave the rest of the request to mod_dav */
-- return dav_api_type_checker(r);
-- }
--
-- return DECLINED;
--}
--
--#else /* HAVE_MOD_DAV */
--
--# define php_type_checker NULL
--
--#endif /* HAVE_MOD_DAV */
--
-
- handler_rec php_handlers[] =
- {
-@@ -809,7 +765,7 @@
- NULL, /* check_user_id */
- NULL, /* check auth */
- NULL, /* check access */
-- php_type_checker, /* type_checker */
-+ NULL, /* type_checker */
- NULL, /* fixups */
- NULL /* logger */
- #if MODULE_MAGIC_NUMBER >= 19970103
---- php-4.0.4pl1/sapi/apache/mod_php4.h.wiget Mon Jul 3 01:46:50 2000
-+++ php-4.0.4pl1/sapi/apache/mod_php4.h Fri Jan 19 17:01:11 2001
-@@ -15,7 +15,7 @@
- | Authors: Rasmus Lerdorf <rasmus@php.net> |
- +----------------------------------------------------------------------+
- */
--/* $Id$ */
-+/* $Id$ */
-
- #ifndef MOD_PHP4_H
- #define MOD_PHP4_H
-@@ -29,12 +29,24 @@
- typedef struct {
- long engine;
- long last_modified;
-- char *dav_script;
- long xbithack;
-+ long terminate_child;
- } php_apache_info_struct;
-
- extern zend_module_entry apache_module_entry;
-+
-+#ifdef ZTS
-+extern int php_apache_info_id;
-+#define APLS_D php_apache_info_struct *apache_globals
-+#define AP(v) (apache_globals->v)
-+#define APLS_FETCH() APLS_D = ts_resource(php_apache_info_id)
-+#else
- extern php_apache_info_struct php_apache_info;
-+#define APLS_D
-+#define AP(v) (php_apache_info.v)
-+#define APLS_FETCH()
-+#endif
-+
-
- #ifdef WIN32
- #define S_IXUSR _S_IEXEC
---- php-4.0.4pl1/sapi/apache/php_apache.c.wiget Fri Oct 13 21:08:05 2000
-+++ php-4.0.4pl1/sapi/apache/php_apache.c Fri Jan 19 17:01:11 2001
-@@ -17,7 +17,7 @@
- | David Sklar <sklar@student.net> |
- +----------------------------------------------------------------------+
- */
--/* $Id$ */
-+/* $Id$ */
-
- #define NO_REGEX_EXTRA_H
-
-@@ -45,6 +45,12 @@
- #include "php_apache_http.h"
- #include "http_request.h"
-
-+#ifdef ZTS
-+int php_apache_info_id;
-+#else
-+php_apache_info_struct php_apache_info;
-+#endif
-+
- #ifdef PHP_WIN32
- #include "zend.h"
- #include "ap_compat.h"
-@@ -61,6 +67,7 @@
- PHP_FUNCTION(apachelog);
- PHP_FUNCTION(apache_note);
- PHP_FUNCTION(apache_lookup_uri);
-+PHP_FUNCTION(apache_child_terminate);
-
- PHP_MINFO_FUNCTION(apache);
-
-@@ -69,51 +76,24 @@
- PHP_FE(getallheaders, NULL)
- PHP_FE(apache_note, NULL)
- PHP_FE(apache_lookup_uri, NULL)
-+ PHP_FE(apache_child_terminate, NULL)
- {NULL, NULL, NULL}
- };
-
-
--static PHP_INI_MH(OnChangeApacheInt)
--{
-- long *p;
-- char *base = (char *) &php_apache_info;
--
-- p = (long *) (base+(size_t) mh_arg1);
--
-- if (new_value) {
-- *p = atoi(new_value);
-- return SUCCESS;
-- } else {
-- return FAILURE;
-- }
--}
--
--
--static PHP_INI_MH(OnChangeApacheString)
--{
-- char **p;
-- char *base = (char *) &php_apache_info;
--
-- p = (char **) (base+(size_t) mh_arg1);
--
-- if (new_value) {
-- *p = new_value;
-- return SUCCESS;
-- } else {
-- return FAILURE;
-- }
--}
--
- PHP_INI_BEGIN()
-- PHP_INI_ENTRY1("xbithack", "0", PHP_INI_ALL, OnChangeApacheInt, (void *) XtOffsetOf(php_apache_info_struct, xbithack))
-- PHP_INI_ENTRY1("engine", "1", PHP_INI_ALL, OnChangeApacheInt, (void *) XtOffsetOf(php_apache_info_struct, engine))
-- PHP_INI_ENTRY1("last_modified", "0", PHP_INI_ALL, OnChangeApacheInt, (void *) XtOffsetOf(php_apache_info_struct, last_modified))
-- PHP_INI_ENTRY1("dav_script", NULL, PHP_INI_ALL, OnChangeApacheString, (void *) XtOffsetOf(php_apache_info_struct, dav_script))
-+ STD_PHP_INI_ENTRY("xbithack", "0", PHP_INI_ALL, OnUpdateInt, xbithack, php_apache_info_struct, php_apache_info)
-+ STD_PHP_INI_ENTRY("engine", "1", PHP_INI_ALL, OnUpdateInt, engine, php_apache_info_struct, php_apache_info)
-+ STD_PHP_INI_ENTRY("last_modified", "0", PHP_INI_ALL, OnUpdateInt, last_modified, php_apache_info_struct, php_apache_info)
-+ STD_PHP_INI_ENTRY("child_terminate", "0", PHP_INI_ALL, OnUpdateInt, terminate_child, php_apache_info_struct, php_apache_info)
- PHP_INI_END()
-
-
- static PHP_MINIT_FUNCTION(apache)
- {
-+#ifdef ZTS
-+ php_apache_info_id = ts_allocate_id(sizeof(php_apache_info_struct), NULL, NULL);
-+#endif
- REGISTER_INI_ENTRIES();
- return SUCCESS;
- }
-@@ -129,6 +109,21 @@
- zend_module_entry apache_module_entry = {
- "apache", apache_functions, PHP_MINIT(apache), PHP_MSHUTDOWN(apache), NULL, NULL, PHP_MINFO(apache), STANDARD_MODULE_PROPERTIES
- };
-+
-+/* {{{ proto string child_terminate()
-+ Get and set Apache request notes */
-+PHP_FUNCTION(apache_child_terminate)
-+{
-+ APLS_FETCH();
-+ SLS_FETCH();
-+
-+ if (AP(terminate_child)) {
-+ ap_child_terminate( ((request_rec *)SG(server_context)) );
-+ } else { /* tell them to get lost! */
-+ php_error(E_WARNING, "apache.child_terminate is disabled");
-+ }
-+}
-+/* }}} */
-
- /* {{{ proto string apache_note(string note_name [, string note_value])
- Get and set Apache request notes */