1 --- php-4.0.4pl1/sapi/apache/mod_php4.c.wiget Wed Jan 3 23:07:59 2001
2 +++ php-4.0.4pl1/sapi/apache/mod_php4.c Fri Jan 19 17:01:11 2001
4 #include "util_script.h"
17 -php_apache_info_struct php_apache_info; /* active config */
19 /* some systems are missing these from their header files */
21 void php_save_umask(void)
28 if (setjmp(EG(bailout))!=0) {
31 /* If PHP parser engine has been turned off with an "engine off"
32 * directive, then decline to handle this request
34 - if (!php_apache_info.engine) {
36 r->content_type = php_apache_get_default_mimetype(r SLS_CC);
37 r->allowed |= (1 << METHODS) - 1;
38 if (setjmp(EG(bailout))==0) {
43 - if (php_apache_info.last_modified) {
44 + if (AP(last_modified)) {
45 #if MODULE_MAGIC_NUMBER < 19970912
46 if ((retval = set_last_modified(r, r->finfo.st_mtime))) {
47 if (setjmp(EG(bailout))==0) {
54 -extern int phpdav_mkcol_test_handler(request_rec *r);
55 -extern int phpdav_mkcol_create_handler(request_rec *r);
57 -/* conf is being read twice (both here and in send_php()) */
58 -int send_parsed_php_dav_script(request_rec *r)
60 - php_apache_info_struct *conf;
62 - conf = (php_apache_info_struct *) get_module_config(r->per_dir_config,
64 - return send_php(r, 0, 0, conf->dav_script);
67 -static int php_type_checker(request_rec *r)
69 - php_apache_info_struct *conf;
71 - conf = (php_apache_info_struct *)get_module_config(r->per_dir_config,
74 - /* If DAV support is enabled, use mod_dav's type checker. */
75 - if (conf->dav_script) {
76 - dav_api_set_request_handler(r, send_parsed_php_dav_script);
77 - dav_api_set_mkcol_handlers(r, phpdav_mkcol_test_handler,
78 - phpdav_mkcol_create_handler);
79 - /* leave the rest of the request to mod_dav */
80 - return dav_api_type_checker(r);
86 -#else /* HAVE_MOD_DAV */
88 -# define php_type_checker NULL
90 -#endif /* HAVE_MOD_DAV */
93 handler_rec php_handlers[] =
96 NULL, /* check_user_id */
97 NULL, /* check auth */
98 NULL, /* check access */
99 - php_type_checker, /* type_checker */
100 + NULL, /* type_checker */
103 #if MODULE_MAGIC_NUMBER >= 19970103
104 --- php-4.0.4pl1/sapi/apache/mod_php4.h.wiget Mon Jul 3 01:46:50 2000
105 +++ php-4.0.4pl1/sapi/apache/mod_php4.h Fri Jan 19 17:01:11 2001
107 | Authors: Rasmus Lerdorf <rasmus@php.net> |
108 +----------------------------------------------------------------------+
121 + long terminate_child;
122 } php_apache_info_struct;
124 extern zend_module_entry apache_module_entry;
127 +extern int php_apache_info_id;
128 +#define APLS_D php_apache_info_struct *apache_globals
129 +#define AP(v) (apache_globals->v)
130 +#define APLS_FETCH() APLS_D = ts_resource(php_apache_info_id)
132 extern php_apache_info_struct php_apache_info;
134 +#define AP(v) (php_apache_info.v)
135 +#define APLS_FETCH()
140 #define S_IXUSR _S_IEXEC
141 --- php-4.0.4pl1/sapi/apache/php_apache.c.wiget Fri Oct 13 21:08:05 2000
142 +++ php-4.0.4pl1/sapi/apache/php_apache.c Fri Jan 19 17:01:11 2001
144 | David Sklar <sklar@student.net> |
145 +----------------------------------------------------------------------+
150 #define NO_REGEX_EXTRA_H
153 #include "php_apache_http.h"
154 #include "http_request.h"
157 +int php_apache_info_id;
159 +php_apache_info_struct php_apache_info;
164 #include "ap_compat.h"
166 PHP_FUNCTION(apachelog);
167 PHP_FUNCTION(apache_note);
168 PHP_FUNCTION(apache_lookup_uri);
169 +PHP_FUNCTION(apache_child_terminate);
171 PHP_MINFO_FUNCTION(apache);
174 PHP_FE(getallheaders, NULL)
175 PHP_FE(apache_note, NULL)
176 PHP_FE(apache_lookup_uri, NULL)
177 + PHP_FE(apache_child_terminate, NULL)
182 -static PHP_INI_MH(OnChangeApacheInt)
185 - char *base = (char *) &php_apache_info;
187 - p = (long *) (base+(size_t) mh_arg1);
190 - *p = atoi(new_value);
198 -static PHP_INI_MH(OnChangeApacheString)
201 - char *base = (char *) &php_apache_info;
203 - p = (char **) (base+(size_t) mh_arg1);
214 - PHP_INI_ENTRY1("xbithack", "0", PHP_INI_ALL, OnChangeApacheInt, (void *) XtOffsetOf(php_apache_info_struct, xbithack))
215 - PHP_INI_ENTRY1("engine", "1", PHP_INI_ALL, OnChangeApacheInt, (void *) XtOffsetOf(php_apache_info_struct, engine))
216 - PHP_INI_ENTRY1("last_modified", "0", PHP_INI_ALL, OnChangeApacheInt, (void *) XtOffsetOf(php_apache_info_struct, last_modified))
217 - PHP_INI_ENTRY1("dav_script", NULL, PHP_INI_ALL, OnChangeApacheString, (void *) XtOffsetOf(php_apache_info_struct, dav_script))
218 + STD_PHP_INI_ENTRY("xbithack", "0", PHP_INI_ALL, OnUpdateInt, xbithack, php_apache_info_struct, php_apache_info)
219 + STD_PHP_INI_ENTRY("engine", "1", PHP_INI_ALL, OnUpdateInt, engine, php_apache_info_struct, php_apache_info)
220 + STD_PHP_INI_ENTRY("last_modified", "0", PHP_INI_ALL, OnUpdateInt, last_modified, php_apache_info_struct, php_apache_info)
221 + STD_PHP_INI_ENTRY("child_terminate", "0", PHP_INI_ALL, OnUpdateInt, terminate_child, php_apache_info_struct, php_apache_info)
225 static PHP_MINIT_FUNCTION(apache)
228 + php_apache_info_id = ts_allocate_id(sizeof(php_apache_info_struct), NULL, NULL);
230 REGISTER_INI_ENTRIES();
234 zend_module_entry apache_module_entry = {
235 "apache", apache_functions, PHP_MINIT(apache), PHP_MSHUTDOWN(apache), NULL, NULL, PHP_MINFO(apache), STANDARD_MODULE_PROPERTIES
238 +/* {{{ proto string child_terminate()
239 + Get and set Apache request notes */
240 +PHP_FUNCTION(apache_child_terminate)
245 + if (AP(terminate_child)) {
246 + ap_child_terminate( ((request_rec *)SG(server_context)) );
247 + } else { /* tell them to get lost! */
248 + php_error(E_WARNING, "apache.child_terminate is disabled");
253 /* {{{ proto string apache_note(string note_name [, string note_value])
254 Get and set Apache request notes */