Michael Heimpold [Sun, 26 Nov 2017 17:29:42 +0000 (18:29 +0100)]
ext/imap/config.m4: fix ac_cv_u8t_decompose check
Once upon the time, commit c58f63a38ae19caaab339c61486fc3bd7e5894f9
changed the check from U8T_CANONICAL to U8T_DECOMPOSE. However,
the autoconf cache id was not renamed.
Sometimes it is desirable to preseed the autoconf variables, e.g. when
cross-compiling to avoid the tests running on the host system. In this
case it's confusing when the cache id does not match the variable to
set, so let's adjust it.
Signed-off-by: Michael Heimpold <mhei@heimpold.de>
Tom Van Looy [Sun, 3 Dec 2017 21:35:50 +0000 (22:35 +0100)]
Remove RAND_RANGE() macro
The behavior of RANGE_RANGE() is 7.1 changed completely, from
rescaling an already generated number to generating a number
itself. Because of this str_shuffle() ended up generating two
random numbers on every iteration.
To avoid further misuse the function is dropped entirely. Extensions
for PHP >= 7.1 should directly call php_mt_rand_range().
Anatol Belski [Thu, 7 Dec 2017 15:52:23 +0000 (16:52 +0100)]
Allow delete-sharing mode for CreateFile by default
This effectively allows a UNIX like semantics for deleting files
with an open handle. Some OS related limitations still persist,
but the Windows 95 times can be considered as definitely over.
Dmitry Stogov [Wed, 6 Dec 2017 22:52:27 +0000 (01:52 +0300)]
Reduced VM code size.
Made FETCH_DIM/OBJ_FUNC_ARG to dispatch ro corresponding FETCH_DIM/OBJ_R/_W handlers.
Merged TMP and VAR specializations of ZEND_FETCH_OBJ_R.
Allowed dispatching to less specialized handelrs and helpers. (e.g. from OP_TMP_CONST to OP_TMPVAR_CONST).
Anatol Belski [Wed, 6 Dec 2017 14:59:21 +0000 (15:59 +0100)]
Fix yet one data race in PCRE
PCRE 8.x initializes the pattern compiler on demand during the first
pcre_study call. It could be worse, but since the compiled patterns are
cached, the locking impact is minimal. PCRE 10.x always compiles the
pattern and thread sanitizer doesn't complain about the compiler
initialization, thus the newer PCRE version seems to be unafected.
Peter Kokot [Thu, 30 Nov 2017 23:48:50 +0000 (00:48 +0100)]
Remove tutorial for building IMAP on windows
Procedure for building PHP on Windows systems has changed during the PHP
evolution and is for the time being available on wiki pages outside of
this code repository.
Dmitry Stogov [Mon, 4 Dec 2017 20:40:54 +0000 (23:40 +0300)]
Implemented x86 and x86_64 assembler functions for zend_string equality check.
They take into account zend_string layout (value alignment and trailing padding) and perform comparison by double or quad words.
Introduce ZEND_EXTENSION() to the Windows build system
Zend Extensions should now be declared in their config.w32 with a ZEND_EXTENSION() call instead of EXTENSION(), the parameters sent is identical.
For a cross version compatible config.w32, the following will do:
if (typeof(ZEND_EXTENSION) == 'undefined') {
EXTENSION(...);
} else {
ZEND_EXTENSION(...);
}
Anatol Belski [Sun, 3 Dec 2017 11:23:25 +0000 (12:23 +0100)]
Fix compat with libcurl 7.56.1+ and file:// wrapper
Since 7.52.x libcurl file:// scheme was implemented in a way described
in https://tools.ietf.org/html/draft-ietf-appsawg-file-scheme-16 . The
draft is still not accepted and the change contained a BC breach with
win32 path handling. It was reported upstream and 7.52.x fixed it, but
the BC breaching behavior was reintroduced in 7.56.1. Thus, it is better
to handle this on the PHP side.
Anatol Belski [Sat, 2 Dec 2017 09:40:43 +0000 (10:40 +0100)]
Fix junit XML format
The junit XML format is purely documented, some existings spec like
http://llg.cubic.org/docs/junit/ also provide an XSD. The testsuite
tag included into itself doesn't seems to be correct, instead only a
flat list is included into "testsuites" tag.
Anatol Belski [Sat, 2 Dec 2017 01:18:43 +0000 (02:18 +0100)]
Rework junit output
- testcase classname attribute is closest to put the filename
- if tests run from php checkout, don't include the full path
- remove filename from the testcase description, as it's included into
classname