Commit Graph

6879 Commits

Author SHA1 Message Date
Ilia Alshanetsky
b207eebf57 Fix win32 build 2011-08-10 15:59:32 +00:00
Xinchen Hui
d5688cd19e Eliminated compiler's warnings 2011-08-10 11:59:11 +00:00
Ilia Alshanetsky
521ce49819 Minimize stack usage and added missing dtors 2011-08-09 13:10:57 +00:00
Xinchen Hui
5dc3195897 Avoiding strcpy, strcat, sprintf usage to make static analyzer happy 2011-08-09 12:16:58 +00:00
Gustavo André dos Santos Lopes
177645fd05 - Elided unused argument in internal linkage function. 2011-08-09 00:40:45 +00:00
Ilia Alshanetsky
9c834bd51c Make static analyzers happy 2011-08-08 12:10:27 +00:00
Xinchen Hui
caedca8dd0 Make codes more clearly, and make the static analyzer silent.. 2011-08-08 06:49:17 +00:00
Xinchen Hui
4e97a9fc3f Remove no sense statements 2011-08-08 00:47:40 +00:00
Rasmus Lerdorf
7eb5bbbf65 Fix more signed 1-bit bitfield, and let's use strlcpy/strlcat instead for these
static string copies
2011-08-07 16:10:34 +00:00
Rasmus Lerdorf
97bc4c8403 Make static analyzers happy 2011-08-07 15:38:36 +00:00
Xinchen Hui
2ce3f11f4b revert -r314422
No need to check erealloc's return
2011-08-07 14:25:30 +00:00
Xinchen Hui
a35462c71c Fixed bug that may dereferenced NULL pointer before checking 2011-08-07 13:19:04 +00:00
Pierrick Charron
ae1746c876 class entry is never used 2011-08-07 06:04:11 +00:00
Rasmus Lerdorf
8dc951194b I'm pretty sure you didn't mean to multiple by the size of a char* there
since that makes no sense. output is an array of char, not an array of
char*
Pierre, please review
2011-08-07 00:36:26 +00:00
Felipe Pena
9480eace41 - Added ZEND_MOD_END macro to use in the end of zend_module_dep[] 2011-08-06 14:47:44 +00:00
Felipe Pena
9c289189d3 - Added missing PHP_FE_END/ZEND_FE_END 2011-08-06 01:22:27 +00:00
Stanislav Malyshev
30aa3cea6a fix tests 2011-08-01 03:42:02 +00:00
Stanislav Malyshev
b56c6b24ff fix termination in sha-512 too 2011-07-31 23:14:04 +00:00
Stanislav Malyshev
d868c71617 fix salt truncation bug in sha256 2011-07-31 21:47:03 +00:00
Pierre Joye
991e108a85 - blowfish 1.2 update, 2nd part 2011-07-31 20:50:09 +00:00
Pierre Joye
96b142795c - Fix #55301 (url scanner part) check if malloc succeded 2011-07-28 10:52:45 +00:00
Pierre Joye
fc8afdf178 - Fixed bug 55124, recursive mkdir fails with current (dot) directory in path 2011-07-26 17:44:20 +00:00
Felipe Pena
da376383e8 - Make usage of new PHP_FE_END macro 2011-07-25 11:35:02 +00:00
Rasmus Lerdorf
c168ea8477 When you add something that changes the phpinfo output, please
update this test.
2011-07-25 05:32:08 +00:00
Felipe Pena
b2558d5f35 - Disable __sync_fetch_and_add for HPUX for now, gcc seems not provide __sync_fetch_and_add_4 for all targets 2011-07-23 01:08:24 +00:00
Pierrick Charron
fb5da94c1b Delete empty test files (old MQ tests) 2011-07-22 12:12:05 +00:00
Pierre Joye
cc1c7af037 - 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 2011-07-22 11:25:30 +00:00
Felipe Pena
e97b0d7522 - Fixed bug #55231 (Unsatisfied symbols __sync_fetch_and_add_4) 2011-07-19 22:12:13 +00:00
Pierre Joye
03315d9625 - update blowfish to 1.2 (Solar Designer) 2011-07-18 21:26:29 +00:00
Philip Olson
1cf88d931e Updated is_a() and is_subclass_of() tests as per the removed E_WARNING from r313162 which was inspired by discussion after r312904 and PHP Bug #53727 2011-07-15 19:17:22 +00:00
David Soria Parra
cad2e53064 Fix #55212. Only declare STREAM_PF_INET6 if PHP is compiled with IPv6 support 2011-07-15 15:25:24 +00:00
Pierre Joye
b6745ea43a - Fixed bug #55187, readlink returns weird characters when false result 2011-07-12 15:15:17 +00:00
Kalle Sommer Nielsen
513dc26776 Changed http_response_code() to be able to set a response code 2011-07-12 03:56:32 +00:00
Dmitry Stogov
8171e1d81e Fixed bug #54332 (Crash in zend_mm_check_ptr // Heap corruption) 2011-07-11 09:47:59 +00:00
Ilia Alshanetsky
3c82aab151 Fixed bug relating to un-initialized memory access 2011-07-05 20:10:45 +00:00
Stanislav Malyshev
e3668bdf1c fix crypt() issue with overlong salt 2011-07-04 23:38:09 +00:00
Dmitry Stogov
34b8924f95 Fixed bug #53727 (Inconsistent behavior of is_subclass_of with interfaces) 2011-07-04 14:55:39 +00:00
Gustavo André dos Santos Lopes
86ff3bab2d - Fixed bug #55082 (var_export() doesn't escape properties properly). 2011-06-30 09:26:35 +00:00
Ilia Alshanetsky
b2a3d3132d Fixed test 2011-06-28 23:47:05 +00:00
Stanislav Malyshev
b158091ed6 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
Knut Urdalen
27934faf97 small fix in disk_total_space() tests (PHP_5_3 already includes this) 2011-06-25 21:22:42 +00:00
Felipe Pena
6c02d95bd3 - Missing valid path check 2011-06-23 21:53:25 +00:00
Hannes Magnusson
9f8501b3b7 These are annoyingly slow 2011-06-23 21:27:42 +00:00
Patrick Allaert
97ec4f2702 Changed register_shutdown_function() to reflect that it is using a cb (thx arpad) 2011-06-20 07:11:21 +00:00
Felipe Pena
8f68b48514 - Fix tests 2011-06-19 15:43:16 +00:00
Felipe Pena
3276cc4f7a - Opss, restore old behavior 2011-06-19 14:50:44 +00:00
Felipe Pena
54d5662919 - Added missing void param check in sys_get_temp_dir
- Fixed param check of umask()
2011-06-19 14:27:33 +00:00
Felipe Pena
e98eafeedf - Missing usage of 'p' parameter specifier 2011-06-19 13:20:12 +00:00
Felipe Pena
8d4a35f3e9 - Fixed bug #54680 (missing TRACK_VARS_SERVER check) 2011-06-12 02:47:48 +00:00
Gustavo André dos Santos Lopes
89da1ab1e8 - Reverted r301991, which is a (partial) fix to bug #52550, addressing an
overflow in a signed subtraction. This fixes the overflow without
  changing the algorithm.
2011-06-12 00:56:18 +00:00
Felipe Pena
8f4d497964 - Missing fixes for grammar fix 's/valid path/a valid path/' 2011-06-09 00:23:43 +00:00
Ilia Alshanetsky
d42683cbd2 Fixed test to account for smaller default floating point # precision 2011-06-08 02:03:14 +00:00
Felipe Pena
547ab48521 s/valid path/a valid path/ 2011-06-08 00:53:55 +00:00
Felipe Pena
ac86bf82b4 - Test fixes 2011-06-07 02:29:03 +00:00
Felipe Pena
33a8442c5d - Fix memory leak caused by RSHUTDOWN not being called by MINIT dependency 2011-06-07 01:58:56 +00:00
Felipe Pena
8da563ed9a - Test fixes 2011-06-06 22:36:54 +00:00
Felipe Pena
4737910b69 - Added new parameter parsing option (p - for valid path (string without null byte in the middle))
# The tests will be fixed in the next commits
2011-06-06 21:28:16 +00:00
Hannes Magnusson
d4f6e7d937 When you write to a symlink - you access the file itself, not the symlink, so we need to compare the atime to the orignal file 2011-06-05 12:08:14 +00:00
Hannes Magnusson
c1a96c16d0 Make sure we are writing more data then the block size 2011-06-05 12:07:11 +00:00
Hannes Magnusson
9f7b09a265 touch() no longer attempts to create files on empty strings 2011-06-05 09:42:10 +00:00
Philip Olson
ad14faa7dd Updated the note maintainers credits 2011-06-05 06:57:13 +00:00
Scott MacVicar
14e330556c Further fix for #54918 - We attach a bunch of submodules loading to the basic MINIT, but if an error occurs during their MINIT we still call the MSHUTDOWN()
Other possible fix is that we should halt execution entirely when this happens but this feels a little drastic.

Committing to trunk for now
2011-06-03 01:44:37 +00:00
Scott MacVicar
974c3b4981 Fix Bug #54918 - Crash when there is a failure to read the browscap file 2011-06-03 00:42:07 +00:00
Scott MacVicar
398c0b9dad Added fabled hex2bin() function 2011-06-03 00:12:22 +00:00
Ilia Alshanetsky
939875133a Zend Signal Handling (see RFC: https://wiki.php.net/rfc/zendsignals)
This needs to go into 5.4 as well, but will wait for Pierre to review win32 situation

# Patch by Lucas Nealan, Arnaud Le Blanc, Brian Shire & Ilia Alshanetsky
2011-06-02 21:16:50 +00:00
Gustavo André dos Santos Lopes
e87534b017 - Fixed double registering of browscap ini directive. See bug #54896. 2011-06-02 08:46:40 +00:00
Hannes Magnusson
73c1488fec Fixed bug #54946 (stream_get_contents infinite loop) 2011-05-29 12:29:19 +00:00
Ilia Alshanetsky
57674f784f Fixed bug #53848 (fgetcsv() ignores spaces at beginnings of fields). 2011-05-29 10:23:06 +00:00
Ilia Alshanetsky
3ec51648ad Fixed bug #54137 (file_get_contents POST request sends additional line break). 2011-05-29 09:23:08 +00:00
Ilia Alshanetsky
c5e56ff90c Fixed bug #54924 (assert.* is not being reset upon request shutdown). 2011-05-26 18:17:43 +00:00
Pierre Joye
2c9136a25e -fix bug 54935, php_win_err can lead to crash 2011-05-26 14:37:13 +00:00
Felipe Pena
565d0063eb - Fixed ZTS build and removed unused vars 2011-05-25 22:23:48 +00:00
Stanislav Malyshev
f9088156f4 implement streams metadata API per RFC 2011-05-25 21:03:55 +00:00
Philip Olson
0183514cfb Fixed test, as per r311323 2011-05-25 00:02:05 +00:00
Felipe Pena
b2780241d7 - Fixed bug #50363 (Invalid parsing in convert.quoted-printable-decode filter)
Patch by: slusarz at curecanti dot org
2011-05-24 23:49:26 +00:00
Philip Olson
bc499c4078 Updated test. touch() emits E_WARNING for bogus values. Updated 5.3 test to look the same. 2011-05-24 23:27:49 +00:00
Pierre Joye
c689dd9d59 - Fix #54721, different Hashes on Windows, BSD and Linux on wrong Salt size 2011-05-24 13:48:04 +00:00
Dmitry Stogov
7da89df267 Fixed comilation on x86_64 2011-05-24 08:27:36 +00:00
Michael Wallner
327a87fdd9 Fix Bug #54727, a re-incarnation of #26862 2011-05-23 10:42:00 +00:00
Stanislav Malyshev
9b8acf87a6 fix some failing tests 2011-05-23 07:06:04 +00:00
Rasmus Lerdorf
cebe2a2139 Increase the overly conservative pcre backtrack limit from 100000 to 1000000 2011-05-21 19:48:37 +00:00
Felipe Pena
ac6edb41ec - Fixed bug #54895 (Fix compiling with older gcc version without need for membar_producer macro)
patch by: mhei at heimpold dot de
2011-05-20 21:24:51 +00:00
Ferenc Kovacs
b3d32b153d fix the test with the removal of the unnecessary newline 2011-05-16 23:33:05 +00:00
Ferenc Kovacs
0f214e5c2c adding the serialize_precision=100 for the tests, credits to Mats Lindh for reporting it 2011-05-16 23:31:14 +00:00
Ferenc Kovacs
3295e36bff removing XFAIL as #39863 has already been fixed 2011-05-16 23:28:46 +00:00
Rasmus Lerdorf
575ea1ef0b Suppress a dozen unused return value warnings in places where the return
value is really not useful to us.
2011-05-16 17:22:41 +00:00
Rasmus Lerdorf
438cc7f201 Drop support for autoconf < 2.60 in trunk and the
new PHP_5_4 branch. autoconf >= 2.60 should finally
be working now.
2011-05-15 06:09:21 +00:00
Rasmus Lerdorf
a8df376b91 We can't really predict what will happen on an unknown host lookup
since bogus ISPs like Comcast and many others try to "help" by resolving
everything to their own search page.
2011-05-15 01:52:07 +00:00
Martin Jansen
41dbe39471 MFB: Fixed two failing tests that were caused by arbitrarily chosen
but apparently bogus upper resp. lower limits for mt_rand().
2011-05-14 20:38:47 +00:00
Scott MacVicar
194b48088c Fixed bug #54723 - getimagesize() doesn't check the full ico signature and misreports mpg files 2011-05-13 05:06:48 +00:00
Scott MacVicar
b966897a0d Turns out that more than 1% of users clocks are more than a year out of date, this causes cookies to never get deleted since the date is in the future.
I can only guess its due to batteries on the motherboard being dead.
2011-05-10 19:09:24 +00:00
Antony Dovgal
bb2ccc96d3 fix tests 2011-05-04 08:44:14 +00:00
Antony Dovgal
968d49ae65 fix test 2011-05-04 08:28:31 +00:00
Antony Dovgal
354cb67597 fix tests 2011-05-03 11:15:30 +00:00
Felipe Pena
48cb3447bb - Fixed ZTS build 2011-05-01 19:22:24 +00:00
Gustavo André dos Santos Lopes
6d9d7af86f - Fixed bug #54580 (get_browser() segmentation fault when the browscap ini
directive is set in activation time). This commit fixes this by adding a per
  request parsing of the browscap file that's when get_browser is called the
  first time and the directive is set on activation time.w
2011-05-01 18:37:20 +00:00
Gustavo André dos Santos Lopes
93f65cdeac - Fixed bug #54623 (Segfault when when writing to a persistent socket after
closing a copy of the socket).
2011-05-01 03:57:01 +00:00
Felipe Pena
07f60310b2 - Remove undesired line (reported by Gökhan Özbulak) 2011-04-13 13:38:52 +00:00
Stanislav Malyshev
c4a8866abb fix bug #54238 (use-after-free in substr_replace()) 2011-04-13 06:32:41 +00:00
Adam Harvey
187eb235fe Implement FR #54459 (Range function accuracy) by changing the way range()
calculates values when used with floating point bounds/step.
2011-04-06 10:23:06 +00:00
Pierrick Charron
1368364469 Fix common typos in the source code (Reported in Bug #54065)
# External libraries were excluded
# Thanks eitan at eitanadler dot com for the first patch :)
2011-04-03 21:46:52 +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
7f2937223d - Make fclose() actually close stream, even when the resource refcount is > 1.
This reverts the fix for bug #24557.
- Make php_stream_free delete the stream from the resources list, not merely
  decrease its refcount, as a single call to zend_list_delete does.           
#Not worth the risk merging to 5.3. While change #2 may prevent some segfaults,
#a quick and dirty survey to the codebase only showed calls to php_stream_close
#or php_stream_free on streams allocated in the same function, which would have
#refcount == 1. May be reconsidered.
2011-03-21 02:58:54 +00:00
Gustavo André dos Santos Lopes
2034e14341 - Fixed SKIPIF section of bug52820.phpt. 2011-03-20 22:15:43 +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
Pierrick Charron
6e74d95f34 Fixed bug #54180 (parse_url() incorrectly parses path when ? in fragment) 2011-03-13 04:02:56 +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
e65d361fde - Fixed bug #54092 (Segmentation fault when using HTTP proxy with the FTP
wrapper).
#php_stream->wrapperdata should hold an array zval (like its zval* type
#indicates...), it's not a place where the wrapper can drop an arbitrary
#pointer. For that, .wrapperthis should be used.
#Also, since the ftp dir wrapper defines its own stream type, it's more
#appropriate to use .abstract to store the stream instance specific data.
2011-02-27 20:23:54 +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
b21f62eb2d - Removed dead defines. 2011-02-21 05:33:16 +00:00
Gustavo André dos Santos Lopes
a3a5157286 - PHP_STREAM_OPTION_WRITE_BUFFER no longer disables the read buffer of a plain
stream when 0 is given as the value.
- PHP_STREAM_OPTION_WRITE_BUFFER no longer changes the chunk size in socket
  streams.
- Added stream_set_chunk_size() function.
- Some signedness fixes.
- Test for commit r308474, now that it's possible to actually test it.
2011-02-19 01:28:37 +00:00
Gustavo André dos Santos Lopes
9bbc114b59 - Classes that implement stream wrappers can define a method called
stream_truncate that will respond to truncation, e.g. through ftruncate.
  Closes feature request #53888.
2011-02-17 00:25:32 +00:00
Gustavo André dos Santos Lopes
257b994fdc - Changed default serialize_precision from 100 to 17, as discussed in internals. 2011-02-08 21:40:51 +00:00
Gustavo André dos Santos Lopes
077ee3a879 - Fixed bug #53959 (reflection data for fgetcsv out-of-date). 2011-02-08 16:29:34 +00:00
Ilia Alshanetsky
6186c16449 Fixed parse_url() tests to account for port validation 2011-02-06 17:23:57 +00:00
Gustavo André dos Santos Lopes
426f31e790 - Changed port validation introduced in commit #308035 to consider
negative ports and ports > 65535 as invalid.
  The tests that fail due to #308035 in the standard ext were not
  fixed. If the behavior in those tests turns out to be the
  desirable one, both this commit and #308035 ought to be reverted
  or at least adapted.
2011-02-05 22:37:00 +00:00
Ilia Alshanetsky
109b8e99e0 Fixed bug #53924 (FILTER_VALIDATE_URL doesn't validate port number). 2011-02-04 21:41:15 +00:00
Adam Harvey
2b4fb94e8e Fix bug #53913 (Streams functions assume HAVE_GLOB is defined). Patch by Chris
Jones.
2011-02-04 10:47:41 +00:00
Scott MacVicar
ca378eefa0 Add header_register_callback(), allows a userland function
to be called as all the headers are being sent and after all
of the default headers have been merged.

headers_list(), header_remove() and header() can all be used
inside the callback.

<?php

header('Content-Type: text/plain');
header('X-Test: foo');

function foo() {
  foreach (headers_list() as $header) {
    if (strpos($header, 'X-Powered') !== false) {
      header_remove('X-Powered-By');
    }
    header_remove('X-Test');
  }
}

$result = header_register_callback('foo');
echo "a";
2011-02-03 16:47:28 +00:00
Gustavo André dos Santos Lopes
1f49902999 - Fixed bug #53903 (userspace stream stat callback does not separate the
elements of the returned array before converting them).
2011-02-01 22:55:17 +00:00
Gustavo André dos Santos Lopes
c6ccc43285 - Fixed several comparisons that always result in true of false
due to signedness of one of the operands, either by removing
  dead code or fixing it.
- Thrown some comments around in php_stream_get_record.
- See http://www.mail-archive.com/internals@lists.php.net/msg49525.html
2011-02-01 18:11:16 +00:00
Dmitry Stogov
aa5055ba0f Added ability to connect to HTTPS sites through proxy with basic authentication using stream_context/http/header/Proxy-Authorization 2011-01-28 10:33:47 +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
78b60fcc97 Fixed compiler warning 2011-01-17 13:44:54 +00:00
Ilia Alshanetsky
a6a4751a88 Fixed variable re-declaration 2011-01-12 13:21:27 +00:00
Stefan Marr
478e5d1dd0 Added trait_exists() [TRAITS] [DOC]
- also changed class_exists() to return false for traits
- added related tests, and get_declared_traits() tests in ext/s/t/co
2011-01-09 19:57:41 +00:00
Rui Hirokawa
b374b41c6f added an option to http_build_query for RFC-3986
based url-encoding.
2011-01-08 02:21:44 +00:00
Pierre Joye
7b330e0e96 - missing add header 2011-01-07 14:57:51 +00:00
Felipe Pena
0203cc3d44 - Year++ 2011-01-01 02:17:06 +00:00
Gustavo André dos Santos Lopes
c6af7fc7f4 - Do not violate php_stream abstraction and use php_stream_tell instead of accessing the field .position.
#Should have no behavior changes.
2010-12-30 19:00:19 +00:00
Moriyoshi Koizumi
bbf3d43c1e * Refactor zend_multibyte facility.
Now mbstring.script_encoding is superseded by zend.script_encoding.
2010-12-19 16:36:37 +00:00
Jani Taskinen
ddf42dde2f - Update credits 2010-12-17 10:48:47 +00:00
Jani Taskinen
116e097287 - Revert 2010-12-17 10:43:52 +00:00
Hannes Magnusson
fc146c7352 Throw some credit around 2010-12-17 10:15:21 +00:00
Ilia Alshanetsky
844a58dc3c Fixed compiler warning 2010-12-14 17:01:54 +00:00
Ilia Alshanetsky
1f13d55895 Fixed bug #48607 (fwrite() doesn't check reply from ftp server before exiting) 2010-12-13 16:53:26 +00:00
Gustavo André dos Santos Lopes
52ea9da401 - Fixed bug #53530 (php_crypt tests gcc version incorrectly due to
typo) (vapier at gmail dot com)
2010-12-12 22:27:02 +00:00
Ilia Alshanetsky
9696faa790 Fixed bug 48484 (array_product() always returns 0 for an empty array). 2010-12-12 19:27:04 +00:00
Pierre Joye
a7ffa09e18 - add PHP_INSTALL_HEADERS to all parts (core&exts) exposing headers, generate the install-headers cmd 2010-12-11 22:18:10 +00:00
Gustavo André dos Santos Lopes
4fe751e8e4 - Tests and small parsing correction for php://fd wrapper 2010-12-11 02:08:02 +00:00
Gustavo André dos Santos Lopes
f73258223d - Implemented request #26158/bug #53465 (open arbitrary file descriptor with fopen) 2010-12-11 01:52:13 +00:00
Dmitry Stogov
755c2cd0d8 Removed compile time dependency from ext/mbstring 2010-12-08 11:27:34 +00:00
Felipe Pena
74484db1aa - Fixed test (Eyal Teutsch) 2010-12-04 15:57:08 +00:00
Jani Taskinen
17d1b1310e - Fix test 2010-12-03 16:02:47 +00:00
Adam Harvey
d2263d482d Implement FR #53457 (number_format must support more than one character for
thousands separator).
2010-12-03 10:10:08 +00:00
Gustavo André dos Santos Lopes
22d461df62 - Implemented bug/request #53427 - stream_select doesn't preserve the
keys. This cannot be backported to PHP 5.3 due to a BC break. See
  UPGRADING for more information.
2010-11-30 16:22:48 +00:00
Dmitry Stogov
67e8d44aa4 Removed unnecessary dependencies 2010-11-29 08:56:21 +00:00
Ilia Alshanetsky
4bc5cac317 Fixed bug #52327 (base64_decode() improper handling of leading padding in strict mode) 2010-11-26 20:59:13 +00:00
Adam Harvey
9a1568c113 Implemented FR #53407 (make scandir()'s directory sorting optional). 2010-11-26 09:52:28 +00:00
Ilia Alshanetsky
8f85ff3dd6 Fixed bug #53304 (quot_print_decode does not handle lower-case hex digits) 2010-11-25 21:38:06 +00:00
Gustavo André dos Santos Lopes
1d5eff07f3 - Fixed bug #53403 (use of unitialized values). Fixes the fix for bug #46587.
- Added test for bug #46587.
2010-11-25 16:44:20 +00:00
Dmitry Stogov
ab93d8c621 Added multibyte suppport by default. Previosly php had to be compiled with --enable-zend-multibyte. Now it can be enabled or disabled throug zend.multibyte directive in php.ini 2010-11-24 05:41:23 +00:00
Felipe Pena
7c541356f3 - Fixed compile warnings 2010-11-23 21:49:18 +00:00
Ilia Alshanetsky
09b69ee8ad Fixed bug #46587 (mt_rand() does not check that max is greater than min). 2010-11-23 13:09:15 +00:00
Felipe Pena
897f0b4c27 - Fixed extract() to do not overwrite $GLOBALS and $this when using EXTR_OVERWRITE.
patch by: jorto at redhat dot com
2010-11-19 22:06:44 +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
Kalle Sommer Nielsen
1fed0e5a84 Kill some more constness warnings in com_dotnet/phar/standard 2010-11-19 16:03:00 +00:00
Pierrick Charron
71dfe80e05 Remove unused variables 2010-11-17 17:55:18 +00:00
Jani Taskinen
4d13e04ae2 - Fixed wrong type causing crash (in php-cgi -i and phpinfo(); when doing HTML output) 2010-11-17 11:56:48 +00:00
Felipe Pena
0c7c01a480 - Updated QA and User note maintainers credits 2010-11-16 23:02:00 +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
e10454ded8 - Fixed bug #52820 (writes to fopencookie FILE* not commited when seeking the
stream).
2010-11-15 18:22:52 +00:00
Felipe Pena
565c484222 - Moved leak_variable() to zend_builtin_functions.c (Gustavo) 2010-11-15 17:06:27 +00:00
Gustavo André dos Santos Lopes
c3727cc862 - Added test relative to the fix in rev #305346. 2010-11-15 14:51:26 +00:00
Gustavo André dos Santos Lopes
3a02cfb675 - Added leak_variable() function.
- Added mechanism to force outer streams to be closed before their inner ones.
- Fixed temp:// streams only handling correctly (through an ad hoc mechanism)  reverse closing order
  when the  inner stream is of type memory.
2010-11-15 03:05:32 +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
Adam Harvey
6cb7ea4089 Implemented FR #53264 (Add fputcsv method to SplFileObject). 2010-11-09 15:07:50 +00:00
Patrick Allaert
e2e76d40e3 - Fixed tests not passing under windows because of the directory separator
difference (thanks Eyal Teutsch for reporting)
2010-11-08 09:29:15 +00:00
Felipe Pena
83ebbc36a1 - Fixed bug #53248 (rawurlencode RFC 3986 EBCDIC support misses tilde char).
patch by: Justin Martin (frozenfire@php)
2010-11-07 12:59:22 +00:00
Gustavo André dos Santos Lopes
b7d69a4952 - Added CLEAN section to recently committed test. 2010-11-05 01:56:28 +00:00
Gustavo André dos Santos Lopes
0a35133524 - Fixed bug #53241 (stream casting that relies on fdopen/fopencookie fails
with streams opened with, inter alia, the 'xb' mode).
2010-11-05 01:29:08 +00:00
Felipe Pena
5d584d4737 - Fixed bug #47643 (array_diff() takes over 3000 times longer than php 5.2.4) 2010-11-01 17:16:47 +00:00
Gustavo André dos Santos Lopes
5c09767d4b - Fixed bug #53198 (changing INI setting "from" with ini_set did not have any
effect)
#Made "from" a proper INI setting and bound it to a global variable.
#Previously, it was simply read from the hash table with the parsed ini file
#by using cfg_get_string (I wonder why this mechanism still exists...)
2010-10-29 15:29:15 +00:00
Gustavo André dos Santos Lopes
e69b1ff2c4 - Fixed bug #49687 (utf8_decode vulnerabilities and deficiencies in the number
of reported malformed sequences). (Gustavo)
#Made a public interface for get_next_char/utf-8 in trunk to use in utf8_decode.
#In PHP 5.3, trunk's get_next_char was copied to xml.c because 5.3's
#get_next_char is different and is not prepared to recover appropriately from
#errors.
2010-10-27 18:13:25 +00:00
Ilia Alshanetsky
18fa045e75 Code cleanup & CS 2010-10-25 16:46:55 +00:00
Gustavo André dos Santos Lopes
d46efce418 - A BOM had slipped in a commit and broke the build under GCC. Fixed. 2010-10-24 23:51:40 +00:00
Gustavo André dos Santos Lopes
20e2c5fc33 - Fixed uninitialized and 1 character short local variable. 2010-10-24 21:19:04 +00:00
Gustavo André dos Santos Lopes
03de44f23e - Removed out-of-date comments and one enum constant from html_tables.h and its generator.
- Other minor aesthetic improvements in the generator.
2010-10-24 19:05:21 +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
3943351e6a - [DOC] Reverted rev #304382 and rev #304380, as I figured out a way to
fix the erratic behavior without breaking backwards compatibility. Namely,
  $offset retains SEEK_SET behavior but actually SEEK_CUR is passed to
  _php_stream_seek, if possible, by moving the offset stream->position bytes.
- Addresses bug #53006.
2010-10-14 03:15:15 +00:00
Gustavo André dos Santos Lopes
fbd3eb6439 - Ooops. Fixed tests for rev #304380 (stream_get_contents() related) and a small error. 2010-10-14 02:39:21 +00:00
Gustavo André dos Santos Lopes
1ee489f00e - [DOC] Changed stream_get_contents() so that the offset is relative to the
current position (seek with SEEK_CUR, not SEEK_SET). Only positive values are
  allowed. This breaking change is necessary to fix the erratic behavior in
  streams without a seek handlder. Addresses bug #53006.
#Note that the example on the doc page for stream_get_contents() may fail
#without this change.
#This change is also in the spirit of stream_get_contents(), whose description
#is "Reads all remaining bytes (or up to maxlen bytes) from a stream...".
#Previous behavior allowed setting the file pointer to positions before the
#current one, so they wouldn't be "remaining bytes". The previous behavior was
#also inconsistent in that it allowed an moving to offset 1, 2, ..., but not 0.
2010-10-14 02:03:18 +00:00
Kalle Sommer Nielsen
890d89fdb8 * Added version info for Windows XP Starter/Tablet PC/Media Center editions
* Fixed typo: "Unknow" -> "Unknown"
* Removed useless Win9x version info

# I will merge this to 5.3 once I have analyzed a possible bug
# (and hopefully fixed) why Server 2008 is reported as unknown
2010-10-12 17:34:25 +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
f4a896c209 - PHP uses a big endian representation when it converts the
code unit sequences to integers so as to store the entity
  maps. Code in traverse_for_entities assumed little
  endian. Fixed.
  (in practice, due to the absence of unicode and entity
  mappings for multi-byte encodings -- except UTF-8 --, this
  doesn't matter, so the relevant code was commented out for
  performance reasons).
2010-10-11 22:26:10 +00:00
Gustavo André dos Santos Lopes
17dc181117 - Removed redundant local variable in dns_get_record.
- (5.3) Fixed bug in the Windows implementation of
  dns_get_record, where the two last parameters wouldn't be
  filled unless the type were DNS_ANY (Gustavo).
2010-10-11 03:07:03 +00:00
Gustavo André dos Santos Lopes
91f64706c2 - [DOC] Added a 5th parameter to dns_get_record, a boolean that tells whether to activate
"raw mode". In this mide, $type (2nd parameter) is the numeric type of the record, and
  the responses are not parsed -- the "type" element will be numeric and there will be
  a "data" element with the raw data of the response buffer, which the programmer will
  have to parse.
- Fixed bug in the Win32 implementation of dns_get_record, where the 3rd and 4th arguments
  would only be filled if the 2nd ($type) was DNS_ANY.
- [DOC] The 3rd and 4th parameters can now be NULL (changed their arginfo).
2010-10-11 02:48:23 +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
b1d5cf7348 - Added numeric record type and raw data for unknown DNS
record types.
2010-10-08 23:02:37 +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
Patrick Allaert
0ef60a4544 Fixed typo in tests (thx Eyal) 2010-10-05 10:42:13 +00:00
Kalle Sommer Nielsen
60f0599393 Skipped this one 2010-10-04 20:33:58 +00:00
Kalle Sommer Nielsen
f2552322e7 Revert for now 2010-10-04 20:26:50 +00:00
Michael Maclean
b30b0916bd Un-deprecate mt_rand and deprecate mt_getrandmax 2010-10-04 20:20:30 +00:00
Dmitry Stogov
d3b6fbe39b Fixed bug #52940 (call_user_func_array still allows call-time pass-by-reference). (cataphract@php.net) 2010-10-01 11:53:04 +00:00
Kalle Sommer Nielsen
d252a45e82 * Added PHP_RAND_MAX and PHP_MT_RAND_MAX constants
* Deprecated getrandmax() and mt_getrandmax() in favour of the new constants

# We should promote constants for static data like such instead of function calls
# maybe this was just an old left-over
2010-10-01 09:18:44 +00:00
Kalle Sommer Nielsen
1ac15b2f8e Added TSRMLS macros into php_get_current_user() 2010-09-23 04:13:36 +00:00