1
0
mirror of https://github.com/php/php-src.git synced 2026-04-27 10:16:41 +02:00
Commit Graph

45936 Commits

Author SHA1 Message Date
Kalle Sommer Nielsen d86a333a43 Free the HMODULE handle after use 2017-07-21 22:22:41 +02:00
Kalle Sommer Nielsen fd29202022 Free the HMODULE handle after use 2017-07-21 22:21:25 +02:00
Kalle Sommer Nielsen b613392003 Test case for bug #64739 2017-07-21 21:55:11 +02:00
Xinchen Hui 61dbb6cd49 Merge branch 'PHP-7.2'
* PHP-7.2:
  Update NEWS
  Update NEWS
  Fixed bug #74950 (nullpointer deref in simplexml_element_getDocNamespaces)
2017-07-21 18:18:09 +08:00
Xinchen Hui 01090e6ced Merge branch 'PHP-7.1' into PHP-7.2
* PHP-7.1:
  Update NEWS
  Fixed bug #74950 (nullpointer deref in simplexml_element_getDocNamespaces)
2017-07-21 18:17:33 +08:00
Xinchen Hui 08177312fb Merge branch 'PHP-7.0' into PHP-7.1
* PHP-7.0:
  Fixed bug #74950 (nullpointer deref in simplexml_element_getDocNamespaces)
2017-07-21 18:16:54 +08:00
Xinchen Hui 3a7b0027f3 Fixed bug #74950 (nullpointer deref in simplexml_element_getDocNamespaces) 2017-07-21 18:16:11 +08:00
Frank Denis a6b529c399 sodium ext: use crypto_scalarmult_BYTES for points coordinates
Just for consistency.
2017-07-20 22:30:58 +02:00
Dmitry Stogov 36259e2593 Merge branch 'PHP-7.2'
* PHP-7.2:
  fixed comments
  Fixed wrong edges_count re-calculation.
2017-07-20 23:29:44 +03:00
Dmitry Stogov 0b2c456312 fixed comments 2017-07-20 23:29:22 +03:00
Dmitry Stogov 1b9d0c8af3 Fixed wrong edges_count re-calculation. 2017-07-20 23:28:05 +03:00
Nikita Popov a319063aae Only write single terminating byte
As far as I could determine this is sufficient. It avoids
reallocating the buffer, if it was perfectly allocated beforehand.
2017-07-20 21:41:52 +02:00
Nikita Popov 1388751f10 Use fast zpp in mb_strlen()
For short strings this function is now sufficiently fast for zpp
to be a bottleneck.
2017-07-20 21:41:52 +02:00
Nikita Popov b3c1d9d111 Directly use encodings instead of no_encoding in libmbfl
In particular strings now store encoding rather than the
no_encoding.

I've also pruned out libmbfl APIs that existed in two forms, one
using no_encoding and the other using encoding. We were not actually
using any of the former.
2017-07-20 21:41:52 +02:00
Frank Denis 2c4010f0fe sodium ext: clear the hash state after we're done hashing 2017-07-20 20:17:52 +02:00
Nikita Popov 22a5f554a8 Temporary fix for windows build
This API should be changed to stop using negative offsets. For now
I'm replacing ssize_t with long.
2017-07-20 18:29:44 +02:00
Nikita Popov 77cb7bd837 Free last_used_encoding_name in RSHUTDOWN
efree() cannot be used in GSHUTDOWN
2017-07-20 18:12:04 +02:00
Côme Chilliet 5e56d050e5 Added ldap_exop_refresh helper for EXOP REFRESH operation on dds overlay
ldap_exop_refresh(resource link, string dn, int ttl)
Returns FALSE on failure, newttl on success
2017-07-20 16:16:59 +02:00
Nikita Popov c098304e17 Reduce number of encoding conversions in case conversion
Don't indirect through UCS4BE, instead directly work on wchars
using a custom filter.

This replaces the pipeline
  utf8 -> wchar -> ucs4be -> wchar -case-> wchar -> ucs4be -> wchar -> utf8
with
  utf8 -> wchar -case-> -> wchar -> utf8
2017-07-20 15:33:24 +02:00
Nikita Popov 17da862b51 Optimize php_unicode_tolower/upper for ASCII 2017-07-20 13:58:40 +02:00
Nikita Popov ba383b8239 Add basic mbstring encoding cache
Store the last used encoding and compare against it. It's quite
likely that an application is going to be using the same encoding
again and again.

The actual mbfl_name2encoding() function could also be optimized
to use a hash lookup rather than a linear scan, but we don't have
a hashtable implmentation in libmbfl...
2017-07-20 13:58:40 +02:00
Nikita Popov 264387e31e Add php_mb_get_no_encoding() helper function 2017-07-20 13:58:40 +02:00
Nikita Popov adaea77593 Switch libmbfl to use size_t
Switch mbfl_string and related structures to use size_t lengths.

Quite likely that I broke some things along the way...
2017-07-20 13:58:40 +02:00
Nikita Popov 79c26d597f Optimize php_unicode_is_lower/upper for ASCII 2017-07-20 13:58:40 +02:00
Côme Chilliet a3b42ea96b Using LDAP_CONTROL_MANAGEDSAIT constant in ldap tests instead of string oid 2017-07-20 12:37:44 +02:00
Joe Watkins 4fa70b0beb Merge branch 'PHP-7.2'
* PHP-7.2:
  Fixed bug #74941 - Session fails to start after having headers sent
2017-07-20 07:54:38 +01:00
Sergei Morozov 9b9184a45a Fixed bug #74941 - Session fails to start after having headers sent 2017-07-20 07:52:02 +01:00
Nikita Popov 9c73be898d Directly accept encoding in php_unicode_convert_case()
As a side-effect mb_strtolower() and mb_strtoupper() now correctly
handle a NULL encoding parameter by using the internal encoding.
This is what caused the two test changes.
2017-07-19 23:59:42 +02:00
Nikita Popov 4128746b94 Add php_mb_get_encoding() convenience function 2017-07-19 23:59:42 +02:00
Nikita Popov 4cf22cbb2d Optimize php_unicode_is_prop()
Do not try to extract the properties from a bitmask. Instead make
the function variadic and pass all properties individually.

Also add a php_unicode_is_prop1() function to check only a single
property.
2017-07-19 23:59:42 +02:00
Nikita Popov dead4f0b1b Avoid unnecessary encoding lookups in mbstring
Extract part of php_mb_convert_encoding that does the actual work
and use it whenever we already know the encoding.
2017-07-19 23:59:42 +02:00
Anatol Belski a34e597ea8 Merge branch 'PHP-7.2'
* PHP-7.2:
  fix dir separator in test
2017-07-19 22:42:34 +02:00
Anatol Belski 18595b6fc6 Merge branch 'PHP-7.1' into PHP-7.2
* PHP-7.1:
  fix dir separator in test
2017-07-19 22:42:05 +02:00
Anatol Belski 8ef5a50e2d Merge branch 'PHP-7.0' into PHP-7.1
* PHP-7.0:
  fix dir separator in test
2017-07-19 22:41:32 +02:00
Anatol Belski f67a3cc9bd fix dir separator in test 2017-07-19 22:41:09 +02:00
Sara Golemon 60e62b46fa Merge branch 'PHP-7.2'
* PHP-7.2:
  Do not allow using traits/interfaces/abstract classes as stream wrappers
2017-07-19 14:01:56 -04:00
Sara Golemon bb02f99e71 Merge branch 'PHP-7.1' into PHP-7.2
* PHP-7.1:
  Do not allow using traits/interfaces/abstract classes as stream wrappers
  Add oci8_failover.c to config.w32, follow up for commit 1b797f7a
2017-07-19 14:01:18 -04:00
Sara Golemon a9e8239f45 Merge branch 'PHP-7.0' into PHP-7.1
* PHP-7.0:
  Do not allow using traits/interfaces/abstract classes as stream wrappers
2017-07-19 14:01:00 -04:00
Sara Golemon c9fd093127 Do not allow using traits/interfaces/abstract classes as stream wrappers
Fixes https://bugs.php.net/bug.php?id=74951
2017-07-19 14:00:00 -04:00
Nikita Popov fd26c5dabc Merge branch 'PHP-7.2' 2017-07-19 19:55:28 +02:00
Emmanuel Dreyfus d25049cc1b Fixed bug #74851: Improve uniqid() performance
uniqid() relies on microsecond-precise system clock to produce an
unique identifier. In order to avoid  using the same value, the
original implementation calls usleep(1) to wait for the next microsecond.

Unfortunately, usleep() specification says "The suspension time may be
longer than requested due to the scheduling of other activity by the
system." Indeed, the pause may as as long as an entire execution slice,
causing a uniqid() call to last more than 10 ms.

This is fixed by replacing the usleep() call by time polling using
gettimeofday() until the microsecond changes. Since the getttimeoday()
system call lasts around a microsecond, only a small time is wasted
calling multiple gettimeofday. On the benefit side, uniqid() performance
in increased 10000 fold without changing its behavior.
2017-07-19 19:54:19 +02:00
Nikita Popov 8c1dc840b5 Remove version checks for MySQL < 5.0 2017-07-19 19:34:14 +02:00
Lior Kaplan 296438bfb9 Merge branch 'PHP-7.1'
* PHP-7.1:
  Add oci8_failover.c to config.w32, follow up for commit 1b797f7a
2017-07-19 17:28:12 +03:00
Lior Kaplan 2b36f3d71f Merge branch 'PHP-7.0' into PHP-7.1
* PHP-7.0:
  Add oci8_failover.c to config.w32, follow up for commit 1b797f7a
2017-07-19 17:26:38 +03:00
Lior Kaplan 2cca43b3ab Add oci8_failover.c to config.w32, follow up for commit 1b797f7a 2017-07-19 17:23:22 +03:00
Dmitry Stogov 6e0bdf201f Merge branch 'PHP-7.2'
* PHP-7.2:
  Separate the fast-patch
  Convert CONCAT into FAST_CONCAT for non-object operands
2017-07-19 15:43:29 +03:00
Dmitry Stogov 3185f8628f Convert CONCAT into FAST_CONCAT for non-object operands 2017-07-19 15:41:46 +03:00
Dmitry Stogov 518de1e0b8 Merge branch 'PHP-7.2'
* PHP-7.2:
  Remove dead live ranges and FREE instructions
  Remove live ranges
2017-07-19 13:08:22 +03:00
Dmitry Stogov 8447b86eef Remove dead live ranges and FREE instructions 2017-07-19 13:07:33 +03:00
Dmitry Stogov 5274cefb4d Remove live ranges 2017-07-19 13:06:25 +03:00