1
0
mirror of https://github.com/php/php-src.git synced 2026-04-28 18:53:33 +02:00
Commit Graph

493 Commits

Author SHA1 Message Date
Pierre Joye 830fce0c7c - use the same test on win 2011-09-05 13:37:30 +00:00
Shein Alexey 5f5b7175ea Make the test faster, what was done:
1) replaced multiple htmlentities calls with one call to get_html_translation table since they share the same code internally
2) reduced the upper range of the "for" loop to 0x2710 (10000), according to http://www.w3.org/TR/html4/sgml/entities.html it's enough
3) placed additional check to make sure all entities from get_html_translation_table were checked in the test
2011-09-05 11:00:14 +00:00
Stanislav Malyshev 9d52e9b15f test fixes on Darwin 2011-08-31 07:10:17 +00:00
Gustavo André dos Santos Lopes 49323ad447 - Fixed test htmlentities15.phpt. 2011-08-31 06:32:05 +00:00
Arpad Ray 0e3b5b137c Fixed bug #55366: keys lost when using substr_replace an array 2011-08-29 20:38:52 +00:00
Stanislav Malyshev 1c83f5e04c fix tests 2011-08-01 03:42:02 +00:00
Pierre Joye a7e1a71bad - blowfish 1.2 update, 2nd part 2011-07-31 20:50:09 +00:00
Pierrick Charron 824726073b Delete empty test files (old MQ tests) 2011-07-22 12:12:05 +00:00
Pierre Joye 45420bb669 - remove magic quotes support, functions are kept (see the NEWS entry for the details) for BC reasons but do not allow to set enable MQ, missing tests changes in 5.4 2011-07-22 11:56:20 +00:00
Dmitry Stogov adb87c8d06 Fixed bug #54332 (Crash in zend_mm_check_ptr // Heap corruption) 2011-07-11 09:47:59 +00:00
Stanislav Malyshev 01249bb40b fix crypt() issue with overlong salt 2011-07-04 23:38:09 +00:00
Stanislav Malyshev 3acd5811ae Fix crypt_blowfish 8-bit chars problem (CVE-2011-2483), add tests
# See details at http://www.openwall.com/lists/announce/2011/06/21/1
2011-06-26 21:34:39 +00:00
Hannes Magnusson ffc6da20a0 These are annoyingly slow 2011-06-23 21:27:42 +00:00
Pierre Joye 59c102bf51 - Fix #54721, different Hashes on Windows, BSD and Linux on wrong Salt size 2011-05-24 13:48:04 +00:00
Antony Dovgal 354cb67597 fix tests 2011-05-03 11:15:30 +00:00
Stanislav Malyshev c4a8866abb fix bug #54238 (use-after-free in substr_replace()) 2011-04-13 06:32:41 +00:00
Pierrick Charron 5a8c917c37 Fixed bug #54454 (substr_compare incorrectly reports equality in some cases) 2011-04-03 07:18:27 +00:00
Gustavo André dos Santos Lopes 547a96090f - Fixed bug #54332 (trunk only, null pointer deref due to information loss on long to int conversion)
- Fixed some int* pointers being passed as size_t*.
2011-03-20 15:15:08 +00:00
Eyal Teutsch adecc80459 fixed tests to match the new float precision of 53, as described in bug 47168 2011-03-10 13:25:19 +00:00
Gustavo André dos Santos Lopes 2a6968e43a - Fixed bug #54055 (buffer overrun with high values for precision ini
setting).
#This fix (for g/G/k/H modes) is done at a different level than that for the
#modes e/E/f/F, at a bit higher level and therefore with less coverage. I
#chose this because it addresses the problem where it is -- the calling function
#that passes a buffer too small to php_gcvt.
2011-02-21 06:53:24 +00:00
Gustavo André dos Santos Lopes 4a946a91e5 - Fixed CHARSET_UNICODE_COMPAT (ISO-8859-1 is compatible in the relevant sense).
- Fixed usage of zend_multibyte_get_internal_encoding (its return cannot be
  cast to char*).
- Change tests to reflect that charset detection now relies on
  internal_encoding, not on current_internal_encoding.
  NOTE: This fixes the changes in rev 306077, but it remains that that change
  introduced a BC break. I assumed it was intentional
2011-01-25 10:57:07 +00:00
Ilia Alshanetsky 5bdb47791a Fixed bug #47168 (printf of floating point variable prints maximum of 40 decimal places). 2010-11-19 16:36:10 +00:00
Felipe Pena 2e42d64007 - Fixed bug #53319 (strip_tags() may strip '<br />' incorrectly) 2010-11-16 22:16:44 +00:00
Gustavo André dos Santos Lopes 24636a7e1c - Altered htmlentities19.phpt (now htmlentities24.phpt) to reflect new default encoding
being UTF-8.
- Moved ext/standard/tests/file/htmlentities19.phpt and htmlspecialchars.phpt to the
  proper directory (tests/strings instead of tests/file). htmlentities19.phpt had to
  be renamed in order not to clash with an existing file.
2010-11-15 01:57:16 +00:00
Gustavo André dos Santos Lopes 91727cb844 - Completed rewrite of html.c. Except for determine_charset, almost nothing
remains.
- Fixed bug on determine_charset that was preventing correct detection in
  combination with internal mbstring encoding "none", "pass" or "auto".
- Added profiles for entity encode/decode for HTMl 4.01, XHTML 1.0, XML 1.0
  and HTML 5. Added the constants ENT_HTML401, ENT_XML1, ENT_XHTML and
  ENT_HTML5.
- htmlentities()/htmlspecialchars(), when told not to double encode, verify
  the correctness of the existenting entities more thoroughly.
  It is checked whether the numerical entity represents a valid unicode code
  point (number is between 0 and 0x10FFFF). If using the flag ENT_DISALLOWED,
  it is also checked whether that numerical entity is valid in selected
  document. In HTML 4.01, all the numerical entities that represent a Unicode
  code point (< U+10FFFFFF) are valid, but that's not the case with other
  document types. If the entity is not valid, & is encoded to &amp;.
  For named entities, the check is also more thorough. While before the only
  check would be to determine if the entity was constituted by alphanumeric
  characters, now it is checked whether that entity is necessarily defined for
  the target document type. Otherwise, & is encoded to &amp;.
- For html_entity_decode(), only valid numerical and named entities (as defined
  above for htmlentities()/htmlspecialchars() + !double_encode) are decoded.
  But there is in this case one additional check. Entities that represent
  non-SGML or otherwise invalid characters are not decoded. Note that, in
  HTML5, U+000D is a valid literal character, but the entity &#x0D is not
  valid and is therefore not decoded.
- The hash tables lazily created for decoding in html_entity_decode() that were
  added recently were substituted by static hash tables. Instead of 1 hash
  table per encoding, there's only one hash table per document type defined in
  terms of unicode code points. This means that for charsets other than UTF-8
  and ISO-8859-1, a conversion to unicode code points is necessary before
  decoding.
- On the encoding side, the ad hoc ranges of entities of the translation
  tables, which mapped (in general) non-unicode code points to HTML entities
  were replaced by three-stage tables for HTML 4 and HTML 5. This mapping
  tables are defined only in terms of unicode code points, so a conversion
  is necessary for charsets other than UTF-8 and ISO-8859-1. Even so, the
  multi-stage table is much faster than the previous method, by a factor
  of 5; the conversion to unicode is a small penalty because it's just a
  simple table lookup.
  XML 1.0/htmlspecialchars() uses a simple table instead of a three-stage
  table.
- Added the flag ENT_SUBSTITUTE, which makes htmlentities()/htmlspecialchars()
  replace the invalid multibyte sequences with U+FFFD (UTF-8) or &#FFFD;
  (other encodings).
- Added the flag ENT_DISALLOWED. Implements FR #52860. Characters that cannot
  appear literally are replaced by U+FFFD (UTF-8) or &#FFFD; (otherwise).
  An alternative implementation would be to encode those characters into
  numerical entities, but that would only work in HTML 4.01 due to limitations
  on the values of numerical entities in other document types. See also the
  effects on htmlentities()/htmlspecialchars() with !double_encode above.
2010-10-24 15:01:02 +00:00
Gustavo André dos Santos Lopes 738be1a003 - Three tests were "broken" by rev #304404, not two. Commit the change
to remaining one.
2010-10-14 19:33:12 +00:00
Gustavo André dos Santos Lopes bfcb754eae - Fixed get_next_char(), used by htmlentities/htmlspecialchars, accepting
certain ill-formed UTF-8 sequences.
2010-10-14 19:14:06 +00:00
Gustavo André dos Santos Lopes 4de6c3a948 - Added a 3rd parameter to get_html_translation_table. It now takes a charset
hint, like htmlentities et al.
- Fixed bug #49407 (get_html_translation_table doesn't handle UTF-8).
- Fixed bug #25927 (get_html_translation_table calls the ' &#39; instead of
  &#039;).
- Fixed tests for get_html_translation_table and unified the Windows and
  non-Windows versions of the tests.
2010-10-12 02:51:11 +00:00
Gustavo André dos Santos Lopes 7aa43a8d83 - Revamp of the decoding portion of html.c.
- Dramatic improvements on the performance of html_entity_decode and htmlspecialchars_decode, as the
  string is now traversed only once. Speedups of 20 to 25 times with Windows release builds and a
  ~250 characters string (for 2nd and subsequent calls).
- Consistent behavior on html_entity_decode. For instance, the entity in "&&lt;" would be decoded,
  but not "&&#233;". Not anymore. The code path for "basic" and non-basic entities is now mostly
  shared.
- Code of html_entity_decode and htmlspecialchars_decode is now shared.
- [DOC] More consistent behavior of htmlspecialchars_decode. Instead of translating only &lt;, &gt;,
  &amp;, &quot;, &#039; and &#39;, now e.g. &#34;, &apos;, &#0039;, &#x27;, etc. are also decoded.
- [DOC] Previous translation of unicode code points in numerical entities was seriously broken. When
  the code points for some character were not the same in unicode and the target encoding, the
  behavior could be an erroneous translation (e.g. 0x80-0xA0 in win-1252) or no translation at all.
  Added unicode translation tables for all single-byte encodings. Entities are not translated for
  multi-byte entities, except for ASCII characters whose code points are shared. We could add
  the huge translation tables (several thousand elements) for those encodings in the future.
- Fixed numerical entities that after # had text accepted by strcol being accepted.
- Much more commented and well-structured code...
- Tests for get_html_translation_table()) are broken. I stared fixing the tests, but then I realized
  it was completely helpless because get_html_translation_table() is broken by not handling
  multi-byte characters correctly.
2010-10-10 19:04:59 +00:00
Gustavo André dos Santos Lopes dd5d1b2b66 - Fixed a typo in rev #304208 (24 instead of 34/'"').
- Improved the test bug53021.phpt to reflect other fixes in rev #304208.
- Updated NEWS to reflect other fixes in rev #304208.
2010-10-08 17:27:19 +00:00
Gustavo André dos Santos Lopes df42830468 - Fixed bug #53021 (In html_entity_decode, failure to convert numeric entities with ENT_NOQUOTES and ISO-8859-1). 2010-10-08 16:19:58 +00:00
Kalle Sommer Nielsen a448b6a72b MFB53: Changed deprecated ini options on startup from E_WARNING to E_DEPRECATED (Fixes #52570)
# Some of the updated tests were to make them sync with 5.3 although they don't run on trunk anymore
2010-08-11 21:41:30 +00:00
Felipe Pena de531056f7 - Fixed bug #51899 (Parse error in parse_ini_file() function when empy value followed by no newline) 2010-05-26 02:18:17 +00:00
Michael Wallner e012b36ac2 * fixed bug #47842 sscanf() does not support 64-bit values 2010-05-19 11:28:08 +00:00
Kalle Sommer Nielsen 9a38f301d6 Remove highlight.bg, it was removed in the old trunk and its not referenced in zend_highlight.c, meaning its not even implemented correctly in 5.3. 2010-04-21 21:56:24 +00:00
Rasmus Lerdorf 906dd4eac5 Switch default_charset, if not specified, from ISO-8859-1 to UTF-8
I have been wanting to make this change for years, but there is a small
chance of BC issues, so it shouldn't go into a minor release.
2010-03-23 18:08:06 +00:00
Joey Smith f829a21659 MFH'd crypt() tests - renamed to fit phpt schema, tests for DES-fallback,
use b'' on strings.
2010-02-23 21:14:51 +00:00
Pierre Joye aff51406ef - update test 2010-02-23 17:46:10 +00:00
Pierre Joye c402adc3b2 - Corrected the sanity check of the "setting" string in _crypt_blowfish_rn() to
reject iteration counts encoded as 36 through 39.  Previously, these would be
  misinterpreted as being the same as 04 through 07. (Solar Designer)
2010-02-21 23:47:14 +00:00
Raphael Geissert 009a48ab3f Fix the name of the locale in some tests 2010-02-21 18:22:46 +00:00
Pierre Joye 23fdc85e3a - Fix #51059, crypt can fail and return NULL, on almost all implementations 2010-02-21 18:11:11 +00:00
Joey Smith 7a0b1e55d8 MFH crypt() tests 2010-02-20 19:13:09 +00:00
Raphael Geissert cf0e2b7026 Fix strtolower.phpt (bug #51031) 2010-02-13 16:43:04 +00:00
Ilia Alshanetsky b0f76c2534 Fixed bug #50847 (strip_tags() removes all tags greater then 1023 bytes long) 2010-02-01 12:59:08 +00:00
Moriyoshi Koizumi 7d9a7dbad6 - Fix bug #46478 (htmlentities() uses obsolete mapping table for character
entity references)
2009-12-22 05:50:34 +00:00
Pierre Joye 6ec6a9d62e - add a test case and update the skip clause 2009-12-16 10:09:34 +00:00
Pierre Joye 77afccc28c - #50334, add CRYPT_SHA* constants and tests [DOC] 2009-12-09 01:43:23 +00:00
Moriyoshi Koizumi 413196c574 - Take account of surrogate pairs. 2009-12-07 15:41:43 +00:00
Pierre Joye 826ca288e7 - Fixed #50052, Different Hashes on Windows and Linux on wrong Salt size 2009-11-02 20:46:52 +00:00
Moriyoshi Koizumi 20737bac6a - Bug #49785: take 5. What the hell happened to me... 2009-10-13 05:18:37 +00:00