Yasuo Ohgaki [Thu, 3 Oct 2002 09:57:53 +0000 (09:57 +0000)]
Shouldn't enable implicit_flush like this.
Most problems are fixed. If you find internal function that does
not follow my comment, please fix it or let me know.
Yasuo Ohgaki [Thu, 3 Oct 2002 08:54:13 +0000 (08:54 +0000)]
Added comment for php_output_set_status().
Please use this function if you would like to prevent unwanted flush
by implicit_flush=On or ob_implicit_flush().
Sascha Schumann [Thu, 3 Oct 2002 06:45:15 +0000 (06:45 +0000)]
Make the interpretation of gc_probability configurable by adding
session.gc_dividend. The probability of running gc on each request is then
gc_probability/gc_dividend.
Sascha Schumann [Thu, 3 Oct 2002 03:23:02 +0000 (03:23 +0000)]
Nuke PS(vars), we keep the state of registered session variables now
completely in PS(http_session_vars). This avoids bugs which are caused
by a lack of synchronization between the two hashes. We also don't need
to worry about prioritizing one of them.
Add session.bug_compat_42 and session.bug_compat_warn which are enabled
by default. The logic behind bug_compat_42:
IF bug_compat_42 is on, and
IF register_globals is off, and
IF any value of $_SESSION["key"] is NULL, and
IF there is a global variable $key, then
$_SESSION["key"] is set to $key.
The extension emits this warning once per script, unless told otherwise.
"Your script possibly relies on a session side-effect which existed until
PHP 4.2.3. Please be advised that the session extension does not consider
global variables as a source of data, unless register_globals is enabled.
You can disable this functionality and this warning by setting
session.bug_compat_42 or session.bug_compat_warn.
Added apache_response_headers(), apache_note(), apache_getenv() and
apache_setenv() functions.
The getallheaders() is renamed to apache_request_headers() and an
getallheaders() is aliased to it.
Added a better error reporting mechanism to apache_lookup_uri() and virtual().
Marcus Boerger [Wed, 2 Oct 2002 15:02:16 +0000 (15:02 +0000)]
Revisted Wez patch: chunk_size 0 means cahce the whole output. So
we must apply the default before calling php_enable_output_compression().
I have left the default setting in the rinit function even though i do think
it is not necessary.
Marcus Boerger [Wed, 2 Oct 2002 12:52:53 +0000 (12:52 +0000)]
Check for C99 conformance of snprintf.
#This way we force using internal version if a broken library is used.
#E.g. length parameter is broken, return value or default precision wrong.
Sascha Schumann [Wed, 2 Oct 2002 06:05:16 +0000 (06:05 +0000)]
The pread/pwrite macros check for a bug in the Linux glibc now.
The bug causes the kernel not to return -1/EAGAIN. The new test case
has been borrowed from the Linux Test Project.
This also fixes a bug which apparently caused HAVE_PREAD/WRITE to be
defined even if the more complex checks failed (ac_cv_func_NAME=no
was set albeit with no difference).
foobar [Wed, 2 Oct 2002 01:52:25 +0000 (01:52 +0000)]
- Run ext/* tests only for those modules that are actually compiled
into the php binary. (faster)
- Skip search of .phpt files if they are passed as parameters
Sascha Schumann [Tue, 1 Oct 2002 11:59:45 +0000 (11:59 +0000)]
The session extension ensures now that get_session_var can rely
on the state of $_SESSION/$HTTP_SESSION_VARS. It does not look up
symbols in the global symbol table anymore.
This was achieved by actually planting references between every
$_SESSION["x"] and $x, not only when restoring a session, but also
when registering a session variable (in a register_globals=1 context).
Upon registering a new variable, this memory leak continues to show
up, regardless of register_globals.
David Reid [Mon, 30 Sep 2002 23:31:13 +0000 (23:31 +0000)]
Use the built in autoconf test for fnmatch. Simply using the
AC_CHECK_FUNCS seems to give false positives on beos and reading
the comments on other systems as well.
Fix infinite recursion bug when using zlib output compression.
Cause: the chunk size is taken from the zlib.output_compression setting,
which is 0 or 1. This causes the block_size for output buffer to be set
to 0 (1 / 2) and thus causes infinite recursion in php_ob_allocate().
Solution: use a value of 0 for the chunk size which will use the default
sizes. Also add a sanity check which will default the block_size to 1
if it ends up as 0.