Commit Graph

54 Commits

Author SHA1 Message Date
Jani Taskinen
af49e58f51 - Reverted r296062 and r296065 2010-03-12 10:28:59 +00:00
Jani Taskinen
06f072cb5e MFH: Improved / fixed output buffering (Michael Wallner) 2010-03-11 10:24:29 +00:00
Rasmus Lerdorf
1947334023 Fix bug #50940 2010-02-05 18:59:05 +00:00
Sebastian Bergmann
9ba1e81665 sed -i "s#1997-2009#1997-2010#g" **/*.c **/*.h **/*.php 2010-01-03 09:23:27 +00:00
Sebastian Bergmann
08659c2dcd MFH: Bump copyright year, 3 of 3. 2008-12-31 11:15:49 +00:00
Stanislav Malyshev
09e37bc5ed MFB: init server context before config variables are processed 2008-11-29 00:45:31 +00:00
Stanislav Malyshev
281676da26 MFB: fix php_value application order for Apache 2008-11-24 22:23:11 +00:00
Arnaud Le Blanc
8c4151ad72 Added header_remove() (chsc at peytz dotdk, Arnaud)
[DOC] proto void header_remove([string header_name])
      Removes an HTTP header previously set using header()
      The header_name parameter is optionnal, all headers are
      removed if it is not set

[SAPIs] The header_handler callback in sapi_module_struct has
           been changed, it now take a new argument.

           When it is set to SAPI_HEADER_DELETE, sapi_header->header is
           the name of an header, header_handler has to delete it.

           When it is set to SAPI_HEADER_DELETE_ALL, header_handler has
           to delete all headers.

           When sapi_header_op_enum is SAPI_HEADER_ADD or _REPLACE,
           sapi_header->header is in the form "Name: value", header_handler
           has to add or replace the given header.

           In all cases, header_handler must not free sapi_header or
           sapi_header->header. SAPI_HEADER_ADD must be returned if the
           header has been added or replaced, or 0 in other cases.
2008-11-13 10:14:04 +00:00
Alexey Zakhlestin
d33c8680ab fixed types (no more compiler warnings) 2008-06-28 10:01:17 +00:00
Scott MacVicar
938186a67f Fixed bug #45144 (ap_child_terminate() isn't available on threaded builds) 2008-06-01 16:08:52 +00:00
Rasmus Lerdorf
6c158374ba exit_on_timeout patch
After the sigsetjmp change, this is patch #2 in an effort to get some
sanity restored to signal handling in PHP.

This patch does two things.  First, it makes it possible to reset the
timeout without resetting the signal handlers.  This is important for
cases where an extension may have deferred signals in its MINIT in order
to implement critical sections. It also lays the groundwork for cleaning
up our signal handling and perhaps eventually implementing our own
signal deferring mechanism so we can have true critical sections.

The second thing this does is to make it possible to terminate the current
child process (only for Apache1 at the moment) on a timeout.  There are
a number of extensions that are unhappy about being longjmp'ed out of
and when this happens on a timeout they are left in an inconsistent state.
By turning on exit_on_timeout you can now force the process to terminate
on a timeout which will clean up any hanging locks and/or memory left
hanging after the longjmp.
2008-03-18 21:42:50 +00:00
Rasmus Lerdorf
42d4cf6531 Revert
Never mind, it looks like ext/filter does an estrdup on everything it
gets which doesn't seem very efficient to me as most things it gets
passed will already be emalloc'ed.  My custom version of the filter
extension doesn't do this which led to the confusion.
2008-03-17 18:27:08 +00:00
Rasmus Lerdorf
bafb0b4ff5 We need to pass PHP-managed pointers to filter here to avoid having
emalloc'ed data assigned to things like r->uri and having it get efree()'ed
on request shutdown which then means that if the Apache logging module
tries to log r->uri it would be reading from free'ed memory.  So a simple
estrdup before the filter call takes care of that.
2008-03-17 18:03:31 +00:00
Marcus Boerger
af316021e8 - Rewrite scanner to be based on re2c instead of flex
The full patch is available as:
  http://php.net/~helly/php-re2c-5.3-20080316.diff.txt
  This is against php-re2c repository version 98
  An older patch against version 97 is available under:
  http://php.net/~helly/php-re2c-97-20080316.diff.txt
2008-03-16 21:06:55 +00:00
Sebastian Bergmann
d1dded8751 MFH: Bump copyright year, 2 of 2. 2007-12-31 07:17:19 +00:00
Antony Dovgal
83e7324dae fix build 2007-08-06 12:54:57 +00:00
Jani Taskinen
fc2fef68ac - ws + sync apache2filter apache_config.c with the one from apache2handler 2007-08-03 09:32:34 +00:00
Stanislav Malyshev
c94dee8696 implement separate .htaccess stage 2007-08-03 01:14:44 +00:00
Scott MacVicar
b73d2a94ae Fixed bug #41628 (PHP settings leak between Virtual Hosts in Apache 1.3). 2007-06-18 15:52:46 +00:00
Sebastian Bergmann
4223aa4d5e MFH: Bump year. 2007-01-01 09:36:18 +00:00
Dmitry Stogov
53b088e60c Make MEMORY_LIMIT and ZEND_USE_MALLOC_MM to be always enabled. They don't make any significant slowdown, but incrise maintainability a lot. Note that the setting of memory_limit wasn't changes (neither in main/main.c nor in php.ini) and it still set to 16M. 2006-12-20 10:49:33 +00:00
Ilia Alshanetsky
6123f11021 MFH:
Added filter support for $_SERVER in cgi/apache2 sapis
	Make sure PHP_SELF is filtered in Apache 1 sapi
2006-11-03 13:51:48 +00:00
Brian France
33879eceb3 Memory assigned to the request_rec should be allocated from apache pools
and should not be free'ed at the end of the handler phase
2006-10-12 20:02:58 +00:00
Dmitry Stogov
29e1530cd7 Added "PHPINIDir" Apache directive to apache and apache_hooks SAPIs 2006-08-03 09:56:50 +00:00
Dmitry Stogov
356facf4af Changed memory_get_usage() and memory_get_peak_usage(). Optional boolean argument allows get memory size allocated by emalloc() (by default) or real size of memory allocated from system. 2006-07-25 13:40:05 +00:00
Dmitry Stogov
29ed52ffa4 New memory manager 2006-07-18 09:06:33 +00:00
Rasmus Lerdorf
6fb0bf80ea Switch to a signed int for now. Will look at moving to a long throughout
the code here.
2006-05-13 21:50:28 +00:00
Rasmus Lerdorf
4df7ab403c Add input_filter hook call in getenv() 2006-05-10 21:19:32 +00:00
Ilia Alshanetsky
46ba651680 MFH:
Removed extra space in the Content-Type header for logos
Simplified stderr error reporting in apache sapi.
2006-04-02 17:58:17 +00:00
Antony Dovgal
8068342483 MFH: fix #36400 (Custom 5xx error does not return correct HTTP response error code) 2006-02-15 11:09:05 +00:00
Rasmus Lerdorf
4d64a617c3 MFH: I don't recall the reason for messing with r->allowed here, so let's
get rid of it (and see who screams).  This should fix bug #32561
2006-01-06 18:06:38 +00:00
foobar
5bd93221a8 bump year and license version 2006-01-01 12:51:34 +00:00
Andrei Zmievski
e6ae0e99c3 MFH 2005-12-16 22:45:12 +00:00
Antony Dovgal
e5928942ac MFH: initialize SG(request_info).auth_digest 2005-10-18 23:51:54 +00:00
Ilia Alshanetsky
24046edbbb MFH: Fixed bug #34905 (Digest authentication does not work with Apache 1). 2005-10-18 23:15:28 +00:00
foobar
23e671a51e - Bumber up year 2005-08-03 14:08:58 +00:00
Dmitry Stogov
cf6bb99723 Fixed bug #33723 (php_value overrides php_admin_value) 2005-08-01 07:46:54 +00:00
Brian France
3137e1e422 Added a SG(server_context) NULL check to php_apache_getenv.
This can get called when "<key> = ${<key>}:/foo" is used in a .ini file, but <key> has not be set yet.
        You will end up with a value of ":/foo", but at least it will not crash now.
2005-06-28 16:34:18 +00:00
Antony Dovgal
8be61d707f fix #29683 (headers_list() returns empty array) 2005-06-20 12:46:34 +00:00
Rasmus Lerdorf
091bff3570 Fix for bug #33057 - Don't send extraneous entity-headers on a 304 as per
RFC 2616 section 10.3.5
2005-05-19 15:57:45 +00:00
Rui Hirokawa
8235a70ef9 added a server variable PHP_AUTH_DIGEST to support HTTP Digest Authentication. 2005-04-04 15:06:36 +00:00
Rasmus Lerdorf
3c0411c496 Fix for bug #32263
This adds proto_num to request_info.  It is defaulted to HTTP 1.0 (1000)
such that it has a valid value even if the underlying sapi doesn't set it
correctly.  It is then used to determine if a 302 or a 303 should be sent
on a Location redirect.  Any non GET/HEAD HTTP 1.1 redirect will get a 303
instead of a 302 to be compatible with the HTTP spec.
2005-03-14 19:25:39 +00:00
Rasmus Lerdorf
cad60c3760 Add SAPI hook to get the request time if provided by the web server,
otherwise call time(0) on the first call and store it so subsequent
calls will get the same time.  Hook support for Apache1/2 included.
2004-08-10 17:40:00 +00:00
Andi Gutmans
56f8195fe5 - Nuke empty_string. It is a reminanent from the time where RETURN_FALSE()
used to return "" and not bool(false). It's not worth keeping it because
  STR_FREE() and zval_dtor() always have to check for it and it slows down
  the general case. In addition, it seems that empty_string has been abused
  quite a lot, and was used not only for setting zval's but generally in
  PHP code instead of "", which wasn't the intention. Last but not least,
  nuking empty_string should improve stability as I doubt every place
  correctly checked if they are not mistakenly erealloc()'ing it or
  calling efree() on it.
  NOTE: Some code is probably broken. Each extension maintainer should
  check and see that my changes are OK. Also, I haven't had time to touch
  PECL yet. Will try and do it tomorrow.
2004-07-19 07:19:50 +00:00
Stefan Esser
446f4d1bc2 Security Fix broken! Destroyed Basic auth. Blame: me
4.3.x not affected
2004-07-14 09:43:26 +00:00
Andi Gutmans
e5cfb1d05c - Better stability during premature shutdown of request startup 2004-07-10 07:46:17 +00:00
Rasmus Lerdorf
44df89f00d MFB - see bug #25753 for details 2004-01-28 17:49:49 +00:00
Andi Gutmans
dbeb4158d2 - A belated happy holidays and PHP 5 2004-01-08 08:18:22 +00:00
James Cox
f68c7ff249 updating license information in the headers. 2003-06-10 20:04:29 +00:00
Rasmus Lerdorf
a516171dec MFB - fix a couple of missing closing folding tags 2003-06-03 05:44:17 +00:00