Commit Graph

31224 Commits

Author SHA1 Message Date
Andrey Hristov
403d4fbbff Export new calls 2013-02-07 18:29:19 +01:00
Andrey Hristov
49e3d91ad9 Add the name in a comment at commit/rollback, if provided 2013-02-07 16:24:08 +01:00
Andrey Hristov
9fb0dba4be Add support for commit and rollback options.
Add support for explicitly starting a transaction - modes also available.
Using the API makes the life of load balancer mysqlnd plugins easier/possible.
2013-02-07 16:05:27 +01:00
Dmitry Stogov
0547a36e95 Merge branch 'PHP-5.4' into PHP-5.5
* PHP-5.4:
  Disabled external entities loading
2013-02-07 16:09:49 +04:00
Dmitry Stogov
1a18e84822 Merge branch 'PHP-5.3' into PHP-5.4
* PHP-5.3:
  Disabled external entities loading
2013-02-07 16:09:12 +04:00
Dmitry Stogov
afe98b7829 Disabled external entities loading 2013-02-07 16:07:05 +04:00
Boris Lytochkin
6c5c04888d Merge branch 'PHP-5.4' into PHP-5.5
* PHP-5.4:
  fix bug #64124 (IPv6 malformed)
2013-02-07 14:49:45 +04:00
Boris Lytochkin
ed6763420c fix bug #64124 (IPv6 malformed)
hostname returned from zend_parse_parameters() was modified in
netsnmp_session_init() that caused imput parameter modification along with
unpredictable changes when parameter is a constant sctring.

One typo in comment was fixed.
2013-02-07 14:48:28 +04:00
Dmitry Stogov
4730bc8680 Merge branch 'PHP-5.4' into PHP-5.5
* PHP-5.4:
  Check if soap.wsdl_cache_dir confirms to open_basedir
2013-02-07 13:12:01 +04:00
Dmitry Stogov
702b436ef4 Merge branch 'PHP-5.3' into PHP-5.4
* PHP-5.3:
  Check if soap.wsdl_cache_dir confirms to open_basedir
2013-02-07 13:10:04 +04:00
Dmitry Stogov
cc4c318b0c Check if soap.wsdl_cache_dir confirms to open_basedir 2013-02-07 13:04:47 +04:00
Anatoliy Belsky
215da6057f make libvpx optional 2013-02-06 16:22:27 +01:00
Andrey Hristov
c311884e5b Merge branch 'PHP-5.4' into PHP-5.5 2013-02-04 14:28:23 +01:00
Andrey Hristov
740b823be8 check the validity of the parameter 2013-02-04 14:27:56 +01:00
Andrey Hristov
643ce95b5b Merge branch 'PHP-5.4' of ssh://git.php.net/php-src into PHP-5.4 2013-02-04 14:15:58 +01:00
Andrey Hristov
cb8b2dd2e0 Merge branch 'PHP-5.5' of ssh://git.php.net/php-src into PHP-5.5 2013-02-04 14:15:29 +01:00
Xinchen Hui
53159f6e05 implicit declaration of zend_throw_exception 2013-02-04 14:20:50 +08:00
Felipe Pena
7369a68379 - Fixed ZTS build 2013-02-03 10:57:31 -02:00
Martin Jansen
6186b67600 Add option to specific the expected separator character. 2013-02-03 13:23:54 +01:00
Martin Jansen
0661d03eba There is no need to use memchr() for comparisons in these places. 2013-02-03 13:23:53 +01:00
Martin Jansen
2f33443883 ext/filter support for validating MAC addresses. 2013-02-03 13:23:53 +01:00
Gustavo Lopes
8771c265a4 Fix test on Windows.
Windows complains of invalid parameters because the socket is not bound.
The test expected the error to be EAGAIN/EWOULDBLOCK. Moved the call down,
after the socket is bound.
2013-02-03 02:03:00 +01:00
Gustavo Lopes
af1b90d62b Fix bug and hopefully build on WinSDK 6.1
There build was failing on rmtools on the sockets extension for two reasons:

  1. IPV6_TCLASS and IPV6_RECVTCLASS not being defined. These are probably
  recent additions to SDK. Windows 7 doesn't event seem to have complete
  support for IPV6_TCLASS, not accepting in WSASendMsg(). The parts that
  needed this constant were not guarded by #ifdefs. They are now.

  2. The constants EWOULDBLOCK and EINPROGRESS not being defined. These
  were only defined in php_network.h, outside of the extension, and not
  all source files included this header. Nevertheless, a macro defined in
  php_sockets.h needed these constants. When this macro was used in files
  that did not include php_network.h, the compilation would fail.
  Surprisingly, the build did not fail when using the 7.1 Windows SDK
  (more likely, the CRT headers used in VC10), as somehow errno.h was
  being included through some other standard header. This would make the
  constant EWOULDBLOCK defined; however, it would be defined to the wrong
  value. In the winsock context, WSAEWOULDBLOCK should be used instead.
  Because we have difficulty using Windows-only constants in the code, we
  (re)define EWOULDBLOCK to WSAEWOULDBLOCK. This has the obvious
  disavantage we may miss problems like this again in the future.
2013-02-03 01:36:14 +01:00
Gustavo Lopes
03b1da5d7a php_strerror in ext/sockets renamed in 5.5 2013-02-02 18:39:47 +01:00
Gustavo Lopes
0110662ae9 Move macro back to .c file
Because it depends on a static function on that .c file.
2013-02-02 18:32:38 +01:00
Gustavo Lopes
b11777ca2a Merge branch 'sendrecvmsg_rebase_55' into PHP-5.5
* sendrecvmsg_rebase_55: (31 commits)
  Fix multicast.c not defining errno on Windows
  Fix non-Windows build
  send/recvmsg() support for Windows
  Remove some pre-vista code
  Revert "Payload of HOPLIMIT/TCLASS are 8-bit"
  Ensure memory is initialized
  Payload of HOPLIMIT/TCLASS are 8-bit
  Fix buf in string -> int conv.
  Build fixes; accept names for if_index
  Refactoring: move stuff to new conversions.c
  Support sticky IPV6_PKTINFO
  Rename some functions for consistency
  Destroy ancillary registry on shutdown
  Move some multicast stuff to multicast.c
  Fix mcast_ipv6_send test
  Check return of fstat()
  Fix build on Mac OS X
  Register extra MSG_* constants
  Add test for CMSG_RIGHTS
  Add test for CMSG_CREDENTIALS message
  ...
2013-02-02 16:50:38 +01:00
Gustavo Lopes
e2fc17c833 Fix multicast.c not defining errno on Windows
Small cleanups in includes as well.
2013-02-02 16:38:09 +01:00
Gustavo Lopes
608254fa57 Fix non-Windows build 2013-02-02 16:38:09 +01:00
Gustavo Lopes
7066cc7267 send/recvmsg() support for Windows 2013-02-02 16:38:09 +01:00
Gustavo Lopes
95f8d34f9c Revert "Payload of HOPLIMIT/TCLASS are 8-bit"
This reverts commit 61a5ec7381ba5388a52926779fe3f58af0caea83.

I checked Linux and OpenBSD and both use integers to write the
IPV6_TCLASS messages and they don't force any endianness. This is
despite RFC 3542 explicitly saying the first byte of cmsg_data will
have the result. In any case, it doesn't make any difference in
little-endian archs.
2013-02-02 16:38:08 +01:00
Gustavo Lopes
5c0a8b1a2a Ensure memory is initialized 2013-02-02 16:38:08 +01:00
Gustavo Lopes
f10baf14ed Payload of HOPLIMIT/TCLASS are 8-bit 2013-02-02 16:38:08 +01:00
Gustavo Lopes
c846fcef68 Fix buf in string -> int conv. 2013-02-02 16:38:08 +01:00
Gustavo Lopes
bd580db373 Build fixes; accept names for if_index 2013-02-02 16:38:08 +01:00
Gustavo Lopes
4414b33abd Refactoring: move stuff to new conversions.c 2013-02-02 16:38:08 +01:00
Gustavo Lopes
66ea024587 Support sticky IPV6_PKTINFO 2013-02-02 16:38:08 +01:00
Gustavo Lopes
b18bd8904e Rename some functions for consistency 2013-02-02 16:38:07 +01:00
Gustavo Lopes
8fb1aa6184 Destroy ancillary registry on shutdown 2013-02-02 16:38:07 +01:00
Gustavo Lopes
51394f76a5 Move some multicast stuff to multicast.c 2013-02-02 16:38:07 +01:00
Gustavo Lopes
3e515a2fd9 Fix mcast_ipv6_send test 2013-02-02 16:38:07 +01:00
Gustavo Lopes
5bf7b08efd Check return of fstat() 2013-02-02 16:38:07 +01:00
Gustavo Lopes
190a0ed713 Fix build on Mac OS X
By deactivating unsupported features on this OS.
2013-02-02 16:38:07 +01:00
Gustavo Lopes
51e65667f5 Register extra MSG_* constants 2013-02-02 16:38:06 +01:00
Gustavo Lopes
74cf40c2fd Add test for CMSG_RIGHTS 2013-02-02 16:38:06 +01:00
Gustavo Lopes
7fc4671df9 Add test for CMSG_CREDENTIALS message 2013-02-02 16:38:06 +01:00
Gustavo Lopes
a85d7f28f6 Added support for AF_UNIX messages
Added constants: SCM_RIGHTS, SCM_CREDENTIALS and SO_PASSCRED.

The function socket_cmsg_space() was modified to support message types with
variable size. Its new signature is:
int socket_cmsg_space(int $level, int $type, int $n)
where $n is the number of repetable elements that the message is composed of.
2013-02-02 16:38:06 +01:00
Gustavo Lopes
131245474b Redactor to expose socket_import_file_descriptor() 2013-02-02 16:38:06 +01:00
Gustavo Lopes
b3effa60c7 Improve imported socket family detection
Also added constant SO_FAMILY.
2013-02-02 16:38:06 +01:00
Gustavo Lopes
17540788ad Added missing return statements 2013-02-02 16:38:06 +01:00
Gustavo Lopes
0f849fe2aa Add test and slightly tweak another 2013-02-02 16:38:06 +01:00
Gustavo Lopes
73ab2385cb Support for IPV6_HOPLIMIT and IPV6_TCLASS 2013-02-02 16:38:05 +01:00
Gustavo Lopes
b27c22d627 Fix bug in from_zval_write_control_array() 2013-02-02 16:38:05 +01:00
Gustavo Lopes
b06f00477c Fix bug converting zval sockaddr
The bug ocurred when the family was not specified but was instead guessed.
2013-02-02 16:38:05 +01:00
Gustavo Lopes
806a6e6399 Add IPV6_UNICAST_HOPS option constant. 2013-02-02 16:38:05 +01:00
Gustavo Lopes
eb4b1f6d46 Add test for recvmsg() 2013-02-02 16:38:05 +01:00
Gustavo Lopes
5e51c85143 Wrap recvmsg() and sendmsg()
This introduces two new functions:

int socket_recvmsg(resource $socket, array &$msghdr, int $flags)
int socket_sendmsg(resource $socket, array $msghdr, int $flags)

The arrays representing struct msghdr follow the native counterpart
closely: structs are mapped to arrays, fields to array elements whose
key is the name of the field without the prefix (e.g. "name" instead
of "msg_name") and array are mapped to sequential numeric PHP arrays.

Right now the only type of ancillary data supported is fot the
level/type pair IPPROTO_IPV6/IPV6_PKTINFO.

I also refactored out the name resolution functions and made
sockets_strerror() a global function.
2013-02-02 16:38:05 +01:00
Gustavo Lopes
ac47448abb Ignore warnings on EAGAIN/EWOULDBLOCK/EINPROGRESS
See bug #63570
2013-02-02 15:43:05 +01:00
Gustavo Lopes
e8f0e863ae Merge branch 'PHP-5.4' into PHP-5.5
* PHP-5.4:
  Fix wrong blocking state being set
  Fix tests (Windows)
  Remove a Windows only warning
  Move & improve PHP_SOCKET_ERROR def
  Move some declarations to sockets.c
  Fix overbroad skipif include
2013-02-02 15:32:03 +01:00
Gustavo Lopes
ac6342bbc0 Fix wrong blocking state being set 2013-02-02 15:29:18 +01:00
Gustavo Lopes
40663ede83 Fix tests (Windows) 2013-02-02 15:29:18 +01:00
Gustavo Lopes
9283b8aea4 Move & improve PHP_SOCKET_ERROR def 2013-02-02 15:29:11 +01:00
Gustavo Lopes
97d656fc82 Move some declarations to sockets.c 2013-02-02 14:06:23 +01:00
Gustavo Lopes
a100c25ea4 Fix overbroad skipif include 2013-02-02 14:06:23 +01:00
Andrey Hristov
642cff08c1 Merge branch 'PHP-5.4' into PHP-5.5 2013-02-01 17:22:21 +01:00
Andrey Hristov
f45a85c386 add new charset, from MySQL 5.6 2013-02-01 17:21:50 +01:00
Anatoliy Belsky
ac18c318dc fix enchant compilation under vc11 2013-02-01 12:43:26 +01:00
Johannes Schlüter
9c821ec7a1 Merge branch 'PHP-5.4' into PHP-5.5 2013-02-01 12:32:00 +01:00
Johannes Schlüter
b09f5a4f56 Fix typo in error message 2013-02-01 12:31:07 +01:00
Remi Collet
4608341303 Merge branch 'PHP-5.4' into PHP-5.5
* PHP-5.4:
  Mark this test as requiring internet connecion.
2013-01-31 14:39:42 +01:00
Remi Collet
9d75bf35e9 Mark this test as requiring internet connecion. 2013-01-31 14:38:39 +01:00
Remi Collet
4ad5c82016 Merge branch 'PHP-5.4' into PHP-5.5
* PHP-5.4:
  Fix failed test: sys_errlist[116] have changed on recent glibc (Fedora 18) old: Stale NFS file handle new: Stale file handle
2013-01-31 14:25:43 +01:00
Remi Collet
f7362232f4 Fix failed test: sys_errlist[116] have changed on recent glibc (Fedora 18)
old: Stale NFS file handle
new: Stale file handle
2013-01-31 14:22:56 +01:00
Lars Strojny
6b48a86a17 Merge branch 'PHP-5.4' into PHP-5.5 2013-01-31 00:33:46 +01:00
Lars Strojny
836a2b1131 NEWS entry new OpenSSL option [doc] 2013-01-31 00:32:44 +01:00
Daniel Lowrey
4a01ddfb55 Added ssl context option, "disable_compression"
The CRIME attack vector exploits TLS compression. This patch adds a stream context option
allowing servers to disable TLS compression for versions of OpenSSL >= 1.0.0 (which first
introduced the SSL_OP_NO_COMPRESSION option). A summary rundown of the CRIME attack can
be found at https://community.qualys.com/blogs/securitylabs/2012/09/14/crime-information-leakage-attack-against-ssltls

Thanks to @DaveRandom for pointing out the relevant section of code.
2013-01-31 00:31:10 +01:00
Nikita Popov
f540e086e2 Fixed bug #64106: Segfault on SplFixedArray[][x] = y when extended 2013-01-30 20:40:02 +01:00
Nikita Popov
bb4d11b405 Merge branch 'PHP-5.3' into PHP-5.4 2013-01-30 20:25:59 +01:00
Nikita Popov
321f4f18e5 Fixed bug #64106: Segfault on SplFixedArray[][x] = y when extended 2013-01-30 20:23:39 +01:00
Stanislav Malyshev
15e76e6a98 forgot this file :( 2013-01-29 15:02:55 -08:00
Stanislav Malyshev
748b37654d complete zts fix 2013-01-29 12:12:34 -08:00
Gustavo Lopes
3bedc8ec27 Fixed paramter count 2013-01-29 19:19:51 +01:00
Gustavo Lopes
9d1bdaa569 Make converter work on VS 2013-01-29 19:19:49 +01:00
Gustavo Lopes
1da67fc65e intl/converter in line w/ intl error handling 2013-01-29 19:06:15 +01:00
Gustavo Lopes
a721fe2b22 Fix zpp() call in intl/converter 2013-01-29 19:06:14 +01:00
Gustavo Lopes
ee6522bebf Write local err on intlcal_get_time_zone() failure 2013-01-29 19:06:14 +01:00
Gustavo Lopes
363fd6d6fb Improve ERROR.CONVENTIONS 2013-01-29 19:06:14 +01:00
Gustavo Lopes
b4ba46cb99 Fix arginfo of BreakIterator::getLocale 2013-01-29 19:06:14 +01:00
Gustavo Lopes
4badc0c071 intl: doc explaining error conventions 2013-01-29 19:06:14 +01:00
Sara Golemon
1faddd15d9 Add UConverter class (ICU's UConverter API)
RFC at http://wiki.php.net/rfc/uconverter
2013-01-29 19:05:14 +01:00
Stanislav Malyshev
489073b501 Merge branch 'PHp-5.4' into PHP-5.5
* PHp-5.4:
  Fix bug #62524, only follow redirects in file streams for 3xx HTTP statuses
2013-01-29 00:28:50 -08:00
Stanislav Malyshev
5382e156f9 Fix bug #62524, only follow redirects in file streams for 3xx HTTP statuses 2013-01-29 00:27:35 -08:00
Stanislav Malyshev
a9d013bb02 Implement fix for bug #46439 - add CURLFile class for safer uploads 2013-01-28 22:22:59 -08:00
Anatoliy Belsky
263a220997 allow for libpng 1.5.x 2013-01-28 13:23:31 +01:00
Gustavo Lopes
fc7b054c2d Merge branch 'PHP-5.4' into PHP-5.5
* PHP-5.4:
  Fix bug #64023 (__toString() & SplFileInfo)
2013-01-23 13:24:50 +01:00
Andrey Hristov
95346c017c fix valgrind warning 2013-01-22 16:48:39 +01:00
Gustavo Lopes
b8b3bb08b2 Merge branch 'bug64023' into PHP-5.4
* bug64023:
  Fix bug #64023 (__toString() & SplFileInfo)

Conflicts:
	Zend/zend_vm_def.h
	Zend/zend_vm_execute.h
2013-01-22 12:24:33 +01:00
Gustavo Lopes
aa0adce47d Fix bug #64023 (__toString() & SplFileInfo)
Defining a __toString() method was having no effect when concatenating
the object. This was because the cast_object() handler would ignore
__toString().

Using echo() directly would actually use __toString(), but this was a
bug: the ECHO handler would try zend_std_cast_object_tostring() before
cast_object(), but cast_object() should have priority as
zend_std_cast_object_tostring() assumes an object with a
zend_class_entry.
2013-01-22 11:33:29 +01:00
Xinchen Hui
e6bde1f8f6 Fix test related to change for #bug64007 and also fix in newInstanceArgs 2013-01-22 16:58:40 +08:00
Xinchen Hui
85fae636d0 Merge branch 'PHP-5.4' into PHP-5.5
Conflicts:
	ext/standard/var_unserializer.c
2013-01-21 11:42:16 +08:00
Xinchen Hui
86c1a26169 Merge fix of #62836 to ?.re, and regenerate ?.c 2013-01-21 11:35:22 +08:00
Xinchen Hui
f7b99c481d Fixed bug #64007 (There is an ability to create instance of Generator by hand).
Use get_constrctor instead of access of the ce->constructor directly
2013-01-19 17:01:57 +08:00
Gustavo Lopes
cd2b03d5ae Merge branch 'PHP-5.4' into PHP-5.5
* PHP-5.4:
  NEWS for bug #64011. See 77ee200
  Fix bug #64011 (get_html_translation_table())
  Fix News
2013-01-18 12:12:25 +01:00
Gustavo Lopes
77ee200097 Fix bug #64011 (get_html_translation_table())
get_html_translation_table() with encoding ISO-8859-1 and HTMLENTITIES
was broken. Only entities for characters U+0000 to U+0040 were being
included in the result.
2013-01-18 12:10:27 +01:00
Xinchen Hui
4eae087296 Fixed bug #63988 (Two Date tests fail) only for PHP-5.5 2013-01-18 15:49:36 +08:00
Felipe Pena
2f7aafe992 - Fixed ZTS build 2013-01-15 19:59:23 -02:00
Anatoliy Belsky
18e160411e Merge branch 'PHP-5.4' into PHP-5.5
* PHP-5.4:
  fixed build
  NEWS for bug #63893

Conflicts:
	NEWS
2013-01-15 22:39:49 +01:00
Anatoliy Belsky
9498cf6194 fixed build 2013-01-15 22:36:29 +01:00
Jille Timmermans
dba22c0864 Dereferencing process-handles no longer waits on those processes.
Implements FR #46487
2013-01-15 21:50:35 +01:00
Gustavo Lopes
1bd193ed36 Merge remote-tracking branch 'remotes/cataphract/strtr_wu94_55' into PHP-5.5
* remotes/cataphract/strtr_wu94_55:
  Fixed inconsequential bug in strtr()
  UPGRADING.INTERNALS: document zend_qsort_r
  Add zend_qsort_r & use it in strtr
  NEWS for bug #63893
  Remove _GNU_SOURCE, add local heap sort
  The compiler can figure this out
  Remove unused block
  strtr() with 2nd param array - optimization
  Refactoring, bugs & leaks
  Optimize strtr w/ 2nd arg array
2013-01-15 21:45:22 +01:00
Gustavo Lopes
93e35137aa Merge remote-tracking branch 'remotes/cataphract/strtr_wu94_54' into PHP-5.4
* remotes/cataphract/strtr_wu94_54:
  Fixed inconsequential bug in strtr()
  Remove _GNU_SOURCE, add local heap sort
  The compiler can figure this out
  Remove unused block
  strtr() with 2nd param array - optimization
  Refactoring, bugs & leaks
  Optimize strtr w/ 2nd arg array
2013-01-15 21:05:21 +01:00
Gustavo Lopes
88b82ae54d Merge branch 'strtr_wu94_54' into strtr_wu94_55 2013-01-15 17:26:24 +01:00
Gustavo Lopes
930ef9ddd6 Fixed inconsequential bug in strtr() 2013-01-15 17:25:59 +01:00
Andrey Hristov
5cfa916aad revert change. now it doesn't compile again...someone should fix ext/date... 2013-01-15 12:20:58 +01:00
Andrey Hristov
acc24d1f9e Use two dtors thus allow allocation based on the alloc model of the
connection.
2013-01-15 12:19:52 +01:00
Andrey Hristov
d377a266b2 plug a leak - forgot ot use the dtor already written 2013-01-15 11:32:44 +01:00
Andrey Hristov
22ba2b95ce Merge branch 'PHP-5.4' into PHP-5.5
Conflicts:
	NEWS
2013-01-15 11:06:59 +01:00
Adam Harvey
83864b470b Revert "Apply the fputcsv test fix to SplFileObject_fputcsv.phpt. Mea culpa."
This reverts commit 0510701474.
2013-01-15 17:37:21 +08:00
Adam Harvey
b1bf524140 Merge branch 'PHP-5.3' into PHP-5.4
* PHP-5.3:
  Revert "Update fputcsv() to escape all characters equally."
2013-01-15 17:35:34 +08:00
Adam Harvey
c077074c13 Revert "Update fputcsv() to escape all characters equally."
On second thoughts, while the behaviour _is_ broken, this isn't the right fix.

This reverts commit 9b5cb0e805.
2013-01-15 17:33:54 +08:00
Andrey Hristov
dc495bbe95 Merge branch 'PHP-5.5' of ssh://git.php.net/php-src into PHP-5.5 2013-01-15 10:05:54 +01:00
Andrey Hristov
1ff4352263 Add support for connect attributes, as of MySQL 5.6 2013-01-15 10:04:59 +01:00
Lars Strojny
eb40f73ca0 Bug #62489: dba_insert not working as expected 2013-01-15 09:30:44 +01:00
Adam Harvey
8bf937f9bf Merge branch 'PHP-5.4' into PHP-5.5
* PHP-5.4:
  Apply the fputcsv test fix to SplFileObject_fputcsv.phpt. Mea culpa.
2013-01-15 15:50:57 +08:00
Adam Harvey
0510701474 Apply the fputcsv test fix to SplFileObject_fputcsv.phpt. Mea culpa. 2013-01-15 15:49:52 +08:00
Xinchen Hui
4fa5c1d22d Merge branch 'PHP-5.4' into PHP-5.5 2013-01-15 15:33:26 +08:00
Xinchen Hui
3bc7490370 Merge branch 'PHP-5.4' of git.php.net:php-src into PHP-5.4 2013-01-15 15:32:42 +08:00
Xinchen Hui
4fcf4e0845 Fixed bug #57702 (Multi-row BLOB fetches) 2013-01-15 15:31:49 +08:00
Adam Harvey
ba32970710 Merge branch 'PHP-5.4' into PHP-5.5
* PHP-5.4:
  Update fputcsv() to escape all characters equally.
2013-01-15 15:26:25 +08:00
Adam Harvey
a4191b0aad Merge branch 'PHP-5.3' into PHP-5.4
* PHP-5.3:
  Update fputcsv() to escape all characters equally.
2013-01-15 15:24:21 +08:00
Adam Harvey
9b5cb0e805 Update fputcsv() to escape all characters equally.
At present, backslashes have special case handling within fputcsv(): when one
is encountered within a field that's being escaped, escaping stops until the
next instance of the enclosure character is hit.  This can result in malformed
CSV.

Fixes bug #43225 (fputcsv incorrectly handles cells ending in \ followed by ").
2013-01-15 15:17:45 +08:00
Lars Strojny
3ea2b73a30 Merge branch 'PHP-5.5' of git://github.com/php/php-src into PHP-5.5 2013-01-14 21:41:24 +01:00
Lars Strojny
c4de702d4e Merge branch 'PHP-5.4' into PHP-5.5 2013-01-14 21:36:28 +01:00
Lars Strojny
6a065876b9 Bug #52958: Segfault in PDO_OCI on cleanup after running a long testsuite. 2013-01-14 21:35:48 +01:00
Derick Rethans
c20911a850 Make DatePeriod support DateTimeImmutable as well.
If the start element is a DateTimeImmutable object, then all returned objects
are also DateTimeImmutable objects. If the start element is a DateTime object,
then all returned objects are DateTime objects.
2013-01-14 20:34:58 +00:00
Derick Rethans
a0618139c9 Fixed crash bug when the non-OO interface was used. 2013-01-14 20:34:58 +00:00
Derick Rethans
017b1f7fca Rename DateTimePoint to DateTimeImmutable. 2013-01-14 20:34:58 +00:00
Derick Rethans
a0bea9a1de Added another test to test the unmodified inherited methods. 2013-01-14 20:34:58 +00:00
Derick Rethans
3919d0adf7 Added a few missing TSRMLS_DC/TSRMLS_CC. 2013-01-14 20:34:58 +00:00
Derick Rethans
45a429200c Added a test case for DateTimePoint. 2013-01-14 20:34:57 +00:00
Derick Rethans
1cc61f0927 Implemented immutable DateTime objects as the DateTimePoint class. 2013-01-14 20:34:57 +00:00
Lars Strojny
92965b033a Bug #46408: Fix double formatting for PostgreSQL bound parameters 2013-01-14 21:23:52 +01:00
Lars Strojny
97157b376f Merge branch 'PHP-5.4' into PHP-5.5 2013-01-14 18:53:40 +01:00
Lars Strojny
bf9ad4e661 Support BITMAPV5HEADER in getimagesize(): https://en.wikipedia.org/wiki/BMP_file_format#DIB_header_.28bitmap_information_header.29 2013-01-14 18:52:38 +01:00
Lars Strojny
3ec2281298 Merge branch 'PHP-5.4' into PHP-5.5 2013-01-14 18:00:00 +01:00
Lars Strojny
1e9a3ed234 Fix bug #63916: PDO::PARAM_INT casts to 32bit int internally even on 64bit builds in pdo_sqlite 2013-01-14 17:59:11 +01:00
Lars Strojny
b16463a9fb Merge branch 'PHP-5.4' into PHP-5.5 2013-01-14 17:36:07 +01:00
Lars Strojny
99d087e5d4 Fixed bug #63921: sqlite3::bindvalue and relative PHP functions aren't using sqlite3_*_int64 API 2013-01-14 17:35:07 +01:00
Gustavo Lopes
22390d3393 Add zend_qsort_r & use it in strtr 2013-01-14 17:24:16 +01:00
Gustavo Lopes
1ce5a22589 Merge branch 'PHP-5.4' into PHP-5.5
Conflicts:
	NEWS
2013-01-14 17:19:23 +01:00
Gustavo Lopes
d7bac4f5ba Remove _GNU_SOURCE, add local heap sort 2013-01-14 17:06:52 +01:00
Ben Ramsey
3439a098a0 array_column: Removed array_pluck() alias 2013-01-14 10:04:14 -06:00
Gustavo Lopes
e5029ac40b The compiler can figure this out 2013-01-14 12:22:42 +01:00
Gustavo Lopes
93d1171c47 Remove unused block 2013-01-14 12:22:42 +01:00
Gustavo Lopes
cddbb98ada strtr() with 2nd param array - optimization
About a 1.25x speedup in my test script by writing the result string
only when a match is found and at the end instead of on each iteration.
2013-01-14 12:22:42 +01:00
Gustavo Lopes
2111ee3df5 Refactoring, bugs & leaks 2013-01-14 12:22:41 +01:00
Gustavo Lopes
ccf15cf2dc Optimize strtr w/ 2nd arg array
Fixes bug #63893: poor efficiency of strtr() using array with keys of
very different length.

The implementation is basically all new, which carries some risk with
it.

The algorithm is described in "A Fast Algorithm For Multi-Pattern
Searching" (1994) by Sun Wu and Udi Manber.
2013-01-14 12:22:41 +01:00
Xinchen Hui
be07f815f2 Use zend_unmangle_property_name_ex to save strlen 2013-01-14 17:08:21 +08:00
Ben Ramsey
a1876b6846 array_column: Set array_pluck as an alias for array_column 2013-01-11 17:09:34 -06:00
Ben Ramsey
5bc2854b37 array_column: Implement ability to specify an index column 2013-01-11 16:58:31 -06:00
Ben Ramsey
94d5b2519a Cleaning up a memory leak. 2013-01-11 14:16:20 -06:00
Ben Ramsey
20ab30339d array_column: Adding test for IS_OBJECT and converting object to string 2013-01-11 14:16:19 -06:00
Ben Ramsey
66a02eb25e array_column: Using add_next_index_zval() at nikic's recommendation. 2013-01-11 14:16:19 -06:00
Ben Ramsey
5f6b20a44d array_column: Improved tests 2013-01-11 14:16:19 -06:00
Ben Ramsey
e921d28ae3 array_column: Cleaning up, as recommended in pull request #56 comments 2013-01-11 14:16:19 -06:00
Ben Ramsey
10da6f00b8 Fixing typo in test for array_column() 2013-01-11 14:16:19 -06:00
Ben Ramsey
6a27b890e6 Simplify the code and use zend_hash_next_index_insert() 2013-01-11 14:16:19 -06:00
Ben Ramsey
dc4dfe8ae0 Adding test for columns not present in all rows for array_column(). 2013-01-11 14:16:19 -06:00
Ben Ramsey
a811e5b6f7 Adding tests for the negative results of array_column() 2013-01-11 14:16:19 -06:00
Ben Ramsey
9035a1ed24 Implement new array function array_column()
array_column() returns the values of the specified column from a
multi-dimensional array.
2013-01-11 14:16:19 -06:00
ULF WENDEL
f787e21ef5 Merge branch 'PHP-5.4' into PHP-5.5
* PHP-5.4:
  MySQL 5.6 EXPIRE PASSWORD flag tests
2013-01-10 14:53:46 +01:00
ULF WENDEL
36e88d78e6 MySQL 5.6 EXPIRE PASSWORD flag tests 2013-01-10 14:51:14 +01:00
Remi Collet
b3a934bdb3 Merge branch 'PHP-5.4' into PHP-5.5
* PHP-5.4:
  Fix test after fix for bug #63943 (Bad warning text from strpos() on empty needle) See commit c05ee74e7f
2013-01-10 11:18:25 +01:00
Remi Collet
f659ec108f Merge branch 'PHP-5.3' into PHP-5.4
* PHP-5.3:
  Fix test after fix for bug #63943 (Bad warning text from strpos() on empty needle) See commit c05ee74e7f
2013-01-10 11:17:53 +01:00
Remi Collet
dc9f0e70b7 Fix test after fix for bug #63943 (Bad warning text from strpos() on empty needle)
See commit c05ee74e7f
2013-01-10 11:14:38 +01:00
Andrey Hristov
846e506a3d Merge branch 'PHP-5.4' into PHP-5.5 2013-01-09 19:15:29 +01:00
Andrey Hristov
d430b5a4eb Add mysqli support - constants and checking in mysqli_options() for the
new constant for password expriration
2013-01-09 19:14:48 +01:00
Andrey Hristov
258c76eb41 backport handling of expired passwords in mysqlnd to 5.4 2013-01-09 18:58:29 +01:00
Andrey Hristov
1f7f8429af Merge branch 'PHP-5.4' into PHP-5.5
Conflicts:
	ext/mysqlnd/mysqlnd.c
2013-01-09 18:40:57 +01:00
Andrey Hristov
bcd278ad7f fix compilation error after merge 2013-01-09 18:39:59 +01:00
Andrey Hristov
cb6071ef54 Merge branch 'PHP-5.4' into PHP-5.5
Conflicts:
	ext/mysqlnd/mysqlnd.c
2013-01-09 18:30:56 +01:00
Andrey Hristov
6a6ec195ac Merge branch 'PHP-5.3' into PHP-5.4 2013-01-09 18:27:50 +01:00
Andrey Hristov
12e759c2ea Use during connect the flags set with set_client_option() 2013-01-09 18:27:06 +01:00
Andrey Hristov
ddcb67d446 support for password expiration in mysqlnd, through a flag 2013-01-09 15:33:07 +01:00
Andrey Hristov
b8a369f522 Add new constants 2013-01-09 14:50:43 +01:00
Xinchen Hui
6deb8361f3 Merge branch 'PHP-5.4' into PHP-5.5 2013-01-09 10:57:47 +08:00
Xinchen Hui
15aaa9c660 Merge branch 'PHP-5.3' into PHP-5.4 2013-01-09 10:54:23 +08:00
Xinchen Hui
c05ee74e7f Fixed bug #63943 (Bad warning text from strpos() on empty needle) 2013-01-09 10:53:20 +08:00
Andrey Hristov
cde53e7fcd fix different values of mysqli_stmt_affected_rows between libmysql
and mysqlnd (in favor of libmysql) before execute and after prepare()
2013-01-07 16:36:21 +01:00
Pierre Joye
f4142a92b2 Merge branch 'PHP-5.4' into PHP-5.5
* PHP-5.4:
  - fix the fix for bug #50524
2013-01-07 13:04:29 +01:00
Pierre Joye
a71e91626a Merge branch 'PHP-5.3' into PHP-5.4
* PHP-5.3:
  - fix the fix for bug #50524
2013-01-07 13:04:04 +01:00
Pierre Joye
c0fae054c9 - fix the fix for bug #50524 2013-01-07 13:03:12 +01:00
Anatoliy Belsky
8a481c711a fix windows build 2013-01-06 18:37:26 +01:00
Derick Rethans
98331c89a1 Merge branch 'PHP-5.5' of git.php.net:/php-src into PHP-5.5 2013-01-06 15:10:16 +00:00
Derick Rethans
4ff088d061 Merge branch 'PHP-5.4' into PHP-5.5 2013-01-06 15:07:25 +00:00
Derick Rethans
ba35ae32b7 Merge branch 'PHP-5.3' into PHP-5.4 2013-01-06 15:07:13 +00:00
Martin Jansen
371372714d Add unit test for mail.log ini setting. 2013-01-06 15:04:27 +01:00
Martin Jansen
4a3bf25e3f Add a timestamp to the mail log.
This patch is loosely based on the one in bug #52126 but instead of
using a UNIX timestamp it uses the date format also being used by
error_log et al.
2013-01-06 15:04:19 +01:00
Derick Rethans
ff9c1b12ff Fixed bug #55397: Comparsion of incomplete DateTime causes SIGSEGV. 2013-01-06 13:39:34 +00:00
Lars Strojny
9934efff5f Merge branch 'PHP-5.4' into PHP-5.5 2013-01-06 14:10:07 +01:00
Lars Strojny
d7da1aa694 Coding style, ANSI C compatibility 2013-01-06 14:08:23 +01:00
Xinchen Hui
742b0e5b92 Merge branch 'PHP-5.5' of git.php.net:php-src into PHP-5.5 2013-01-06 10:23:51 +08:00
Xinchen Hui
cbb5d42b9b Merge branch 'PHP-5.4' into PHP-5.5 2013-01-06 10:23:21 +08:00
Lars Strojny
ec2fff80e7 Bug #23955: allow specifiy max age for setcookie() 2013-01-06 03:22:44 +01:00
Xinchen Hui
a426e0b050 bump year 2013-01-06 10:22:15 +08:00
Xinchen Hui
a3a699e090 Merge branch 'PHP-5.4' of git.php.net:php-src into PHP-5.4 2013-01-06 10:20:10 +08:00
Xinchen Hui
c2f8e90504 Merge branch 'PHP-5.3' into PHP-5.4 2013-01-06 10:20:00 +08:00
Xinchen Hui
bc11e6fdbb bump year 2013-01-06 10:19:09 +08:00
Lars Strojny
8e5460ad86 Adding test from 5.5 2013-01-06 03:15:08 +01:00
Lars Strojny
67557fcfce Bug #63699: performance improvements for varios ext/date functions 2013-01-06 03:06:09 +01:00
Lars Strojny
f3824ad166 Bug #63699 performance improvements for ext/date by only validating timezone when timezone is set 2013-01-06 02:10:16 +01:00
Pierrick Charron
f85e5950ab Improve resource management for curl handle
Previous implementation was using its own refcounting (uses field of
the php_curl struct). zend_list_add/remove already implements its own
refcount, so we don't need to use an other one.
2013-01-05 11:07:59 -05:00
Remi Collet
b3a8609837 remove set but not used variables 2013-01-02 16:48:46 +01:00
Pierrick Charron
343a9199bb Remove passwd handler from struct when not needed
CURLOPT_PASSWDFUNCTION was removed in cURL 7.15.5, the passwd field
will not be used for version greater than this one
2013-01-01 21:12:02 -05:00
Xinchen Hui
a666285bc2 Happy New Year 2013-01-01 16:37:09 +08:00
Xinchen Hui
0a7395e009 Happy New Year 2013-01-01 16:28:54 +08:00
Xinchen Hui
a2045ff332 Happy New Year~ 2013-01-01 16:02:16 +08:00
Pierrick Charron
8228597ecc Fixed bug #63874 (Segfaul if php_strip_whitespace has heredoc)
T_END_HEREDOC don't carry a token value anymore since commit 4cf90e06c
Bugfix by Nikita for bug #60097
2012-12-29 23:11:37 -05:00
Lars Strojny
f8a9a47e8c Merge branch 'PHP-5.4' into PHP-5.5 2012-12-29 03:36:06 +01:00
Martin Jansen
dcd99c4b19 Add more tests for the new +0/-0 behaviour. 2012-12-29 03:31:22 +01:00
Martin Jansen
3990641e62 Treat "+0" and "-0" as valid integers just like var_dump() does.
This fixes bug #54096.
2012-12-29 03:31:13 +01:00
Pierrick Charron
722b8fb80e Add new curl options
Addes new curl options CURLOPT_TELNETOPTIONS, CURLOPT_GSSAPI_DELEGATION,
CURLOPT_ACCEPTTIMEOUT_MS, CURLOPT_SSL_OPTIONS, CURLOPT_TCP_KEEPALIVE,
CURLOPT_TCP_KEEPIDLE and CURLOPT_TCP_KEEPINTVL.
2012-12-28 00:51:04 -05:00
Pierrick Charron
8b67981b67 Merge branch 'PHP-5.4' into PHP-5.5
* PHP-5.4:
  Fixed #63859 Memory leak when reusing curl-handle
2012-12-27 13:37:11 -05:00
Pierrick Charron
ac3d227e28 Fixed #63859 Memory leak when reusing curl-handle
When CURLOPT_POSTFIELDS is called more than once on the same
curl handle, php/curl did not free the memory of the previous
post data. This commit will fix the problem unless the curl
handle was previously duplicated using the curl_copy_handle()
function in which case we can not know if the post data is
still in use or not by any curl handle
2012-12-27 13:31:55 -05:00
Pierrick Charron
8456cef1db Fix ext/curl tests to work on every libcurl versions
Thanks Laruence :)
2012-12-26 00:43:37 -05:00
Pierrick Charron
33f44af1a7 New curl_pause() function
Add the curl_pause function (binding of curl_easy_pause).
Using this function, you can explicitly mark a running connection
to get paused, and you can unpause a connection that was
previously paused.
2012-12-23 17:13:49 -05:00
Pierrick Charron
4b4f3db731 Support for curl_strerror and curl_multi_strerror
Add the support for both curl_strerror and curl_multi_strerror.
Those function will return a string describing the error code
passed in the argument errornum
2012-12-23 15:45:39 -05:00
Pierrick Charron
64595a5d1a Add curl_multi_setopt and clean curl_share_setopt
curl_multi_setopt is now available and supports CURLMOPT_PIPELINING
and CURLMOPT_MAXCONNECTS
2012-12-23 14:59:41 -05:00
Pierrick Charron
ded889e865 Remove duplicated function definition 2012-12-23 14:05:04 -05:00
Pierrick Charron
ee453541ed Merge branch 'PHP-5.4' into PHP-5.5
* PHP-5.4:
  Update NEWS file
  Fixed segfault due to libcurl connection caching
2012-12-22 19:10:35 -05:00
Pierrick Charron
b10a3b9466 Merge branch 'PHP-5.3' into PHP-5.4
* PHP-5.3:
  Fixed segfault due to libcurl connection caching
2012-12-22 19:04:45 -05:00
Pierrick Charron
a2b6d9c104 Fixed segfault due to libcurl connection caching
Libcurl is doing connection caching. When easy handle is cleaned up,
if the handle was previously used by the curl_multi_api, the connection
remains open un the curl multi handle is cleaned up. Some protocols are
sending content like the FTP one, and libcurl try to use the
WRITEFUNCTION or the HEADERFUNCTION. Since structures used in those
callback are freed, we need to use an other callback to which avoid
segfaults.

Libcurl commit d021f2e8a00 fix this issue and should be part of 7.28.2
2012-12-22 19:03:24 -05:00
Pierrick Charron
e3c88d16b4 Merge branch 'PHP-5.4' into PHP-5.5
* PHP-5.4:
  Update NEWS file
  Fixed bug #63352 (Can't enable hostname validation when using curl stream wrappers)
  CURL >= 7.28.0 no longer support value 1 for CURLOPT_SSL_VERIFYHOST)
2012-12-21 19:27:51 -05:00
Pierrick Charron
5499c7d201 Merge branch 'PHP-5.3' into PHP-5.4
* PHP-5.3:
  Update NEWS file
  Fixed bug #63352 (Can't enable hostname validation when using curl stream wrappers)
  CURL >= 7.28.0 no longer support value 1 for CURLOPT_SSL_VERIFYHOST)

Conflicts:
	ext/curl/interface.c
	ext/curl/tests/bug63363.phpt
2012-12-21 19:24:28 -05:00
Pierrick Charron
af10e698a2 Fixed bug #63352 (Can't enable hostname validation when using curl stream wrappers) 2012-12-21 19:12:43 -05:00
Pierrick Charron
517f800277 CURL >= 7.28.0 no longer support value 1 for CURLOPT_SSL_VERIFYHOST)
Fixed bug #63795
2012-12-21 19:10:55 -05:00
Pierrick Charron
52e7b0ce2c Merge branch 'PHP-5.4' into PHP-5.5
* PHP-5.4:
  Fix test to work on every libcurl version
  - Fixed typo on "SKIPIF" (causing make test to abort on some systems)
2012-12-21 12:25:34 -05:00
Pierrick Charron
59a4514dc0 Merge branch 'PHP-5.3' into PHP-5.4
* PHP-5.3:
  Fix test to work on every libcurl version
  - Fixed typo on "SKIPIF" (causing make test to abort on some systems)

Conflicts:
	tests/output/bug63377.phpt
2012-12-21 12:24:52 -05:00
Pierrick Charron
63659ce526 Fix test to work on every libcurl version 2012-12-21 12:19:54 -05:00
Pierrick Charron
9d235eadc8 Merge branch 'PHP-5.4' into PHP-5.5
* PHP-5.4:
  Fix test
2012-12-21 11:49:00 -05:00
Pierrick Charron
763bce0303 Fix test
This test is only valid if libcurl < 7.28.1 since
libcurl removed support for the 1 value in CURLOPT_SSL_VERIFYHOST.
2012-12-21 11:45:59 -05:00
Pierrick Charron
aa9156d7e0 Merge branch 'PHP-5.4' into PHP-5.5
* PHP-5.4:
  Fixed bug #55438 (Curlwapper is not sending http header randomly)
2012-12-19 19:46:57 -05:00
Pierrick Charron
66b88c92bb Merge branch 'PHP-5.3' into PHP-5.4
* PHP-5.3:
  Fixed bug #55438 (Curlwapper is not sending http header randomly)
2012-12-19 19:44:08 -05:00
Pierrick Charron
c46e1cdcae Fixed bug #55438 (Curlwapper is not sending http header randomly)
Since curl multi is used, it sometime happen that the resource is freed before
the curl multi really execute the query. The patch will store the headers
slist in the curlstream handle and free it only when the stream will be closed
2012-12-19 19:40:29 -05:00
Andrey Hristov
ec012c1b75 Merge branch 'PHP-5.4' into PHP-5.5
Conflicts:
	ext/mysqlnd/mysqlnd_alloc.c
2012-12-19 16:58:34 +01:00
Andrey Hristov
ae9ba081c8 Merge branch 'PHP-5.4' of ssh://git.php.net/php-src into PHP-5.4 2012-12-19 15:08:09 +01:00
Remi Collet
828bb4d44d Merge branch 'PHP-5.4' into PHP-5.5
* PHP-5.4:
  fix failing test on Linux build
2012-12-19 10:25:05 +01:00
Remi Collet
3732fa95c5 fix failing test on Linux build 2012-12-19 10:23:57 +01:00
Andrey Hristov
1f7c46b579 be cautious about the result of strrchr 2012-12-18 16:21:05 +01:00
Xinchen Hui
ea649a5aba Merge branch 'PHP-5.4' into PHP-5.5 2012-12-17 14:30:20 +08:00
Xinchen Hui
05deaf1706 Merge branch 'PHP-5.3' into PHP-5.4 2012-12-17 14:29:45 +08:00