Commit Graph

184 Commits

Author SHA1 Message Date
foobar
f4699170fc Fixed bug: #17491 (honor INSTALL_ROOT) 2002-06-28 09:01:56 +00:00
Rasmus Lerdorf
890e01bebe @ Add runtime Apache2 thread check to ensure we don't run a non-threaded
@ PHP inside a threaded Apache2 MPM.  (Rasmus)
2002-06-24 16:04:20 +00:00
Rasmus Lerdorf
8a2ab01744 @ Turn off ZTS if Apache2 is using the prefork MPM. (Rasmus) 2002-06-24 14:51:01 +00:00
Sander Roobol
d279a92242 Made php_admin_value work outside <location> and <directory> blocks. 2002-06-22 15:31:44 +00:00
Stefan Esser
44a5b43b79 Fixing the same possible memory leak. 2002-06-21 14:47:59 +00:00
Sascha Schumann
5e148e3875 too many flushes are bad 2002-06-08 18:11:03 +00:00
Cliff Woolley
46eeabccf7 That macro is and always was hopelessly broken, which is why it's
now deprecated.
2002-05-30 06:07:28 +00:00
Cliff Woolley
8283979afc Allow the version checks for --with-apxs= and --with-apxs2= to work
with development version of Apache, whose version strings end in "-dev",
eg "Apache/2.0.37-dev".

PR: 17233
Submitted by: Dale Ghent <daleg@elemental.org>
2002-05-17 08:07:14 +00:00
Cliff Woolley
57a4a7ed39 apache 2.0's apache_lookup_uri() was returning an array rather than an
object, which contradicted both the documentation and the behavior of the
same function under apache 1.3.

PR: 14999
2002-05-17 06:32:04 +00:00
Cliff Woolley
78cac2a42e * restore the php_flag and php_admin_flag Apache directives which for
some mysterious reason never made their way from sapi/apache to
  sapi/apache2filter when it was first written  PR: 16629
* change the allowed locations of php_admin_value (and php_admin_flag to
  match) to ACCESS_CONF instead of OR_NONE to match sapi/apache.  No
  idea why it was ever OR_NONE.  PR: 16489
2002-05-17 05:16:18 +00:00
Marko Karppinen
5a5767e1d6 Patch by Justin Erenkrantz <jerenkrantz@apache.org> for enabling
--with-apxs2 build on Darwin. Omitting the change to start linking
with libtool for now, though.
2002-05-13 21:37:52 +00:00
Jim Jagielski
8006ee79a3 More verbose but more generic error message when we spot multiple
PHPINIDir directives
2002-05-13 19:22:27 +00:00
Sebastian Bergmann
5192f6432c Patch by Justin Erenkrantz <jerenkrantz@apache.org>. This should be MFHed. 2002-05-11 08:58:20 +00:00
Derick Rethans
dedf22f5ad - Added Aaron Bannert as maintainer 2002-05-08 05:17:59 +00:00
Aaron Bannert
8e176a10fc Fix a graceful restart SEGV. We no longer only perform initialization
on the second pass through the post_config. Now we only avoid the
initialization only on the first DSO load, and on all subsequent loads
we rerun the init code.
2002-05-05 18:15:33 +00:00
Aaron Bannert
b759322411 Fix an elusive and intermittent startup SEGV. The problem was
the static string we were using to set an initialization flag
would get remapped to a different location when Apache reloaded
the DSO, causing us to not run our initialization routines.

Submitted by: Justin Erenkrantz <jerenkrantz@apache.org>
Reviewed by: Aaron Bannert (I added the big comment too)
2002-05-05 18:11:41 +00:00
Marko Karppinen
b7e50782b7 Well that didn't last long! (Reverting previous.) 2002-05-05 09:52:39 +00:00
Marko Karppinen
32ff990c68 Prelim. patch to enable apache2filter to link on Darwin.
Submitted by: Justin Erenkrantz <jerenkrantz@apache.org>
Reviewed by: markonen
# A stopgap measure while we try to find a "real"
# solution, if one exists.
2002-05-05 09:40:31 +00:00
Sascha Schumann
12ba44827a be a bit more verbose about what is wrong 2002-04-26 21:26:47 +00:00
foobar
492efe963f - Fix for bug: #16791. (more reliable test) 2002-04-26 03:07:16 +00:00
Aaron Bannert
b2f9b6fb16 Apache does a full load, unload, load cycle for each DSO module.
This patch makes sure that any startup actions that are performed
for PHP don't happen until the second load (the second call to
the post_config hook), and it also prevents subsequent calls
to the initialization routines.

Suggested By:   Cliff Woolley

PR: 16475, 16754
2002-04-24 00:55:38 +00:00
Jim Jagielski
a6117a874e Typo in error string 2002-04-22 20:00:41 +00:00
Marko Karppinen
42555b189e Refine the OS X support a bit 2002-04-22 15:37:54 +00:00
Marko Karppinen
2cd85ac084 Merged the Mac OS X compile changes from the Apache 1.3 SAPI.
--with-apxs2 should now work on Mac OS X / Darwin.
# Not tested, though. So shoot me! :)
2002-04-22 15:25:17 +00:00
Edin Kadribasic
6c491a5654 Reverting my previous patch. 2002-04-22 12:00:53 +00:00
Edin Kadribasic
8509772d93 Added ..\..\..\php_build\lib\apache2 to libpath and
..\..\..\php_build\include\apache2 to includepath
2002-04-21 20:36:08 +00:00
Aaron Bannert
5ab179e830 Document the new PHPINIDir directive in the apache2filter/README. 2002-04-18 22:47:13 +00:00
Aaron Bannert
3aa8a9b62b This patch implements a new Apache2 directive called PHPINIDir that
allows the specification of the php.ini directory from within the Apache
configuration. If left unset, the default is to defer to the hard-coded
php paths. When set, the supplied path is made relative to Apache's
internal ServerRoot setting.

Example:
PHPINIDir "conf"
# PHP will now look in the ServerRoot/conf directory for the php.ini file
2002-04-18 22:10:57 +00:00
Aaron Bannert
d11ee7c1ea Fix an intermittent SEGV when an error bubbled up from PHP before our
server context was set. Now if that happens we simply don't log against
any particular server config (vhost).

Obtained from bug report by:  Balazs Nagy <js@iksz.hu>
2002-04-18 16:34:06 +00:00
Aaron Bannert
2e3ce44c80 It makes more sense to do the null-pointer check *before* trying to use it.
(Also fix a typo that Cliff pointed out: "safe" --> "save".)

Obtained from:  Ryan Morgan <rmorgan@covalent.net>
2002-04-16 17:41:28 +00:00
foobar
b21931e6c3 ws fixes 2002-04-14 12:38:33 +00:00
foobar
f81166f34e - Added checks to prevent building the DSO with wrong configure option. 2002-04-12 22:59:07 +00:00
Aaron Bannert
bf8bb929ac Fix a typo and a build error detected by the lovely HPUX11 ANSI C compiler. 2002-04-12 22:25:29 +00:00
Aaron Bannert
22fb507325 Fix a problem where php-generated data was pushed down the entire output
filter chain instead of just down the rest of the chain. This fix will
speed up some unnecessary overhead introduced in the last patch.

Suggested by:  Cliff Woolley <jwoolley@apache.org>
2002-04-11 20:34:56 +00:00
Aaron Bannert
27a5b380cf PHP filters and Apache 2 aren't quite a perfect match yet, so we have
to do some trickery with the server_context to make sure it is always
valid within the current thread.

This patch makes sure the server_context is created in apache's
post_read_request hook phase, and then registeres a cleanup that
will NULL out the server context when the request goes out of scope.
Then, inside the output filters, if the server_context is null we
throw an error. Finally, instead of saving the output filter in
the server_context, now we store the entire request_rec pointer
in there.

POST bodies appear to be working now, although they are very inefficient.
The input filter is still just realloc()ing for whatever data comes
down the input pipe, and then sending this to PHP. This means that
we are doing some really nasty memory management on big POST bodies.
For now this it allows for unlimited input bodies, which means that
a big POST could potentially DoS a box by making it run out of memory.
We might want to put a limit on here just in case, at least until
we figure out how to consume input data more efficiently into php.
2002-04-11 19:25:08 +00:00
Aaron Bannert
caf7f3d4d2 Don't depend on the context provided by the filter (f->ctx) anymore. In
Apache 2 the input and output filter contexts are kept unique. We now
only depend on SG(server_context) for each request, and assume that
the same thread will process the entire request. At some point it
would be wise to separate the input and output contexts.
2002-04-11 17:34:17 +00:00
Aaron Bannert
d19fd6a0ad Return the number of bytes consumed, not the number of bytes left.
Suggested by:  Brian Havard <brianh@kheldar.apana.org.au>
2002-04-11 17:22:11 +00:00
Sebastian Bergmann
bdc27671cd Update README. 2002-04-11 17:01:51 +00:00
Sebastian Bergmann
38af983c80 Patch by Aaron Bannert <aaron@clove.org> and Cliff Woolley <jwoolley@virginia.edu>. 2002-04-11 06:01:54 +00:00
foobar
6958369295 Let people know this stuff is experimental. 2002-04-10 09:42:38 +00:00
Sterling Hughes
53fdf83f09 eekk -- and ssb thought my macro's were icky :) 2002-04-09 17:25:13 +00:00
Sterling Hughes
11acdb097d fix compile warnings 2002-04-09 06:13:00 +00:00
Sebastian Bergmann
b0eb69ecc0 Fix output directory. 2002-04-06 15:37:08 +00:00
Sebastian Bergmann
db840b8001 Fix Debug_TS build. 2002-04-06 08:57:06 +00:00
Doug MacEachern
eab1211ed1 adjust to recent apr bucket api changes 2002-03-29 15:42:18 +00:00
Sebastian Bergmann
2ff115b01e Add note on which version of Apache 2 this SAPI module is compatible with. 2002-03-14 06:31:37 +00:00
Sebastian Bergmann
118761e11e Sync with Apache2 Filter API change. 2002-03-13 07:11:00 +00:00
Sascha Schumann
9d9d39a0de Please welcome the new build system.
If you encounter any problems, please make sure to email sas@php.net
directly.

An introduction can be found on

http://schumann.cx/buildv5.txt
2002-03-07 14:20:02 +00:00
Yasuo Ohgaki
83059ae3de Use {NULL, NULL, NULL} to terminate function entry.
# It does not fix any bugs, since {0} works also.
2002-02-28 12:10:36 +00:00
Sebastian Bergmann
90613d2282 Maintain headers. 2002-02-28 08:29:35 +00:00
Doug MacEachern
a1b21e0c4c adjust to ap_get_brigade() API change 2002-01-25 04:03:42 +00:00
Doug MacEachern
cb0a09808f adjust to ap_get_brigade and input filter api changes 2002-01-20 18:44:15 +00:00
Sebastian Bergmann
38933514e1 Update headers. 2001-12-11 15:32:16 +00:00
Doug MacEachern
1b35f3bcfc apr_table_elts are now const 2001-12-07 05:34:44 +00:00
Doug MacEachern
27018c0ff0 rename functions to match those supported in the apache 1.3 module:
apache_sub_request -> virtual
 get_all_headers    -> getallheaders
2001-12-07 05:31:07 +00:00
Doug MacEachern
543d76185d need to call ap_destroy_sub_req() before RETURN_TRUE in apache_sub_req()
(Jon Parise <jon@php.net>)
2001-12-06 19:03:29 +00:00
Doug MacEachern
52b711521f destroy subrequests returned from ap_sub_req_lookup_uri 2001-12-06 01:25:48 +00:00
Doug MacEachern
6adebbf162 call to ap_sub_req_lookup_uri() needs to pass ctx->f->next rather than
NULL for next_filter argument in order for ap_run_sub_req() output to
end up where expected.  ("William A. Rowe, Jr." <wrowe@rowe-clan.net>)
2001-12-06 00:53:58 +00:00
Hartmut Holzgraefe
2c93a6ac2d proto fixes 2001-12-05 23:01:21 +00:00
foobar
f43b57190c Added missing cvs ids and unified configure messages. 2001-11-30 19:01:32 +00:00
Sterling Hughes
d30044c969 Update to the latest apr api (patch by Clif Woolley) 2001-11-29 11:29:11 +00:00
Doug MacEachern
898099adba setup standard CGI variables 2001-11-13 21:40:01 +00:00
Stig Bakken
0cee8df65e * fix module struct in rest of sapi modules 2001-10-12 12:11:48 +00:00
Jeroen van Wolffelaar
eb38ca844b Undo Z_ subst for sapi and ext/yaz 2001-09-27 20:01:23 +00:00
Jeroen van Wolffelaar
c033288573 Back-substitute for Z_* macro's. If it breaks some extension (the script isn't optimal, it parses for example var->zval.value incorrect) please let me know. 2001-09-25 21:58:48 +00:00
Daniel Beulshausen
d504c7ca4f let apache2 filter build under win32 2001-09-10 13:04:24 +00:00
Derick Rethans
78747bd2df - Don't wrap lines... this is annoying while coding. 2001-09-09 13:29:31 +00:00
Doug MacEachern
23f1b515a6 add php version component 2001-08-28 06:23:27 +00:00
Doug MacEachern
c614a9ed3d not all MPMs support child_init,
so move php_apache_server_startup to the post_config phase
(happens at server startup)
2001-08-28 06:19:58 +00:00
Sterling Hughes
766de15694 Add some editor modes (in the rest of the source) 2001-08-22 04:45:51 +00:00
Zeev Suraski
e140b35b04 API update 2001-08-21 12:57:53 +00:00
Doug MacEachern
9b137805c8 automatically add php input/output filters when give the standard 1.x config:
AddType application/x-httpd-php .php
with that, no longer need "Set{In,Out}putFilter PHP" configuration for 2.0
2001-08-20 16:34:45 +00:00
Doug MacEachern
4829b93fb2 php_input_filter needs to ignore proxy requests
else it swallows POST data that needs to be sent to the downstream server
2001-08-19 21:07:50 +00:00
Sterling Hughes
ba4a1f2df2 Pass on proxy requests (fix by Doug MacEachern <dougm@covalent.net>) 2001-08-19 20:28:36 +00:00
Sterling Hughes
244c9ff3c9 Fix warning (Doug MacEachern, dougm@covalent.net) 2001-08-18 01:59:38 +00:00
Sterling Hughes
353f84c190 # f*ck @!e333u49/&§&$T§$&("E""! expandtab, that's it, the default in my
# vimrc is not noet
2001-08-18 01:36:29 +00:00
Sterling Hughes
0e12954669 fix crash bug (Doug MacEachern, dougm@covalent.net) 2001-08-18 01:34:19 +00:00
Ryan Bloom
1543904d71 Fix a seg fault in PHP. If a child process is created in the server,
using apr_proc_create, it will seg fault, because PHP is using a NULL
child cleanup.  To fix this, we have to use the special cleanup function,
apr_pool_cleanup_null.

This also fixes a compiler warning in the ap_log_error call.
2001-08-17 22:25:13 +00:00
Sterling Hughes
fe7b5a3434 darn noet 2001-08-16 06:09:12 +00:00
Sterling Hughes
b87834a12d Ryan Bloom's fix of my fix. ;) 2001-08-16 06:05:57 +00:00
Sterling Hughes
9395f0e6e2 Fix error logging 2001-08-16 05:19:29 +00:00
foobar
18c893d0df killed compile warnings. 2001-08-10 08:36:21 +00:00
Sascha Schumann
8aef193056 more tsrm cleanup 2001-08-05 15:29:47 +00:00
Sascha Schumann
2cce13fd50 further tsrm cleanup 2001-08-05 14:27:39 +00:00
Sebastian Bergmann
25076098c0 Revert whitespace patch. 2001-08-03 05:05:47 +00:00
Sebastian Bergmann
fcfea1c55d Whitespace fixes. 2001-08-02 15:16:43 +00:00
Sebastian Bergmann
010c3b44ed Fix Apache2Filter build. 2001-08-02 15:14:30 +00:00
Sterling Hughes
e7ea61ad98 remove duplicate TSRMLS_FETCH() 2001-07-31 23:44:20 +00:00
Zeev Suraski
d87cc976e1 Redesigned thread safety mechanism - nua nua 2001-07-28 11:36:37 +00:00
Zeev Suraski
fe6f8712a4 - Get rid of ELS_*(), and use TSRMLS_*() instead.
- Move to the new ts_allocate_id() API
This patch is *bound* to break some files, as I must have had typos somewhere.
If you use any uncommon extension, please try to build it...
2001-07-27 10:16:41 +00:00
Sascha Schumann
a95101669d Handle file buckets for now; that allows us to pass something to the
engine which it can handle.
2001-07-23 04:50:13 +00:00
Sascha Schumann
0bbe77309d Accomodate an Apache API change 2001-06-22 23:20:49 +00:00
Sascha Schumann
1ad2a710ab Use EXTRA_LDFLAGS at this point.
I've confirmed that one can build a working Apache DSO module now
(AIX 4.2 with gcc 2.95.2 and Apache 1.3.12).
2001-05-23 21:23:16 +00:00
Sascha Schumann
b56e877e53 Reindent, add link map for AIX, improve diagnostic message,
carry over all -D* CPPFLAGS, and nuke REGEX recognition.
2001-05-19 17:02:09 +00:00
Sascha Schumann
ab1df8dfb9 Accomodate Apache HTTPD 2.0 API change 2001-04-24 12:57:34 +00:00
foobar
8a26918ed1 Renamed the AC_ prefixed macros defined in acinclude.m4 to PHP_* prefixes.
# Heads up people! I tested this before committing but you never know..
2001-03-27 20:35:04 +00:00
Sascha Schumann
2da359bb84 httpd-2.0 cvs seems to be busted. I'm getting very strange backtraces
and the header filter still seems to be broken.  Will try later.
2001-02-28 14:19:15 +00:00
Sascha Schumann
a824c87e6d Now it actually loads, but it segfaults upon a request. 2001-02-28 14:11:34 +00:00
Sascha Schumann
6ed0cbb140 Make the module compile again with the latest httpd-2.0 cvs. 2001-02-28 14:03:58 +00:00
Andi Gutmans
eb6ba01d1c - Fix copyright notices with 2001 2001-02-26 06:11:02 +00:00