Commit Graph

38241 Commits

Author SHA1 Message Date
Rob Richards
7c91532eac MFH: fix bug #44478 (Inconsistent behaviour when assigning new nodes)
add test
2008-03-20 16:48:10 +00:00
Andrey Hristov
878f817df6 News entry 2008-03-20 15:39:44 +00:00
Andrey Hristov
85cd8525c9 Small fix and a test case to prove it's right 2008-03-20 15:29:14 +00:00
Steph Fox
b72b4ce87e Allow Elizabeth's favourite function to accept 2-4 sets of digits in version. 2008-03-20 15:03:20 +00:00
Andrey Hristov
6867385d75 - Don't modify the variables which are passed for parameter binding.
We need to clone them, if there will be a transformation (convert_to_xxx)
  which will change the origin
  (bug#44390 bind_param / bind_result and Object member variables)
- Make mysqlnd more compatible to libmysql, in this case if the execute of
  a statement fails set the state of the statement back to PREPARED
- A test case to check the case of a failing statement.
2008-03-20 14:03:30 +00:00
Antony Dovgal
b2af8cac94 MFH 2008-03-20 12:14:06 +00:00
Antony Dovgal
dff9a32350 MFH: fix tests 2008-03-20 08:35:44 +00:00
David Soria Parra
6d66530ae9 MFH: Fix bug #44487 (call_user_method_array issues a warning when throwing an exception). 2008-03-20 00:52:46 +00:00
Nuno Lopes
b3a9edd021 ignore generated files 2008-03-19 23:25:53 +00:00
Nuno Lopes
35eb728a7c fix gcov build 2008-03-19 23:24:56 +00:00
Steve Seear
801c795208 Adding language tests. 2008-03-19 18:06:24 +00:00
Steve Seear
6e361fa7db Added some class tests; Replaced some hardcoded instance ids with %d. 2008-03-19 17:56:10 +00:00
Steve Seear
4c2b3336a2 Adding tokenizer test 2008-03-19 17:43:50 +00:00
Steve Seear
5e0afe8eb9 Adding streams tests 2008-03-19 17:38:23 +00:00
Steve Seear
9071a478b5 Adding filesystem tests 2008-03-19 17:25:47 +00:00
Rasmus Lerdorf
6ef4d75c81 Typo (I wonder if anybody would ever have noticed this) 2008-03-19 16:28:46 +00:00
Rasmus Lerdorf
ea790cef01 On Windows I guess there is no point starting the timeout thread until
we actually have a timeout value.
2008-03-19 15:30:49 +00:00
Rasmus Lerdorf
d2f23dbe64 Make sure we set the signal handler when reset_signals is true, regardless
of the actual timeout value.
2008-03-19 15:22:17 +00:00
Antony Dovgal
54482745ba MFH 2008-03-19 12:44:13 +00:00
Antony Dovgal
e3b672bb23 MFH: make use of zend_atol() 2008-03-19 12:42:16 +00:00
Antony Dovgal
7b1bc753c6 MFH: add zend_atol() 2008-03-19 12:41:23 +00:00
Antony Dovgal
8b5524e2fe fix test 2008-03-19 12:36:09 +00:00
Ilia Alshanetsky
6bb865ff04 Removed ze1_compatibility_mode INI options 2008-03-19 12:16:14 +00:00
Dmitry Stogov
5031528ec7 Disabled $GLOBALS' refcount modification 2008-03-19 11:46:10 +00:00
Felipe Pena
47badbe86b Remove accidental change 2008-03-19 03:15:56 +00:00
Felipe Pena
17c7463331 MFB: Fixed bug #43614 (incorrect processing of numerical string keys of array in arbitrary serialized data) 2008-03-19 03:05:35 +00:00
Ilia Alshanetsky
c4a33f1515 Fixed bug #44445 (email validator does not handle domains
starting/ending with a -)
2008-03-18 23:31:34 +00:00
Elizabeth Marie Smith
b4e97d3230 Correct name for the file 2008-03-18 22:48:26 +00:00
Rasmus Lerdorf
45e327a672 Add new empty child terminate sapi hook to the rest of the sapis 2008-03-18 22:23:21 +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
10afe5d96b Make the sigsetjmp change more robust. On systems that don't have
sigsetjmp use setjmp.  Windows is of course weird in that it seems to
have sigsetjmp but not sigjmp_buf (??) so force it to use setjmp in
config.w32.h.in
2008-03-18 21:14:28 +00:00
Rasmus Lerdorf
c9e0781d2a Use sigsetjmp and siglongjmp instead of setjmp/longjmp in order to be
consistent in how we deal with the signal mask.  POSIX doesn't specify
what to do with the signal mask in setjmp/longjmp which has resulted in
the signal mask getting saved on *BSD and not getting saved on Linux.
Making the behaviour explicit via sigsetjmp/siglongjmp gives us
consistency and saves expensive sigprocmask() syscalls on *BSD.
2008-03-18 18:34:11 +00:00
Elizabeth Marie Smith
4d9cbaf7a4 Ignore steph's pretty batch file 2008-03-18 18:00:40 +00:00
Andrey Hristov
98680c0c8f Fix the build 2008-03-18 17:30:55 +00:00
Steph Fox
7e38f9b2af Generic function for binary probes, kill the other two. And get rid of the annoying double check for CL. 2008-03-18 17:10:20 +00:00
Andrey Hristov
caf3e9c3f1 Fixed a bunch of bugs reported in
Bug #44352 mysqli_connect_error() false negative for host errors
From now on the mysqli object doesn't have that magic properties, like
error, which were readable but not visible through isset(), property_exists()
and var_dump(). All other ext/mysqli classes were fixed too.
Now it will be easier to debug mysqli based applications.
2008-03-18 16:57:31 +00:00
Robin Fernandes
bd9e026951 Adding more tests for serialize() and unserialize(). 2008-03-18 15:11:48 +00:00
Antony Dovgal
40a7a6005b remove ze1_compat tests 2008-03-18 14:50:14 +00:00
Antony Dovgal
d32270a129 one more forgotten ze1_compat leftover 2008-03-18 14:48:09 +00:00
Antony Dovgal
57f51ee9a4 remove ze1_compat leftovers 2008-03-18 14:44:35 +00:00
Felipe Pena
2b10c53ae1 MFH: Dropped zend.ze1_compatibility_mode
[DOC]
2008-03-18 14:10:45 +00:00
Dmitry Stogov
8b01532f64 Removed hack (we don't need to modify class name).
(the problem is covered by Zend/tests/ns_056.phpt)
2008-03-18 11:37:00 +00:00
Dmitry Stogov
8c885b8913 Implemented concept of "delayed early binding" that allows opcode caches to perform class declaration (early and/or run-time binding) in exactly the same order as vanila php.
The following pseudo-code explains how it should be used in opcode cache.

function cache_compile_file($filename) {
        if (!is_cached($filename)) {
                ...
                orig_compiler_options = CG(compiler_optins);
                CG(compiler_options) |= ZEND_COMPILE_IGNORE_INTERNAL_CLASSES |
                                        ZEND_COMPILE_DELAYED_BINDING;
                $op_array = orig_compile_file($filename);
                CG(compiler_options) = orig_copiler_options;
                ...
        } else {
                $op_array = restore_from_cache($filename);
        }
        zend_do_delayed_early_binding($op_array);
}
2008-03-18 08:36:30 +00:00
Steph Fox
7c8ff91218 You might as well have 'the Steph special' too :-)
I can never remember the cscript line, so let's just have 'configure' instead.
2008-03-18 03:23:14 +00:00
Steph Fox
766b6b606e re2c checking.
If it's not installed, the least scary of messages goes out.
If it's installed but older than the required version, the download link is given.
2008-03-18 03:12:42 +00:00
Felipe Pena
01dc595706 Fix build 2008-03-18 00:24:21 +00:00
Stanislav Malyshev
085af56710 fix integer overflow in length calculation 2008-03-17 23:06:32 +00:00
Ilia Alshanetsky
9227974ddb Properly address incomplete multibyte chars inside escapeshellcmd() 2008-03-17 23:01:27 +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