Compare commits

..
4561 Commits
Author SHA1 Message Date
SVN Migration d12a8480f2 This commit was manufactured by cvs2svn to create tag 'php_4_4_5'. 2007-02-13 18:20:12 +00:00
Derick Rethans 87f091b0e1 - Package 4.4.5. 2007-02-13 18:20:11 +00:00
Antony Dovgal faede09954 fix #40335 (Compile fails when using GCC 4.1.1/binutils 2.17) 2007-02-12 17:13:22 +00:00
Nuno Lopes a99fa18f27 fix typos 2007-02-10 20:57:29 +00:00
Derick Rethans 0f0d36315a - Back to -dev. 2007-02-01 08:55:41 +00:00
Derick Rethans a1f049f9c7 - Go with RC2. 2007-02-01 08:54:32 +00:00
Antony Dovgal f3c6f9fd8e backported fix for ext/imap compilation failure with recent c-client versions
(fixes #39401)
2007-01-29 10:08:17 +00:00
Greg Beaver f5466ed7a7 update to PEAR 1.5.0, Archive_Tar 1.3.2, Console_Getopt 1.2.1, Structures_Graph 1.0.2 2007-01-28 23:09:44 +00:00
Derick Rethans 38cc059411 - Backported a fix in the configure tests to detect the "rounding fuzz". 2007-01-22 19:59:21 +00:00
Derick Rethans ecdc70986b - Move ext/ovrimos to PECL. 2007-01-22 19:51:38 +00:00
Antony Dovgal 5473232607 fix array_unique() to return array with any type of argument 2007-01-22 08:23:08 +00:00
Ilia Alshanetsky 5444943d0f Buffer length checks 2007-01-17 23:59:07 +00:00
Ilia Alshanetsky f854b90ed4 MFH: Fixed output code inside odbc_result_all() 2007-01-16 18:56:45 +00:00
Ilia Alshanetsky 42e3e2e12e Added buffer length checks 2007-01-16 00:11:53 +00:00
Ilia Alshanetsky 82dc6e1cfb MFH: Improve validation of argnum, width and precision. 2007-01-13 16:31:36 +00:00
Ilia Alshanetsky f5fc2866a6 Fixed bug #36248 (CURLOPT_HEADERFUNCTION, couldn't set the function in the
class).
2007-01-12 16:38:40 +00:00
Ilia Alshanetsky ec4f115b41 MFH: Use long instead of int where long is expected. 2007-01-12 02:04:37 +00:00
Antony Dovgal 25b5bbc7a1 MFH 2007-01-11 16:47:33 +00:00
Johannes Schlüter a8bcb208ef - MFH: Bump year 2007-01-10 22:17:41 +00:00
Dmitry Stogov 1e1799dd21 Fixed bug #39819 (Using $this not in object context can cause segfaults) 2007-01-09 17:06:42 +00:00
Ilia Alshanetsky afb1540b1e MFH: Prevent SESSION/GLOBALS overload via session decoding 2007-01-09 15:31:36 +00:00
Ilia Alshanetsky f1d4dc3bbc MFH: Added key_length intialization for intergers 2007-01-09 15:21:08 +00:00
Antony Dovgal 0be9ce7a76 MFH: zerofill info_data 2007-01-09 11:38:04 +00:00
Ilia Alshanetsky 257375765a MFH: Use safe_emalloc() rather then emalloc() 2007-01-08 14:25:22 +00:00
Edin Kadribasic a8154b3540 New curl lib needs CURL_STATICLIB define when linked statically 2007-01-05 10:00:56 +00:00
Derick Rethans 3634ab8189 - Back to -dev 2007-01-05 08:56:56 +00:00
Derick Rethans 66dcd76874 - 4.4.5rc1 2007-01-05 08:54:57 +00:00
Ilia Alshanetsky 13ea7d0109 MFH: Added missing open_basedir checks 2007-01-04 23:50:45 +00:00
Hannes Magnusson f87648eaa5 MFH: revert pcrelib version string 2007-01-03 20:09:00 +00:00
Nuno Lopes cfaf561b6d merge Tony's patch to fix memleak 2007-01-03 20:04:57 +00:00
Antony Dovgal b419742b44 MFH 2007-01-03 18:32:58 +00:00
Ilia Alshanetsky d75be587a4 MFH: unlink temporary file on error 2007-01-03 03:59:23 +00:00
Ilia Alshanetsky 5ed521bc6d Added length parameter validator to zip_entry_read() 2007-01-02 14:40:32 +00:00
Nuno Lopes c8123f93f0 MFB 2007-01-01 20:11:00 +00:00
Sebastian Bergmann 746301b213 MFH: Bump year. 2007-01-01 09:47:28 +00:00
Ilia Alshanetsky a857541f5f MFH: Added boundary checks to php_binary deserializer 2006-12-31 22:26:25 +00:00
Ilia Alshanetsky d81b4d37ea MFH: Added missing resource validation checks 2006-12-30 20:50:50 +00:00
Ilia Alshanetsky afdc0907f7 MFH: Added missing resource type checks 2006-12-30 20:21:39 +00:00
Ilia Alshanetsky 8351d9c7f3 MFH: Fixed bug #39971 (pg_insert/pg_update do not allow now() to be used for
timestamp fields).
2006-12-29 00:35:25 +00:00
Antony Dovgal 7637f98be2 MFH 2006-12-28 22:36:59 +00:00
Antony Dovgal 2f37c4ddb0 MFH 2006-12-28 20:45:36 +00:00
Ilia Alshanetsky f437f392e2 MFH: Added buffer length checks 2006-12-28 15:21:41 +00:00
Antony Dovgal aadba93278 MFH 2006-12-28 13:30:34 +00:00
Antony Dovgal 3052e0cc5f MFH 2006-12-28 12:19:21 +00:00
Antony Dovgal 8b8c928063 MFH 2006-12-28 12:02:59 +00:00
Ilia Alshanetsky 87b7293e4b MFB: safety checks 2006-12-26 17:33:13 +00:00
Ilia Alshanetsky f025e896df MFH: Session deserializer protection. 2006-12-26 17:23:33 +00:00
Antony Dovgal 95f42dfa20 MF52 2006-12-25 21:18:11 +00:00
Antony Dovgal df0bb9a837 MFH 2006-12-25 21:08:13 +00:00
Antony Dovgal 4f6da2642e MFH 2006-12-25 20:54:58 +00:00
Antony Dovgal b307db4b1c MFH 2006-12-25 20:04:23 +00:00
Antony Dovgal 5f92ac3bab MFH: fix bug #39890 (using autoconf 2.6x and --with-layout=GNU breaks PEAR install path) 2006-12-25 15:42:35 +00:00
Antony Dovgal d8a6d67a82 MFH 2006-12-25 15:29:10 +00:00
Ilia Alshanetsky bc351a3c1f MFH: Define SENDBUFLEN for older c-client libs 2006-12-25 14:23:32 +00:00
Antony Dovgal c1e7797d54 MFH 2006-12-25 11:51:20 +00:00
Ilia Alshanetsky 4d59918076 MFH: Fixed buffer boundary protection 2006-12-24 22:15:30 +00:00
Ilia Alshanetsky 02ba2f45bd MFB: Added checks for negative max length and overflow checks for
overly long strings.
2006-12-23 18:56:42 +00:00
Seiji Masugata a3c17c2fb2 Fixed bug #39361, #39400 (mbstring function overloading problem). 2006-12-21 17:28:57 +00:00
Antony Dovgal 55ff6ffa97 MFH fix leaks on errors 2006-12-21 01:03:54 +00:00
Antony Dovgal b4476a8469 MFH 2006-12-21 00:43:30 +00:00
Antony Dovgal 6f53386349 MFH 2006-12-20 23:37:27 +00:00
Antony Dovgal d1da486599 protect _SESSION, HTTP_SESSION_VARS and GLOBALS
maintain an internal reference of _SESSION, so that it won't be possible to destroy it from userspace
2006-12-20 19:31:40 +00:00
Antony Dovgal e5cf4ead35 MFH 2006-12-20 15:14:37 +00:00
Nuno Lopes 71f1155373 MFH: fix bug #39458 2006-12-01 17:11:07 +00:00
Ilia Alshanetsky fb1dff44d9 MFH: Disallow \0 chars inside session.save_path 2006-12-01 00:28:43 +00:00
Antony Dovgal 30331e79a6 MFH missing fixes required by autoconf 2.6x
fixes bug #39696
2006-11-30 22:13:57 +00:00
Antony Dovgal ac990417d0 MFH 2006-11-28 11:41:35 +00:00
Ilia Alshanetsky 118849bf3e MFH: Added a meta tag to phpinfo() output to prevent search engines from
indexing the page.
2006-11-26 16:45:29 +00:00
Antony Dovgal a7a27febc5 MFH: fix #39583 (ftp_put() does not change transfer mode to ASCII) 2006-11-24 12:40:39 +00:00
Derick Rethans 426b1765a2 - MFH: No idea if we actually support 16 bit systems, but this just looked wrong 2006-11-14 14:43:16 +00:00
Hannes Magnusson 09f17195d9 MFH: Fixed bug#36975 (natcasesort() causes array_pop() to misbehave) 2006-11-12 01:16:41 +00:00
Ilia Alshanetsky b496675bf4 MFH: Fixed bug #38456 (Apache2 segfaults when virtual() is called in .php
ErrorDocument).
2006-11-09 19:10:56 +00:00
Ilia Alshanetsky 993e170e7a revert incorrect patch for bug #39129 2006-11-07 18:29:20 +00:00
Ilia Alshanetsky e31c34f68f MFH: Fixed bug #39354 (Allow building of curl extension against libcurl
7.16.0)
2006-11-03 14:55:59 +00:00
Rui Hirokawa 226b4b1ef3 fixed illegal encoding detection when mbstring.encoding_translation is enabled.(made by komura) 2006-11-03 02:24:50 +00:00
Ilia Alshanetsky 42bc8e3219 MFH: Added missing boundary checks. 2006-11-01 01:56:46 +00:00
Stefan Esser 18a27fa07f Manual commit without invoking re2c 2006-10-27 08:35:25 +00:00
Stefan Esser c05c4e0621 Do not allow more than 65500 references 2006-10-27 08:33:55 +00:00
Hannes Magnusson 3ff27a3096 BFN 2006-10-19 11:27:36 +00:00
Antony Dovgal 64107bef55 MFH: fix bug #38882 (ldap_connect causes segfault with newer versions of OpenLDAP) 2006-10-18 20:59:38 +00:00
Ilia Alshanetsky 2ae64d7122 BFN 2006-10-15 17:06:42 +00:00
Ilia Alshanetsky c32694530c MFH: Improve open_basedir checks 2006-10-13 01:12:11 +00:00
Ilia Alshanetsky 1346c157a3 MFH: Fixed bug #39034 (curl_exec() with return transfer returns TRUE on
empty files).
2006-10-10 23:17:05 +00:00
Ilia Alshanetsky 3aa751b306 MFB: Fixed missing open_basedir check inside chdir() function. 2006-10-04 23:20:02 +00:00
Antony Dovgal fe057d8ed4 MFH: the last part of the fix for #39004 2006-10-02 20:53:05 +00:00
Antony Dovgal 4cfe224921 fix compile warning 2006-10-02 20:52:46 +00:00
Antony Dovgal 9be6cc3d11 MFH: fix bug #39004 2006-10-02 19:22:45 +00:00
Ilia Alshanetsky 161c8ed86b MFH: Fixed bug #38859 (parse_url() fails if passing '@' in passwd). 2006-09-28 15:16:40 +00:00
Antony Dovgal f67c006ec3 MFH 2006-09-28 08:26:45 +00:00
Ilia Alshanetsky 7d39cfd613 MFH: Fixed bug #38963 (Fixed a possible open_basedir bypass in tempnam()). 2006-09-27 23:45:36 +00:00
Antony Dovgal 50dddf94f5 support objects in array_walk() 2006-09-19 09:39:14 +00:00
Antony Dovgal ac15fe506f MFH: fix #34066 (recursive array_walk causes segfault)
add test
2006-09-19 09:06:37 +00:00
Antony Dovgal 615b56e229 MFH: improve spelling (fixes #38780) 2006-09-12 17:27:08 +00:00
Edin Kadribasic 6a12c3aac4 Slightly different definiton for php4 2006-09-06 22:08:04 +00:00
Edin Kadribasic 6cc3372fb2 MFOB: Fixed bug #38190 (threading issues on windows 2003) 2006-09-06 21:55:26 +00:00
Derick Rethans 5342dbac8c - MFH: fix memleak of pcre study data (Patch by Nuno). 2006-09-06 17:03:05 +00:00
Antony Dovgal e05159b701 fix test 2006-09-06 16:30:45 +00:00
Ilia Alshanetsky 5125d99507 PCRE constants 2006-09-01 14:20:20 +00:00
Ilia Alshanetsky f16e359621 pcre news 2006-08-30 20:07:55 +00:00
Ilia Alshanetsky 234c4a39da MFH: Upgrade PCRE lib to 6.7 2006-08-30 20:06:53 +00:00
Antony Dovgal a0f0f86e0e BFN
though, the leak is still there, we can't fix that in 4_4
2006-08-28 19:59:31 +00:00
Antony Dovgal 2668902ef1 MFH: set BG(locale_string) to NULL on shutdown (partly fixes #38534) 2006-08-28 19:03:32 +00:00
Hannes Magnusson 162e7f1ca5 fix tests on freebsd 2006-08-27 15:10:32 +00:00
Hannes Magnusson d74d887e7f Fixed bug #37812 aggregate_methods_by_list fails to take certain methods
Add test
2006-08-26 14:15:07 +00:00
Pierre Joye 22caa93806 - updated list 2006-08-25 13:37:10 +00:00
Antony Dovgal 5809160626 fix #38450 (constructor is not called for classes used in userspace stream wrappers) 2006-08-24 08:42:16 +00:00
Antony Dovgal 1d2e5068ca fix #38378 (wddx_serialize_value() generates no wellformed xml) 2006-08-24 08:30:28 +00:00
Andrei Zmievski 3536db6a6b MFB 2006-08-23 20:40:39 +00:00
Pierre Joye c1fe8b81aa - add this script to the 4.4 branche, may help... 2006-08-18 12:44:27 +00:00
Antony Dovgal e120d29f96 fix typo (bug #38499) 2006-08-18 12:38:19 +00:00
Derick Rethans 3a6312932c - Back to dev. 2006-08-15 12:23:08 +00:00
Derick Rethans 428a990d2a - Go with 4.4.4. 2006-08-15 12:22:14 +00:00
Derick Rethans cc19fb16f3 - Back to -dev 2006-08-12 15:48:11 +00:00
Derick Rethans b1dc9ef05c - Go with RC1. 2006-08-12 15:46:04 +00:00
Antony Dovgal 0f56bde0a8 MFH: fix #38431 (xmlrpc_get_type() crashes PHP on objects) 2006-08-11 17:50:01 +00:00
Ilia Alshanetsky b34174d465 Extend safe_mode/open_basedir checks to imap_reopen() as well. 2006-08-11 15:07:00 +00:00
Ilia Alshanetsky 5d057a8790 VCWD_ACCESS does not work on win32 :/ 2006-08-11 15:04:28 +00:00
Derick Rethans 4baade098f - Fixed a memory corruption error with an invalid foreach() call. 2006-08-11 13:04:14 +00:00
Antony Dovgal 85865584fd fix test 2006-08-11 10:35:04 +00:00
Ilia Alshanetsky c1e5091166 MFH: Various security fixes 2006-08-10 17:27:12 +00:00
Antony Dovgal 6faa926224 nuke extra line 2006-08-10 13:42:36 +00:00
Nuno Lopes 33b6ea71bf regenerate file so that #line directives become correct (aka fix lcov builds) 2006-08-09 23:29:17 +00:00
Ilia Alshanetsky b7d18bdcab MFH: Fixed bug #38377 (session_destroy() gives warning after
session_regenerate_id()).
2006-08-08 14:57:04 +00:00
Ilia Alshanetsky bed700e088 MFB: Fixed bug #37265 (Added missing safe_mode & open_basedir checks to
imap_body()).
2006-08-04 20:32:44 +00:00
Antony Dovgal 2e0a82c0b8 add new test 2006-08-04 15:01:46 +00:00
Antony Dovgal 7d377d05ec MFH: fix #38322 (reading past array in sscanf() leads to arbitary code execution) 2006-08-04 11:59:50 +00:00
Antony Dovgal b9cab2b5f2 re-apply fix for #38251 (socket_select() and invalid arguments) 2006-08-01 12:04:14 +00:00
Antony Dovgal fb6a30cdde fix test (but it still fails) 2006-08-01 08:39:11 +00:00
Antony Dovgal 62bf10bd52 BFN 2006-08-01 08:35:06 +00:00
Antony Dovgal c188c0f5be MFH: fix #38278 (session_cache_expire()'s value does not match phpinfo's session.cache_expire) 2006-08-01 08:33:13 +00:00
Derick Rethans 8c5ecd2856 - Back to dev 2006-08-01 08:06:54 +00:00
Derick Rethans 78d9152751 - Go with 4.4.3. 2006-07-31 15:04:54 +00:00
Antony Dovgal d98d470f55 temporarily revert the patch by request of Derick 2006-07-30 19:15:25 +00:00
Antony Dovgal 609ddf2cec MFH: improve checks and fix #38251 2006-07-30 11:56:07 +00:00
Seiji Masugata 9063a993f4 fix tests. 2006-07-29 17:12:22 +00:00
Antony Dovgal 5e6b239fd4 fix typo (#38223) 2006-07-26 16:25:58 +00:00
foobar 49c25f632b MFH:- Fixed bug #38183 (disable_classes=Foobar causes disabled class to be called Foo) 2006-07-22 15:48:22 +00:00
Pierre Joye 507e1fd5a2 - MFH #38112, bad code size segfault 2006-07-17 15:19:16 +00:00
Marcus Boerger d4f2cb0af2 - MFH Fixed Bug #29538 number_format and problem with 0 2006-07-16 10:53:55 +00:00
Derick Rethans 5b80cd2752 - Back to dev. 2006-07-04 16:40:23 +00:00
Derick Rethans a1c5b88515 - Go with RC2. 2006-07-04 16:37:47 +00:00
Ilia Alshanetsky 755c74b607 bug fixing news 2006-06-28 22:12:54 +00:00
Ilia Alshanetsky 3072d1bb2b MFH: Improved safe_mode check for the error_log() function. 2006-06-28 22:09:09 +00:00
Derick Rethans b2f943dea3 - MF51: Fixed XSS inside phpinfo() with long inputs. 2006-06-28 13:12:09 +00:00
Michael Wallner 90862d7e7f - sync with apache2handler 2006-06-09 16:29:55 +00:00
Michael Wallner 39601bb33b BFN: - Fixed bug #37720 (merge_php_config scrambles values). (Mike,
pumuckel at metropolis dot de)
2006-06-09 15:17:51 +00:00
Michael Wallner e640197929 MFH: fix bug #37720 (merge_php_config scrambles values) 2006-06-09 15:14:12 +00:00
Andrei Zmievski 50d1af20c5 Add pcre_compile2() to the list of aliases. 2006-05-31 17:17:46 +00:00
Antony Dovgal 6af0ebfebf merge the last change in 4.4 and allow ext/oci8 to be built against basic lite package
(as Derick requested)
2006-05-30 13:50:28 +00:00
Ilia Alshanetsky b3ddd1b71d Corrected previous patch 2006-05-26 01:55:26 +00:00
Ilia Alshanetsky 0063ffc124 MFH: Fixed bug #37569 (WDDX incorrectly encodes high-ascii characters). 2006-05-25 23:21:01 +00:00
Ilia Alshanetsky f6753e96e3 MFH: Fixed handling of extremely long paths inside tempnam() function. 2006-05-23 23:23:40 +00:00
Greg Beaver bb31f21dfb fix PEAR build 2006-05-22 11:17:02 +00:00
Greg Beaver 5fb5cfdbca sync to PEAR 1.4.9
add PEAR 1.4.9 to installed tarballs
2006-05-22 10:19:34 +00:00
Marcus Boerger 4d0daac738 - Fix build 2006-05-21 18:48:50 +00:00
Derick Rethans 88e06a97be - Back to dev 2006-05-21 17:26:13 +00:00
Derick Rethans 7f5d77afb5 - Go with 4.4.3RC1 2006-05-21 17:24:52 +00:00
Ilia Alshanetsky ed53169150 MFH: Added control character checks for cURL extension's
open_basedir/safe_mode checks.
2006-05-21 16:32:51 +00:00
Ilia Alshanetsky a2e5235b92 Fixed a possible buffer overflow inside create_named_pipe() for Win32
systems in libmysql.c.
2006-05-21 16:10:28 +00:00
Marcus Boerger 88b15c81ee - Update 2006-05-21 09:10:02 +00:00
Antony Dovgal 811b100140 add new tests (which produces segfault with 4.4 atm) 2006-05-19 11:17:53 +00:00
Antony Dovgal 0f26edab9d add new test 2006-05-19 11:15:57 +00:00
Antony Dovgal 7eda78c8ce MFH fix for #34306 (wddx_serialize_value() crashes with long array keys) 2006-05-19 10:37:32 +00:00
Antony Dovgal 5795b68a12 MFH: fix possible usage of uninitialized variable 2006-05-19 10:28:54 +00:00
Antony Dovgal 01e67c1c0b MFH: initialize factory 2006-05-19 10:24:42 +00:00
Antony Dovgal 5df81174c6 fix invalid read in basename("/.gz", ".gz") 2006-05-19 10:20:44 +00:00
Antony Dovgal 4ccfd8e5f4 fix compile warning 2006-05-18 22:36:14 +00:00
Antony Dovgal 3066881dea fix leak (and possible segfault?)
see bug #30397 for more details, somebody should really consider doing MFH when fixing such critical things
2006-05-18 22:30:52 +00:00
Marcus Boerger adcd660665 - MFH Fix bug #37510 session_regenerate_id changes session_id() even on failure 2006-05-18 22:16:27 +00:00
Edin Kadribasic 39c97daa7a Fix windows build 2006-05-18 21:12:55 +00:00
Antony Dovgal 42e35b8c87 fix leaks 2006-05-18 20:33:46 +00:00
Antony Dovgal b1095970bc fix test 2006-05-18 20:24:46 +00:00
Antony Dovgal eeccf79e5c fix test and add new for 64bit only 2006-05-18 20:19:34 +00:00
Rasmus Lerdorf 0f30174f3c ap_get_client_block can return -1, so don't use an unsigned int here 2006-05-13 21:42:14 +00:00
Pierre Joye 727982d268 - MFH: #37346, invalid colormap format
- MFH: #37360, bad gif size
2006-05-08 14:04:39 +00:00
Ilia Alshanetsky 7a80b0a24b MFH: Fixed bug #37348 (make PEAR install ignore open_basedir). 2006-05-07 16:33:41 +00:00
Ilia Alshanetsky 8d13007f31 MFH: Fixed bug #37162 (wddx does not build as a shared extension). 2006-04-23 16:02:37 +00:00
Ilia Alshanetsky da6fe839bf MFH: Fixed Bug #36872 (session_destroy() fails after call to
session_regenerate_id(true)).
2006-04-17 23:29:37 +00:00
Ilia Alshanetsky 0f2418d470 MFH: fixed typo 2006-04-16 17:45:55 +00:00
Ilia Alshanetsky 687ebaa977 MFH: Fixed bug #37045 (Fixed check for special chars for http redirects). 2006-04-16 16:56:26 +00:00
Sara Golemon fa431b2bd5 MFH (r-1.436) copy() should not disrespect open_basedir on source file 2006-04-14 17:46:59 +00:00
Dmitry Stogov 8c9578b492 Fixed bug #37046 (foreach breaks static scope) 2006-04-13 06:16:42 +00:00
Ilia Alshanetsky 4ad132a162 MFH: fixed test 2006-04-10 23:48:47 +00:00
Frank M. Kromann 018dc1e52e MFP51: Fix #33694 invalid sql or timeouts makes it impossible to reuse persistent connections 2006-04-04 18:50:16 +00:00
Ilia Alshanetsky 67fdeb1067 MFH: Fixed an unlikely, but possible memory leak. 2006-04-03 13:46:48 +00:00
Seiji Masugata ccf09f5bbe added mb_check_encoding( ). detect possible invalid encoding attack(avoids a security issue). 2006-04-03 13:04:13 +00:00
Ilia Alshanetsky 0946fc2fbf MFH:
Removed extra space in the Content-Type header for logos
Simplified stderr error reporting in apache sapi.
2006-04-02 17:59:33 +00:00
Antony Dovgal 07e361458a fix build and #36887 2006-03-28 09:46:35 +00:00
Ilia Alshanetsky 779c4394e4 MFH: Check 2nd parameter of tempnam() against path components. 2006-03-27 23:42:22 +00:00
Ilia Alshanetsky 25a03fe695 MFH: Fixed bug #36857 (Added support for partial content fetching to the
HTTP streams wrapper).
2006-03-26 17:12:57 +00:00
Marcus Boerger 303cd902ec - Provide complete rule (to have relative #line info)wq 2006-03-23 09:49:54 +00:00
Seiji Masugata 7beb2b51b3 revert.(See http://news.php.net/php.cvs/37387) 2006-03-23 02:17:42 +00:00
Rui Hirokawa c748070bfe MFH 2006-03-21 08:00:55 +00:00
Rui Hirokawa 324b3f960f MFH. 2006-03-21 02:49:09 +00:00
Rob Richards 4980266aca fix news (re-order) 2006-03-18 11:51:52 +00:00
Rob Richards 024d1a5aa3 BFN 2006-03-18 10:46:55 +00:00
Rob Richards 34f6ba497b Fixed bug #36776 (node_list_wrapper_dtor segfault)
- no optimizations. this extension is VERY touchy
2006-03-18 10:46:27 +00:00
Seiji Masugata 30f4b5f323 fixed doesn't return value when omitting arguments in mb_get_info( ). 2006-03-18 05:52:33 +00:00
Ilia Alshanetsky 076f4c4433 MFH: Added overflow checks to wordwrap() function. 2006-03-13 14:41:27 +00:00
Rui Hirokawa 2f138334e5 MFH 2006-03-12 07:54:56 +00:00
Seiji Masugata 0fa88bff91 fixed different value was returned in mb_get_info. 2006-03-10 16:15:35 +00:00
Edin Kadribasic 75d2330427 Sync pcre update changes 2006-03-07 09:33:00 +00:00
Andrei Zmievski f7c3d6c8ad *** empty log message *** 2006-03-06 21:58:33 +00:00
Andrei Zmievski 32211ba99f MFH (Import PCRE 6.6) 2006-03-06 21:57:54 +00:00
Yasuo Ohgaki ef36d846bc MFH add safe_mode num of parameter check 2006-03-02 00:39:57 +00:00
Ilia Alshanetsky 476f9c5948 MFH: Fixed bug #36459 (Incorrect adding PHPSESSID to links, which
contains \r\n).
2006-02-28 14:47:15 +00:00
Rasmus Lerdorf 63251c4c5e MFH - binary safety patch from Moriyoshi 2006-02-25 21:33:06 +00:00
Brian France d7cd8d3909 MFH: fixed bug #35594 for all systems. "optind = 0" doesn't work on FreeBSD, but "optind = 1" seems to work on all systems (bug #36091) 2006-02-23 03:53:00 +00:00
Dmitry Stogov 134f474e5f Fixed crash on error message during PHP startup in FastCGI 2006-02-22 15:11:53 +00:00
Ilia Alshanetsky 7a03b57390 MFH: Fixed bug #36458 (sleep() accepts negative values). 2006-02-21 15:35:01 +00:00
Dmitry Stogov 0f5d980c2f Fixed test files (added docref) 2006-02-20 08:31:54 +00:00
Dmitry Stogov 6e543a0b4d Fixed test file 2006-02-20 08:12:08 +00:00
Andrei Zmievski 56fcffbec5 MFH 2006-02-17 21:18:51 +00:00
Dmitry Stogov 2d52e47e48 Fixed bug #36205 (Memory leaks on duplicate cookies) 2006-02-13 12:19:10 +00:00
Ilia Alshanetsky f159b33aa9 MFH: Fixed bug #36351 (parse_url() does not parse numeric paths properly). 2006-02-12 16:43:03 +00:00
Greg Beaver 045baa569a fix Bug #36001: make install fails when --enable-memory-limit used 2006-02-08 01:11:59 +00:00
Antony Dovgal 259613b0ec MF51: initialize to_r 2006-02-06 10:42:58 +00:00
Dmitry Stogov 8fbbbc41b7 iFixed several small FastCGI releated bugs 2006-02-03 16:31:09 +00:00
Antony Dovgal 6eb4034257 MFH: fix #36242 (Possible memory corruption in stream_select()) 2006-02-01 10:32:38 +00:00
Antony Dovgal 3d497a4f7f fix #36223 (curl bypasses open_basedir restrictions) 2006-01-31 10:57:52 +00:00
Ilia Alshanetsky 9967278b85 Fixed error reporting logic for HTML errors 2006-01-30 15:31:10 +00:00
Ilia Alshanetsky f3590cce7d MFH: Fixed bug #36148 (unpack("H*hex", $data) is adding an extra character
to the end of the string).
2006-01-26 15:47:31 +00:00
Michael Wallner af4c393004 MFH: fix bug #36152 problems with curl+ssl and pgsql+ssl in same PHP 2006-01-26 13:23:50 +00:00
Greg Beaver edf4e8a023 fix bug #36002: md5sum checksum failures on install 2006-01-22 22:13:39 +00:00
Antony Dovgal 38cf5db6d2 MFH: fix error message on make test when bison is not installed 2006-01-18 17:59:41 +00:00
Dmitry Stogov 7ce3868b29 Fixed first-chance exception during request shutdown 2006-01-16 14:27:10 +00:00
Antony Dovgal a6ebb49ea5 fix bug #36017 (fopen() crashes PHP when opening a URL)
+ fix incosistency in macro usage
2006-01-15 22:01:47 +00:00
Ilia Alshanetsky 077194ed30 MFH: Added a check for special characters in the session name. 2006-01-15 16:52:10 +00:00
Derick Rethans b1992efb19 - Fixed typoes. 2006-01-15 11:23:25 +00:00
Sascha Schumann 927d6e218f WS 2006-01-13 14:31:25 +00:00
Sascha Schumann 8c6e6ec40e - MFH lower valgrind error count to 0 2006-01-13 14:25:10 +00:00
Derick Rethans d2628e4c2a - Back to dev. 2006-01-12 17:55:04 +00:00
Derick Rethans 0047baef1f - Fixed year. 2006-01-12 17:54:19 +00:00
Derick Rethans 9784bb3697 - Go with 4.4.2. 2006-01-12 17:52:29 +00:00
Antony Dovgal c07983db9c MFH: fix #35959 (Cannot build with Solid 2.3) 2006-01-10 14:17:26 +00:00
Greg Beaver 9e69c67c07 update to PEAR 1.4.6, add support for --packagingroot to local PEAR installer (needed for INSTALL_ROOT) 2006-01-07 17:51:55 +00:00
Antony Dovgal 7cb8058dc3 fix test 2006-01-06 13:32:26 +00:00
foobar 20eb636856 MFH: Small cleanups 2006-01-06 01:10:21 +00:00
foobar dd2be9ac1f - Fixed bug #35906 (win32: mail() Date: header is not RFC compliant) 2006-01-06 00:35:40 +00:00
foobar 60bcbd4d17 MFH: - Fixed bug #35911 (HAVE_PG_CONFIG_H set incorrectly) 2006-01-05 21:53:30 +00:00
Antony Dovgal 3c2441dc02 fix test 2006-01-05 18:09:32 +00:00
Ilia Alshanetsky 855359278e Fixed bug #35908 (curl extension uses undefined GCRY_THREAD_OPTIONS_USER). 2006-01-05 18:03:18 +00:00
Derick Rethans 688d86a417 - Back to devel. 2006-01-05 08:16:37 +00:00
Derick Rethans b136df5bc5 - Go with RC2. 2006-01-05 08:15:14 +00:00
Ilia Alshanetsky a8f0d2a4d4 MFH: Fixed bug #35669 (imap_mail_compose() crashes with
multipart-multiboundary-email).
2006-01-05 00:50:20 +00:00
Edin Kadribasic 34fc59e2c1 Fix win32 build 2006-01-04 12:56:09 +00:00
Derick Rethans f9996899c2 - Hopefully fix windows build here. 2006-01-04 12:04:08 +00:00
Ilia Alshanetsky aca8fb1ca5 MFH: Fixed possible crash in apache_getenv()/apache_setenv() on invalid
parameters.
2006-01-02 22:22:07 +00:00
foobar 09e2c59133 MFH 2006-01-02 22:11:22 +00:00
Greg Beaver a8f9da5891 make sure mbstring doesn't screw stuff 2006-01-02 15:24:33 +00:00
Greg Beaver 3c9e8a33fa upgrade to PEAR 1.4.5 2006-01-02 01:39:35 +00:00
Ilia Alshanetsky 4f004c3566 MFH: Added safety checks 2006-01-01 20:14:06 +00:00
foobar 915bc619ef MFH 2006-01-01 19:01:04 +00:00
foobar 774b939900 missed these 2006-01-01 13:51:23 +00:00
foobar 2b3336117c bump year and license version 2006-01-01 13:47:46 +00:00
Rasmus Lerdorf 5c4198f03f MFH - instantiated is correct 2005-12-30 17:19:43 +00:00
foobar 144c8f19f5 MFH: typofixes 2005-12-30 12:27:05 +00:00
foobar 8ae421b807 MFH: typofix 2005-12-30 05:41:18 +00:00
Rui Hirokawa fd39c52b65 MFH: update libmbfl for the newest version. 2005-12-30 05:25:54 +00:00
Ilia Alshanetsky 2ac9f9c28b MFH: Fixed bug #35817 (unpack() does not decode odd number of hexadecimal
values)
2005-12-28 20:57:07 +00:00
Marcus Boerger 8cda8890fd - BFN 2005-12-26 14:48:57 +00:00
Marcus Boerger f78db5bc83 - MFH Support full range of floats 2005-12-26 14:47:08 +00:00
Marcus Boerger e87db79ff1 - SWH (WS + memory corruption fix) 2005-12-26 14:01:45 +00:00
foobar 55134a584c - Fix possible problem in not finding ming.h 2005-12-21 21:50:09 +00:00
Ilia Alshanetsky 7a46fb9b72 MFH: Fixed bug #31347 (is_dir and is_file (incorrectly) return true for any
string greater then 255 characters).
2005-12-20 14:28:03 +00:00
foobar 5358b1fb18 - Remove bad egrep check (done in configure.in already) 2005-12-19 22:36:35 +00:00
foobar ee90f9a120 - Fixed bug #35735 ($EGREP and $SED are not defined in configure) 2005-12-19 22:29:12 +00:00
Ilia Alshanetsky 861de5ae7b MFH: Fixed possible memory corruption inside mb_strcut(). 2005-12-15 03:37:22 +00:00
Ilia Alshanetsky 617ae295c3 MFH: Fixed bug #35571 (Fixed crash in Apache 2 SAPI when more then one php
script is loaded via SSI include).
2005-12-14 03:38:55 +00:00
Antony Dovgal 0d14284e54 MFH: fix spelling and #35665 2005-12-14 00:55:44 +00:00
Ilia Alshanetsky 79c01f065f MFH: Fixed bug #35655 (whitespace following end of heredoc is lost). 2005-12-13 21:45:00 +00:00
Antony Dovgal 4137895e52 fix #35646 (%{mod_php_memory_usage}n is not reset after exit)
patch by vovik at getart dot ru
2005-12-13 18:52:57 +00:00
Marcus Boerger f775d8f3b1 - Show skip reasonwq 2005-12-11 22:13:52 +00:00
Marcus Boerger 7f359b116b - Fix re2c usage 2005-12-11 01:50:24 +00:00
Ilia Alshanetsky 3669f88350 MFH: Added myself to a list of extensions/sapis I try to maintain. 2005-12-08 17:08:14 +00:00
Ilia Alshanetsky 297178cf35 MFH: Fixed bug #35594 (Multiple calls to getopt() may result in a crash). 2005-12-08 03:26:16 +00:00
Ilia Alshanetsky d2bd775fae MFH: Fixed bug #33523 (Memory leak in xmlrpc_encode_request()). 2005-12-08 03:01:37 +00:00
Ilia Alshanetsky 23ba6c1bd3 MFH: Fixed bug #34359 (Possible crash inside fopen http wrapper). 2005-12-08 02:54:27 +00:00
Ilia Alshanetsky dc0bae1b7e MFH: Better critical error handling (fix for previous html encoding patch). 2005-12-07 02:47:00 +00:00
Ilia Alshanetsky 446c0b84e1 MFH: Fixed bug #30760 (Remove MessageBox on win32 for E_CORE errors if
display_startup_error is off).
2005-12-06 23:33:04 +00:00
Sara Golemon 594c85a455 MFH: (r-1.104) 2005-12-06 19:25:12 +00:00
Ilia Alshanetsky 7859464838 MFH: Prevent header injection by limiting each header to a single line. 2005-12-06 03:40:09 +00:00
Ilia Alshanetsky 85a11e8684 MFH: Fixed possible XSS inside error reporting functionality. 2005-12-06 03:30:43 +00:00
foobar f7d79c51a4 MFH 2005-12-05 23:53:30 +00:00
Antony Dovgal 5d9028acac MF51:
fix #35536 (mysql_field_type() doesn't handle NEWDECIMAL)
add also SET, ENUM, NEWDATE and GEOMETRY to the switch
2005-12-05 13:20:18 +00:00
Ilia Alshanetsky d783427963 MFH: Fixed bug #35062 (socket_read() produces warnings on non blocking
sockets).
2005-12-04 17:32:27 +00:00
Ilia Alshanetsky 3e488f51b5 MFH: Fixed bug #35410 (wddx_deserialize() doesn't handle large ints as keys
properly).
2005-11-30 18:12:44 +00:00
foobar 131c743363 MFH 2005-11-29 22:41:52 +00:00
Ilia Alshanetsky fb6cf62254 MFH: Fixed bug #35046 (phpinfo() uses improper css enclosure). 2005-11-23 00:17:17 +00:00
Antony Dovgal 4a5dec57be MF51: fix #35341 (Fix for bug #33760 breaks build with older curl) 2005-11-22 22:53:50 +00:00
Sara Golemon dafd02c0a9 Bugfix #35315 stream->position != stream->abstract 2005-11-22 22:36:14 +00:00
Rui Hirokawa 2345af5db9 fixed #35307 unexpected header can be injected to mb_send_mail() (the patch is made by masugata). 2005-11-21 23:21:19 +00:00
foobar 0970dc5c79 MFH: test -e does not work with solaris 2005-11-21 19:07:03 +00:00
Ilia Alshanetsky d9820d0046 Fixed build 2005-11-19 16:49:23 +00:00
Rui Hirokawa 5749e42507 MFH: fixed #35253 length of the encoded string vilolates a RFC. 2005-11-19 06:39:39 +00:00
Frank M. Kromann fddb7c4a16 MFH: Fix #33201 Crash when fetching some data types 2005-11-18 21:24:06 +00:00
Frank M. Kromann 8c030a1d9f MFH Fix #33963. mssql_bind fails on input parameters 2005-11-18 20:49:16 +00:00
Frank M. Kromann 3936f188c8 MFH: Fix #32009 crash when mssql_bind() is called more than once 2005-11-18 20:41:51 +00:00
Frank M. Kromann 74b38bc008 MFH: Fix #33153 Crash in mssql_next_result(). 2005-11-18 19:15:12 +00:00
Ilia Alshanetsky 0adfb11b5f MFH: Fixed bug #35278 (Multiple virtual() calls crash Apache 2 php module). 2005-11-18 19:03:13 +00:00
foobar bd204cbec6 MF51: sync all changes 2005-11-18 15:10:33 +00:00
foobar d438c08253 fix news 2005-11-18 13:11:38 +00:00
Derick Rethans 8b9a27b091 - Back to -dev. 2005-11-18 11:07:30 +00:00
Derick Rethans d58ab4dba8 - Go with 4.4.2RC1. 2005-11-18 10:30:45 +00:00
Ilia Alshanetsky 85bf21aba8 MFH: Resolve Apache 2 regression with sub-request handling on non-linux
systems.
2005-11-17 21:01:13 +00:00
Sara Golemon f1d2153728 MFH (r-1.51) #32371 php://input sometimes returns duplicate data 2005-11-17 19:41:02 +00:00
Antony Dovgal a5ecd7d966 MFH: fix #35079 (stream_set_blocking(true) toggles, not enables blocking)
patch by askalski at gmail dot com
2005-11-17 14:21:10 +00:00
Antony Dovgal a639716fba fix #35257 in a smarter way 2005-11-17 12:02:57 +00:00
Antony Dovgal 5c5202210b fix #35257 (Calling ob_flush after creating an ob callback causes segfault)
***
The issue is 4.x specific and cannot be reproduced in 5.x, because in 5.x we
allocate empty strings, while in 4.x we're using empty_string macro.
***
2005-11-17 11:42:40 +00:00
foobar 983f74d406 MFH 2005-11-17 10:03:22 +00:00
Frank M. Kromann 4b6be92010 MFH: Change max_procs to follow library standard. 2005-11-15 17:33:07 +00:00
foobar c0d670bf38 MFH: rest of the safe-mode fix 2005-11-15 08:15:36 +00:00
foobar dfefb3a51f reorder 2005-11-09 15:41:07 +00:00
foobar c56c25cdd5 fix news 2005-11-08 16:53:51 +00:00
Rui Hirokawa 1a509371c3 fixed the order. 2005-11-08 14:44:08 +00:00
Rui Hirokawa d1ab829e4a NEWS updated. 2005-11-08 14:00:47 +00:00
Marcus Boerger 5da6db4704 - MFH Fix Bug #32223 weird behaviour of pg_last_notice 2005-11-07 13:01:36 +00:00
Dmitry Stogov 353a4d1545 Fixed bug #35009 (ZTS: Persistent resource destruct crashes when extension is compiled as shared) 2005-11-07 12:27:08 +00:00
foobar 444937ce5c MF51: fix bad MFH 2005-11-06 03:06:14 +00:00
Ilia Alshanetsky 721373cc9d MFH: Fixed bug #31971 (ftp_login fails on some SSL servers). 2005-11-05 22:03:28 +00:00
Greg Beaver f61d19a334 upgrade PEAR to 1.4.4 2005-11-05 18:33:51 +00:00
Greg Beaver 08f56f3c5d fix error on call to getValidationWarnings() on wrong variable 2005-11-05 18:24:20 +00:00
Greg Beaver 5e248a4064 revert last commit - information is too verbose 2005-11-05 18:21:20 +00:00
Greg Beaver a526aebc2e don't attempt to install package-*.xml 2005-11-05 18:19:23 +00:00
Greg Beaver 55f7e26adf add further debug information in case of error 2005-11-05 18:15:05 +00:00
Greg Beaver e813489260 this must be a non-replacement, fixes
Bug #35112  	Pear Install Error - Call to undefined function: getversion()
2005-11-05 18:03:10 +00:00
Greg Beaver 657043a0b2 getVersion() is in wrong place, should there be a PEAR_Error 2005-11-05 17:59:02 +00:00
Rui Hirokawa 6c8f889d0a MFH: fixed garbled multibyte characters. 2005-11-05 04:48:25 +00:00
Rui Hirokawa 197648e8bd fixed white space issue. 2005-11-05 01:14:05 +00:00
Rui Hirokawa 6fb699c417 removed mail.force_extra_parameters which is unsuppoted in php4. 2005-11-04 16:13:44 +00:00
foobar 3d26a25fe9 MFH: - Fixed bug #35078 (configure does not find ldap_start_tls_s) 2005-11-03 20:41:56 +00:00
foobar 585c4dbecc BFN 2005-11-03 20:30:59 +00:00
foobar c8a366abc6 MFH: added missing safe-mode checks 2005-11-03 20:20:10 +00:00
Greg Beaver bc758f5fa1 solve cvs sync issue permanently: the PEAR files in php-src/pear branch PHP_4_4 will *only* be used to install PEAR. The packages, including PEAR will be in packages/ 2005-11-03 19:33:46 +00:00
Ilia Alshanetsky 399c12ef94 Syncornize code with CS/error handling from 5.X
MFH crash fixes for imap_mailcompose function.
2005-11-03 15:57:04 +00:00
Michael Wallner 437cfe4e7d - fixed bug #34851 (SO_RECVTIMEO and SO_SNDTIMEO socket options expect integer
parameter on Windows)
2005-11-03 14:58:43 +00:00
Greg Beaver 28c082287c merge changes from pear-core 2005-11-03 05:26:08 +00:00
Greg Beaver 9f3ad8cd51 use tarball for installing Console_Getopt 2005-11-03 02:13:26 +00:00
Greg Beaver b4e4f5dfbe remove unneeded xml files, will use tarballs to install 2005-11-03 02:12:48 +00:00
Greg Beaver ad60d5b561 add Archive_Tar tarball for installation 2005-11-03 02:11:39 +00:00
Greg Beaver baaf0eb705 remove optional XML_RPC dependency from default install 2005-11-03 00:44:09 +00:00
Ilia Alshanetsky f2db9cbb89 Fixed bug #35067, #35063 (key(),current() need to work by reference). 2005-11-02 17:58:02 +00:00
Ilia Alshanetsky 098854c59b Fixed bug #35059 (Apache2 crash with mod_rewrite). 2005-11-02 17:55:17 +00:00
Greg Beaver d290b7c7c8 upgrade PEAR from 1.3.6 to new 1.4.3
remove unit tests - they live in pear-core/tests now
2005-11-02 16:58:17 +00:00
Michael Wallner e35914666d - MFH: thread safe SSL crypto locks, fixes bug #33760 2005-11-02 15:03:36 +00:00
Michael Wallner ff0b18fcf9 - sapi_header_op(SAPI_HEADER_(REPLACE|ADD), {NULL, 0, 0}) caused HTTP response splitting
- sapi_send_headers() already takes care of default_content_type (left over of fix for bug #29983)
2005-11-02 14:43:09 +00:00
Frank M. Kromann 91f9718832 MFH: Fix #35037. Selecting a uniqueidentifier would return unknown data type when used with freetds. 2005-11-01 18:20:00 +00:00
Ilia Alshanetsky 237bcf0da7 MFH: Additional open_basedir/safe_mode checks. 2005-10-31 23:47:24 +00:00
Derick Rethans 8c49a72ecc - Back to -dev 2005-10-30 10:55:23 +00:00
Edin Kadribasic 142aad3893 Fix build with newer libming 2005-10-29 22:01:45 +00:00
Edin Kadribasic 591f0fc9cb Fix compilation with c-client 2004 2005-10-29 21:53:35 +00:00
Antony Dovgal d2ce44c7fc BFN 2005-10-27 10:58:31 +00:00
Antony Dovgal 2de0be1e37 MFH: fix #34996 (ImageTrueColorToPalette() crashes when ncolors is zero) 2005-10-27 10:29:31 +00:00
Antony Dovgal ad29a9d3dd fix typo 2005-10-26 20:04:57 +00:00
Antony Dovgal 51ecf50b42 export those functions and fix the build 2005-10-26 11:37:33 +00:00
Derick Rethans 3848a27689 - Merge 4.4.1 and 4.4.1RC1 entries. 2005-10-26 08:34:13 +00:00
Derick Rethans d4eb802dcb - Go with PHP 4.4.1 - release on Monday. 2005-10-26 07:58:24 +00:00
Ilia Alshanetsky 9f35aed8f2 MFH: Fixed test for cygwin installs 2005-10-20 14:43:20 +00:00
Ilia Alshanetsky b8973a09de MFH: Fixed bug #29983 (PHP does not explicitly set mime type & charset). 2005-10-19 20:36:22 +00:00
Ilia Alshanetsky 7d1ec21215 MFH: Change E_ERROR to E_WARNING when more_entropy flag is off on Cygwin. 2005-10-19 13:42:36 +00:00
Ilia Alshanetsky 1ef17aeff3 MFH: Properly fixed bug #34456 (original patch completely reverted). 2005-10-17 15:43:12 +00:00
Ilia Alshanetsky dd3a5b3601 MFH: Further URL validations in safe_mode/open_basedir configs. 2005-10-17 02:42:51 +00:00
foobar 4809310fff MFH: - Fixed bug #34850 (--program-suffix and --program-prefix not included in man page names) 2005-10-13 10:04:53 +00:00
Antony Dovgal ae187e6156 MF51: fix bug #34581 (crash with mod_rewrite) 2005-10-12 21:41:36 +00:00
Ilia Alshanetsky 71b6eaf31f Fixed compiler failure 2005-10-12 14:46:08 +00:00
Derick Rethans 9ba128e62e - MF50: Fixed access to an uninitialised variable. 2005-10-12 11:08:40 +00:00
foobar 58067bb307 MFH 2005-10-11 18:59:23 +00:00
foobar 6c9ea8b79e fix test 2005-10-11 18:11:38 +00:00
Ilia Alshanetsky fe7f010291 MFH: Fixed bug #34742 (ftp wrapper failures caused from segmented command
transfer).
2005-10-11 14:41:41 +00:00
Dmitry Stogov 19bab9086f Fixed bug #34790 (preg_match_all(), named capturing groups, variable assignment/return => crash) 2005-10-11 06:48:33 +00:00
Antony Dovgal 985defbb69 BFN 2005-10-10 10:47:52 +00:00
Antony Dovgal 7e8f1c0949 fix #33383 (crash when retrieving empty LOBs) 2005-10-10 10:41:24 +00:00
Marcus Boerger b5663db3b0 - MFH Fix Logic 2005-10-10 06:07:16 +00:00
foobar 85fff3d38c MFH: fix test 2005-10-10 05:58:01 +00:00
Marcus Boerger 1398c55740 - MFH Make test check for PlPgSQL before using it 2005-10-09 15:58:05 +00:00
Marcus Boerger 2dae72bb3f - MFH Add new test 2005-10-09 15:22:05 +00:00
Marcus Boerger cc3fcdeadd - MFH Bugfix #34704 (Infinite recursion due to corrupt JPEG) 2005-10-09 14:36:25 +00:00
Derick Rethans e002275c1c - Back to dev. 2005-10-07 09:32:06 +00:00
Derick Rethans c6469aba17 - Go with PHP 4.4.1RC1. 2005-10-07 08:55:35 +00:00
Marcus Boerger 726b96e393 - MFH C vs. C++ fix 2005-10-07 07:40:54 +00:00
Marcus Boerger 183ee0ac32 - MFH Fix issue (endless loop) with temp/memory streams 2005-10-06 21:35:29 +00:00
Ilia Alshanetsky 8ea1dd281d MFH: Added missing safe_mode checks. 2005-10-06 20:44:56 +00:00
Johannes Schlüter ac41083b82 - MFH: Fix #34557 php -m exits with "error" 1 2005-10-06 20:39:26 +00:00
Rob Richards 337036cebf fix ZTS build 2005-10-05 16:41:18 +00:00
Ilia Alshanetsky 3c63f4f09f MFH: Missing safe_mode/open_basedir checks for file uploads. 2005-10-05 14:34:38 +00:00
Ilia Alshanetsky 5686615c47 MFH: Fixed possible INI setting leak via virtual() in Apache 2 sapi. 2005-10-05 00:50:13 +00:00
Antony Dovgal 6717af379d MFB5.1: fix #32179 (xmlrpc_encode() segfaults with recursive references) 2005-10-04 11:19:56 +00:00
Ilia Alshanetsky 9b95efa9de MFH: GLOBALS protection for extract() function. 2005-10-03 14:05:07 +00:00
Rob Richards a2cd7fd198 fix build - missing closing parenthesis 2005-10-02 11:33:27 +00:00
Pierre Joye 9906416cff - MFH #33125, alpha emulation broken 2005-09-30 21:05:04 +00:00
Ilia Alshanetsky ad2e304693 MFH:
Fixed possible crash and/or memory corruption in import_request_variables()
Fixed potential GLOBALS overwrite via import_request_variables().
2005-09-29 16:31:48 +00:00
Ilia Alshanetsky ac79b2ada4 MFH: Fixed possible GLOBALS variable override when register_globals are ON.
MFH: Fixed possible register_globals toggle via parse_str().
2005-09-28 22:34:04 +00:00
Ilia Alshanetsky fe06c9dcfd MFH: Fixed bug #32937 (open_basedir looses trailing / in the limiter). 2005-09-27 15:08:43 +00:00
Ilia Alshanetsky c8a15852c1 MFH: Fixed bug #34645 (ctype corrupts memory when validating large numbers). 2005-09-26 15:19:05 +00:00
Pierre Joye aa648fbb4d - MFH #33220, infinite loop while loading invalid GIF (nlopees)
NB: It's getting really annoying to apply patches to all these branches
     Can we no define 4.x and 5.0.x as dead for 99.99% of the fixes?
2005-09-25 12:13:49 +00:00
Anantha Kesari H Y 41a208da03 In NetWare two binaries with the same name can not be loaded in kernel address space(This is the default behaviour for NetWare apache webserver and hence PHP extensions also get loaded in kernel address space) simultaneoulsy. As the current autoconf built mysql extension is built as mysql.nlm this forbids the loading of mysql client binary. To work around this NetWare idiosyncrasy prefixing all the extensions with "php" except php5lib(phpts.dll eqivalent of Windows). I could have named this extensions prefixed with "php_" but "_" is eaten from the exported symbol prefix by the GCC cross compiler for NetWare so sticking to "php".
This fixes the issue of not needing "PHP_SUBST(EXTENSIONNAME_SHARED_LIBADD)" in all the extensions especially when they need to be built shared.

--Kamesh
2005-09-23 09:20:22 +00:00
foobar 31aef753ba MFH: Improved the fix for #21306 a bit 2005-09-23 08:16:01 +00:00
Ilia Alshanetsky 27f3e6e91b MFH: Fixed bug #34565 (mb_send_mail does not fetch mail.force_extra_parameters) 2005-09-21 13:19:19 +00:00
Johannes Schlüter 0f21d95e41 - MFH: Remove HTML fragments from phpcredits() in CLI mode 2005-09-20 22:20:30 +00:00
foobar c5458b6986 BFN 2005-09-20 20:59:54 +00:00
foobar 3df5e260ca MFH: - Fixed bug #21306 (catch bailouts of write handler during RSHUTDOWN) 2005-09-20 20:59:25 +00:00
Stanislav Malyshev f1c9fd9134 fix crash on restarting static PHP having session modules loaded 2005-09-20 14:01:40 +00:00
Anantha Kesari H Y 7cef169b29 NetWare does not have sendmail binary to send mail.
--Kamesh
2005-09-15 14:06:15 +00:00
Ilia Alshanetsky bf4cbc4fb0 MFH: Make key() and current() take argument by value. 2005-09-13 13:23:56 +00:00
Ilia Alshanetsky 4c2696b619 MFH: Fixed bug #34456 (Possible crash inside pspell extension). 2005-09-12 16:59:56 +00:00
Dmitry Stogov 0d702db813 Additinal fix for bug #34277 (array_filter() crashes with references and objects) 2005-09-12 09:59:47 +00:00
foobar 0a6ee73fa1 touch 2005-09-05 16:35:05 +00:00
foobar 6062c27a2b MFH: - Fixed bug #34311 (unserialize() crashes with characters above 191 dec) 2005-09-05 16:25:43 +00:00
foobar 1b26d02ad4 touch with working re2c 2005-09-05 16:25:11 +00:00
foobar 04afd0cec5 BFN 2005-09-05 13:05:06 +00:00
Frank M. Kromann 1279030cea Fix for #34369
Add extra parameter to mssql_connect to force a new connection
2005-09-05 05:03:21 +00:00
Wez Furlong a616ad19e0 merge solaris portability fix 2005-09-04 04:41:00 +00:00
foobar 62c5ef476d typo 2005-09-02 21:12:31 +00:00
foobar 7420158d78 BFN 2005-09-02 21:11:11 +00:00
Ilia Alshanetsky 32aced596a MFH: Resolved bug #34240. 2005-09-02 17:25:33 +00:00
foobar ac4886ddff MFH 2005-09-02 13:52:55 +00:00
Dmitry Stogov 83da11921d Fixed bug #34137 (assigning array element by reference causes binary mess) 2005-09-01 13:26:44 +00:00
Dmitry Stogov e2aea0d95b Fixed bug #34277 (array_filter() crashes with references and objects) 2005-09-01 12:01:28 +00:00
Anantha Kesari H Y 4f07df5320 As NetWare LibC has optind and optarg macros defined in unistd.h our local variables were getting mistakenly preprocessed so undeffing optind and optarg
--Kamesh
2005-09-01 09:51:46 +00:00
foobar c9c573bc68 Fixed bug #34323 2005-08-31 22:29:48 +00:00
foobar c4d255c334 Fixed bug #32318 2005-08-31 14:34:46 +00:00
Ilia Alshanetsky 9da0abf7f4 MFH: Fixed bug #32589 (possible crash inside imap_mail_compose() function). 2005-08-30 22:05:13 +00:00
Derick Rethans 214949457c - Fixed bug #34302 (date('W') do not return leading zeros for week 1 to 9). 2005-08-30 09:14:51 +00:00
Ilia Alshanetsky c3b4f2fd42 MFH: Fixed bug #34214 (base64_decode() does not properly ignore whitespace) 2005-08-26 03:33:07 +00:00
Ilia Alshanetsky ca741c453e MFH: Remainder of the 34191 bug fix. 2005-08-24 16:20:12 +00:00
Ilia Alshanetsky 7b1dcaae5b MFH: removed unused vars 2005-08-23 15:21:00 +00:00
Greg Beaver 5019b5e2e4 sync with PEAR 1.3.6 2005-08-22 22:17:30 +00:00
Greg Beaver 3f7c8b6a76 delete XML_RPC 1.3.1, add 1.4.0 2005-08-22 22:13:12 +00:00
Ilia Alshanetsky 6d457903a1 MFH: Make dba extension support BerkleyDB 4.3. 2005-08-22 19:59:42 +00:00
Greg Beaver 56f160e2ce argh, Archive_Tar is version 1.3.1, not 1.3.2 2005-08-22 16:12:40 +00:00
Ilia Alshanetsky 2e60ddf486 MFH: Fixed bug #34191 (ob_gzhandler does not enforce trailing \0). 2005-08-21 16:05:35 +00:00
Greg Beaver c9fd935be7 add checks for extensions that must be loaded 2005-08-20 18:32:24 +00:00
Edin Kadribasic 5268954068 Sync with PCRE lib upgrade 2005-08-18 21:51:02 +00:00
Ilia Alshanetsky 81728b8999 MFH: Fixed bug #34156 (memory usage remains elevated after memory limit is
reached)
2005-08-18 15:14:46 +00:00
Ilia Alshanetsky 91cba25cd3 MFH: Fixed bug #33987 (php script as ErrorDocument causes crash in Apache 2). 2005-08-18 01:15:53 +00:00
Greg Beaver 890a2fc397 re-enable XML_RPC 1.4.0
add return by ref from PEAR::raiseError
2005-08-17 21:44:32 +00:00
Ilia Alshanetsky 58feb4426a MFH: Fix EOLs under windows 2005-08-17 15:34:24 +00:00
Ilia Alshanetsky 9817dbb9b0 MFH: Fixed bug #34148 (+,- and . not supported as parts of scheme). 2005-08-16 14:12:13 +00:00
Ilia Alshanetsky b0f9118af0 MFH: Input validation part 2. 2005-08-16 00:26:02 +00:00
Ilia Alshanetsky fd9586e6ac MFH: Chunk the output 2005-08-15 23:24:27 +00:00
Ilia Alshanetsky c4dffe672a MFH: input validation 2005-08-15 16:06:08 +00:00
Derick Rethans 3e37d97627 - MFH: Fixed bug #33558 (Warning with nested calls to functions returning by
reference).
2005-08-15 10:47:17 +00:00
foobar bebcea5fcd - nuked DOS EOLs.. 2005-08-11 23:53:31 +00:00
foobar 6f23ab9f42 MFH 2005-08-11 23:50:18 +00:00
Antony Dovgal d8332e2fda fix proto 2005-08-11 21:55:28 +00:00
Marcus Boerger 7e406fd9e3 - This is actually 4.4 2005-08-11 21:37:59 +00:00
Ilia Alshanetsky 538965c2a8 MFH: Fixed bug #34068 (Numeric string as array key not cast to integer in
wddx_deserialize()).
2005-08-10 22:39:12 +00:00
Dmitry Stogov 28f45e4133 Fixed bug #34064 (arr[] as param to function is allowed only if function receives argument by reference) 2005-08-10 10:37:03 +00:00
Dmitry Stogov 2414baae20 Fixed bug #33940 (array_map() fails to pass by reference when called recursively) 2005-08-10 08:24:12 +00:00
Dmitry Stogov 674236d9ab Fixed bug #29253 (array_diff with $GLOBALS argument fails) 2005-08-10 07:44:10 +00:00
Andrei Zmievski 2e2583102c Upgrade to PCRE 6.2. 2005-08-09 17:42:02 +00:00
foobar 91f79200be MFH 2005-08-05 20:39:39 +00:00
foobar 2e97535993 - Fixed bug #34008 (compile failure) 2005-08-05 20:27:59 +00:00
Anantha Kesari H Y 2037993656 NetWare specific stat structure issues.
--Kamesh
2005-08-05 14:09:18 +00:00
Anantha Kesari H Y 804360bf74 NetWare cross compile patch from 5.0 tree.
--Kamesh
2005-08-04 12:11:29 +00:00
Dmitry Stogov 1a3176c4eb Fixed bug #33989 (extract($GLOBALS,EXTR_REFS) crashes PHP) 2005-08-04 10:37:51 +00:00
Anantha Kesari H Y 2daa579c04 NetWare LibC has lstat implemented.
--Kamesh
2005-08-03 14:51:24 +00:00
Anantha Kesari H Y ed71e6e085 NetWare specific stat structure issues.
--Kamesh
2005-08-03 14:49:50 +00:00
foobar 469427bc2a MFH 2005-07-29 19:42:48 +00:00
foobar f7a545b5bf MFH 2005-07-29 12:59:38 +00:00
Anantha Kesari H Y b0e2954cf2 Merging changes from 5.0 tree
--Kamesh
2005-07-28 14:47:53 +00:00
Anantha Kesari H Y c89405f0c7 NetWare changes from 5.0 Tree.
--Kamesh
2005-07-28 10:10:16 +00:00
Anantha Kesari H Y 51e4e4c3f5 Adding this file from 5_0 tree
-- Kamesh
2005-07-28 09:25:30 +00:00
Anantha Kesari H Y acbd45f0f9 NetWare can make use autoconf based build.
--Kamesh
2005-07-28 09:04:07 +00:00
Anantha Kesari H Y 65da211da3 NetWare LibC SDK has stat.h. So removing this.
--Kamesh
2005-07-28 09:01:44 +00:00
Anantha Kesari H Y 47a0878ab4 NetWare cross compile patches from 5.0
--Kamesh
2005-07-27 11:58:28 +00:00
Anantha Kesari H Y 0536df249b cross compile patches from 5.0 tree.
--Kamesh
2005-07-27 11:53:54 +00:00
Anantha Kesari H Y 646da25288 ext/standard/datetime.c
Removed redundant NEW_LIBC checks

ext/standard/head.c
Removed redundant inclusion of headers

ext/standard/image.c
Removed redundant inclusion of headers

ext/standard/pageinfo.c
Removed redundant CLIB_STAT_CHECK.  BG(page_mtime) was giving nano seconds portion out of timespec corrected to seconds.

ext/standard/math.c
Not to hardcode inability as much as possible, in future NetWare LibC SDK might have asinh that time autoconf can make this function available.

ext/standard/filestat.c
Fixed the typo of accessing the nano seconds from a timer_spec to seconds.

--Kamesh
2005-07-27 11:22:36 +00:00
Anantha Kesari H Y 292f0a29bd NetWare can make use of autoconf based build 2005-07-27 10:32:16 +00:00
Anantha Kesari H Y 4dcdce3c23 main/php_syslog.h
NetWare can make use of Autoconf based build.

main/php.h
Removed redundant NEW_LIBC checks.
PHP_UNAME and PHP_OS has been hardcoded for NetWare inside configure.in

Removed the config.nw.h
--Kamesh
2005-07-27 10:26:25 +00:00
Anantha Kesari H Y 32ee7c0288 Removing redundant CLIB_STAT_PATCH checks.
--Kamesh
2005-07-27 09:14:44 +00:00
Antony Dovgal 2c6a999132 nuke unused var 2005-07-26 20:05:49 +00:00
Anantha Kesari H Y 6b270a0bdd NetWare libmysqlclient library is available as libmysql(olden times 8.3 limitation).
Applying the accepted patches on 5.0 tree.
--Kamesh
2005-07-26 14:02:00 +00:00
Anantha Kesari H Y 21bcceda8d main/main.c
Removing redundant NEW_LIBC checks

main/fopen_wrappers.c
NetWare LibC SDK has sys/pwd.h and sys/param.h
Removed redundant NEW_LIBC checks

main/user_streams.c
NetWare specific stat structure issues.

main/php_scandir.c
Netware LibC SDK does not have search.h

main/network.c
Removed redundant NEW_LIBC checks.
NetWare LibC SDK has sys/param.h
--Kamesh
2005-07-26 13:51:34 +00:00
Anantha Kesari H Y 1b7a2b100e TSRM/TSRM.h
NetWare can make use of autoconf based build.
PTHREADS implementation of NetWare is good enough so dropping the code for NetWare specific thread implementation in preference to PTHREADS

TSRM/TSRM.c
PTHREADS implementation of NetWare is good enough so dropping the code for NetWare specific thread implementation in preference to PTHREADS

TSRM/tsrm_virtual_cwd.c
NetWare can make use of autoconf based build.
Removed redundant CLIB_STAT_PATCH checks
NetWare specific fixes from PHP_5_0.

TSRM/tsrm_virtual_cwd.h
Removed redundant CLIB_STAT_PATCH checks
NetWare specific fixes from PHP_5_0.

--Kamesh
2005-07-26 13:34:52 +00:00
Anantha Kesari H Y f1e6410401 ext/standard/basic_functions.c
Removed Redundant inclusion headers for NetWare. NetWare LibC SDK has netdb.h.

ext/standard/file.c
NetWare LibC sys/types.h does not include sys/select.h implicitly as it is the case with Linux LibC. So including explicitly.
NetWare LibC SDK has pwd.h
NetWare specific stat structure issues.

ext/standard/filestat.c
NetWare LibC SDK has pwd.h
removing redundant CLIB_STAT_PATCH and NEW_LIBC checks

ext/standard/fsock.c
Removed the redundant NEW_LIBC checks

ext/standard/mail.c
netware/pipe.h not needed to be included anymore for NetWare
Removed the netware/sysexits.h and defined the 2 relevant macros inside the NetWare section

ext/standard/pack.c
NetWare LibC SDK has pwd.h

ext/standard/pageinfo.c
NetWare LibC SDK has pwd.h.
Removing redunant NEW_LIBC checks.

ext/standard/rand.c
NetWare LibC SDK has pwd.h.

ext/standard/ftp_fopen_wrapper.c
Removing redundant inclusion of headers. NetWare LibC SDK has sys/param.h

ext/standard/http_fopen_wrapper.c
Removing redundant inclusion of headers. NetWare LibC SDK has sys/param.h

--Kamesh
2005-07-26 09:32:58 +00:00
Rasmus Lerdorf af0f90f6c2 Fix for bug #33690 2005-07-25 20:36:36 +00:00
Anantha Kesari H Y 8274a8d733 NetWare LibC SDK has pwd.h and include sys/param.h
--Kamesh
2005-07-25 14:07:16 +00:00
Anantha Kesari H Y 0182115dd7 Netware specific stat structure issues.
--Kamesh
2005-07-25 14:06:17 +00:00
Anantha Kesari H Y a29f16dc23 ext/standard/dl.c
NetWare LibC dlsym works perfectly only thing that each of the extension need to export a symbol with FULL capital prefix.

ext/standard/fsock.h
Removing redundant inclusion of headers for NetWare

ext/standard/lcg.c
NetWare LibC SDK sys/time.h implicitly includes sys/timval.h so nothing special needed for NetWare here.

ext/standard/link.c
NetWare LibC SDK has pwd.h.

ext/standard/microtime.c
Removing redundant NEW_LIBC checks and nothing special about NetWare here. including sys/time.h will do the needful.

--Kamesh
2005-07-25 13:08:32 +00:00
Yasuo Ohgaki 3d3a67adeb fix build with older pgsql. 2005-07-24 23:11:45 +00:00
Anantha Kesari H Y 2abccacfa5 main/php_compat.h
NetWare can make use of Autoconf based build.

main/php_open_temporary_file.c
NetWare LibC SDK has sys/param.h so removing the redundant NEW_LIBC checks.
NetWare LibC has mkstemp implementation

main/mergesort.c
Removing redundant sys/socket.h includes

main/reentrant.c
Removing the redundant rentrant time function wrappers of NetWare

--Kamesh
2005-07-23 11:45:28 +00:00
Anantha Kesari H Y 70f9d2d390 ext/standard/dl.c
NetWare LibC SDK has sys/param.h so removing the redundant NEW_LIBC checks.
ext/standard/flock_compat.c
Removing redundant NEW_LIBC checks
ext/standard/lcg.c
NetWare LibC SDK has sys/timeval.h so removing the redundant NEW_LIBC checks.
ext/standard/pack.c
NetWare LibC SDK has sys/param.h so removing the redundant NEW_LIBC checks.
--Kamesh
2005-07-23 11:06:52 +00:00
Ilia Alshanetsky 4aef02ca6f MFH: Fixed bug #32160 (copying a file into itself leads to data loss). 2005-07-20 19:26:31 +00:00
Andrei Zmievski 8f4af759af *** empty log message *** 2005-07-20 01:45:03 +00:00
Ilia Alshanetsky bc26544ff3 MFH: revert 2005-07-18 19:18:29 +00:00
foobar 0d4649e39b MFH 2005-07-18 18:39:12 +00:00
Andrei Zmievski baa0ab00ad Use HAVE_REGEX_T_RE_MAGIC to fix compilation problem on systems where
re_magic is not provided publicly.
2005-07-18 17:34:38 +00:00
Ilia Alshanetsky 20777be394 MFH: Fixed handling of HTTP requests with multiple Cookie headers. 2005-07-18 04:04:43 +00:00
foobar 6a1956ac37 MFH 2005-07-14 00:16:43 +00:00
Ilia Alshanetsky 12d6e6c660 MFH: Fixed bug #33673 (Added detection for partially uploaded files). 2005-07-13 20:47:56 +00:00
foobar 4a58e4f4b9 MFH 2005-07-13 15:04:30 +00:00
Dmitry Stogov c0aa935d3d Fixed bug #33156 (cygwin version of setitimer doesn't accept ITIMER_PROF). (Nuno) 2005-07-12 07:17:33 +00:00
Dmitry Stogov 4cb75f1b3a Fixed bug #31158 (array_splice on $GLOBALS crashes) 2005-07-11 16:25:46 +00:00
Derick Rethans 4605e3a541 - Back to -dev. 2005-07-11 08:09:51 +00:00
Derick Rethans 7902154f46 - Go with 4.4.0. 2005-07-11 07:45:14 +00:00
Derick Rethans 44bf966ae7 - MFH: Fixed memory corruption in pg_copy_from() in case the as_null parameter
was passed. (Derick)
2005-07-05 12:50:03 +00:00
Edin Kadribasic caf18b2bfa BFN: now in the correct place :) 2005-07-02 23:07:50 +00:00
Edin Kadribasic a55d32948b BFN 2005-07-02 23:05:37 +00:00
Edin Kadribasic f5d89321e8 MFH 2005-07-02 22:53:11 +00:00
Derick Rethans 201569c7f9 - Back to -dev 2005-07-01 10:05:42 +00:00
Derick Rethans 7e1fa145ee - GO with RC2. 2005-07-01 09:54:01 +00:00
Pierre Joye d5a7368d72 - really remove xmp-rpc 1.2.2 2005-07-01 09:48:53 +00:00
Pierre Joye 97073a0517 - remove xml_rpc 1.2.2 (step #2)
- add 1.3.1 archive (step #3)
2005-07-01 09:42:15 +00:00
Pierre Joye e6dd1bee42 - update xmp_rpc to 1.3.1 (step #1/3) 2005-07-01 09:41:04 +00:00
Derick Rethans 2be36d43e8 - Added missing .cvsignore. 2005-07-01 09:35:18 +00:00
Derick Rethans cacba2613e - Backport config.m4 from HEAD so that pg_config can be used. 2005-07-01 09:10:14 +00:00
Stefan Esser b10466c3ee MFH: Also check FTP password 2005-06-27 08:27:23 +00:00
Holger Zimmermann 313ace007d Replaced PCHAR by CHAR * (not defined in pi3web_sapi header) 2005-06-26 09:17:40 +00:00
Dmitry Stogov 8301424d57 Fixed bug #28377 (debug_backtrace is intermittently passing args) 2005-06-23 12:21:01 +00:00
foobar 7d96c874b9 MFH 2005-06-21 13:07:40 +00:00
Dmitry Stogov fc4dabbbf6 Fixed bug #31213 (Sideeffects caused by fix of bug #29493) 2005-06-21 12:11:19 +00:00
Antony Dovgal 10a123f2f8 MFH: reorder and prevent memleak: bailout after free() 2005-06-20 19:59:43 +00:00
foobar 490617c780 fix VPATH testing (partial MFH) 2005-06-18 22:54:07 +00:00
foobar 97e89bfb82 BFN 2005-06-18 18:58:55 +00:00
foobar 317c7ae225 MFH 2005-06-18 18:55:12 +00:00
foobar a29aa6577d MFH 2005-06-17 16:23:04 +00:00
Dmitry Stogov a07fe81c38 Fixed bug #31402 (unserialize creates a field containing a reference when it should not) 2005-06-17 13:52:58 +00:00
foobar 1b9a2471bd MFH 2005-06-15 17:13:52 +00:00
Edin Kadribasic fd6a541974 MSVC++ 6.0 doesn't support long long type 2005-06-13 19:32:15 +00:00
Derick Rethans a0207767c4 - Back to dev 2005-06-13 14:34:26 +00:00
Derick Rethans ba7a46ba54 - Go with 4.4.0RC1. 2005-06-13 14:23:34 +00:00
foobar d233c60165 touch 2005-06-13 14:14:39 +00:00
Derick Rethans 093bc03fd5 - MFH: Fixed bug with unserialize() with "exotic" letters in class names 2005-06-13 14:13:11 +00:00
Antony Dovgal 450348fd7a MFH:
destroy session after destroying error handle
SQLT_CHR is allowed too
2005-06-13 09:37:57 +00:00
foobar 13f4cdcca7 MFH 2005-06-12 01:15:43 +00:00
foobar f4058a30fa Revert. re2c 0.9.7 obviously does not work properly (or our .re files are buggy) 2005-06-11 23:55:39 +00:00
foobar d3b74b0ec5 regenerated with re2c 0.9.7 2005-06-11 20:21:50 +00:00
foobar ddf0954eec MFH 2005-06-10 12:35:00 +00:00
Ilia Alshanetsky 544beecc55 MFH: Fixed compiler warning. 2005-06-09 16:13:34 +00:00
Dmitry Stogov 780b300fcf Fixed bug #25922 (In error handler, modifying 5th arg (errcontext) may result in seg fault) 2005-06-09 10:14:38 +00:00
Dmitry Stogov a82e35c290 Fixed memory allocation bugs in array_reduce() with initial value (#22463 & #24980) 2005-06-08 19:55:01 +00:00
foobar eb43932fb1 MFH 2005-06-08 10:34:41 +00:00
foobar 63626d1c68 MFH 2005-06-07 21:57:13 +00:00
foobar 3dc32f41a9 MFH 2005-06-07 21:40:36 +00:00
foobar 4d83ad6282 MFH 2005-06-07 17:23:12 +00:00
Derick Rethans 1a3b493d9a - MFH: Added the --disable-zend-memory-manager switch to disable the Zend
memory manager.
#- I discussed this with Dmitry today - we found it useful.
2005-06-07 13:37:33 +00:00
Derick Rethans 858745ddf9 - Fixed bug #32685, #29423 (Segfault when using assignment by reference within
function).
2005-06-07 09:57:44 +00:00
Ilia Alshanetsky a17e5fe163 MFH: Better storage size for output length. 2005-06-06 16:31:08 +00:00
Ilia Alshanetsky 44518f05f8 MFH: Fixed strval to not print notices on strval(array()). 2005-06-06 12:50:57 +00:00
Derick Rethans d1602669bc - MFH: Fixed bug #33242 (Mangled error message when stream fails). 2005-06-06 12:42:51 +00:00
Derick Rethans 76d392d3a9 - We've man pages just fine 2005-06-06 11:24:16 +00:00
Derick Rethans 94a2ab1990 - Update NEWS with the bz fix 2005-06-06 11:07:55 +00:00
Uwe Schindler ada89376b4 MFH: Fix bug #33166 for other branches and new bug #33255, no man pages for 4.4 2005-06-06 11:06:22 +00:00
Derick Rethans c479074f98 - Merge back changes which where in 4.3 but somehow didn't make it into the new
branch.
2005-06-06 10:59:47 +00:00
Edin Kadribasic e5788c2eb7 Sync with recent config.m4 changes 2005-06-06 09:38:53 +00:00
Derick Rethans 4f64bc6cfe - Commit the reference problem bug fix. 2005-06-06 09:30:09 +00:00
Derick Rethans 94801d1206 - Rename version. 2005-06-06 09:23:58 +00:00
SVN Migration 0cf43df604 This commit was manufactured by cvs2svn to create branch 'PHP_4_4'. 2005-06-02 21:32:50 +00:00
foobar a4ecfdb08c MFH: - Fixed bug #28605 (Need to use -[m]ieee option for Alpha CPUs) 2005-06-02 21:32:49 +00:00
Antony Dovgal 1a733ccbdd MFH: fix bug #33222 (segfault when CURL handle is closed in a callback). 2005-06-02 21:05:06 +00:00
Antony Dovgal 473e88e574 MFH: fix bug #33214 (odbc_next_result does not signal SQL errors with 2-statement SQL batches).
Path by rich at kastle dot com.
2005-06-02 15:42:58 +00:00
Derick Rethans 5955cb64bb - That should have been removed, not commented out. 2005-06-02 08:50:52 +00:00
Derick Rethans 0d3b976c03 - MFH: Fixed memory corruption in stristr(). 2005-06-02 08:31:38 +00:00
Ilia Alshanetsky a02c9cf4f1 MFH: Fixed bug #33210 (relax jpeg recursive loop protection). 2005-06-01 22:29:20 +00:00
foobar ca66964530 MFH: - Fixed bug #33200 (preg_replace(): magic_quotes_sybase=On makes 'e' modifier misbehave) 2005-05-31 12:56:00 +00:00
foobar b73fec0d9f MFH 2005-05-31 12:22:27 +00:00
Andrei Zmievski 1233878300 Upgrade PCRE library to 5.0. 2005-05-27 18:12:43 +00:00
Andrei Zmievski 7cb6bc0d50 MFH 2005-05-26 21:49:04 +00:00
Ilia Alshanetsky b57e6a484a MFH: Added scheme validation for parse_url(). 2005-05-26 03:56:45 +00:00
Andrei Zmievski 0943b7909a MFH (pcre cache flush) 2005-05-24 21:12:16 +00:00
Antony Dovgal 6305213066 MFH: make it compile on Win32 2005-05-24 10:14:16 +00:00
Ilia Alshanetsky 04d0a78649 MFH: Fixed bug #32810 (temporary files not using plain file wrapper). 2005-05-23 21:51:00 +00:00
Antony Dovgal 64ddf44bd5 revert by Wez's request 2005-05-23 15:37:29 +00:00
Antony Dovgal 1650db955c MFH: fix bug #32810 (fread after tmpfile() reads only 8192 bytes) 2005-05-23 11:52:44 +00:00
Antony Dovgal 4e03cdce32 MFH: fix test 2005-05-23 11:39:05 +00:00
foobar 8a6bb7e993 MFH: Upgrade bundled shtool to 2.0.1 2005-05-23 09:46:32 +00:00
foobar 0031c498a3 MFH: - Fixed bug #33017 ("make distclean" gives an error with VPATH build). 2005-05-23 09:43:59 +00:00
Ilia Alshanetsky add1f2f783 MFH: Fixed bug #29338 (unencoded spaces get ignored after certain tags). 2005-05-22 16:45:41 +00:00
Antony Dovgal cd98638298 MFH: fix compile warning 2005-05-22 12:59:29 +00:00
Rasmus Lerdorf dd5c63bc18 Fixed bug #33072 - Add a safemode/open_basedir check for runtime save_path
change
2005-05-21 19:46:34 +00:00
Grant Croker 50292aaff9 - Fixed bug #30593 (--with-ingres option generates broken Makefile). 2005-05-20 15:57:13 +00:00
Derick Rethans 456eba04a2 Update NEWS 2005-05-20 11:15:33 +00:00
Derick Rethans 379c4af44a - Fixed bug #33013: "next month" was done wrong. 2005-05-20 11:13:14 +00:00
Antony Dovgal e5f04e5d2f MFH: fix bug #32944 (Disabling session.use_cookies doesn't prevent reading session cookies) 2005-05-20 10:28:35 +00:00
foobar 30d0600769 reorder 2005-05-20 06:36:56 +00:00
Rasmus Lerdorf f0a7020898 NEWS file update for Jani 2005-05-19 16:16:44 +00:00
Rasmus Lerdorf bb9223391e Fix for bug #33057 - Don't send extraneous entity-headers on a 304 as per
RFC 2616 section 10.3.5
2005-05-19 16:14:46 +00:00
Ilia Alshanetsky f4a39b5314 Fixed bug #32802 (broken MFH) 2005-05-17 18:42:35 +00:00
Antony Dovgal 75a3ee0284 MFH: gdImageGifCtx() is always available in bundled lib 2005-05-17 12:23:09 +00:00
Antony Dovgal 4c5d775dd1 MFH: fix bug #32742 (segmentation fault when the stream with a wrapper is not closed) 2005-05-16 08:55:31 +00:00
Antony Dovgal 804d8f2183 MFH: fix bug #29975 (memory leaks when set_error_handler() is used inside error handler) 2005-05-13 23:11:17 +00:00
Rasmus Lerdorf e48af012eb I am reverting this patch:
http://cvs.php.net/diff.php/php-src/main/php_variables.c?r1=1.45.2.9&r2=1.45.2.10&ty=u

It consistently causes this segfault:
Program received signal SIGSEGV, Segmentation fault.
[Switching to Thread 16384 (LWP 2837)]
0x405313ff in zend_hash_find (ht=0x8266682, arKey=0x8266660 "fud_session_1109269364_referer_id", nKeyLength=34, pData=0x0)
    at /home/rasmus/php43/Zend/zend_hash.c:897
897                                     *pData = p->pData;
(gdb) bt
#0  0x405313ff in zend_hash_find (ht=0x8266682, arKey=0x8266660 "fud_session_1109269364_referer_id", nKeyLength=34, pData=0x0)
    at /home/rasmus/php43/Zend/zend_hash.c:897
#1  0x4050c39c in php_register_variable_ex (var=0x8266660 "fud_session_1109269364_referer_id", val=0xbffff730, track_vars_array=0x823e908)
    at /home/rasmus/php43/main/php_variables.c:201
#2  0x4050c031 in php_register_variable_safe (var=0x823e908 "?m\031\b", strval=0x0, str_len=0, track_vars_array=0x823e908)
    at /home/rasmus/php43/main/php_variables.c:56
#3  0x4050c6fb in php_default_treat_data (arg=2, str=0x0, destArray=0x823e908) at /home/rasmus/php43/main/php_variables.c:318
#4  0x40502af2 in php_hash_environment () at /home/rasmus/php43/main/main.c:1442
#5  0x4050187f in php_request_startup () at /home/rasmus/php43/main/main.c:936
#6  0x4053e746 in apache_php_module_main (r=0x818c894, display_source_mode=0) at /home/rasmus/php43/sapi/apache/sapi_apache.c:33
#7  0x4053f1e9 in send_php (r=0x818c894, display_source_mode=0, filename=0x0) at /home/rasmus/php43/sapi/apache/mod_php4.c:621
#8  0x4053f36d in send_parsed_php (r=0x823e908) at /home/rasmus/php43/sapi/apache/mod_php4.c:636
2005-05-13 05:27:14 +00:00
Antony Dovgal a570698425 MFH: fix #33019 (socket errors cause memory leaks in php_strerror())
patch by jwozniak23 at poczta dot onet dot pl
2005-05-12 16:27:22 +00:00
Antony Dovgal 4ca2a45a0c use & and check for the right value of result_type
btw, nobody noticed that result_type wasn't ever working in 4.3, because it was absent in parse_params()..
also, I prefer "Tony" just for uniformity =)
2005-05-10 23:15:06 +00:00
foobar 0d12de2d75 Tony or Antony? :) 2005-05-10 21:47:11 +00:00
Antony Dovgal 180e1501bb MFH: fix #32904 (pg_get_notify() ignores result_type parameter) 2005-05-10 20:14:11 +00:00
foobar d6597ad37d - Fixed bugs #32800, #32830 (ext/odbc: Problems with 64bit systems) 2005-05-10 13:21:36 +00:00
foobar 295719fa32 Revert the memleak fix due to net-snmp oddity (see also bug #32613) 2005-05-10 11:21:19 +00:00
Georg Richter 6e516e2214 fix for bug #32116 (mysql compressed connection doesn't work under win) 2005-05-09 17:45:50 +00:00
foobar e213ff37c3 MFH: - getlogin() / getgroups() are not necessarily available everywhere 2005-05-09 12:16:19 +00:00
foobar ae85316906 Remove dos crap 2005-05-09 07:08:42 +00:00
foobar 79cbb4b143 MFH: - Fixed putenv() under win32 (see bug #32957) 2005-05-08 19:50:39 +00:00
Rasmus Lerdorf fcfd9f78ab Oops, wrong place. It was in the logo stuff instead. 2005-05-08 17:20:57 +00:00
Rasmus Lerdorf 0b7fbabd80 Let's not XSS ourself at least 2005-05-08 17:09:24 +00:00
foobar 49b5d46a76 MFH: - Fixed bug #32932 (Oracle LDAP: ldap_get_entries invalid pointer)
# also partial sync with HEAD (just some ws/cs changes)
2005-05-08 16:06:25 +00:00
Wez Furlong 01ee1225dc Fix #32974 2005-05-07 14:55:39 +00:00
Rasmus Lerdorf c227ea05c4 Fix what I assume was a typo 2005-05-07 09:25:31 +00:00
Ilia Alshanetsky 6b582b2c85 MFH: Check ftp user name for control characters. 2005-05-06 18:43:31 +00:00
Antony Dovgal 91f96ef1d7 MFH: fix off-by-one in _php_image_output()
and prevent such errors in php_do_open_temporary_file()
2005-05-06 16:51:54 +00:00
Ilia Alshanetsky 394662b4a2 MFH: Fixed bug #32936 (http redirects URLs are not checked for control chars). 2005-05-06 02:19:04 +00:00
Ilia Alshanetsky 65af72474e Bug fixing news. 2005-05-03 01:30:19 +00:00
Pierre Joye 0512d70c33 - MFH (#32893, imagettf crashes)
uses long for zval
2005-05-02 09:39:26 +00:00
Pierre Joye 2253f7dbf7 - #32891, init old y positions to non possible values. -1 being used if the
center start a (x,0)
2005-05-01 05:45:55 +00:00
foobar c006bbb006 MFH: - Fix problems with phpized ext/imap 2005-04-30 09:31:09 +00:00
foobar a4f461f9df MFH: - Added man pages for "phpize" and "php-config" scripts. (Jakub Vrana) 2005-04-30 04:28:24 +00:00
foobar 681c35bc17 MFH 2005-04-30 04:12:24 +00:00
foobar 58ba05c901 MFH: Moved phpextdist to dev/ 2005-04-30 03:02:10 +00:00
foobar 5b6edac5bc MFH 2005-04-28 14:24:47 +00:00
Antony Dovgal 49470fdc74 MFH: handle unsupported datatypes and prevent segfault 2005-04-28 14:13:08 +00:00
foobar 3f573827c2 MFH 2005-04-28 13:14:46 +00:00
Rob Richards 2f69536e0e BFN 2005-04-28 12:20:13 +00:00
Rob Richards fbf441a447 MFH: Fix bug #32245 (xml_parser_free() in function assigned to the xml parser
gives a segfault)
2005-04-28 12:19:38 +00:00
foobar 58a6e8f921 MFH 2005-04-27 23:27:53 +00:00
Andrey Hristov c9a701c4d1 change names 2005-04-27 21:22:18 +00:00
Ilia Alshanetsky e000385d10 MFH: Fixed bug #32813 (parse_url() does not handle scheme-only urls properly). 2005-04-25 23:49:27 +00:00
foobar 4be5f46e50 MFH: Revert. Nokia didn't pay me enough. :) 2005-04-25 21:22:48 +00:00
Stanislav Malyshev 218f2b42e0 rm unneeded 2005-04-25 12:04:35 +00:00
Stanislav Malyshev 3158315a54 fix for #32773 2005-04-25 12:03:53 +00:00
Stanislav Malyshev cc83a160ee Fix #32773 and made right fix for GMP FPEs 2005-04-25 12:03:27 +00:00
Stanislav Malyshev ba9ef20412 add test 2005-04-25 11:18:44 +00:00
Dmitry Stogov 1296a72aff Test case fnd news entriey for bug #29944 2005-04-25 10:51:39 +00:00
Stanislav Malyshev 3c7723a674 Remove broken fix - second operand of GMP operation certainly can be 0 in general case 2005-04-25 10:21:58 +00:00
Dmitry Stogov e3c797aed4 Fixed call to estrndup() with invalid length 2005-04-25 06:14:50 +00:00
Ilia Alshanetsky 44a7348d22 MFH: Fixed bug #32802 (General cookie overrides more specific cookie). 2005-04-24 18:10:30 +00:00
foobar a67ec786cc typo 2005-04-23 23:57:40 +00:00
foobar fbd807a7b8 MFH: fix memleak 2005-04-23 21:15:39 +00:00
foobar 95c6aa35c7 MFH: - Fixed bug #32111 (Cookies can also be separated by colon) 2005-04-23 20:34:15 +00:00
Joe Orton 362db6cec6 MFH: Fixed bug #32797 (invalid C code in xmlrpc extension). 2005-04-22 11:57:53 +00:00
Antony Dovgal ba4e292b20 add missing entries in .cvsignore 2005-04-22 09:22:23 +00:00
Antony Dovgal 7c33078b31 fix C++ comments 2005-04-22 09:21:49 +00:00
Andrey Hristov 5393ff76f4 MFH
introduce INT_MAX and INT_SIZE
#would be wonderful if the doc team takes care of that
#defined since 4.3.12, missing in 5.0.0-5.0.4, available in 5.0.5+
2005-04-22 07:27:45 +00:00
Masaki Fujimoto 588fc6e846 - MFH: Fix mbfl_encoding_detector_feed() and mbfl_mbfl_identify_encoding() behaviour 2005-04-22 05:03:38 +00:00
foobar 1c32084d9d MFH 2005-04-21 23:02:23 +00:00
foobar 078f3abb05 MFH: - Fixed bug #32647 (Using register_shutdown_function() with invalid callback can crash PHP) 2005-04-21 14:47:13 +00:00
foobar 8fe6e70d72 Fix test 2005-04-21 14:38:27 +00:00
foobar 6567ab4932 MFH: Added test for bug #32647 2005-04-21 14:18:51 +00:00
Brian France a9c0b4eaa6 MFH: Added support for .cc files in extensions. 2005-04-20 20:51:45 +00:00
foobar cd387e3f9a MFH 2005-04-19 22:06:50 +00:00
foobar 8fd7c98196 MFH: - Remove relic 2005-04-17 13:37:29 +00:00
foobar 52105b88b4 - Fixed bug #32730 (ext/crack.c fails to compile with cracklib-2.8.3) 2005-04-17 13:27:18 +00:00
foobar 0bf8ea8b03 MFH: - Fixed bug #31887 (ISAPI: Custom 5xx error does not return correct HTTP response message) 2005-04-17 03:39:39 +00:00
foobar 35b7a1e3f7 retype 2005-04-16 12:25:36 +00:00
foobar 89347c7c20 typofix 2005-04-16 12:15:48 +00:00
Uwe Schindler bd36484d85 MFH: use streams api for md5_file() and sha1_file() 2005-04-16 09:49:53 +00:00
foobar 73bc800428 MFH 2005-04-15 22:25:29 +00:00
foobar 6b38c14911 MFH 2005-04-15 22:20:43 +00:00
foobar 626d78118d MFH: - Use correct type (bug #32720) 2005-04-15 22:08:43 +00:00
Uwe Schindler a9c24d9728 correct copy/paste problem 2005-04-15 09:44:45 +00:00
Uwe Schindler 9cfdc3a4da correct copy/paste problem 2005-04-15 09:24:45 +00:00
Uwe Schindler 080e6fd89f MFH: fix various solaris problems by replacing stdio with posix io where possible 2005-04-15 09:15:03 +00:00
foobar 7f1754653c - Regenerated with re2c 0.9.6 (fixes severe bugs) 2005-04-14 22:41:39 +00:00
foobar 7f84c5e32b MFH: - Add support for latest Birdstep 2005-04-14 21:17:49 +00:00
foobar 7e4495a66f BFN 2005-04-14 15:48:38 +00:00
foobar 2e63e4f923 MFH: Fixes & cleanup + some minor new features 2005-04-14 15:41:50 +00:00
Ilia Alshanetsky 2745fef293 Fixed bug #31583 (php_std_date() uses short day names in non-y2k_compliance
mode).

Patch by: mike at php dot net
2005-04-14 13:30:27 +00:00
Antony Dovgal febe0e0caf MFH: disable pg_cmdtuples() too, if there is no pg_affected_rows() 2005-04-13 22:12:06 +00:00
Derick Rethans c1e9d3433d - Fixed bug #32699 (pg_affected_rows() was defined when it was not available). 2005-04-13 21:27:35 +00:00
Antony Dovgal e58545fde9 MFH: add testcase for bug #30833 2005-04-13 08:24:12 +00:00
Moriyoshi Koizumi 40d6477fe5 - MFH: commit the pending patch (bug #32311). 2005-04-13 08:08:28 +00:00
Frank M. Kromann e681512beb MFH: Fix for #32682. Error on module shutdown when called from activescript 2005-04-12 17:46:45 +00:00
foobar b3acf2c5c4 MFH: - Fixed bug #32587 (Apache2: errors sent to error_log do not include timestamps)
# Also nuked the deprecated APLOG_NOERRNO's
2005-04-08 20:35:02 +00:00
foobar 2ed05398fc regenerated with re2c 0.9.4 2005-04-08 20:18:21 +00:00
foobar a5fa2525c8 typo 2005-04-08 20:17:41 +00:00
foobar 4ee1f9830d Missing $Id$ tag 2005-04-08 20:16:41 +00:00
Ilia Alshanetsky 3aaec591c2 MFH: Missing part of the patch for bug #32589 2005-04-08 15:04:52 +00:00
foobar 5ccc67cc8a MFH: for the s*printf* stuff 2005-04-08 13:37:53 +00:00
foobar 2b865616f1 MFH and Fixes bug #32482 (ap_php_snprintf broken) 2005-04-08 05:44:53 +00:00
Jon Parise 03aa84f955 MFH 1.36: Spell "overridden" correctly. 2005-04-07 23:33:50 +00:00
foobar 83b353de2c BFN 2005-04-07 22:24:21 +00:00
foobar 0a9d87e630 - Fixed bug #32591 (ext/mysql: Unsatisfied symbol: ntohs with HP-UX) 2005-04-07 22:23:01 +00:00
foobar 4942272466 MFH 2005-04-07 22:04:26 +00:00
foobar 001a39d7fb MFH 2005-04-07 20:49:01 +00:00
Uwe Schindler 85a028b891 Bug #32614 - prevent from crahsing with segfault on solaris if fdopen() fails - this fixes NOT the stdio-problem on solaris! 2005-04-07 07:28:08 +00:00
foobar 9a6cf59744 MFH 2005-04-06 22:16:11 +00:00
Antony Dovgal 6dce4e78ab MFH: remove proto 2005-04-05 20:32:01 +00:00
Ilia Alshanetsky 6f871656df MFH: Fixed bug #32589 (Possible crash inside imap_mail_compose, with charsets). 2005-04-05 14:49:10 +00:00
Sara Golemon a4d454fdcf MFH rev 1.72 (of main/streams/streams.c) 2005-04-04 20:26:49 +00:00
foobar 782736f277 update 2005-04-04 18:53:47 +00:00
Antony Dovgal 7350e8b884 fix #32567 (ext/gmp fails to compile with thread safety enabled) 2005-04-04 16:30:42 +00:00
Uwe Schindler 34486b7aae Bug #32491 (File upload error - unable to create a temporary file) - Changing file upload from stdio to posix 2005-04-04 14:59:58 +00:00
Ilia Alshanetsky fbdc2a9d10 MFH: Fixed bug #32530 (chunk_split() does not append endstr if chunklen is
longer then the original string).
2005-04-03 18:09:55 +00:00
Antony Dovgal a384315b3a MFH: fix typo 2005-04-03 13:06:58 +00:00
Antony Dovgal 68e170bec8 MFH: fix output_reset_rewrite_vars() returning false 2005-04-03 12:20:51 +00:00
foobar 34a310de8c - Sync with HEAD:
. php_error -> php_error_docref (fixes test)
  . pval -> zval
  . use modern parameter parsing
# No new functionality was added!
2005-04-03 11:39:43 +00:00
foobar 430b4a6531 MFH 2005-04-03 11:18:05 +00:00
Greg Beaver d7d721c96c allow local install, remove -n switch 2005-04-02 23:52:12 +00:00
foobar 50a7757f0c MFH 2005-04-02 23:19:53 +00:00
foobar e528918061 MFH 2005-04-02 23:04:41 +00:00
foobar 40ebf7dbc1 - Fixed bug #32538 (ext/swf/swf.c does not compile with gcc-3.4.x or newer) 2005-04-02 06:03:14 +00:00
foobar 70a222560d MFH: Added SORT_LOCALE_STRING for array sorting 2005-03-31 08:18:40 +00:00
foobar 71e6b9e504 MFH: c++ fix 2005-03-31 07:40:30 +00:00
Ilia Alshanetsky 8b06c5cda1 back to dev. 2005-03-30 22:10:25 +00:00
Ilia Alshanetsky 9b736b4d22 Tag 4.3.11 2005-03-30 14:18:37 +00:00
Edin Kadribasic 22d260995e Updated install instructions from the documentation project (Philip Olson) 2005-03-30 13:15:34 +00:00
Ilia Alshanetsky 547fa41064 patch was reverted. 2005-03-29 17:32:18 +00:00
Greg Beaver ff707e14e2 update to current bundle ideal 2005-03-28 17:02:29 +00:00
Greg Beaver 152fdf118a merge in PEAR 1.3.5 2005-03-28 16:57:01 +00:00
Ilia Alshanetsky 0674cfae43 MFH: revert copy patch. 2005-03-27 15:53:59 +00:00
Moriyoshi Koizumi 3ae4e31064 - Temporary reversion as per release masters' requests. 2005-03-23 23:57:42 +00:00
Moriyoshi Koizumi fd423c6b1d - Reorder. 2005-03-23 23:32:12 +00:00
Moriyoshi Koizumi db52703bc2 - MFH: fix bug #32311 (mb_encode_mimeheader() does not properly escape
characters).
2005-03-23 23:30:18 +00:00
Ilia Alshanetsky 3fcf9b11be Back to dev. 2005-03-23 21:33:56 +00:00
Ilia Alshanetsky c3738fdca7 4.3.11RC2 2005-03-23 20:42:33 +00:00
foobar d6e0e5f7ea MFH 2005-03-23 00:39:58 +00:00
Edin Kadribasic df26ef5475 Fix exif win32 build 2005-03-22 22:07:04 +00:00
foobar eeba2141bc MFH 2005-03-22 16:03:28 +00:00
foobar 2285d9bdcc MFH 2005-03-22 15:39:42 +00:00
Antony Dovgal b951e33f8d MFH: fix #28803 (enabled debug causes bailout errors with CLI on AIX
because of fflush() called on already closed filedescriptor)
2005-03-22 15:09:36 +00:00
Derick Rethans 6a1c9f5810 - MFH: Changed to reflect "current practise" 2005-03-22 09:05:48 +00:00
Zeev Suraski 874f07c893 MFH 2005-03-20 09:04:03 +00:00
Antony Dovgal 65b3d94fac MFH: fix segfault in bzopen() 2005-03-19 13:56:56 +00:00
Greg Beaver 747d019bd3 update to Archive_Tar 1.3.1 2005-03-18 01:58:20 +00:00
Moriyoshi Koizumi 4b4f30017b - Add missing entries. 2005-03-18 00:49:32 +00:00
Ilia Alshanetsky 06c2ce0a0d MFH: Fixed build of exif extension on win32. 2005-03-17 17:21:02 +00:00
Ilia Alshanetsky a35b6ffd5d MFH: Fixed compiler warning on win32. 2005-03-17 17:16:53 +00:00
Rob Richards 8224851858 BFN 2005-03-17 13:13:08 +00:00
Rob Richards fab647746c Fixed bug #32340 (insert_before($node,NULL) does not return) 2005-03-17 13:11:47 +00:00
foobar fd1280c6ef remove unused subst 2005-03-17 08:13:21 +00:00
foobar f6dd7f00db fix build 2005-03-17 08:13:03 +00:00
Harrie Hazewinkel 5e97bf3de8 Adding SNMPv2 community based (i.e. protocol version) functions. 2005-03-16 16:19:59 +00:00
foobar 4b012f7244 MFH: - Remove these relics from era when TSRM was optional. 2005-03-16 06:37:03 +00:00
Ilia Alshanetsky e2b2ea667f MFH: Fixed possible usage of str without being initialized. 2005-03-15 00:30:05 +00:00
Greg Beaver 6dd737d8ea add go-pear-list (probably won't do anything, but it's worth a try) 2005-03-15 00:11:47 +00:00
foobar 7380c23ab2 MFH 2005-03-14 21:11:45 +00:00
foobar c3894108b6 MFH: - Fixed bug #18613 (Multiple OUs in x509 certificate not handled properly) 2005-03-14 21:01:02 +00:00
Zeev Suraski dde65251f7 Fix an age old bug in parsing paths when reading
INI values from the registry
2005-03-14 12:41:18 +00:00
foobar 1be9cff9d3 MFH: - Fixed bug #30609 (cURL functions bypass open_basedir) 2005-03-14 09:03:09 +00:00
Ilia Alshanetsky 91855505b5 Back to dev. 2005-03-13 21:54:56 +00:00
Ilia Alshanetsky 36c0a0859a 4.3.11RC1 2005-03-13 20:18:44 +00:00
Ilia Alshanetsky 49de3e701c MFH: Final set of fixes for bug #27633. 2005-03-10 23:38:18 +00:00
Marcus Boerger 73d689f230 - MFH rename 2005-03-10 14:20:55 +00:00
Joe Orton 6cd9eb9736 MFH: - Fixed bug #31717: Reject PATH_INFO if "AcceptPathInfo off" is used. 2005-03-10 11:39:04 +00:00
Marcus Boerger 1147c223ad - BFN 2005-03-10 02:04:17 +00:00
Marcus Boerger 16a2a11bee - MFH 2005-03-10 02:01:40 +00:00
Ilia Alshanetsky 47a02a0bdf MFH: Fixes to ascii downloads on win32. 2005-03-09 20:53:01 +00:00
Derick Rethans afce7aafae - Fixed bug #28067 (partially incorrect utf8 to htmlentities mapping). (Derick,
Benjamin Greiner)
2005-03-09 10:11:15 +00:00
foobar 827f18e200 MFH 2005-03-08 21:45:51 +00:00
foobar 75db37c82c MFH 2005-03-08 21:22:20 +00:00
foobar 44abd52206 RBFN 2005-03-07 18:14:41 +00:00
Zeev Suraski 166713abac Remove test case for a Won't Fix bug 2005-03-07 16:55:21 +00:00
Ilia Alshanetsky 3dffe40cc4 MFH: Fixed bug #29424 (width and height inverted for JPEG2000 files). 2005-03-06 17:05:41 +00:00
Rasmus Lerdorf 574306adf4 wtf? 2005-03-05 18:30:47 +00:00
foobar a00bdd925a MFH 2005-03-04 15:16:27 +00:00
Johannes Schlüter 855224c8e6 - Remove <b>-Tag from error message 2005-03-03 10:41:19 +00:00
Zeev Suraski 4c452ea58f MFH 2005-03-03 09:58:20 +00:00
Ilia Alshanetsky 6b0c663c40 MFH: Fixed bug #32160 (file truncation in copy() when source & destination are
the same).
2005-03-03 03:31:59 +00:00
foobar 3c20b13648 typofix 2005-03-02 21:46:45 +00:00
Stefan Esser b7d81e26b1 MFH 2005-03-02 18:23:49 +00:00
foobar d8f6c856af touch 2005-03-01 21:56:40 +00:00
Ilia Alshanetsky 7aa8901413 MFH: Fixed bug #31792 (getrusage() does not provide ru_nswap value). 2005-03-01 21:34:30 +00:00
Andrei Zmievski 0e230a77d0 Allow = sign in long option argument.
Fixes PEAR bug #1831.
2005-03-01 18:19:48 +00:00
Stefan Esser 62ef5f3566 MFH 2005-03-01 13:53:35 +00:00
Antony Dovgal 3fdc0745f1 MFH: checks for negative values to gmp_sqrt(), gmp_powm(), gmp_sqrtrem()
and gmp_fact() to prevent SIGFPE
changed zend_error() to php_error_docref()
2005-03-01 13:18:31 +00:00
foobar 802b4b00bb MFH: - Fixed bug #31672 (</script> not considered closing tag if
MFH:   preceded by one-line comment
2005-03-01 02:22:42 +00:00
Stefan Esser 342bafdb2f MFH 2005-02-28 16:33:23 +00:00
Frank M. Kromann c0bb17abcc FreeTDS does not have support for DBTEXTLIMIT 2005-02-25 23:23:54 +00:00
Rob Richards ed3db800b6 no message 2005-02-25 22:13:37 +00:00
Antony Dovgal a085abe036 MFH: allow building oci8 as shared 2005-02-25 11:33:24 +00:00
Marcus Boerger 1679c7b062 - MFH 2005-02-24 20:54:18 +00:00
Ilia Alshanetsky 80a2e3b4be pack() issues were resolved. 2005-02-23 22:40:18 +00:00
Moriyoshi Koizumi 19b28876dc - MFH: Synch with the latest checkouts. (include fix by Joe Orton. Thanks.) 2005-02-23 13:36:14 +00:00
Ilia Alshanetsky 897ac11952 MFH: Fixed bug #31288 (Possible crash in mysql_fetch_field(), if
mysql_list_fields() was not called previously).
2005-02-22 15:00:49 +00:00
foobar 8f1cde33ab MFH: nuke unused variables when PCRE is not compiled statically into PHP 2005-02-22 14:46:24 +00:00
Moriyoshi Koizumi c8869bea69 - MFH: fix bug #32063 (mb_convert_encoding ignores named entity 'alpha') 2005-02-22 10:09:58 +00:00
Stanislav Malyshev 0f97c6a0e3 packport fix from PHP5: read post data if they wreen't read
# this is needed for FCGI correct functioning
2005-02-21 12:29:02 +00:00
Moriyoshi Koizumi 1816823b2e - MFH: fix bug #30573 (compiler warning due to invalid type cast). 2005-02-21 10:15:03 +00:00
Moriyoshi Koizumi b8c4f047cd - MFH: fix compiler warnings. 2005-02-21 08:03:48 +00:00
Moriyoshi Koizumi c8d6f45983 - MFH: add testcases for bug #28220, #30549 and #31911. 2005-02-21 07:46:35 +00:00
SVN Migration dd21c3fd8d This commit was manufactured by cvs2svn to create branch 'PHP_4_3'. 2005-02-21 07:45:38 +00:00
Moriyoshi Koizumi ebc27e8dce - Upgrade libmbfl (fixers bug #28220, #30549 and #31911). 2005-02-21 07:10:14 +00:00
SVN Migration 2ef3c88773 This commit was manufactured by cvs2svn to create branch 'PHP_4_3'. 2005-02-20 22:20:24 +00:00
Derick Rethans c811399720 - Added test case for bug #32021. 2005-02-18 13:41:28 +00:00
SVN Migration 631b23ce67 This commit was manufactured by cvs2svn to create branch 'PHP_4_3'. 2005-02-18 13:37:24 +00:00
Andi Gutmans a410c71e10 - Commit NEWS Entry for:
- Fixed bug #31960 (msql_fetch_row() and msql_fetch_array() dropping columns
  with NULL values). (Daniel Convissor)
2005-02-17 22:08:29 +00:00
Andi Gutmans 7faaa41ec2 - MFH 2005-02-17 20:14:03 +00:00
Ilia Alshanetsky 1f5baf17a0 MFH: Fixed bug #27633 (Double \r problem on ftp_get in ASCII mode on Win32). 2005-02-17 15:38:34 +00:00
foobar 243b5f2300 ws/cs 2005-02-17 09:26:12 +00:00
Ilia Alshanetsky bce951557b MFH: MFH: Fixed bug #31440 ($GLOBALS can be overwritten via GPC when
register_globals is enabled).
2005-02-17 04:46:52 +00:00
foobar 77d8f41d03 MFH: - Compile fix for systems without int32_t typedef 2005-02-17 04:45:21 +00:00
foobar 6c1566eec1 MFH:- Fixed bug #29554 (compile failure when using --with-pspell=/usr/local) 2005-02-17 03:51:50 +00:00
Edin Kadribasic fc666e9a95 MFH 2005-02-16 12:23:06 +00:00
Ilia Alshanetsky 8c4df4a8df MFH: Fixed bug #31986 (Max nesting limit set too low). 2005-02-15 21:56:39 +00:00
foobar 59e8612456 MFH 2005-02-15 08:52:33 +00:00
Marcus Boerger 689a54513c - MFH 2005-02-15 08:12:29 +00:00
Ilia Alshanetsky 5d455016e5 MFH: file upload prunning. 2005-02-15 00:28:39 +00:00
foobar 3f0ed932d3 MFH 2005-02-14 23:46:07 +00:00
foobar 1d7164f92f Fix typo 2005-02-14 22:18:46 +00:00
foobar 5b7fbcf658 MFH: - Removed duplicate error + reset error in new sockets 2005-02-14 22:17:30 +00:00
foobar aeec3f4abc MFH: nuke non-existing ini option 2005-02-14 08:26:10 +00:00
foobar ae0e54dfee MFH: nuke unused code 2005-02-14 08:23:20 +00:00
foobar 2b4628c336 MFH: missing $Id$ tags 2005-02-13 17:54:56 +00:00
foobar 3f076e4814 MFH: - Added the alias session_commit() (more intuitive name for session_write_close())
MFH: - Partial sync of the file by adding macro SESSION_CHECK_ACTIVE_STATE
2005-02-13 17:51:32 +00:00
foobar 6d640d80dc MFH 2005-02-12 18:30:03 +00:00
foobar 43796d1f56 - Fixed bug #31936 (set_h_errno() is redefined incompatibly) 2005-02-12 18:16:04 +00:00
foobar e2d002e7c0 Revert 2005-02-11 03:34:04 +00:00
foobar 028b68cc1e Revert broken patch 2005-02-11 02:12:30 +00:00
foobar 3d43f71772 MFH: - Multiple fixes for nasty leaks in ZTS mode 2005-02-10 22:50:47 +00:00
foobar a3623adb8c - Fixed bug #31920 (zend_strtod.c error: conflicting types for 'int8_t') 2005-02-10 22:20:27 +00:00
Frank M. Kromann c0b28e5484 MFH: change return value from false to true, when a statement was executed with warnings 2005-02-09 19:33:32 +00:00
Frank M. Kromann 9dc8030478 MFH: Check for warnings and return the warning texts 2005-02-09 18:50:49 +00:00
Rasmus Lerdorf b935947ca8 MFH fix for bug #31901 2005-02-09 16:23:49 +00:00
Ilia Alshanetsky e2381946db MFH: Fixed bug #31527 (crash in msg_send() when non-string is stored without
being serialized).
2005-02-07 22:32:31 +00:00
Antony Dovgal 32214bf3b2 MFH: fix leaks in ext/filepro 2005-02-07 13:33:04 +00:00
foobar 3da25b53bc MFH: - Fixed bug #31858 (--disable-cli does not force --without-pear) 2005-02-07 12:51:52 +00:00
foobar 146ca108b0 fix test 2005-02-04 23:24:22 +00:00
Derick Rethans 163099f2a9 - MFH: Fixed bug #31754 (dbase_open() fails for mode = 1). (Mehdi, Derick) 2005-02-04 14:29:21 +00:00
SVN Migration 4bfa2b800e This commit was manufactured by cvs2svn to create branch 'PHP_4_3'. 2005-02-04 14:28:51 +00:00
foobar 4db1177ee1 MFH: Fixed bug #31842 (*date('r') does not return RFC2822 conforming date string). 2005-02-04 13:09:24 +00:00
foobar bfccdca1d8 MFH: - Fixed bug #28227 (PHP CGI depends upon non-standard SCRIPT_FILENAME)
# patch by: lukem at NetBSD dot org
2005-02-04 10:42:01 +00:00
Ilia Alshanetsky c0eef1a170 MFH: Proper fix for bug #31796 . 2005-02-04 00:22:03 +00:00
Ilia Alshanetsky a8a212dbd8 MFH: Fixed bug #31796 (readline completion handler does not handle empty
return values).
2005-02-03 22:46:55 +00:00
foobar 91c962da95 MFH: Fix buildconf with BSD make 2005-02-03 17:43:04 +00:00
foobar 73b74e1418 - MFH: Fixed bug #28804 (ini-file section parsing pattern is buggy). 2005-02-03 03:02:07 +00:00
Ilia Alshanetsky 68574f5cdd MFH: Fixed bug #31514 (open_basedir uses path_translated rather then cwd for .
translation).
2005-02-02 23:44:07 +00:00
Ilia Alshanetsky 59e73f08ff MFH: Fixed bug #31797 (exif_read_data() uses too low nesting limit). 2005-02-01 23:29:01 +00:00
Ilia Alshanetsky 917a493fae MFH: Final version of filename upload handling. 2005-02-01 02:33:25 +00:00
Ilia Alshanetsky 1afbc301f1 MFH: Fix handling of INF/NAN in unserialize(). 2005-01-30 16:39:55 +00:00
Antony Dovgal 81e281f58e improve CS & error messages 2005-01-28 16:50:38 +00:00
Antony Dovgal 36872f7754 MFB: explain why ftok() failed 2005-01-28 16:35:10 +00:00
Antony Dovgal 2a853b7065 MFH: change return type from NULL to FALSE when parameter parsing failed 2005-01-28 01:39:42 +00:00
Frank M. Kromann db7b8083c5 MFH: Hack to fix crash caused by FBCAccess not returning errors when creating an index that exists in the database. 2005-01-27 20:22:27 +00:00
Ilia Alshanetsky a1b9bf56cb MFH: Fixed bug #31705 (parse_url() does not recognize http://foo.com#bar) 2005-01-27 16:38:30 +00:00
Derick Rethans c61f31defe - MFH: There is no --with-apache2, only apxs2 2005-01-26 18:03:30 +00:00
Ilia Alshanetsky ce5c630614 MFH: Fixed bug #31699 (unserialize() float problem on non-English locales). 2005-01-26 16:56:14 +00:00
Ilia Alshanetsky 8e93d757b3 MFH: Fixed bug #29733 (printf() handles repeated placeholders wrong). 2005-01-26 00:03:19 +00:00
foobar 214091ee77 massage 2005-01-25 23:42:38 +00:00
Ilia Alshanetsky 13c9761b16 MFH: Fixed bug #31465 (False warning in unpack() when working with *). 2005-01-25 22:52:19 +00:00
Andrei Zmievski 147db82b24 Fix several egregious leaks in ext/browscap and sapi/embed. 2005-01-25 21:26:42 +00:00
Antony Dovgal 379f891a21 MFH: fix segfault in imap_bodystruct() 2005-01-25 14:23:37 +00:00
foobar 0926b0d102 MFH: - Fixed bug #31684 (dio_tcsetattr(): misconfigured termios settings) 2005-01-25 13:43:37 +00:00
foobar d16912b12a MFH: - Fix macosx shared extension build 2005-01-25 13:03:06 +00:00
foobar 440eae3412 MFH: - Return of the automake requirement 2005-01-25 12:55:55 +00:00
Ilia Alshanetsky 72818b5c0d MFH: Use multibyte specific code for handling files and generic basename
based code in all other instances.
2005-01-24 23:52:27 +00:00
Moriyoshi Koizumi a10855c574 - MFH: revert irrelevant part. 2005-01-24 16:47:53 +00:00
Antony Dovgal 164cff8586 MFH: fix msg_recieve() & add test 2005-01-24 14:23:37 +00:00
SVN Migration bf41267c52 This commit was manufactured by cvs2svn to create branch 'PHP_4_3'. 2005-01-24 14:19:54 +00:00
Joe Orton 54a1e6c07a MFH: Fixed regression #31645 - only flush before running the subrequest. 2005-01-24 11:48:35 +00:00
Ilia Alshanetsky f04cf8344c Fixed compiler warning. 2005-01-23 20:17:27 +00:00
foobar 70ae8d742a MFH: - Memory leak fixes from ZE2 + HEAD CLI 2005-01-22 20:36:35 +00:00
foobar e384dee1a2 MFH: - Remove also autom4te.cache dir with phpize --clean 2005-01-22 20:30:15 +00:00
foobar 8463cfb5e3 MFH: - Typofix + removed unnecessary unsets caused by it 2005-01-22 01:37:12 +00:00
foobar f9e8717683 massage news 2005-01-22 01:19:48 +00:00
Andrei Zmievski 19ec49afc1 *** empty log message *** 2005-01-21 23:48:33 +00:00
Andrei Zmievski 3666ad8b1a Protect against corrupt EXIF headers that feature unlimited IFD tag
nesting.
2005-01-21 23:47:06 +00:00
Stefan Esser 75cb09dec4 MFH 2005-01-21 16:04:54 +00:00
Derick Rethans 3d37f4d2cd - MFH: php_error_docref() adoption. 2005-01-21 10:34:46 +00:00
Ilia Alshanetsky 7e76730796 Fixed bug #28086 (crash inside overload() function). 2005-01-21 00:32:18 +00:00
Edin Kadribasic e3c883e74b Fixed bug #29492 - missing ldap_parse_reference() 2005-01-20 22:48:13 +00:00
Antony Dovgal 6509c6edc7 fix error message =/ 2005-01-20 18:46:14 +00:00
Antony Dovgal c4bef7c8a1 MFH: fix bug #31623 (OCILogin does not support password grace period) 2005-01-20 18:44:10 +00:00
Antony Dovgal 27136014a4 MFH: fix segfault in imap_sort() 2005-01-20 18:10:07 +00:00
Ilia Alshanetsky 4ff3a50a06 MFH: Fixed bug #31398 (When magic_guotes_gpc are enabled filenames with '
get cutoff).
2005-01-20 17:57:41 +00:00
Antony Dovgal e9b08d1631 MFH: fix segfault in imap_headerinfo() when fromlength or subjectlength are less than 0
+ fix protos
2005-01-20 14:18:10 +00:00
Antony Dovgal 41491a5199 MFH: fix typos in error messages 2005-01-20 10:08:45 +00:00
Antony Dovgal c45f9ec668 MFH: fix typos in error messages & resource name 2005-01-20 10:06:31 +00:00
foobar 6dcfd9d13f MFH: Removed obsolete AC_PROG_RANLIB 2005-01-20 01:46:57 +00:00
foobar e5a163091e MFH: - Changed phpize not to require automake and libtool. (Jani)
MFH: - Fixed build system to always use bundled libtool files. (Jani)
MFH: - Rewrote of phpize routines
2005-01-20 01:43:19 +00:00
foobar 09e807d295 MFH: Added --debug option to buildconf 2005-01-19 23:04:21 +00:00
foobar f0baa2345b Revert the multiple autoconf versions patch 2005-01-19 22:27:59 +00:00
Ilia Alshanetsky fc4ccde386 MFH: Stricter cc header check 2005-01-19 18:54:57 +00:00
SVN Migration 1b26a19293 This commit was manufactured by cvs2svn to create branch 'PHP_4_3'. 2005-01-19 17:52:33 +00:00
foobar b478e36dba BFN 2005-01-19 17:41:00 +00:00
foobar f056a94455 MFH: - Fixed bug #28976 (use From: from headers if sendmail_from is empty) 2005-01-19 17:38:41 +00:00
foobar c79b0caf03 MFH: - Fix the pic patch 2005-01-19 17:36:21 +00:00
foobar cd2456bc76 MFH: - WS & CS fixes
MFH: - php_error -> php_error_docref
MFH: - Removed pointless checks (array_init, emalloc, etc.)
MFH: - Force ldapv3 for ldap_start_tls()
2005-01-19 00:28:49 +00:00
Ilia Alshanetsky be970c09b4 MFH: Fixed bug #31142 (crash, memory leak and data loss by imap_mail_compose). 2005-01-18 23:36:49 +00:00
Antony Dovgal 511e5c4385 MFH: add checks for libs & headers required by IBM DB2 2005-01-18 21:21:16 +00:00
Ilia Alshanetsky 9ccca60a1f MFH: Fixed bug #31480 (Possible infinite loop in imap_mail_compose()). 2005-01-18 16:34:04 +00:00
Ilia Alshanetsky aec129db7f MFH: Fixed bug #31479 (Fixed crash in chunk_split(), when chunklen > strlen). 2005-01-18 15:51:24 +00:00
foobar 2572c0a0e3 MFH: - Use FD_CLOEXEC with fcntl() and make sure it is always defined 2005-01-18 15:45:01 +00:00
Antony Dovgal 7447137453 MFH: fix bug #30430 (odbc_next_result() doesn't bind values and that results in segfault)
fix protos
2005-01-18 15:11:22 +00:00
foobar be64d7c3de MFH 2005-01-18 11:54:12 +00:00
foobar c0417eebe7 MFH: Add test for bug #31402 2005-01-18 11:37:37 +00:00
SVN Migration db10c7e0f1 This commit was manufactured by cvs2svn to create branch 'PHP_4_3'. 2005-01-18 11:36:45 +00:00
foobar 4dd9df846a - Files generated with re2c 0.9.2 2005-01-18 11:08:20 +00:00
foobar fdab057113 MFH: - Move hash table destruction to proper location 2005-01-18 11:01:21 +00:00
Magnus M��tt� 3d06228b53 Add test case for bug #30726. 2005-01-18 09:57:27 +00:00
SVN Migration b4996c4e6a This commit was manufactured by cvs2svn to create branch 'PHP_4_3'. 2005-01-18 09:56:32 +00:00
Ilia Alshanetsky ba335a66ac MFH: Fixed bug #30726 (-.1 like numbers are not being handled correctly). 2005-01-18 00:31:26 +00:00
Ilia Alshanetsky 6029240086 Fixed bug #31580 (fgetcsv() problematic with "" escape sequences). 2005-01-18 00:14:56 +00:00
Antony Dovgal fc6b941f63 MFH: fix wierd DB2 issue 2005-01-17 18:12:06 +00:00
foobar 4a32bb0cbb MFZE2: - Fixed bug #31444 (Memory leak in zend_language_scanner.c) 2005-01-17 17:22:21 +00:00
foobar d6900eee6b MFH: - Added some sanity checks by changing to the parameter parsing API 2005-01-17 17:07:57 +00:00
foobar cba2b199cb MFH: CS / WS / proto fixes 2005-01-17 16:59:23 +00:00
Antony Dovgal b003639e70 MFH: fix leak 2005-01-17 15:07:46 +00:00
Joe Orton 5934470390 MFH - Fixed bug #31519: Set r->status_line to SAPI-provided status-line. 2005-01-17 12:36:44 +00:00
Stefan Esser 46e1055288 MFH: 64bit fixes 2005-01-17 12:28:08 +00:00
Stefan Esser 68b899703c Fix compiler warning. 2005-01-17 11:46:11 +00:00
Moriyoshi Koizumi 854b50e6e0 - MFH: Fix a critical bug that request-local settings leak to another request. 2005-01-16 15:56:05 +00:00
Stefan Esser bbd0a00aed MFH 2005-01-15 18:45:00 +00:00
foobar 7190976fe9 MFH: ws & proto fix 2005-01-15 04:35:40 +00:00
foobar d9da89ef29 MFH: - Fixed bug #31060 (imageftbbox() does not use linespacing parameter) 2005-01-14 23:08:48 +00:00
foobar 17ccfe0c42 MFH: - Fixed bug #30120 (imagettftext() and imagettfbbox() accept too many parameters) 2005-01-14 22:44:35 +00:00
foobar 3f191da6f1 MFH 2005-01-14 20:45:34 +00:00
foobar c1d8014e28 BFN 2005-01-14 04:45:32 +00:00
Ard Biesheuvel 6c8d41a8fc Fixed unregistered bug: corrupted 32-bit LONGs on 64-bit systems 2005-01-13 21:22:13 +00:00
Rasmus Lerdorf 7606d9483e Should probably note this 2005-01-11 22:33:08 +00:00
Moriyoshi Koizumi 5b10ee806f - MFH: Fix the fix 2005-01-11 20:59:27 +00:00
Moriyoshi Koizumi 9d701ce256 - MFH: fix htmlentities() / html_decode_entity() UTF-8 related bugs
initially reported by Kamesh Jayachandrana
# UTF-8 feature doesn't work in PHP 4.3 anyway, so I'm not going to add the
# testcase.
2005-01-11 20:50:23 +00:00
Joe Orton 15a00ec902 MFH: Fixed bug #30446 - virtual() includes files out of sequence,
work around 2.0 subrequest/internal redirect issue.
2005-01-11 14:09:56 +00:00
foobar 8391424f4d MFH: Fix ZTS build 2005-01-11 13:36:39 +00:00
foobar f835eba6b3 MFH: - Added check for IMAP 2004 versions 2005-01-11 04:56:57 +00:00
Antony Dovgal cba8f9ce99 MFH: fix Konstantin's last name 2005-01-10 21:38:56 +00:00
foobar 772260fa09 MFH: update test to include negative floats as strings too 2005-01-10 16:00:32 +00:00
foobar 2a28c3b94a MFH: - Fixed bug #28074 (FastCGI: stderr should be written in a FCGI stderr stream). 2005-01-10 15:39:20 +00:00
foobar eaf9597c04 - The pic/no-pic patch by Joe Orton. 2005-01-10 01:11:50 +00:00
foobar ef771fa4d1 Forgot this from the outside-source-dir patch 2005-01-09 23:47:33 +00:00
foobar 176a6e48ec MFH: - Fix outside-source-tree builds. Always include generated header files
with #include <some_header.h> to make sure the correct file is used.
2005-01-09 21:05:39 +00:00
Antony Dovgal 6f3bf7b276 BFN & end of cvs spam 2005-01-09 18:27:27 +00:00
Antony Dovgal c865371dc1 add skipif section 2005-01-09 18:21:25 +00:00
Antony Dovgal 8ba43faa20 MFH: add test 2005-01-09 18:18:18 +00:00
SVN Migration 9140025206 This commit was manufactured by cvs2svn to create branch 'PHP_4_3'. 2005-01-09 18:15:50 +00:00
Antony Dovgal 964e59d7d5 MFH: fix bug #31454 2005-01-09 17:57:50 +00:00
foobar 411f43f226 MFH: - Fix leaks with registered shutdown functions. 2005-01-09 16:30:22 +00:00
foobar 541d8e10bb MFH: - Fix memleak in ZTS mode 2005-01-09 16:12:23 +00:00
foobar 72249d7eb0 Remove done stuff 2005-01-09 00:18:06 +00:00
foobar 2d69dc25fe MFH: - Fix possible crash (PR#26223). Leaks remain. 2005-01-08 20:45:43 +00:00
foobar 4de08a612f MFH: - Fix some memory leaks 2005-01-08 12:02:50 +00:00
Antony Dovgal 2feb748513 MFH: remove duplicated include 2005-01-07 21:14:23 +00:00
foobar 1e9fbe762f BFN 2005-01-07 06:29:50 +00:00
foobar f772c8195a MFH: - Fixed bug #31055 (apache2filter: per request leak proportional to the full path of the request URI) 2005-01-07 06:28:36 +00:00
foobar 155e725a5e MFH: - Make sure $host_alias is never empty 2005-01-07 06:21:42 +00:00
Wez Furlong 040729e867 update by steph 2005-01-07 05:39:15 +00:00
Joe Orton bc95def9ca MFH: - Fixed bug #31413 (curl POSTFIELDS crashes on 64-bit platforms). 2005-01-06 10:34:03 +00:00
Ilia Alshanetsky e20661c622 Fixed test case. 2005-01-04 23:09:13 +00:00
foobar fc34db9f96 - Fix bug #31403 (php_hostconnect not defined as PHPAPI) 2005-01-04 10:35:56 +00:00
foobar 27e6105b7d BFN 2005-01-04 06:53:42 +00:00
foobar dbaa0bc367 MFH: - Fixed bug #31396 (compile fails with gd 2.0.33 without freetype) 2005-01-04 06:52:18 +00:00
Ilia Alshanetsky 76144335e9 MFH: Fixed bug #31371 (highlight_file() trims new line after heredoc). 2005-01-02 23:55:19 +00:00
Moriyoshi Koizumi eb701d3fba - MFH: add testcases for bug #29493 and #31213. 2005-01-02 06:52:06 +00:00
SVN Migration 6d8bba6a4a This commit was manufactured by cvs2svn to create branch 'PHP_4_3'. 2005-01-02 06:51:04 +00:00
foobar 2614e6c26a Revert part of the previous commit: autoheader 2.13 does not have this option 2004-12-31 07:10:57 +00:00
Ilia Alshanetsky f2ede86923 Don't forget to init a variable. 2004-12-31 03:16:50 +00:00
Ilia Alshanetsky 8326f69ebf Detect libcrack with Kerberos 5 support built-in. 2004-12-31 03:10:59 +00:00
Ilia Alshanetsky 9c83000422 Fixed compiler warning when using newer versions of libzip. 2004-12-31 02:57:08 +00:00
Rasmus Lerdorf ac19bb8811 Remove a few more warnings. I don't think we need to scare people with
a warning about the cvsclean stuff.  We'll just tell them we are
running cvsclean.
2004-12-30 19:54:46 +00:00
Rasmus Lerdorf d327665b56 Slightly safer check here. 2004-12-30 15:43:52 +00:00
foobar 31705420ae - MFH: - Fixed bug #28930 (PHP sources pick wrong header files generated by bison) 2004-12-30 15:22:52 +00:00
foobar d4af6e030c MFH: Fix buildconf failure with autoconf > 2.13 2004-12-30 14:56:38 +00:00
foobar 86bcb9d8e6 MFH: - Fixed bug #31101 (missing kerberos header file path with --with-openssl) 2004-12-30 14:54:35 +00:00
foobar 912c7fc107 - Quote macro names in AC_DEFUN()
# Fixes also bug #29160
# for i in `grep -r -l AC_DEFUN *`; do perl -i -pe "s#AC_DEFUN\(([^\[])(.*)\,#AC_DEFUN([\1\2],#g" $i; done;
2004-12-30 07:02:19 +00:00
foobar f08edd43dc MFH: Fixed crash + leak 2004-12-30 05:33:53 +00:00
foobar eeb4106f00 - Fixed crap removal 2004-12-30 04:44:59 +00:00
Ilia Alshanetsky f6994812bd A leak is better(?) then a crash. 2004-12-30 04:38:40 +00:00
Ilia Alshanetsky 173630503a Fixed test case. 2004-12-30 04:11:56 +00:00
foobar f39b13f070 BFN 2004-12-30 01:01:54 +00:00
Ilia Alshanetsky 4f56135eb8 Fixed typo. 2004-12-29 21:56:57 +00:00
Ilia Alshanetsky 948be2022a MFH: Fixed compiler warnings. 2004-12-29 21:41:07 +00:00
Ilia Alshanetsky a2cef56c12 MFH: Fixed memory leaks. 2004-12-29 21:34:09 +00:00
Ilia Alshanetsky 7d1bab90e7 Don't perform pointless operations (MFH5). 2004-12-29 21:24:00 +00:00
Ilia Alshanetsky c6fea156f0 MFH: Don't forget to unload t1lib. 2004-12-29 21:08:42 +00:00
Frank M. Kromann 90925d817f MFH: Fix typo 2004-12-29 20:20:52 +00:00
Zeev Suraski 47a2f22ac8 Update desc 2004-12-28 09:01:48 +00:00
Ilia Alshanetsky 81cb38ed75 MFH: Fixed several buffer overflows. 2004-12-23 19:29:36 +00:00
Ilia Alshanetsky 8a03620e1a Fixed potential buffer overflow inside swf_definepoly(). 2004-12-23 18:29:36 +00:00
Ilia Alshanetsky c75458bac3 Fixed bug #31270 (missing safe_mode/open_basedir check in swf_openfile()). 2004-12-23 18:04:10 +00:00
Antony Dovgal 66b5a3680b MFH: destroy return_value and fix leak in array_fill() 2004-12-23 16:40:03 +00:00
Antony Dovgal 0e58251e38 news entry 2004-12-23 16:29:00 +00:00
Antony Dovgal 288fdf242b MFH: add Oracle Instant Client support (patch by cjbj at hotmail dot com) 2004-12-23 16:23:22 +00:00
Edin Kadribasic 7259e7e0d1 BFN 2004-12-23 01:47:37 +00:00
Wez Furlong 4e84c36fba Black magic bad.
This will probably fixed reported COM problems (multiple bug #s)
2004-12-23 01:10:48 +00:00
Ilia Alshanetsky 26420231c8 MFH: Fixed bug #31142 (imap_mail_compose() fails to generate correct output). 2004-12-22 17:29:14 +00:00
SVN Migration e97b63540d This commit was manufactured by cvs2svn to create branch 'PHP_4_3'. 2004-12-22 17:27:40 +00:00
foobar bd9fbc11da Removed unneeded file. 2004-12-22 03:09:07 +00:00
Ilia Alshanetsky 10e87da1d6 MFH: Fixed possible crash in imap_mail_compose(). 2004-12-21 15:47:38 +00:00
Edin Kadribasic 17ba387824 Avoid autoheader warning 2004-12-21 15:40:19 +00:00
Ilia Alshanetsky d653cf740b Added missing bug fix news. 2004-12-21 14:32:32 +00:00
foobar 84c91b3135 MFH: - Fixed bug #28385 (some files in $(prefix)/lib/php/build/* installed with wrong permissions) 2004-12-21 04:59:34 +00:00
Magnus M��tt� 539598db31 MFH: Fix test so it doesn't hang make test on HP-UX. 2004-12-21 04:36:20 +00:00
foobar 0f490b39f0 MFH: - Fixed bug #31145 (configure is using -lcpdf instead of -lcpdfm)
# Also backported some previous fixes that weren't in this branch yet.
2004-12-21 04:23:35 +00:00
foobar 69093d5dfd MFH: - Use correct header files (in c99 compliant way). uint32_t is preferred. 2004-12-21 01:08:09 +00:00
foobar e0b9d42d25 MFH: endian compile problem fix 2004-12-20 20:38:18 +00:00
foobar b5d9948f32 MFH: Fix buildconf when multiple autoconf versions installed 2004-12-20 20:24:23 +00:00
Ilia Alshanetsky 787ad5fd12 Fixed bug #31174 (compile warning in url.c). 2004-12-20 19:29:38 +00:00
foobar 6fe420def0 MFH: Use FREE_HASHTABLE() instead of efree() 2004-12-20 19:15:24 +00:00
foobar 7224f5355d typofix 2004-12-20 12:38:16 +00:00
Ilia Alshanetsky 7b7d26ccb0 Added missing bug fixing entries. 2004-12-19 19:28:58 +00:00
Ilia Alshanetsky 334a3cefe3 MFH: Fixed bug #31103 (Better error message when c-client cannot be found). 2004-12-19 18:18:20 +00:00
foobar 112e43d87f BFN 2004-12-18 03:57:25 +00:00
foobar 5efdcb0696 MFH: - Fixed bug #7782 (Cannot use PATH_INFO fully with php isapi) 2004-12-18 03:56:11 +00:00
foobar 1cb5b5e139 Missing CVS id tag 2004-12-18 03:15:10 +00:00
Antony Dovgal 33803e48e9 fix typo 2004-12-17 15:43:21 +00:00
Derick Rethans ec34a3876a - Fixed bug #31072 (var_export() does not output an array element with an empty
string key). (Derick)
2004-12-17 14:38:45 +00:00
Derick Rethans 0c48159953 - Fixed weird types, this also makes it compile on IRIX again. 2004-12-17 13:07:57 +00:00
foobar 5f5a17d741 typo 2004-12-17 02:20:04 +00:00
Moriyoshi Koizumi 8e0084d522 - MFH 2004-12-16 23:14:29 +00:00
Frank M. Kromann 5f859e2830 Fix #31120 and #31135. mssql_query returns false on successfill inserts and stored procedures 2004-12-16 21:48:17 +00:00
Antony Dovgal 7fcb28749a MFH: fix leak (init array only if we got valid start key) 2004-12-16 19:23:59 +00:00
Derick Rethans 5e4c8ca731 - Fixed bug #31107 (strtod on solaris9/intel) 2004-12-16 13:06:32 +00:00
foobar efbaf4327a MFH: Fix typo (avaliable -> available). (bug #28725) 2004-12-16 12:36:49 +00:00
foobar 39413a6022 MFH: - Fixed compile error with HP-UX using GCC. 2004-12-16 11:50:46 +00:00
Derick Rethans 66e397f2c9 - Fixed bug #31110 and #31111 (Zend/zend_strtod.c problems) 2004-12-16 10:38:16 +00:00
Ilia Alshanetsky 50c1182c4f MFH: Fixed bug #31056 (php_std_date() returns invalid formatted date if
y2k_compliance is On).
2004-12-16 00:10:55 +00:00
Ilia Alshanetsky b201d00bde Back to dev. 2004-12-15 15:05:11 +00:00
foobar c3f10ff73e MFH: fix tests 2004-12-15 08:30:53 +00:00
foobar 9bab20fbab MFH: missing files 2004-12-15 02:31:04 +00:00
Ilia Alshanetsky 84a696da20 Fixed test. 2004-12-14 17:42:28 +00:00
Ilia Alshanetsky 19d0000632 Fixed build. 2004-12-14 17:22:10 +00:00
Ilia Alshanetsky 5a4b7f9c30 4.3.10 2004-12-14 16:07:50 +00:00
Derick Rethans bb2e9ef00c - Fixed compile error related to bug #28605.
#- But it does not *fix* bug #28605.
2004-12-14 08:35:26 +00:00
Ilia Alshanetsky 6cd0a77372 MFH: Fixed bug #28228 (NULL decimal separator is not being handled correctly). 2004-12-14 00:40:01 +00:00
Derick Rethans f137de1506 - MFH: Generate all iconv headers by default 2004-12-11 11:17:21 +00:00
Antony Dovgal aea9676eb0 CS changes 2004-12-09 17:16:57 +00:00
Pierre Joye 67524ef7c9 - update, MFH #28598 2004-12-09 14:26:39 +00:00
Antony Dovgal a5d9c87d49 MFH: fix segfault in session_module_name() when session.save_handler is empty 2004-12-09 14:21:13 +00:00
Pierre Joye 87cae0e01b - MFH: #28598, attempt to restore MS Symbol ttf support 2004-12-09 14:20:20 +00:00
Derick Rethans b4b338a8d1 - Fixed bug #31034 (Problem with non-existing iconv header file). (Derick) 2004-12-09 09:04:46 +00:00
Ilia Alshanetsky fe29c8def5 MFH: Fixed bug #31024 (Crash in fgetcsv() with negative length). 2004-12-08 21:15:02 +00:00
Frank M. Kromann 251851dbb3 MFH: Fix possible leaks 2004-12-08 19:02:29 +00:00
Frank M. Kromann 6416003e95 MFH: Fix logic for file checking. Bug #31019 2004-12-08 18:59:11 +00:00
Joe Orton db633a0760 MFH: Fix VPATH build again. 2004-12-08 12:52:12 +00:00
foobar aff3259a25 MFH: Fix build. This was not supposed to halt configure if test fails. 2004-12-08 06:48:13 +00:00
Brad House 9b72bcfd99 backport from 5.0/head. Newer versions of libmonetra broke compatability with one function. Make workaround that detects version, and works with both. 2004-12-08 03:11:32 +00:00
Ilia Alshanetsky d2bf5faa4f Back to dev. 2004-12-08 01:11:43 +00:00
Ilia Alshanetsky eea7fbdd4f 4.3.10RC2 2004-12-08 01:09:53 +00:00
Antony Dovgal dcfe66f9d7 MFH: fix leak 2004-12-07 17:04:42 +00:00
Antony Dovgal 61442c339f revert it 2004-12-07 14:01:56 +00:00
Derick Rethans 3d2bc043a7 - Tidy up NEWS a bit. 2004-12-07 08:42:50 +00:00
Antony Dovgal 2381aecca9 fix bug #30232 (session_start() sends Set-Cookie header only if the cookie is not set yet)
# looks like somebody fixed it in HEAD and forgot to MFH it..
2004-12-07 08:21:38 +00:00
Ilia Alshanetsky 14c6cd1788 MFh: Fixed bug #30995 (snmp extension does not build with net-snmp 5.2). 2004-12-07 00:34:33 +00:00
Ilia Alshanetsky d059006b67 MFH: Fixed bug #30990 (allow popen() on *NIX to accept 'b' flag). 2004-12-06 23:31:58 +00:00
Derick Rethans 95d9d7069a - Install the iconv extension headers to <installpath>/ext/iconv so that
external extensions can use them.
2004-12-06 20:37:56 +00:00
Ilia Alshanetsky aea33db8bb Revert, this is not needed after all. 2004-12-06 19:44:33 +00:00
Stanislav Malyshev 9ab7598560 fix startup - if startup did not succeed, do not continue with execution 2004-12-06 18:55:16 +00:00
Stanislav Malyshev a21c4e544f do not zero out peak - MM shutdown would do that 2004-12-06 18:51:40 +00:00
Ilia Alshanetsky ccbb17575a As per discussion on internals and pecl, domxml is no longer experimental. 2004-12-05 19:08:56 +00:00
Holger Zimmermann 0cd60dedad Replaced static server variables by function call and configurable list at the Pi3Web server side. 2004-12-05 09:48:48 +00:00
Stefan Esser 1686229772 fix compile 2004-12-03 16:09:19 +00:00
Stefan Esser 0520c88818 MFH 2004-12-03 16:04:26 +00:00
Christian Stocker bc0b61d250 - remove EXPERIMENTAL tag 2004-12-03 15:53:02 +00:00
Ilia Alshanetsky fa3568d490 MFH: Fixed bug #30962 (mssql returns space for NULL columns). 2004-12-03 02:27:11 +00:00
Antony Dovgal 84b568c4be MFH: revert my last patch 2004-12-02 16:36:41 +00:00
Stefan Esser ef56c2d1ee MFH 2004-12-02 01:04:46 +00:00
Stefan Esser aa65def360 MFH 2004-12-02 00:44:33 +00:00
Stefan Esser 26b45cf15f Fixed missing opening bracket 2004-12-01 23:47:54 +00:00
Stefan Esser 8aa0e89801 MFH 2004-12-01 22:56:33 +00:00
Stefan Esser 0c23ef8d85 MFH 2004-12-01 22:42:26 +00:00
Derick Rethans aa3971b119 - Update INSTALL file (to add static instructions) 2004-12-01 09:15:06 +00:00
Derick Rethans 5cc3311229 - MFH: Added testcase for bug #30695 2004-11-29 10:15:22 +00:00
SVN Migration 78388bd7c5 This commit was manufactured by cvs2svn to create branch 'PHP_4_3'. 2004-11-29 10:15:04 +00:00
Derick Rethans 5742bd2c52 - Make it work with PDFLib 5 again (And the check for PDFLib 6 is gone). 2004-11-29 09:13:39 +00:00
Sergey Kartashoff 169205c41a # - MnoGoSearch extension latest patch reverted (part3) 2004-11-28 20:33:12 +00:00
Sergey Kartashoff 7335ef4d30 - MnoGoSearch extension latest patch reverted (part2) 2004-11-28 20:31:37 +00:00
Sergey Kartashoff fb8f2ff8e4 - MnoGoSearch extension latest patch reverted 2004-11-28 20:30:09 +00:00
Sergey Kartashoff 918be06876 - MnoGoSearch extension updated to fix compilation issues with
mnogosearch-3.2.25+
2004-11-28 20:03:30 +00:00
Antony Dovgal 909ad657e1 BFN + change my mail to my name 2004-11-28 17:15:30 +00:00
Antony Dovgal 2abee83ee1 MFH: fix #29954 (array_reduce segfaults when initial value is array) 2004-11-28 17:12:59 +00:00
Stefan Esser a09961a655 MFH 2004-11-28 12:44:56 +00:00
Jon Parise 07392ae5f1 Distribute Net_SMTP 1.2.6 instead of 1.2.3. The former includes a year's
worth of additional bug fixes and improvements, and it has been a stable
release for over six months.

PEAR Bug: 2839
2004-11-27 21:31:10 +00:00
Ilia Alshanetsky 6fcaae369a MFH: Improve offset check inside shmop_write(). 2004-11-27 18:18:19 +00:00
Ilia Alshanetsky c30a032552 Back to dev. 2004-11-23 14:56:29 +00:00
Ilia Alshanetsky a3ee846047 RC1 release date. 2004-11-23 14:08:19 +00:00
Ilia Alshanetsky 6b59cbbdd7 tagging 4.3.10RC1 2004-11-23 14:03:27 +00:00
Edin Kadribasic 2cf6532d17 (Sort of) MFH: export PHP iconv symbols using the old build too 2004-11-23 12:14:20 +00:00
Derick Rethans fc627a4fa1 - MFH: export "php_iconv_string()" 2004-11-23 09:45:23 +00:00
Derick Rethans 0a2b8eb991 - MFH: Added test case for bug #28599 2004-11-23 09:41:53 +00:00
SVN Migration ec7db7ced2 This commit was manufactured by cvs2svn to create branch 'PHP_4_3'. 2004-11-23 09:40:08 +00:00
Frank M. Kromann 41dca25055 Fix #30860 configure fails when tds is compiled as shared 2004-11-22 19:42:31 +00:00
Marcus Boerger 57c2b685d7 - Add missing .cvsignore 2004-11-21 17:47:26 +00:00
Stefan Esser 4eb5de66a4 MFH 2004-11-20 20:16:44 +00:00
Pierre Joye 0823cf28da - Entry for #30229 2004-11-20 13:40:30 +00:00
Pierre Joye 3775b78197 - Fix #30229, imagerectangle draw the corners twice, making it useless
with alpha channel.
  Fix it to work well with thick>1 as well, both filled and wired rectangle
2004-11-20 13:34:52 +00:00
Antony Dovgal be6160f0f9 BFN 2004-11-19 17:03:52 +00:00
Antony Dovgal 6db1b839c8 MFH: fix bug #30587 (array_multisort doesn't separate zvals before changing them) 2004-11-19 16:58:38 +00:00
Ilia Alshanetsky 581e6a7ea8 Fixed bug #30826 (Certain reference relations cannot be unserialized
properly).
2004-11-18 22:14:42 +00:00
Ilia Alshanetsky 4bd84a5e69 MFH: Gracefully handle allocation failure. 2004-11-17 23:43:31 +00:00
Pierre Joye b5d739b88b - Fix #30739, imagefill does not set back the alphablending mode 2004-11-17 17:13:42 +00:00
Edin Kadribasic ef30fa2ee0 Fix windows build 2004-11-17 00:10:26 +00:00
Frank M. Kromann 0e33da898f MFH: Fix win32 build. 2004-11-15 23:27:26 +00:00
Frank M. Kromann e018da1aa3 MFH: Avoid renaming of sprintf to php_sprintf 2004-11-15 23:26:40 +00:00
Derick Rethans 963d068fd5 - Cleaned up some of the locale mess:
* all internal use of sprintf, snprintf and the like will always
    use the . as thousands seperator (if php.h is included only!).
  * echo, printf() and sprintf() always render locale-aware
  * added the %F modifier for non-locale aware rendering for floats
2004-11-15 13:40:31 +00:00
Rainer Schaaf 189654d882 fixed Bug #29297
Configure now only allows to work with PDFlib up to PDFlib 4, as newer
PDFlib versions need the code from the PDFlib PECL module.
2004-11-13 23:42:08 +00:00
Antony Dovgal 4ac1241426 MFH: fix #30751 (phpinfo() shows the same ini path after reconfigure with --with-config-file-path) 2004-11-11 07:01:16 +00:00
Ilia Alshanetsky edd4e6525a MFH: Fixed bug #30750 (Meaningful error message when upload directory is not
accessible).
2004-11-11 00:40:18 +00:00
Wez Furlong 2c14b8fd21 MFH: CloseHandle 2004-11-10 20:28:27 +00:00
Ilia Alshanetsky 4c04d243da MFH: Fixed possible overflow. 2004-11-10 01:44:58 +00:00
Ilia Alshanetsky 9f38730cf9 MFH: Fixed crash inside cpdf_setdash() if called before page init. 2004-11-09 00:45:39 +00:00
Ilia Alshanetsky b9a5843251 MFH: Fixed possible crash on fstat() failure. 2004-11-08 04:55:14 +00:00
Marcus Boerger ac0a29b046 MFH Bug #30627 2004-11-04 20:17:25 +00:00
Derick Rethans 92c8f6ce9b - MFH: Fixed bug #30630: Added a BSD based strtod function that is
locale-independent. (PHP part)
2004-11-03 23:36:03 +00:00
Antony Dovgal cdac193f9f BFN 2004-11-03 13:42:51 +00:00
Antony Dovgal 81c614a1ef fix bug #30654 (persistent connection is deleted from hash if there was exclusive connection with the same credentials)
No need for MFB here - 5.x.x branches work fine.
2004-11-03 13:35:56 +00:00
Ilia Alshanetsky 21c8eb93ba MFH: Fixed bug #30658 (Ensure that temporary files created by GD are removed). 2004-11-02 16:42:13 +00:00
Ilia Alshanetsky e0fc58c29f MFH: Fixed open_basedir & safe_mode bypass inside readlink() function. 2004-11-02 00:38:07 +00:00
Ilia Alshanetsky a451f1c9e4 MFH: Fixed bug #30613 (Prevent infinite recursion in url redirection). 2004-11-01 04:56:10 +00:00
Andi Gutmans 26ed6ea8b2 - [PATCH] Bug fix for #29770, but for PHP 4.3.9 (Vladimir Zidar) 2004-10-29 00:38:44 +00:00
Antony Dovgal a4e90790c4 fix Win32 & Netware build 2004-10-28 05:05:57 +00:00
Antony Dovgal 2b2129c057 BFN 2004-10-27 12:06:13 +00:00
Antony Dovgal e4fadfcd89 MFH: fix bug #30388 (rename across filesystems loses ownership and permission info) 2004-10-27 12:01:20 +00:00
Wez Furlong 02b50acd93 Fix possible crash; patch by Kamesh Jayachandran 2004-10-27 11:11:28 +00:00
Wez Furlong 4ab0cd7dcb BFN 2004-10-26 09:31:20 +00:00
Wez Furlong 8cb520a855 Fix for Bug #29418 (double free when openssl_csr_new fails).
Also hook up MSHUTDOWN function which appears to have never been enabled.

Patch by Kamesh Jayachandran
2004-10-26 09:29:22 +00:00
Edin Kadribasic 06a0021a55 Revert Linux LFS patch 2004-10-22 10:46:07 +00:00
Edin Kadribasic 63b0419766 BFN 2004-10-22 00:00:41 +00:00
Edin Kadribasic 1701079235 BFN 2004-10-21 23:59:11 +00:00
Edin Kadribasic 9a27a01007 Enable LFS (large file support) for Linux. Support for other operating
systems can be added later. FreeBSD does not seem to require any
special compile flags to enable LFS.
Fixes #27792.
2004-10-21 23:47:59 +00:00
Edin Kadribasic 045499b31f MFH: bugfix #30133 2004-10-21 23:43:41 +00:00
Joe Orton bcb3eb98a8 MFH: Fix case where php_handle_aborted_connection was called
outside a try/end_try block (#25570).
2004-10-21 19:43:37 +00:00
Joe Orton 3b3ef4c5ee MFH: Fixed apache2* SAPI build against httpd 2.1. 2004-10-21 19:41:55 +00:00
Stanislav Malyshev 62e23967ee fix HEAD problem: if some output is attempted in shutdown,
it bails out from shutdown sequence, which is bad
2004-10-20 15:27:25 +00:00
Ilia Alshanetsky 5b683f14f5 MFH: Fixed bug #30475 (curl_getinfo() may crash in some situations). 2004-10-18 22:43:29 +00:00
Antony Dovgal 75ae21df6d BFN 2004-10-18 15:16:21 +00:00
Antony Dovgal f890a666a8 MFH: fix bug #30442 ( segmentation fault when parsing ?getvariable[][ ) 2004-10-18 15:08:46 +00:00
Ilia Alshanetsky db953cd7ff MFH: Fixed a bug in addslashes() handling of the '\0' character. 2004-10-17 18:41:30 +00:00
Sebastian Bergmann bf3ad32af1 MFH: Add *.gcda and *.gcno (from gcc -fprofile-{use|generate}) to .cvsignore. 2004-10-10 16:24:30 +00:00
SVN Migration 018f7b5094 This commit was manufactured by cvs2svn to create branch 'PHP_4_3'. 2004-10-10 16:10:39 +00:00
Antony Dovgal 2a4fc5e0ee MFH: fix possible segfault 2004-10-10 15:06:20 +00:00
Marcus Boerger 388504729f MFH speling 2004-10-08 19:03:14 +00:00
Ilia Alshanetsky a360086291 MFH: Fixed bug #30027 (Possible crash inside ftp_get()). 2004-10-05 23:55:21 +00:00
Ilia Alshanetsky 6abde062a9 MFH: Fixed bug #30281 (Prevent non-wbmp images from being detected as such) 2004-10-04 20:44:07 +00:00
Rasmus Lerdorf 972ec73cb1 Not sure when this BC breaking change snuck in, but the output method
didn't take an argument before and this compression argument is documented
to be optional but in the code it wasn't.  This patch fixes the BC break
by making the compression argument optional.
2004-10-01 19:18:40 +00:00
Magnus M��tt� 637a9710a1 The length should be passed to the function,
so no need to check it inside the function too.
Will also fix a compile failure with gcc 3.4.
2004-10-01 18:28:44 +00:00
Ilia Alshanetsky d564087e47 MFH: Make PHP_EOL constant available. 2004-10-01 14:27:13 +00:00
Antony Dovgal 9e8ce192df BFN 2004-09-30 15:02:06 +00:00
Antony Dovgal 48a22e8997 MFH: fix segfaults and bug #30282 and suppress compile warnings 2004-09-30 14:18:25 +00:00
Ilia Alshanetsky f3313b21b6 MFH: Fixed bug #30276 (Possible crash in ctype_digit on large numbers). 2004-09-30 01:24:03 +00:00
Ilia Alshanetsky 8f5de28871 MFH: Fix compilation 2004-09-29 12:40:09 +00:00
foobar c6a4f91836 - Fixed bug #30205 (Missing <unistd.h> in crypt() configure test). 2004-09-28 20:42:36 +00:00
Antony Dovgal e2cea361db MFH: fix bug #29652 2004-09-28 17:28:27 +00:00
Ilia Alshanetsky 545e42675d MFH: Fixed bug #30224 (Sybase date strings are sometimes not null
terminated).
2004-09-28 14:09:01 +00:00
Wez Furlong 70e1858a92 MFH: fix for #30057 2004-09-26 01:17:42 +00:00
Marcus Boerger 5a91c43301 MFH lib substituation 2004-09-25 15:32:20 +00:00
Marcus Boerger 98b81c2a4e BFN 2004-09-24 22:00:47 +00:00
Marcus Boerger c3f72d45ec - MFH Several serialize/unserialize fixes 2004-09-24 21:57:19 +00:00
Marcus Boerger 7952ed122a - MFH Several serialize/unserialize fixes
# first commit .re
2004-09-24 21:56:59 +00:00
Derick Rethans 6efc4c4940 - Backported Marcus' foreach() speedup patch from PHP 5.x. 2004-09-24 13:15:12 +00:00
Derick Rethans 31f503c1aa [0.25]
- Fixed some signed issues.
2004-09-24 13:07:18 +00:00
Ilia Alshanetsky 70b35bb580 MFH: Fixed bug #29913 (parse_url() is now binary safe). (Ilia) 2004-09-22 00:51:51 +00:00
Ilia Alshanetsky 13effac5aa Fixed minor version #. 2004-09-21 23:38:55 +00:00
Uwe Schindler 97dbc366c7 Fixed bug #29805 (HTTP Authentication Issues) 2004-09-21 22:00:39 +00:00
Ilia Alshanetsky 21d9578e52 Back to dev. 2004-09-20 23:29:49 +00:00
Ilia Alshanetsky ca25d91f13 4.3.9 2004-09-20 22:28:35 +00:00
Ilia Alshanetsky b663137e04 Prepare news file for release. 2004-09-20 22:27:55 +00:00
Ilia Alshanetsky 6175cec8a7 MFH: Fixed bug #30050 (Possible crash inside php_shutdown_config()). 2004-09-17 02:49:48 +00:00
Uwe Schindler 2b5c855143 Sorry REVERT bevor 4.3.9 is out because of not critical!!!! 2004-09-15 21:51:29 +00:00
Uwe Schindler 4fdd5249fb Fixed bug #29805 (HTTP Authentication Issues) 2004-09-15 21:25:31 +00:00
foobar 35b1b345c4 MFH: Test for bug #30069 2004-09-15 13:55:32 +00:00
SVN Migration 15b4d3dc78 This commit was manufactured by cvs2svn to create branch 'PHP_4_3'. 2004-09-15 13:54:17 +00:00
Rasmus Lerdorf ef6d751b04 Stefano did the real work tracking this one down 2004-09-14 06:10:02 +00:00
Ilia Alshanetsky 0938da3685 Back to dev. 2004-09-14 04:33:09 +00:00
Ilia Alshanetsky b30885d8a3 4.3.9RC3 2004-09-14 04:28:47 +00:00
Rainer Schaaf 4a202474ef undo of removal of these files.
The removal was done because of Bug #29297, but it was the wrong time to do this now.
2004-09-13 17:12:13 +00:00
Stefan Esser a975e43310 MFH 2004-09-13 16:00:50 +00:00
Rainer Schaaf 0abfed95e3 removed PDFlib extension from PHP_4_3 branch too (is available in PECL now). 2004-09-13 15:12:25 +00:00
Stefan Esser 3e7f149be6 MFH 2004-09-12 10:46:49 +00:00
Rasmus Lerdorf 18fdb3b33e Stop at the index on an unmatched [ 2004-09-09 16:07:53 +00:00
Ilia Alshanetsky 5949c3968e MFH: Adjusted input check. 2004-09-03 03:36:21 +00:00
Ilia Alshanetsky ab4433e348 MFH: Fixed bug #29925 (Added a check to prevent illegal characters in
session key).
2004-09-03 00:53:46 +00:00
Stanislav Malyshev d84d278900 this crashed if some of the shutdown handlers called some file stat function 2004-09-02 09:38:56 +00:00
Derick Rethans 8a17d68216 - MFH: Added test for bug #29944. 2004-09-02 06:34:12 +00:00
Sara Golemon 8c9126e101 MFH: Use user_agent ini setting if it's available. 2004-08-31 20:12:56 +00:00
Stanislav Malyshev 3a27e5a0c1 if not using Zend's alloc, don't touch _emalloc 2004-08-31 15:32:09 +00:00
Ilia Alshanetsky 8a12f7d72d back to dev. 2004-08-31 14:27:09 +00:00
Ilia Alshanetsky 54ec8a53d3 4.3.9RC2 2004-08-31 14:05:30 +00:00
Joe Orton 4265c3d6f4 MFH: Do not rely on handling of integers which might be outside the
range of a 32-bit signed long.
2004-08-31 12:13:41 +00:00
Joe Orton 51452106e7 MFH: fix gettimeofday() tests to not fail if the same time is
returned by successive calls.
2004-08-31 10:34:15 +00:00
Antony Dovgal 4ed862d6fb MFH: this file shouldn't be in the repository at all 2004-08-31 08:32:25 +00:00
Ilia Alshanetsky 62a06abf37 MFH: Added missing input validation to dio_write(). 2004-08-30 22:21:18 +00:00
Antony Dovgal 66b8788497 MFH: add testcase for bug #29893 2004-08-30 09:14:55 +00:00
SVN Migration bc7fd9511f This commit was manufactured by cvs2svn to create branch 'PHP_4_3'. 2004-08-30 09:07:18 +00:00
Marcus Boerger 77b928515a MFH: Bugfix #29882 isset crashes on arrays 2004-08-29 16:53:32 +00:00
Sergey Kartashoff 4cebdf96d6 - A fix for building of shared mnogosearch module 2004-08-29 14:18:15 +00:00
Ilia Alshanetsky 92b51bfe9d MFH: Fixed a nasty resource/memory/disk-space leak when opening zlib files
via wrapper stacking ala compress.zlib://http://...
2004-08-26 23:36:11 +00:00
Thies C. Arntzen 5fd50121a2 @- Fixed bug #29838 Memory leak in sprintf argument swapping. (Thies)
# by backporting one line from HEAD.
2004-08-26 13:41:59 +00:00
Andrei Zmievski ef38483ca3 Rewrite cache clean-up using zend_hash_apply_with_argument(). 2004-08-25 20:47:40 +00:00
Ilia Alshanetsky 1efef3488f Fixed operations on remote bzip2 compressed files ala:
compress.bzip2://http://downloads.php.net/ilia/php-4.3.5RC1.tar.bz2

Patch by Wez (MFH from HEAD)
2004-08-25 14:22:48 +00:00
Sara Golemon 0d73873aad MFH (r1.160) TSRM fix 2004-08-25 04:42:54 +00:00
Andrei Zmievski 6c42291ed6 Implement periodic PCRE compiled regexp cache cleanup, to avoid memory
exhaustion.
2004-08-24 20:57:32 +00:00
Frank M. Kromann 70e839b911 Fix a possible crash in fbsql_database() if the function was called before a connection was made. 2004-08-24 18:00:05 +00:00
Ilia Alshanetsky 3bdf8fda7f MFH: Fixed possible crash inside dio_read(). 2004-08-23 17:27:53 +00:00
Ilia Alshanetsky 53b3b33aae Removed unneeded bits. 2004-08-20 13:52:15 +00:00
Ilia Alshanetsky a05ffc841e MFH: Added more missing cURL options. 2004-08-20 00:57:35 +00:00
Ilia Alshanetsky 1b480cd24b MFH: Fixed bug #29753 (mcal_fetch_event() allows 2nd argument to be optional). 2004-08-20 00:46:49 +00:00
Brian France 88e1d65564 [MFH] If you send a post with a content-type header and then the next post without the content-type header, raw_post_data will not be set. This is because SG(request_info).post_entry is set to the first requests function pointer which makes it follow the wrong code path. 2004-08-19 20:35:36 +00:00
Ilia Alshanetsky 64245f3654 MFH: Fixed bug #29727 (Added missing CURL authentication directives). 2004-08-18 21:30:40 +00:00
Antony Dovgal 74bbb513a2 typo in config.m4 (potential configuration problem with Stronghold) 2004-08-18 07:16:46 +00:00
Antony Dovgal 35bf13d97f fix #29625 (no quotes around the shell variable's value cause ./configure to fail) 2004-08-18 05:14:16 +00:00
Antony Dovgal 4d03a6980d MFH: fix more typos in php.ini 2004-08-18 05:05:23 +00:00
Ilia Alshanetsky a0902bfa37 Fixed bug #29719 (fgetcsv() has problem parsing strings ending with escaped
enclosures).
2004-08-17 14:10:03 +00:00
Antony Dovgal 2086644e2b MFH: fix typo 2004-08-17 10:58:34 +00:00
Ilia Alshanetsky 7be45c1573 MFH: Fixed bug #29594 (Use PHP's own tmpfile() implementation). 2004-08-16 23:08:54 +00:00
Zeev Suraski e749e406d8 *** empty log message *** 2004-08-16 12:34:46 +00:00
Zeev Suraski a7a797726e Fix an OLDIE fd leak 2004-08-16 12:23:06 +00:00
Rob Richards 541f96e1b6 BFN 2004-08-13 11:38:48 +00:00
Rob Richards 11d323faae Fixed bug #29599 (domxml_error segfaults another apache module) 2004-08-13 11:38:03 +00:00
Chuck Hagenbuch 61ff34a945 More spaces -> tabs. 2004-08-12 19:32:59 +00:00
Ilia Alshanetsky c6debc5600 MFH: Properly fix the msgno check inside imap_fetchbody(). 2004-08-12 19:20:19 +00:00
Chuck Hagenbuch d6316ebef3 MFH: fix. 2004-08-12 18:02:14 +00:00
Marcus Boerger 0e39d9932a MFH: Change to use md5_file() 2004-08-12 00:38:20 +00:00
Marcus Boerger 4577ef345d MFH: make bison --version independant 2004-08-11 23:56:56 +00:00
Ilia Alshanetsky c38946f838 MFH: Fixed memory leak. 2004-08-11 23:25:54 +00:00
Ilia Alshanetsky 9409252d3f back to dev. 2004-08-11 23:19:44 +00:00
Ilia Alshanetsky 2e63531d77 4.3.9RC1 is a go. 2004-08-11 22:42:47 +00:00
Ilia Alshanetsky 54b5111a98 Bug fixing news. 2004-08-11 22:40:46 +00:00
Sara Golemon bc8dccc7e2 MFH: Fix format specifiers 2004-08-11 04:31:03 +00:00
Andi Gutmans 8592a15028 - MF PHP_5_0 2004-08-10 07:00:11 +00:00
Moriyoshi Koizumi de231c928c - MFH: Bugfix #29493 (extract(array, EXTR_REFS) misbehaves with elements
referred twice or more times)
2004-08-10 06:04:12 +00:00
Ilia Alshanetsky ca19c39b62 MFH: Fixed bug #29581 (Typo inside php.ini comments for mysql.trace_mode). 2004-08-10 00:44:26 +00:00
Andi Gutmans 3dd7a7f8b4 - Update credits for PHP docs 2004-08-09 21:52:45 +00:00
Antony Dovgal 35a2f5306d MFH: remove all references to @ thing, as it's not recommended 2004-08-05 14:18:55 +00:00
Edin Kadribasic c008ca83c4 MFH: make it build on windows 2004-08-04 00:08:16 +00:00
Frank M. Kromann d0bfbece1a Oops. remember to save the project file before commiting. 2004-08-03 22:06:15 +00:00
Frank M. Kromann 1f13e32204 Updating library name to iconv.lib 2004-08-03 22:04:34 +00:00
Greg Beaver bcac9d3773 commit for win32 - binary so line endings are always preserved 2004-08-03 04:31:59 +00:00
Frank M. Kromann 041b586c59 Add missing header for def. of struct timeval. 2004-07-30 17:07:03 +00:00
Frank M. Kromann 77d6edf304 Adding new win32 globals to project 2004-07-30 17:06:07 +00:00
Frank M. Kromann bb1624acd9 Add missing header for win32 builds 2004-07-30 16:52:35 +00:00
Frank M. Kromann e212b6c56c Fix line endings 2004-07-30 16:49:38 +00:00
Wez Furlong 043fdb5fb1 MFH: win32 zts fix 2004-07-30 14:38:29 +00:00
Wez Furlong 429a6bc483 MFH: win32 zts fixes 2004-07-30 14:37:17 +00:00
Ilia Alshanetsky ef6cfdbec3 MFH: Fixed bug #29443 (Sanity check for wbmp detection). 2004-07-30 01:10:46 +00:00
SVN Migration 00f869c0a7 This commit was manufactured by cvs2svn to create branch 'PHP_4_3'. 2004-07-29 03:58:01 +00:00
Ilia Alshanetsky 7869874e5a MFH: Added missing comma. 2004-07-27 12:44:44 +00:00
Ilia Alshanetsky 7456da1533 MFH: Fixed bug #29349 (imagecreatefromstring() crashes with external GD
library).
2004-07-27 00:27:10 +00:00
Ilia Alshanetsky 9cb224eafe MFH: Fixed bug #29369 (Uploaded files with ' or " in their names get their
names truncated at those characters).
2004-07-25 19:19:32 +00:00
Edin Kadribasic cd774e73fb Fix .dsp 2004-07-23 02:43:10 +00:00
Edin Kadribasic 0d1c4f234b MFH: Updated version number 2004-07-23 02:28:51 +00:00
Ilia Alshanetsky 2b73a58a4c MFH: Fixed bug #29333 (output_buffering + trans_sess_id can corrupt output) 2004-07-23 02:05:55 +00:00
Stefan Esser f647379a3d MFH 2004-07-22 23:09:24 +00:00
SVN Migration 098de0df5d This commit was manufactured by cvs2svn to create branch 'PHP_4_3'. 2004-07-22 22:39:00 +00:00
Edin Kadribasic 510a2806b3 MFH 2004-07-21 23:26:47 +00:00
Ilia Alshanetsky cc47667fb0 MFH: Fixed bug #29209 (imap_fetchbody() doesn't check message index). 2004-07-21 21:57:13 +00:00
Stefan Esser 42a50158bc Merge all not yet merged security fixes into the 4_3 branch 2004-07-21 16:25:37 +00:00
Moriyoshi Koizumi 6957c8ab5a - MFH (sapi_apache2.c: 1.41): request_dtor() should be called if a fatal
error occurs during activation phase.
# 4.3.8 patches need to be committed to this branch, otherwise...
2004-07-20 20:48:01 +00:00
Moriyoshi Koizumi 1802b2c9dd - MFH (ctype.c: 1.31): Correct range checks.
- MFH (ctype.c: 1.31): Normalize negative values.
2004-07-20 20:10:04 +00:00
Ilia Alshanetsky e3a480faf8 MFH: Fixed bug #29226 (ctype_* functions missing validation of numeric
string representations).
2004-07-20 01:03:34 +00:00
Ilia Alshanetsky 53cc10e1c2 MFH: Fixed bug #28633 (sprintf incorrectly adding padding to floats). 2004-07-18 17:29:45 +00:00
SVN Migration 619f6faa20 This commit was manufactured by cvs2svn to create branch 'PHP_4_3'. 2004-07-18 17:27:50 +00:00
Sara Golemon 184917eb1f Bugfix# 29114 Potential double free in php_stat 2004-07-16 05:08:15 +00:00
Ilia Alshanetsky 4bed8c9537 MFH: Fixed bug #28800 (strings beginning with "inf" improperly converted). 2004-07-16 02:24:46 +00:00
SVN Migration 235ef76a89 This commit was manufactured by cvs2svn to create branch 'PHP_4_3'. 2004-07-16 02:03:26 +00:00
Ilia Alshanetsky 9638f4c8ff MFH: Fixed Bug #29075 (strnatcmp() incorrectly handles whitespace). 2004-07-15 01:46:28 +00:00
SVN Migration d61681ffe8 This commit was manufactured by cvs2svn to create branch 'PHP_4_3'. 2004-07-15 01:26:04 +00:00
Edin Kadribasic bfe60f6a55 MFH: Made php -m output sorted case-insensitevly 2004-07-14 22:38:18 +00:00
Stefan Esser 53f837720f Ups... CAN-2004-0595 regression test went into wrong branch... 2004-07-14 11:32:47 +00:00
Marcus Boerger 5a3f8c4864 BFN 2004-07-13 19:33:35 +00:00
Marcus Boerger ca71f35892 BFN 2004-07-13 19:30:24 +00:00
Wez Furlong 14e3bbd0ca MFH: add missing break 2004-07-13 17:15:13 +00:00
Derick Rethans 2419d2e170 - Bump version numbers in the PHP_4_3 branch. 2004-07-13 12:58:49 +00:00
Timm Friebe c94734d283 - Fixed bug #29064 (Exact numeric/decimal/money datatypes lose precision)
- Fixed bug #27843 (sybase_query() triggers (spurious?) notices when
  query is a stored procedure)
- Fixed multiple memory leaks with sybase_unbuffered_query()
- Changed sybase_query() to ignore store_results = false in  buffering
  mode, it would yield unpredictable results
- Fixed sybase_unbuffered_query() when used with store_results = false
- Changed sybase_fetch_object() to ignore second argument when passed
  as NULL
- Made sybase_data_seek() error message more verbose
- Fixed memory leak in shutdown when not all rows where selected in an
  unbuffered query
CVS ----------------------------------------------------------------------
2004-07-12 21:07:21 +00:00
Antony Dovgal a47aa0e936 MFH: fix #28978 (multiple OCIBindByName on the same placeholder eats memory) 2004-07-12 07:42:41 +00:00
Andrey Hristov 87631a8713 news stuff 2004-07-11 21:38:56 +00:00
Andrey Hristov 6b2dc66a5b MFH:
fixing bug #29038
2004-07-11 21:30:19 +00:00
Andrey Hristov 9947c89d6e MFH:
fixed bug #28974 : overflow in array_slice()
The same kind of overflow appeared in array_splice(), substr() and
substr_replace()
2004-07-11 21:24:47 +00:00
SVN Migration 0fb6cde415 This commit was manufactured by cvs2svn to create branch 'PHP_4_3'. 2004-07-11 21:15:05 +00:00
Wez Furlong 9fb029f257 MFH: RIP: Greedy read problems 2004-07-10 10:54:27 +00:00
Ilia Alshanetsky aaaa6ce403 MFH: Fixed bug #29049 (array sorting via user function/method does not
validate it).
2004-07-08 17:07:25 +00:00
Ilia Alshanetsky 3e7cb1286f MFH: Fixed bug #29034 (wordwrap() returns a boolean when passed empty
string).
2004-07-06 22:16:47 +00:00
Sascha Schumann ff9097524c add 2004-07-05 11:44:19 +00:00
Sascha Schumann d8e1afab0b - revert to proper behaviour. The environment variable PHP_FCGI_CHILDREN
must be explicitly set to != 0 to make the fastcgi-enabled binary
  act as a standalone fcgi server.
2004-07-05 11:40:28 +00:00
Ilia Alshanetsky fea008a67f MFH: Fixed bug #28963 (Missing space for \0 in address allocation). 2004-07-04 16:53:02 +00:00
Pierre Joye 1857c0d17f - Fix #28984, using full transparent segfauls in imagefill
(NB: imagefill is broken in HEAD, same code)
- Add testcase
2004-07-03 15:32:33 +00:00
Wez Furlong a7067ff166 Fix #28996: unix sockets leak when connection fails 2004-07-02 17:23:07 +00:00
Zeev Suraski 8b504aad98 MFH (more or less) registry-based setting for the location of php.ini 2004-07-01 15:43:40 +00:00
Sterling Hughes 8dfbcec9a6 mfh 2004-07-01 06:51:48 +00:00
Frank M. Kromann 4b40bdbc00 Fix for #28512. news entry 2004-06-30 19:53:13 +00:00
Frank M. Kromann f4c286ce51 MFH: Fix for #28512. Allocate enough space to store data 2004-06-30 19:47:18 +00:00
Ilia Alshanetsky 549b2ae9fe MFH: Another instance where alloca() is not needed. 2004-06-30 13:43:22 +00:00
Ilia Alshanetsky d5edc8497b MFH: Do not use alloca() where it can be abused through user input. 2004-06-30 01:12:09 +00:00
Wez Furlong 8cafde7940 Fix for Bug #28964 fread "greedy" behaviour 2004-06-29 21:51:28 +00:00
Derick Rethans f864a93b00 - MFH: Fixed bug with leap year checking. 2004-06-28 14:35:41 +00:00
Ard Biesheuvel 1556fa2665 BFN 2004-06-28 11:30:03 +00:00
Ard Biesheuvel fe68f62429 Fixed bug #28897 (-1 returned as -0.000 for 64-bit scaled int) 2004-06-28 11:24:55 +00:00
Moriyoshi Koizumi 1d14c2f46f - This one should've been here, not in HEAD. 2004-06-26 17:06:22 +00:00
Uwe Schindler a4b9d8117f MFH: replace strncpy with strlcpy 2004-06-26 10:30:22 +00:00
Stefan Esser e7252868ce MFH 2004-06-26 07:47:30 +00:00
Edin Kadribasic 435da1b34e Memory leak fix (patch by Joe Orton) 2004-06-25 12:51:38 +00:00
Ilia Alshanetsky 0a968e6e62 MFH: Added missing safe_mode & open_basedir checks. 2004-06-24 00:48:56 +00:00
Sara Golemon 78e6f958af BFN and order fix 2004-06-23 23:31:18 +00:00
Moriyoshi Koizumi 384900bd89 - Modify test case for wider coverage. 2004-06-23 22:20:44 +00:00
Moriyoshi Koizumi a3a9ff1309 - Fix buf #28466 (mbstring_convert_variables() problem). 2004-06-23 22:07:01 +00:00
Sascha Schumann 0cc1014ebf - fix logic. if the client already sent us the cookie, we don't
need to send it again.  if the id has been changed, we need to
  update the client side.
2004-06-23 16:29:16 +00:00
Uwe Schindler aed8e18415 Addendum to bug #28878: change ini keys as PHP_INI_SYSTEM
Also: Adding "bucket" parameter to non-ini-keys, Elemination of double CONTENT_TYPE/_LENGTH environment variables
2004-06-23 13:05:12 +00:00
Andrei Zmievski 669897add1 pcre_info() is deprecated. Hence, update to pcre_fullinfo() and do more
rigorous checking of return values.
2004-06-22 22:20:38 +00:00
Ilia Alshanetsky 5584e5ef18 MFH: Fixed possible buffer overflow. 2004-06-22 20:27:50 +00:00
Uwe Schindler a84df36b1e Fix bug #28878: php.ini values in php4_execute 2004-06-22 15:55:05 +00:00
Uwe Schindler de54f321b3 Fix bug #28878: php.ini values in php4_execute 2004-06-22 15:37:55 +00:00
Ilia Alshanetsky cba1c57ac6 MFH: Added missing safe_mode check. 2004-06-21 22:53:59 +00:00
Sara Golemon 4240a5d3cf BFN 2004-06-21 19:34:58 +00:00
Sara Golemon 10a0500ad9 MFH: BugFix#28868 Wrapper hash not thread-safe 2004-06-21 19:33:48 +00:00
Jan Lehnardt 7e965d8661 - MFH (fix for #28847) 2004-06-19 20:37:55 +00:00
Stefan Esser 2d18951de4 Fixed some 64bit and other zend_parse_parameters bugs 2004-06-19 15:09:47 +00:00
Ilia Alshanetsky d2be511ea2 MFH: Fixed possible memory leak. 2004-06-18 00:44:40 +00:00
Ilia Alshanetsky b67e80ea4f MFH: Fixed bug #28818 (Apache 2 sapis do not export st_dev). 2004-06-18 00:37:02 +00:00
Brad House 3b9b9a4bbd merge name change from mcve -> monetra
add compatability layer for v3.2 functionality, so existing scripts
will work without any migration needed.
This patch has been sitting in PHP 5 for some time, and seems to
be working quite well. A quick backport of that patch to php4.
2004-06-17 03:16:59 +00:00
Ilia Alshanetsky 0a766591b8 MFH: Properly handly high ascii values in soundex(). 2004-06-17 00:17:52 +00:00
Ilia Alshanetsky 63dc7bd0ce New & improved strspn() & strcspn(), ~30% in most cases.
# In part based on patch by Alexander Valyalkin
2004-06-16 01:53:59 +00:00
Ilia Alshanetsky d564f6dda8 A faster & more memory efficient php_addslashes() implementation. 2004-06-15 02:02:45 +00:00
Edin Kadribasic 0314e61193 Part of fix for #28745: link agains extension against iconv 2004-06-13 01:02:31 +00:00
Greg Beaver 67d56970b9 MFH bugfixes 2004-06-12 06:16:17 +00:00
Greg Beaver 115ba4988e MFH: Installer and ErrorStack bugfixes/ErrorStack features 2004-06-12 05:50:51 +00:00
Ilia Alshanetsky 06c716589e MFH: hypot() is not experimental. 2004-06-10 19:38:26 +00:00
Derick Rethans 45b4b82fe4 - Fixed bug #28730 (Wrong website in configure output) 2004-06-10 14:48:46 +00:00
Ilia Alshanetsky 323a19116c MFH: Fixed bug #28723 (Fixed mbstring config.m4 to work on OSes where test
command does not support -e parameter).
2004-06-10 14:06:20 +00:00
Frank M. Kromann 1b88577508 MFH: Fix win32 build 2004-06-09 18:12:29 +00:00
Ilia Alshanetsky a7aa47c46d Correct alt text for easter egg logo. 2004-06-09 15:10:19 +00:00
Ilia Alshanetsky eef33e863b MFH: Fixed bug #28175 (Allow bundled GD to compile against freetype 2.1.2). 2004-06-09 14:50:33 +00:00
Ilia Alshanetsky 0f78991ac6 MFH: Fixed bug #28525 (gmp_powm() does not work with hexadecimal string
modulo represented as a string).
2004-06-09 14:39:36 +00:00
Ilia Alshanetsky d6d59e9609 MFH: Fixed memory leak on error in win32's opendir() emulation. 2004-06-09 14:18:16 +00:00
Greg Beaver 0fba197478 MFH partial fix, bug #1163: rpm build doesn't build properly 2004-06-08 18:26:32 +00:00
Greg Beaver eae73713eb MFH fix bug #1550: Builder does not set path to match bin_dir 2004-06-08 18:15:22 +00:00
Greg Beaver f6c1bcfb4d MFH fix bug #1378: user/pass must be urldecoded from parse_url in Remote.php 2004-06-08 18:04:00 +00:00
Greg Beaver d8afde1799 MFH
fix bug #1158
fix bug #1153
2004-06-08 17:56:45 +00:00
Ilia Alshanetsky 70ad496213 MFH: Fixed bug #28692 (\0 in Authenticate header passed via safe_mode). 2004-06-08 13:23:46 +00:00
Ilia Alshanetsky 4d861228c3 MFH: Fixed bug #28668 (glob() does not work with relative paths on Windows) 2004-06-07 18:31:15 +00:00
Ilia Alshanetsky a21f7c4998 MFH: Fixed bug #28670 (WWW-Authentication header mangling with PCRE in
safe_mode adds extra spaces).
2004-06-07 13:51:59 +00:00
Sara Golemon 2080e2fb4a Missing length limit parameter. 2004-06-07 04:42:40 +00:00
Ilia Alshanetsky 80616e818e MFH: Fixed bug #28649 (Proper glob() return value on Linux when there are
no matches).
2004-06-06 16:21:30 +00:00
Ilia Alshanetsky 0b69477a1d MFH: Fixed bug #28632 (Prevent open_basedir bypass in MySQL's LOAD DATA
LOCAL).
2004-06-04 15:27:05 +00:00
Ilia Alshanetsky 08887c2067 MFH: Fixed bug #28627 (When multiple MySQL links are used default link is
leaked).
2004-06-04 13:49:44 +00:00
Sara Golemon 254451337c BugFix# 28626 You can't #ifdef check a typedef. Just give it another name since it's only used once anyway. 2004-06-04 01:02:21 +00:00
Ilia Alshanetsky c5eb0540e0 Back to dev. 2004-06-03 12:42:06 +00:00
Ilia Alshanetsky 2053bc60d2 Prepare for 4.3.7 release. 2004-06-02 13:25:45 +00:00
Ilia Alshanetsky 25f5ea0398 MFH: No need to NULL terminate manually, snprintf() does it for us already. 2004-06-01 21:05:33 +00:00
Ilia Alshanetsky 1618452e53 MFH: Fixed bug #28597 (xmlrpc_encode_request() incorrectly encodes chars in
200-210 range).
2004-06-01 20:16:18 +00:00
Andrei Zmievski 307eedeffe *** empty log message *** 2004-06-01 16:55:55 +00:00
Ard Biesheuvel aad180c93f #28569 2004-06-01 01:12:01 +00:00
Ard Biesheuvel b38423c7f6 MFH: Fixed bug #28569 (connection id is not thread safe) 2004-06-01 00:52:22 +00:00
Ilia Alshanetsky f62069244a MFH: Added missing argument check. 2004-05-31 21:01:38 +00:00
Pierre Joye 6aecc4c6d6 - Missing ';' 2004-05-31 20:59:57 +00:00
Ard Biesheuvel a8d2d22d9b Fix build 2004-05-31 08:33:43 +00:00
Ilia Alshanetsky 8f5c250266 MFH: Fixed memory leak on ifx_error(). 2004-05-30 18:58:49 +00:00
Ilia Alshanetsky 8ee3553aa4 MFH: Fixed bug #28564 (Problem building informix as a shared extension). 2004-05-30 17:57:37 +00:00
Brad House 12e1c89041 Manually check for egrep 2004-05-30 14:33:16 +00:00
Ilia Alshanetsky 40329bff38 MFH: Fixed bug #28311 (Transparency detection code is off by 1). 2004-05-28 13:47:26 +00:00
Stefan Esser b9d3aafe55 MFH 2004-05-28 13:38:19 +00:00
Stefan Esser 7966bb1186 MFH 2004-05-28 11:33:42 +00:00
Ilia Alshanetsky 5e2f6ea744 MFH: Turn off session.auto_start to prevent test failures. 2004-05-26 18:23:23 +00:00
Ilia Alshanetsky 354eff7e1e MFH: Prevent test failure when fi_FI locale is not available. 2004-05-26 18:18:19 +00:00
Ilia Alshanetsky 9a5f0ef61a Fixed test failure due to incorrect library check. 2004-05-26 18:08:32 +00:00
Wez Furlong df0d52bd78 Fix build 2004-05-26 12:29:56 +00:00
Derick Rethans baed8167d6 - MFH: Fixed bug #28523 (Typo in ext/sockets/sockets.c) 2004-05-26 06:54:00 +00:00
Stefan Esser 47b6b1e28a MFH 2004-05-25 22:13:10 +00:00
Brad House a063cc2956 PHP_SETUP_OPENSSL is NOT SNMP_SHARED_LIBADD, it's MCVE_SHARED_LIBADD
requires AC_PROG_EGREP when you phpize
2004-05-25 17:05:57 +00:00
Ilia Alshanetsky 5e5de1960f Back to dev. 2004-05-25 13:52:04 +00:00
Ilia Alshanetsky 893aee30e8 Prepare for 4.3.7RC1. 2004-05-25 13:02:53 +00:00
Pierre Joye 30b2af9511 - MFH: Fix #28506, negative angle returns "random arcs"
while (s < 0) s += 360 is used now
2004-05-24 20:03:08 +00:00
Ilia Alshanetsky 03edfa1677 MFH: Fixed bug #28508 (Do not make hypot() available if not supported by
libc).
2004-05-24 17:02:31 +00:00
Wez Furlong 1a9d759fc4 BFN 2004-05-23 11:05:17 +00:00
Wez Furlong b8a8640846 MFH: Bugfix for #23220: IIS messes up SSL shutdown 2004-05-23 10:43:15 +00:00
Stefan Esser e384ab1666 MFH. 2004-05-23 10:15:24 +00:00
Edin Kadribasic c50ef2e715 The other bit of MFH 2004-05-21 21:00:19 +00:00
Timm Friebe f17eff3a6c - MFH: Fixed bug #28354 2004-05-21 20:30:44 +00:00
Timm Friebe e7e54fccac - MFH: Fixed TSRM build 2004-05-21 19:39:01 +00:00
Derick Rethans 9c488ef4f2 - MFH: Fixed TSRM problem in latest commit. 2004-05-21 08:16:26 +00:00
Derick Rethans 5a3baf610b - MFH: Fixed bug #28456 (Problem with enclosed / in uploaded files). 2004-05-21 08:14:24 +00:00
Ilia Alshanetsky 9dd0472573 MFH: Fixed stream leak on error. 2004-05-20 23:38:05 +00:00
Ilia Alshanetsky 900eaa32f3 MFH: Free vars before calling E_ERROR. 2004-05-20 00:11:33 +00:00
Ilia Alshanetsky 8635889231 MFH: Fixed possible memory leak. 2004-05-18 23:27:03 +00:00
Ilia Alshanetsky c0cea96139 MFH: Fixed command line escaping routines for win32. 2004-05-18 13:43:33 +00:00
Edin Kadribasic 45fa60d315 MFH 2004-05-18 12:17:40 +00:00
Ilia Alshanetsky b7479f6c29 MFH: Correct output. 2004-05-17 20:59:07 +00:00
Derick Rethans 27c3401da5 - MFH: Document the smtp_post setting in php.ini* 2004-05-17 16:31:14 +00:00
Marcus Boerger 8761f766d4 MFH: Fix printf with floats 2004-05-16 21:20:30 +00:00
Timm Friebe 22214bc11e - MFH: Fixed auto-conversion from long to double when LONG_MAX /
LONG_MIN where overflown
2004-05-16 20:36:41 +00:00
Ilia Alshanetsky 5eaf82b6eb MFH: Do not allocate error buffer at the start of every request. 2004-05-16 15:34:56 +00:00
SVN Migration f93672da8e This commit was manufactured by cvs2svn to create branch 'PHP_4_3'. 2004-05-16 14:48:46 +00:00
Ilia Alshanetsky 7be44d2b6d MFH: Added missing safe_mode & open_basedir checks. 2004-05-16 14:38:26 +00:00
Brad House e864dc5b13 update config.m4 for libmonetra 4.0 compatability.
Library no longer has MCVE_ symbols, the header file has #define\'s to
convert MCVE_ -> M_ to reflect the Monetra name change from MCVE.
More updates to follow.
2004-05-16 03:01:38 +00:00
Ilia Alshanetsky 41da69f20f MFH: Fixed possible memory leak inside popen(). 2004-05-14 16:12:06 +00:00
Ilia Alshanetsky 879cbe7961 MFH: Fixed bug #28386 (wordwrap() wraps lines 1 character too soon). 2004-05-13 17:44:33 +00:00
SVN Migration 739846a6a8 This commit was manufactured by cvs2svn to create branch 'PHP_4_3'. 2004-05-13 17:44:24 +00:00
Ilia Alshanetsky e5d7aef143 MFH: Make isapi more compatible with apache sapis as far as the creation
$_COOKIE super-global and various $_SERVER values.
2004-05-13 17:21:42 +00:00
Edin Kadribasic 47692de95f Make curl compile with the latest win32 libcurl 2004-05-13 16:54:45 +00:00
Ilia Alshanetsky 6be3e2d751 MFH: Skip session tests if session.save_path is not writable. 2004-05-13 12:53:49 +00:00
Ilia Alshanetsky e69edbeac2 MFH: Fixed various possible memory leaks. 2004-05-12 20:17:21 +00:00
Ilia Alshanetsky 86b31b56de MFH: Fixed bug #28374 (Possible unterminated loop inside
_php_pgsql_trim_message()).
2004-05-12 16:49:56 +00:00
Wez Furlong efb6da662d Avoid Bug #28363 by not seeking if we don't have a read buffer 2004-05-12 10:46:30 +00:00
Ilia Alshanetsky 7f8bbde609 MFH: Make vprintf() and printf() return the length of the string printed. 2004-05-11 19:51:50 +00:00
Ilia Alshanetsky 338de41cf9 MFH: Fixed bug #28355 (glob() does not return error on Linux when it does
not have permission to open the directory).
2004-05-11 13:34:31 +00:00
Ilia Alshanetsky 139deb5ddb MFH: Fixed crash inside cpdf_place_inline_image() when working with
truecolor images.
2004-05-10 22:13:39 +00:00
Marcus Boerger 6d859da0da MFH Decouple NAN and INF 2004-05-10 07:25:11 +00:00
Ilia Alshanetsky 8f242bb48b Added missing upgrade bit. 2004-05-10 02:19:22 +00:00
Marcus Boerger 7afbc02392 BFN 2004-05-10 02:12:17 +00:00
Marcus Boerger e3aa91d3f3 MFH Fix problems with c mode 2004-05-10 01:47:51 +00:00
Ilia Alshanetsky 8838b0f114 MFH: Fixed bug #28289 (incorrect resolving of relative paths by glob() in
windows).
2004-05-09 19:01:27 +00:00
Ilia Alshanetsky 349514ed2d MFH:
Upgrade bundled GD library to 2.0.23.
Fixed bug #28175 (build problem for people using FreeType 2.1.0-2.1.2).
2004-05-09 17:34:02 +00:00
Sara Golemon d676db7541 MFH: if statement logic would never eval to false. 2004-05-08 06:01:11 +00:00
Ard Biesheuvel b7c800e6fb MFH: fixed unregistered pointer juggling bug 2004-05-07 15:17:12 +00:00
Uwe Schindler ba9faa42a0 Security fix: Put '\0' string termination before loop 2004-05-03 12:22:54 +00:00
Stefan Esser 164703f306 MFH 2004-05-02 10:17:36 +00:00
Marcus Boerger a9d700c5c7 MFH Bugfix #28229 (PATCH run-tests tripped up by spaces in names) 2004-04-30 17:54:45 +00:00
Greg Beaver a750e94013 MFH fix included files and put error messages in PEAR_Downloader where they are needed 2004-04-30 16:37:41 +00:00
Ilia Alshanetsky bbf5e08fa3 MFH: Fixed bug #28228 (number_format() does not allow empty decimal
separator).
2004-04-30 13:26:06 +00:00
SVN Migration 1be1a0b472 This commit was manufactured by cvs2svn to create branch 'PHP_4_3'. 2004-04-30 13:26:02 +00:00
Greg Beaver 072961be7b MFH update to begin process for next release (release is not imminent) 2004-04-30 02:09:01 +00:00
Greg Beaver 9f7829fb47 MFH fix 1186: notice in PEAR_Common undeclared $_packageName 2004-04-30 02:05:47 +00:00
Ilia Alshanetsky 80dfa0ba37 MFH: Fixed bug #28196 (missing error constants in cURL extension). 2004-04-29 16:25:54 +00:00
Sara Golemon d1be87446b MFH Don't strip off those []s, it'll only create problems in wrappers and elsewhere. 2004-04-27 19:28:21 +00:00
Sara Golemon 4c9527044b MFH BugFix 28187 parse_url does not handle scheme://[0123:4567::89]:12345/etc style IPv6 embedded address URLs 2004-04-27 19:21:36 +00:00
Ilia Alshanetsky 7de0f803d1 MFH: Removed C++ style comments. 2004-04-27 17:34:05 +00:00
Ilia Alshanetsky 208a735a85 MFH: Fixed bug #28184 (C++ comments in GD library sources). 2004-04-27 14:59:25 +00:00
Derick Rethans 58466f957f - Fixed bug #28147 (Crash with drawing anti-aliased lines) 2004-04-25 19:43:30 +00:00
Derick Rethans 06fd453fb9 Reorder NEWS 2004-04-23 18:20:39 +00:00
Rasmus Lerdorf 2d9549455d bug #27810 from Joe Orton 2004-04-23 17:51:39 +00:00
Ilia Alshanetsky 7aa63c6209 MFH: Fixed bug #28087 (Do not force mysql.trace_mode to 0 on every request) 2004-04-23 17:04:36 +00:00
Marcus Boerger bc594f1506 BFN 2004-04-22 22:53:18 +00:00
Ilia Alshanetsky b5d2a4aa12 MFH: Fixed possible crash inside pg_copy_(to|from) function if delimiter is
more then 1 character long.
2004-04-22 00:32:07 +00:00
Ilia Alshanetsky a20b67c30f Correct news entry order. 2004-04-21 00:12:12 +00:00
Ilia Alshanetsky 1aad1b4291 MFH:
Fixed possible memory leaks.
	Prevent shm_attach() from destroying non-shm resources.
2004-04-21 00:11:30 +00:00
Frank M. Kromann 6fc504ce16 mssql related fixes 2004-04-20 23:54:20 +00:00
Frank M. Kromann b24de2d58a MFH: Fix #28007. Compile fails when the SHORT type is undefined (older versions of FreeTDS) 2004-04-20 23:37:26 +00:00
Frank M. Kromann 4c5521ad81 MFH: Fix problem getting return value from stored procedure when it returns multiple results 2004-04-20 23:31:39 +00:00
Wez Furlong 808dee23d7 news! 2004-04-19 13:37:43 +00:00
Wez Furlong 4c722bee9c MFH: timeout duration too long in liveness checks for sockets.
Fixes Bug #28055
2004-04-19 12:43:26 +00:00
Derick Rethans 19db79ff1d - Fix for bug #28042 (greek letters in html to entitity mapping not correct) 2004-04-17 23:07:27 +00:00
Uwe Schindler e3727d1061 MFH: set Sybase default APPNAME to ("PHP " PHP_VERSION) 2004-04-16 16:28:01 +00:00
Ilia Alshanetsky 43d81b700a MFH: Fixed test failure if session.use_trans_sid is enabled. 2004-04-15 13:37:58 +00:00
Ilia Alshanetsky a6ea6cc87c Fixed bug #27995 (imagefilltoborder() stops the fill process prematurely).
# Already in PHP5
2004-04-14 22:40:16 +00:00
Ilia Alshanetsky 9f6f2471f0 Back to dev. 2004-04-14 16:39:03 +00:00
Ilia Alshanetsky 90adf3ec54 Prepare for 4.3.6 2004-04-14 15:00:36 +00:00
Edin Kadribasic de83567151 News update 2004-04-14 14:51:24 +00:00
Ilia Alshanetsky c6af3e463a MFH: Fixed bug #27963 (Session lifetime setting may leak between requests). 2004-04-13 18:23:10 +00:00
Derick Rethans 09d9532952 - MFH: Add default fontpath for win98/xp 2004-04-12 21:43:19 +00:00
Greg Beaver 4e9e5c1913 re-organize as per PEAR-Core discussion 2004-04-09 07:43:52 +00:00
SVN Migration 9a9864a0e9 This commit was manufactured by cvs2svn to create branch 'PHP_4_3'. 2004-04-09 07:38:49 +00:00
foobar 065d0986aa fix typo 2004-04-08 23:56:45 +00:00
foobar 8a088529c9 PHP_ADD_LIBPATH checks that the path is not /usr/lib.. 2004-04-08 23:54:10 +00:00
Andi Gutmans 908f37b08b - News 2004-04-08 21:23:31 +00:00
Derick Rethans ea2fa14acb - Added missing CEST zone 2004-04-08 19:21:46 +00:00
Ilia Alshanetsky ebf7a4f847 Back to dev. 2004-04-08 19:15:13 +00:00
Ilia Alshanetsky 46d273a2b9 4.3.6RC3 2004-04-08 19:13:58 +00:00
Ilia Alshanetsky 4293672558 Prepare news file for release. 2004-04-08 12:42:29 +00:00
Ilia Alshanetsky f5865d02d0 Missing news entries. 2004-04-07 22:44:07 +00:00
Edin Kadribasic cf3d459815 Merged wrongly s/#ifdef/#if/ 2004-04-07 22:31:29 +00:00
Edin Kadribasic fcfe6ff818 MFH: Allow compilation with gdlib 1.8 2004-04-07 22:28:29 +00:00
Ilia Alshanetsky 88b30630b2 Removed test for a problem inside the GD library. 2004-04-07 20:52:44 +00:00
Adam Dickmeiss 9d4bd52adf Fixed bug #27803 (YAZ lib path) 2004-04-07 19:37:22 +00:00
foobar bf45f6d5ba MFH: Revert the patch to "fix" #27664 and added more informal error msg. 2004-04-07 13:56:48 +00:00
Greg Beaver 76c42836b2 developer -> lead for cellog 2004-04-07 00:29:46 +00:00
Greg Beaver fd4dea3500 MFH 2004-04-06 23:22:16 +00:00
Greg Beaver c1134d6bb9 change release date 2004-04-06 22:09:05 +00:00
Derick Rethans 9166d10260 - Update NEWS with fugbix. 2004-04-06 18:12:03 +00:00
Rob Richards fa843198d4 Fix Bug #27769 crash using domxml_xmltree 2004-04-06 17:56:11 +00:00
foobar e5a94e640e update credits 2004-04-06 10:10:41 +00:00
foobar 3a95b4b173 rtd 2004-04-06 09:38:27 +00:00
Ilia Alshanetsky 8a6f9ab5c0 Back to dev. 2004-04-05 15:43:52 +00:00
Ilia Alshanetsky 9a87c59f72 Prepare for 4.3.6RC2 2004-04-05 15:34:37 +00:00
Ilia Alshanetsky 831caad432 Restore wddx tests, without the troublesome date conversions. 2004-04-05 14:10:19 +00:00
Moriyoshi Koizumi 0ef09b9609 - MFH(r-1.49): Let it work safely 2004-04-04 19:23:43 +00:00
Moriyoshi Koizumi df1e5064e7 - Remove test, as it's never worked as expected. 2004-04-04 19:19:45 +00:00
Ilia Alshanetsky ad63c6c086 MFH: Fixed a bug that prevented building of the GD extension against
external GD lib 1.X.
2004-04-04 18:00:23 +00:00
Derick Rethans 8d802f10f0 - MFH: Fixed comment and double 0 2004-04-04 12:45:34 +00:00
Derick Rethans 6c192034a2 - MFH: One more test for DST bugs. 2004-04-04 12:43:17 +00:00
SVN Migration 3bab4824f0 This commit was manufactured by cvs2svn to create branch 'PHP_4_3'. 2004-04-04 12:42:14 +00:00
Marcus Boerger 951f80976b MFH: Add comment 2004-04-04 12:31:38 +00:00
Ard Biesheuvel 0e00c049c7 MFH: gcc-2.95/sparc test 2004-04-04 10:24:09 +00:00
Derick Rethans e85ca0efce - Fixed bug #27849 (configure craps out on trivial syntax error). 2004-04-03 17:23:14 +00:00
Greg Beaver 56c1fec8d8 MFH
fixed #534 for real (remove notice if state=stable doesn't exist, and use "none" for stable version number)
2004-04-03 15:56:11 +00:00
Ard Biesheuvel 4b1deca2e1 2nd try for glibc2.2/sparc64 2004-04-03 12:37:45 +00:00
Ard Biesheuvel c40ac6b268 Changed test to include returning HUGE_VAL as well (intended to resolve #27830) 2004-04-03 09:46:20 +00:00
Greg Beaver 8e07a4fd52 MFH
fix Bug #937 throwError() treats every call as static
fix Bug #964 PEAR_ERROR_EXCEPTION causes fatal error
2004-04-03 06:28:48 +00:00
Greg Beaver 5336ad6dbd MFH fix #534: pear search doesn't list unstable releases 2004-04-03 06:09:27 +00:00
Greg Beaver e1fa70df9a not devel any more 2004-04-03 00:42:14 +00:00
Ilia Alshanetsky 85923625fe Fixed bug #27730. 2004-04-02 16:54:44 +00:00
Derick Rethans de9e6e1f1b - Fixed unintialized variables. 2004-04-02 09:33:49 +00:00
Ilia Alshanetsky b145f87d40 MFH: Fixed reversed condition for error reporting. 2004-04-01 22:05:38 +00:00
Ilia Alshanetsky f579d02059 Back to dev. 2004-04-01 21:48:32 +00:00
Ilia Alshanetsky 2058fec25b Prepare for 4.3.6RC1. 2004-04-01 20:51:34 +00:00
Derick Rethans 6c63a9e153 - Fixed bug #27780 (strtotime(+1 xxx) returns a wrong date/time) 2004-04-01 20:35:41 +00:00
Ilia Alshanetsky 4de55b50dc Revert patch for bug #27782. 2004-04-01 19:07:02 +00:00
Ilia Alshanetsky bbdbfa8563 Bug fixing news & test for bug #27819. 2004-04-01 17:49:21 +00:00
Derick Rethans cc5e0df571 - MFH: Fixed bug #27822 (is_resource() returns TRUE for closed resources) 2004-04-01 08:56:33 +00:00
SVN Migration d528916296 This commit was manufactured by cvs2svn to create branch 'PHP_4_3'. 2004-04-01 08:54:45 +00:00
Ilia Alshanetsky 0cd7e11430 Bug fixing news. 2004-03-31 23:27:40 +00:00
Ilia Alshanetsky 772523e4a8 MFH: Fixed bug #27809 (ftp_systype returns null on some ftp servers). 2004-03-31 20:44:04 +00:00
Hartmut Holzgraefe 5f1a942add MFH 2004-03-31 17:59:28 +00:00
Ilia Alshanetsky ddbc35b39c MFH: Fixed bug #27802 (default number of children to 8 when
PHP_FCGI_CHILDREN is not defined).
2004-03-31 17:01:45 +00:00
Ard Biesheuvel ea3c36078c MFH 2004-03-31 10:31:43 +00:00
Ilia Alshanetsky 24e9c2b3ff MFH: Fixed bug #27782 (Wrong behaviour of next(), prev() and each()). 2004-03-30 19:09:10 +00:00
SVN Migration 6241abce94 This commit was manufactured by cvs2svn to create branch 'PHP_4_3'. 2004-03-30 19:08:44 +00:00
Frank M. Kromann 53b5689016 MFH: Fix for #27764. Get return value from a stored procedure not returning any result sets 2004-03-30 17:54:38 +00:00
Stanislav Malyshev 7eed89deb7 Disabled calling dtors on tsrm_shutdown - calling dtors in tsrm_shutdown makes
modules registering TSRM ids to crash, if they have dtors,
since the module is unloaded before tsrm_shutdown is called.
Can be re-enabled after tsrm_free_id is implemented.
2004-03-30 16:54:20 +00:00
Ilia Alshanetsky 06f91140fe Bug fixing news. 2004-03-30 13:43:53 +00:00
Wez Furlong 0825bb2386 Fix for Bug #27762: SCO Openserver doesn't have S_ISSOCK
Possible side effect from this is that CLI scripts run from inetd won't
realize that stdin/stdout are sockets.  But thats not our problem.
2004-03-30 11:04:32 +00:00
Marcus Boerger 64fe4952b6 MFH: NAN==NAN doest work (Ard) 2004-03-29 23:26:32 +00:00
Ilia Alshanetsky 96b2eaca0d MFH: Removed extra spaces that cause the test to fail. 2004-03-29 21:57:54 +00:00
Wez Furlong ffe1113b3d Fix for Bug #26757: session.save_path default is bogus for win32
Based on a patch found in the bug report.
Concept approved by Ilia.
2004-03-29 21:28:47 +00:00
Ilia Alshanetsky db9a8f2f5e Bug fixing news. 2004-03-29 19:35:19 +00:00
Marcus Boerger 6efb1b369c MFH: Found a NAN/INF solution that should be portable everywhere(?) 2004-03-29 19:03:59 +00:00
Frank M. Kromann 538a818db0 MFH: Fix for #27743. Make sure Money types are converted and returned correct 2004-03-29 18:33:13 +00:00
Ilia Alshanetsky 9934670186 MFH: Synchronized bundled GD library with GD 2.0.22. 2004-03-29 18:21:00 +00:00
Ilia Alshanetsky 89206cfca4 MFH: Fixed bug #27731 (error_reporting() inside @ block fails to set
error_reporting level).
2004-03-29 00:52:20 +00:00
Ilia Alshanetsky cb8e1f16ee Fixed build. 2004-03-29 00:27:17 +00:00
Ilia Alshanetsky 1af4d7724f Fixed bug #27732 (Fixed compilation bug inside php_sab_info.h). 2004-03-29 00:09:34 +00:00
Marcus Boerger 7e941eefe8 MFH: Improve portability (idea by Ard) 2004-03-28 21:50:01 +00:00
Rasmus Lerdorf 885e837b2a - Merge whitespace and trivial changes from HEAD back to the branch so the
diff between HEAD and PHP_4_3 only shows feature changes
- Fix test case for bug #27719 (TZ=EST means no DST so the test was wrong)
2004-03-28 14:57:32 +00:00
Marcus Boerger 6a3fc10b05 MFH: Add new #undef's 2004-03-27 01:53:18 +00:00
Marcus Boerger e96b4d55bd BFN 2004-03-27 01:48:04 +00:00
Marcus Boerger 5188dd875f Fixed bug #27687 (Bug Adding Default Charset to 'text/*' Content-Type Header 2004-03-27 01:45:44 +00:00
Marcus Boerger 6f431d5d6d MFH: Move defines to proper location 2004-03-27 01:41:46 +00:00
Marcus Boerger 4e78551db1 Touch after .c 2004-03-27 01:28:00 +00:00
Marcus Boerger 9de151b2ce BFN 2004-03-27 01:18:40 +00:00
Marcus Boerger 91786ab7a5 MFH: bugfix #27646 2004-03-27 01:17:07 +00:00
SVN Migration 0bf404dbeb This commit was manufactured by cvs2svn to create branch 'PHP_4_3'. 2004-03-27 00:50:42 +00:00
Derick Rethans e566c744d1 - MFH: Fix for bug #27717. 2004-03-26 22:14:35 +00:00
Ard Biesheuvel a96a6a2b7f Alignment fix 2004-03-26 20:53:09 +00:00
Ard Biesheuvel f51237d726 MFH 2004-03-26 20:07:34 +00:00
Ard Biesheuvel b1061c7443 MFH: Calculate pow(long,long) in a way that works on 64-bit platforms 2004-03-26 20:01:53 +00:00
Derick Rethans 5d3a542a08 - COmmit the test, not the diff 2004-03-26 19:50:45 +00:00
Ilia Alshanetsky 20c0fb5e9c MFH: Fixed bug #27664 (--disable-cli doesn't force --without-pear). 2004-03-26 19:48:53 +00:00
Derick Rethans e89ac09125 - Add test for #27719 2004-03-26 19:44:18 +00:00
Rasmus Lerdorf 94728f7301 The 2am offset was a bad choice as this hour doesn't necessarily exist
on a DST switch.  So use 4am instead.  Fixes bug #27719
2004-03-26 19:29:31 +00:00
Ilia Alshanetsky e65f145d46 Bug fixing news. 2004-03-26 19:07:49 +00:00
Ilia Alshanetsky 2986565c79 MFH: Fixes to allow curl extension to compile against libcurl 7.11.1 2004-03-26 19:04:17 +00:00
Ilia Alshanetsky e2088baab4 Back to dev. 2004-03-25 14:14:21 +00:00
Ilia Alshanetsky 3263cdd42e Go with 4.3.5 2004-03-25 13:57:01 +00:00
Ilia Alshanetsky c6a2f0628d Prepare NEWS file for 4.3.5 release. 2004-03-23 19:53:27 +00:00
Frank M. Kromann 39dc110f91 MFH Fix for #26589. Crash when selecting many columns of type Money 2004-03-19 18:47:02 +00:00
Greg Beaver a3b179d916 MFH update to 1.3.1dev 2004-03-19 03:16:45 +00:00
Greg Beaver 84b6a9dfb3 MFH new PEAR_ErrorStack and tests 2004-03-19 00:55:53 +00:00
SVN Migration c6b98d3891 This commit was manufactured by cvs2svn to create branch 'PHP_4_3'. 2004-03-19 00:48:40 +00:00
Ilia Alshanetsky 8621923a5e Back to dev. 2004-03-18 18:02:42 +00:00
Ilia Alshanetsky c096e54196 Go for PHP 4.3.5RC4 2004-03-18 17:17:25 +00:00
Ilia Alshanetsky 663841fd31 MFH: Fixed bug #27633 (Incorrect EOL translation by ftp_get() in ASCII
mode).
2004-03-18 17:15:47 +00:00
Uwe Schindler 02ab9ce41d hint to raise stacksize (bug #27231) 2004-03-18 13:37:41 +00:00
Ard Biesheuvel 442c6c9c6f Added myself 2004-03-18 10:55:35 +00:00
Ilia Alshanetsky 5df1e69be1 MFH: Fixed bug #27300 (Improved regex for pg_convert()). 2004-03-18 01:35:50 +00:00
Pierre Joye f7226bcc2d - Add entry, crash in imagecolortransparent 2004-03-17 17:26:13 +00:00
Pierre Joye 0b9b69be38 - MFH (crash in imagecolortransparent with invalid color index) 2004-03-17 17:25:24 +00:00
Ilia Alshanetsky 5888fd4024 MFH: Fixed bug #27498 (bogus safe_mode error on nonexistent directories for
chdir() and opendir() functions).
2004-03-16 23:23:26 +00:00
Ilia Alshanetsky 1b2b9a6a0d MFH:
Fixed bug #27580 (pre-initialization errors in ap2 handler are not
	being written to vhost error log).
	Stop using depreciated and ignored APLOG_NOERRNO directive.
	Make file not found & directory as script invocation error messages
	more descriptive.
2004-03-16 22:38:17 +00:00
Stanislav Malyshev a207ace664 MFH registry fixes:
fix off-by-one in registry per-dir values
add IniFilePath value for setting php.ini path via registry
2004-03-16 18:27:55 +00:00
Stanislav Malyshev 38b637bdfc MFH: export session globals 2004-03-16 18:21:02 +00:00
Ilia Alshanetsky a96582f13b MFH: Fixed bug #27600 (GCC 3.0.4 does not like __attribute__ directive). 2004-03-16 16:38:00 +00:00
Ilia Alshanetsky 8cf790dea1 MFH: Fixed bug #27559 (Corrected open_basedir resolving logic). 2004-03-16 00:32:09 +00:00
Jay Smith e58b48e89c MFH: Fixed bug #27291 (get_browser matches browscap.ini patterns
incorrectly).
2004-03-15 21:27:01 +00:00
Frank M. Kromann 210d34a088 MFH: Fix for #27594. Comuted columns does not return a column source 2004-03-15 19:45:39 +00:00
Rasmus Lerdorf ed5a974ab0 Forgot to add NEWS entries for these 2004-03-15 18:20:16 +00:00
Jon Parise bb7f2e4210 MFH 1.243:
Fixed crash in php_ini_scanned_files() when no additional INI files were
actually parsed.
2004-03-15 16:39:53 +00:00
foobar 31b2848051 BFN 2004-03-15 16:07:57 +00:00
Zeev Suraski 5ebe7edcb3 Add misisng library path 2004-03-15 10:04:12 +00:00
Ilia Alshanetsky ed68bc6095 Bug fixing news. 2004-03-14 20:12:17 +00:00
Sascha Schumann 6a9e52543b Renaming cvsclean target -- IRIX make seems to ignore the .PHONY target. 2004-03-14 17:43:46 +00:00
foobar f1c31423d7 reorder 2004-03-14 10:45:51 +00:00
Pierre Joye 441dc97d75 - missing restoreAlphaBleding declaration 2004-03-14 00:46:45 +00:00
Pierre Joye 8378373527 - entry for fix #27582 2004-03-13 23:41:00 +00:00
Pierre Joye d76514d892 - MFH bug #27582 (imagefilltoborder crashes) 2004-03-13 23:36:29 +00:00
SVN Migration 2bbfddb533 This commit was manufactured by cvs2svn to create branch 'PHP_4_3'. 2004-03-13 23:22:57 +00:00
Greg Beaver 85e5585a1c oops 2004-03-13 18:29:29 +00:00
Greg Beaver e6840ed921 fix #1008: safe mode raises warning
fix register_argc_argv in pear.bat
2004-03-13 17:34:36 +00:00
Sara Golemon cb20f5cafe BFN 2004-03-12 21:49:01 +00:00
Ilia Alshanetsky a95a14cebf MFH: Add checks of return values from user callback functions. 2004-03-12 17:43:17 +00:00
Rasmus Lerdorf 8b9cc5ba81 MFH
getopt() doesn't work if variables_order does not include "S" because it
  only looks in $_SERVER for argv.  So, if we don't find argv in $_SERVER
  fall back to looking in the global symbol table where register_argc_argv
  would have put it.
2004-03-12 17:42:09 +00:00
Rasmus Lerdorf 259a07f733 Fix/workaround for http://bugs.php.net/27533 2004-03-12 17:27:55 +00:00
Ilia Alshanetsky a9674113d1 MFH: Fixed bug #22127 (Invalid response code when force-cgi-redirect safety
mechanism is triggered).
2004-03-12 14:07:14 +00:00
Sara Golemon 168786cfcf Test getaddrinfo() for brokenness. Pretend it doesn't exist if it misbehaves. 2004-03-12 00:16:38 +00:00
Sara Golemon 3f43cfbb6a BFN 2004-03-11 18:44:26 +00:00
Moriyoshi Koizumi 93578a5789 - MFH (r-1.212): Revert ini setting patch as I notified in... 2004-03-10 20:56:07 +00:00
Rasmus Lerdorf 89eaec22b5 Make curl_setopt($ch,CURLOPT_RETURNTRANSFER,0) reset the RETURNTRANSFER to
stdout as is implied in the documentation.  Currently it simply does
absolutely nothing and there is no way to reset it to stdout.
2004-03-09 17:06:53 +00:00
foobar a99c6916f3 test for bug #27457 2004-03-09 14:20:14 +00:00
SVN Migration 30c8d9b166 This commit was manufactured by cvs2svn to create branch 'PHP_4_3'. 2004-03-09 14:19:51 +00:00
foobar 5a6d9048e5 order 2004-03-09 12:52:08 +00:00
Ilia Alshanetsky 0e9275fb37 MFH: Fixed bug #27530 (broken http auth when safe_mode is on and PCRE is
disabled).
2004-03-09 02:24:20 +00:00
Ard Biesheuvel b08b041503 Possible fix for #27408 (wordsize/alignment issue) 2004-03-08 18:52:40 +00:00
Ilia Alshanetsky 9c340ef86f MFH: Fixed bug #27424 (headers missing on flush() in apache 2 SAPIs). 2004-03-08 03:16:13 +00:00
Marcus Boerger baf702a009 MFH: recognize db-4.2.x 2004-03-08 00:01:03 +00:00
Ilia Alshanetsky 65ab4040fc MFH: Fixed bug #27421 (mbstring.func_overload should be system ini setting) 2004-03-06 19:30:35 +00:00
Ilia Alshanetsky c3d0c735b8 MFH: Fixed bug #27460 (base64_decode() does not handle extra padding). 2004-03-06 19:06:12 +00:00
Ilia Alshanetsky 1a5342e468 MFH: Fixed bug #27505 (htmlentities() does not handle BIG5 correctly). 2004-03-06 18:35:53 +00:00
Ilia Alshanetsky eeaaaf7fce Fixed bug #27437 (wrong freetype include inside GD library). 2004-03-06 18:26:06 +00:00
Pierre Joye 5dd18df5eb - Add #27238 entry 2004-03-06 17:47:16 +00:00
Pierre Joye 6deb70d17d - MFH #27238 fix (ilia ok) 2004-03-06 17:41:31 +00:00
Sara Golemon 5babe27344 MFH: Don't rely on ANSI tmpfile(), use the streams layer instead, it'll deal with platform issues. 2004-03-04 22:29:23 +00:00
Christian Stocker ac4adcc2f7 MFH (fix a linefeed problem, if more than one configureoption) 2004-03-04 13:38:10 +00:00
Derick Rethans 46e793d8dc - MFH: Fixed bug #27443 (defined() returns wrong type). 2004-03-01 08:11:46 +00:00
SVN Migration cc2149097f This commit was manufactured by cvs2svn to create branch 'PHP_4_3'. 2004-03-01 08:07:26 +00:00
Anil Madhavapeddy cdb852e21f MFH 'pear install -R' fix, ilia@ ok 2004-02-29 15:59:18 +00:00
Ilia Alshanetsky c18cbd0f35 MFH: Remove unused variable. 2004-02-28 22:59:03 +00:00
Ilia Alshanetsky 40fe027642 MFH: Memory allocation check. 2004-02-28 21:00:40 +00:00
Greg Beaver 2184a5a584 MFH 2004-02-27 02:27:12 +00:00
foobar b2f06ce507 Remove bogus test: see bug #20993 2004-02-26 01:07:32 +00:00
foobar 80553d8fc7 typofix 2004-02-26 00:13:02 +00:00
Ilia Alshanetsky 5b4eeb628c MFH: Handle situation where feof() occurs before the HTTP header is
retrieved.
2004-02-26 00:03:57 +00:00
Ilia Alshanetsky 2af0c3bbdf MFH:
Fixed bug #21760 (Use of uninitialized pointer inside php_read()).
	Fixed 3 possible crashes due to integer overflow or invalid user input
	inside the sockets extension.
2004-02-25 22:12:03 +00:00
foobar d4e86c36ed MFH: Test for bug #27395 2004-02-25 18:54:33 +00:00
SVN Migration fe4a118383 This commit was manufactured by cvs2svn to create branch 'PHP_4_3'. 2004-02-25 18:54:16 +00:00
foobar ada04f382d MFH: ZTS build fix 2004-02-25 13:20:31 +00:00
foobar e1505662ad MFH: Fixed bug #27384 (unpack() misbehaves with 1 char string). (GeorgeS) 2004-02-25 12:36:24 +00:00
Ilia Alshanetsky 3766f870d4 MFH: Fixed bug #27383 (Potential crash inside fopen_wrapper, while parsing
response code).
2004-02-24 21:53:57 +00:00
Christian Stocker e4c30e6b89 fix for bug 27349 "Invalid parsing of CDATA sections in XSL templates" 2004-02-24 14:26:27 +00:00
foobar 9543e9c111 MFH: - Fixed bug #26005 (Random "cannot change the session ini settings" errors). 2004-02-24 08:49:41 +00:00
Ilia Alshanetsky d0551c2a7c MFH: Fixed bug #27341 (HEAD requests fail to return data). 2004-02-23 19:50:47 +00:00
foobar 66df106383 MFH: fixed bug #27337 (missing sapi_shutdown()) 2004-02-23 19:15:05 +00:00
Christian Stocker 4c6e92bdb8 skip test, if no XSLT support is compiled in 2004-02-23 10:33:51 +00:00
Derick Rethans b2732089f2 - MFH: Fixed bug #27354 (Modulus operator crashes PHP). 2004-02-22 20:07:17 +00:00
SVN Migration 8e8f8ece29 This commit was manufactured by cvs2svn to create branch 'PHP_4_3'. 2004-02-22 20:04:31 +00:00
Ilia Alshanetsky 7275b5a177 MFH: wbmp conversion warning fix. 2004-02-22 18:03:24 +00:00
Sara Golemon 5f0305e605 MFH 2004-02-21 19:37:59 +00:00
Sara Golemon 2a0e69c111 MFH: long is not always 32-bit 2004-02-20 21:09:08 +00:00
Greg Beaver 74c2e50253 stupid oversight, no 4.2 dep 2004-02-20 17:17:04 +00:00
Pierre Joye cb915e0498 - Update to DB-1.6.0 2004-02-20 15:38:29 +00:00
SVN Migration 3379ffa7ed This commit was manufactured by cvs2svn to create branch 'PHP_4_3'. 2004-02-20 15:36:25 +00:00
Pierre Joye 0053324a83 - 1.3b6=>1.3 stable, prepare stable release 2004-02-20 15:33:59 +00:00
Ilia Alshanetsky a0c001aa70 MFH: missing safe_mode & open_basedir checks. 2004-02-20 01:09:25 +00:00
Greg Beaver 7b6a710bd0 MFH 2004-02-19 15:55:37 +00:00
Ilia Alshanetsky 221d4b346b MFH: Fixed possible resource/memory leak. 2004-02-19 02:20:14 +00:00
foobar 1e60e670ba MFH: emalloc -> safe_emalloc 2004-02-19 02:13:39 +00:00
foobar fdec1ab00e MFH: improve error message 2004-02-19 01:54:44 +00:00
Ilia Alshanetsky 1aac6063a4 MFH: Fixed bug #27295 (memory leak inside sscanf()). 2004-02-18 19:49:17 +00:00
SVN Migration 0808ccd417 This commit was manufactured by cvs2svn to create branch 'PHP_4_3'. 2004-02-18 19:48:14 +00:00
foobar 61c00477b4 MFH 2004-02-18 00:01:05 +00:00
SVN Migration 9ea8c7ddd4 This commit was manufactured by cvs2svn to create branch 'PHP_4_3'. 2004-02-18 00:00:37 +00:00
Ilia Alshanetsky d6cc9d4f01 MFH: Fixed bug #27293 (two crashes inside image2wbmp()). 2004-02-17 21:30:57 +00:00
Ard Biesheuvel c07cd30cd0 Really disallow persistent connections if ini option is set 2004-02-17 20:57:26 +00:00
foobar c9af2f28e2 - Fixed bug #26753 (zend_fetch_list_dtor_id() does not check NULL strings). 2004-02-17 10:39:17 +00:00
foobar ea54e26972 MFH 2004-02-16 17:44:55 +00:00
foobar 0ac2170517 typofix :) 2004-02-16 17:42:22 +00:00
Ilia Alshanetsky bd6b53c1d8 MFH: Fixed bug #27278 (*printf() functions treat arguments as if passed by
reference).
2004-02-16 17:09:52 +00:00
foobar ca90ec2cac MFH 2004-02-16 16:51:23 +00:00
SVN Migration 91abce9917 This commit was manufactured by cvs2svn to create branch 'PHP_4_3'. 2004-02-16 16:50:54 +00:00
Sergey Kartashoff 4cc252ca16 - A fix to make UDM_LIMIT_DATE work was applied. Thanks to
d.rousseau at nnx.com
2004-02-16 16:40:27 +00:00
Ilia Alshanetsky 1ed5d89106 Back to dev. 2004-02-16 16:03:35 +00:00
Ilia Alshanetsky c262cf962c Go with RC3 2004-02-16 15:34:16 +00:00
Ilia Alshanetsky 8e510ef9b9 Bug fixing news. 2004-02-16 15:15:22 +00:00
Ilia Alshanetsky 1aaadf3ca3 MFH: Better gmp fix. 2004-02-16 15:13:49 +00:00
Derick Rethans ca98ed755c - Update news too 2004-02-16 14:29:31 +00:00
Derick Rethans 2fe16812bd - MFH: Fixed zero bytes memory allocation when no extra ini files are found in
the --with-config-file-scan-dir specified directory. (Eric Colinet, Derick)
2004-02-16 14:29:07 +00:00
Pierre Joye a300b68b08 - DB 1.6RC6 2004-02-15 23:07:30 +00:00
Pierre Joye b9d98f0098 - remove DB 1.6RC1 2004-02-15 23:06:56 +00:00
Ard Biesheuvel deb89ce2f4 CS/WS 2004-02-15 20:47:21 +00:00
Ard Biesheuvel 405101d10d MFH 2004-02-15 18:45:56 +00:00
Ard Biesheuvel bc11725188 MFH reverted fix for #26777 2004-02-15 18:43:46 +00:00
Ilia Alshanetsky 938e964beb MFH: Fixed bug #27258 (moved FPE check to correct location).
Fixed several possible FPE.
2004-02-15 17:23:11 +00:00
Timm Friebe 49118556bb - Fixed bug #26407 (Result set fetching broken around transactions) 2004-02-15 10:55:55 +00:00
Timm Friebe 47d30e40e4 - Changed initialization of function arguments to message handler
# Hopefully fixes bug #27157 (Compile Failure on Solaris 8), user does
# not know how to use patch and therefore couldn't verify this works.
2004-02-15 10:38:57 +00:00
Greg Beaver 4135978add re-add as binary 2004-02-14 20:30:31 +00:00
Greg Beaver 86bdf2b049 remove in order to re-add binary 2004-02-14 20:29:45 +00:00
Greg Beaver 1d6cca1b2f MFH 2004-02-14 20:29:10 +00:00
Ard Biesheuvel 1e12ed5e1a BFN 2004-02-13 10:51:02 +00:00
Ard Biesheuvel 6fe6810c8a Fixed bug #27235 (NUMERIC x.0 field returns empty string on 0)
CS/WS
# MFB not necessary, bug doesn't apply to HEAD
2004-02-13 10:43:24 +00:00
Stefan Esser 408c183013 MFH 2004-02-12 18:36:57 +00:00
SVN Migration cdb4683c30 This commit was manufactured by cvs2svn to create branch 'PHP_4_3'. 2004-02-12 14:09:54 +00:00
foobar 3a6eb48e1e BFN 2004-02-12 01:35:49 +00:00
foobar 2706fda4a6 MFH: ws fix 2004-02-12 01:32:40 +00:00
foobar fafe8a19b8 MFH: - Fixed bug #23467 (Showing incorrect Time Zone)
# patch by scottmacvicar at ntlworld dot com
2004-02-12 01:29:13 +00:00
Marcus Boerger 69eaab8aac MFH: Bug #27104 CLI/CGI SAPI module variable name conflict 2004-02-11 22:00:38 +00:00
Ilia Alshanetsky 6035439314 MFH: 'Touch' the file to make sure re2c is not needed. 2004-02-11 17:32:41 +00:00
Ilia Alshanetsky 79ed81e971 Fixed bug #27183 (userland stream wrapper segfaults on stream_write). 2004-02-11 17:09:09 +00:00
Ilia Alshanetsky ca53f68729 MFH: Fixed bug #26862 (ob_flush() followed by output_reset_rewrite_vars()
may result in data loss).
2004-02-11 17:00:56 +00:00
SVN Migration 2b66aa860f This commit was manufactured by cvs2svn to create branch 'PHP_4_3'. 2004-02-11 17:00:49 +00:00
Ilia Alshanetsky 17cef37fd1 MFH: fixed a compilation error. 2004-02-11 16:53:03 +00:00
Ilia Alshanetsky fa2f1ac2a4 Back to dev tree (forgot to restore versions). 2004-02-11 16:49:24 +00:00
Ilia Alshanetsky a9e21b0a18 MFH: Win32 build fix. 2004-02-11 14:52:34 +00:00
Ilia Alshanetsky 353b838a13 MFH:
Fixed win32 build.
	Added missing headers needed for wait().
	Removed duplicate signal.h header.
2004-02-10 17:44:44 +00:00
Ilia Alshanetsky a68c033bf9 MFH: Fixed bug #26653 (open_basedir incorrectly resolved on win32). 2004-02-10 16:09:56 +00:00
foobar 8c7af900cf typos 2004-02-10 02:00:02 +00:00
Ilia Alshanetsky 8e46f4b273 MFH: Fixed bug #26758 (FastCGI exits immediately with status 255). 2004-02-10 00:30:03 +00:00
Ilia Alshanetsky 86337bac18 MFH: Fixed bug #27026 (Added cgi.nph that allows forcing of the Status: 200
header that is not normally needed).
2004-02-10 00:03:44 +00:00
Ilia Alshanetsky 125d5a2b73 MFH: Fixed bug #27196 (Missing content_length initialization in apache 2
sapis).
2004-02-09 23:28:48 +00:00
Frank M. Kromann de23ffbee3 Delay creation of exec handle til it's needed 2004-02-09 17:58:24 +00:00
Ilia Alshanetsky 6af73a9f5e MFH: Fixed bug #27172 (Possible floating point exception in gmp_powm()). 2004-02-09 04:28:07 +00:00
Ilia Alshanetsky df8c668559 Bug fixing news. 2004-02-09 04:08:25 +00:00
Ilia Alshanetsky c346be31a1 MFH: Fixed bug #27175 (tzset() is not being called by PHP on startup). 2004-02-09 04:05:56 +00:00
foobar a360d7d794 MFH: fixed bug #27171 2004-02-07 19:15:09 +00:00
Ilia Alshanetsky a9b6b75a02 MFH: Fixed possible memory leak with INI values. 2004-02-06 03:08:39 +00:00
Ilia Alshanetsky fa8c24ff7a MFH: Fixed bug #27135 (Possible crash inside mb_strlen()).
# Patch by Moriyoshi
2004-02-06 02:28:38 +00:00
foobar fb4f76e78d MFH: emalloc -> safe_emalloc 2004-02-05 12:19:32 +00:00
Antony Dovgal f261a8f571 MFH:
fix bug #27149
2004-02-05 08:30:17 +00:00
Ilia Alshanetsky 5bffdef46d MFH: Parse command line ini directives passed using -d before -i, to ensure
correct settings output.
2004-02-04 22:49:55 +00:00
Ilia Alshanetsky d48d599294 Go with RC2 2004-02-03 14:47:29 +00:00
Ilia Alshanetsky 2b637a2c03 RC2 news bit. 2004-02-03 14:46:32 +00:00
Ilia Alshanetsky e26531e7c3 MFH: Fixed possible overflow. 2004-02-03 14:44:17 +00:00
Antony Dovgal 55142148ad MFH (making oci8 able to compile with Oracle 10) 2004-02-03 14:22:34 +00:00
Andrey Hristov b9147e80a6 typo fix 2004-02-02 22:43:06 +00:00
Moriyoshi Koizumi 96338f74c5 MFH(r-1.153): POSIX / ISO compliancy.
# this commit is granted by Ilia.
2004-02-01 19:56:16 +00:00
Ilia Alshanetsky 0bf4ee95b6 MFH: Apache 2 portion of the fix for bug #25753. 2004-01-29 15:18:37 +00:00
Ilia Alshanetsky 697102558f Fix for a possible crash in fgetcsv(). (Patch by Moriyoshi Koizumi) 2004-01-29 14:35:34 +00:00
foobar e5a2da9811 typofix 2004-01-29 03:21:22 +00:00
Ilia Alshanetsky 1ca21fdf96 MFH: Fixed bug #27007 (missing connection closure when connect fails in
pgsql)
2004-01-29 02:55:33 +00:00
Ilia Alshanetsky 66fee7dd46 MFH: Fixed bug #27037 (fixed possible crash in apache2handler output code). 2004-01-29 02:18:17 +00:00
Sara Golemon f62beb8487 BFN 2004-01-29 00:11:41 +00:00
Sara Golemon 25d980f23c This should not have been an INI_ALL directive. 2004-01-29 00:09:26 +00:00
Ilia Alshanetsky 33d0cdb426 MFH: Fixed bug #27011 (64bit int/long confusion in preg_match*() functions) 2004-01-28 21:49:15 +00:00
foobar 99bcc186f6 BFN 2004-01-28 19:26:44 +00:00
Rasmus Lerdorf e596539840 If we have a text/html file with the executable bit set, we load up the
current ini, but if php's xbithack option is not set we forgot to restore
the previous ini settings potentially leaking ini settings from one request
to the next.  Closes bug #25753 and a few others.
2004-01-28 17:42:20 +00:00
Martin Kraemer 0a00d25a28 Bug fix: Images would be broken on big-endian machines because the putc
function wrote the first (instead of "the low order") byte. That resulted
in unexpected zero bytes.
2004-01-28 16:27:42 +00:00
Ilia Alshanetsky 6467ac57d6 Bug fixing news. 2004-01-28 01:43:59 +00:00
Ilia Alshanetsky dd4d0ba050 MFH: Fixed bug #27058 (crash in sybase_connect() with 2 arguments). 2004-01-28 01:43:55 +00:00
Ilia Alshanetsky 7afa3484c0 MFH: Fixed bug #27056 (ints used instead of longs inside some GD functions) 2004-01-28 01:38:15 +00:00
Marcus Boerger d525845531 still version 4 here 2004-01-27 01:24:17 +00:00
Marcus Boerger ce983dad77 Use RPM variables
# as discussed with ilia
2004-01-27 00:32:35 +00:00
Antony Dovgal 5e8bee0b4d MFH 2004-01-26 14:04:22 +00:00
Marcus Boerger 4e151b1c7d MFH 2004-01-26 08:38:38 +00:00
SVN Migration ca47777e5f This commit was manufactured by cvs2svn to create branch 'PHP_4_3'. 2004-01-26 08:37:24 +00:00
Pierre Joye 0ffeb8f5cd MFH, I'm done 2004-01-26 01:37:13 +00:00
Pierre Joye 195dcc7eda - MFH 2004-01-26 01:34:03 +00:00
Pierre Joye c28909f9d9 MFH 2004-01-26 01:26:47 +00:00
Moriyoshi Koizumi 2667855bad BFN 2004-01-26 00:30:42 +00:00
Moriyoshi Koizumi 3887735c4c - MFH(r-1.3): Suppress a compiler warning by a rather useless typecasting. 2004-01-26 00:27:54 +00:00
Moriyoshi Koizumi 056bb1ad7c - MFH(r-1.2): Fix bug #26699 (mbstring doesn't identify "binary" as a valid encoding name) 2004-01-26 00:21:57 +00:00
foobar 50f57d6cbb MFH: - Fixed bug #27040 (passing an array of form-fields to CURLOPT_POSTFIELDS does not work). 2004-01-26 00:18:25 +00:00
Ilia Alshanetsky 074b68fe73 A better bug description, for people without the official Ilia decoder
ring.
2004-01-26 00:15:10 +00:00
Ilia Alshanetsky bb0973e294 bug fixing news. 2004-01-25 23:55:43 +00:00
Pierre Joye 223398e0fa MFH 2004-01-25 23:54:49 +00:00
Pierre Joye aef84ceb00 MFH 2004-01-25 23:42:43 +00:00
Pierre Joye 55f2a16d01 - 2004 (c) 2004-01-25 23:35:02 +00:00
Pierre Joye 65fa341a3e - year++; 2004-01-25 23:20:01 +00:00
Pierre Joye 643b271bea - wassup... really add Mail-1.1.2 2004-01-25 23:04:55 +00:00
Pierre Joye 3b61fc5389 - Update: HTTP-1.2.2 Mail-1.1.2 DB-1.6.0RC1 2004-01-25 23:00:11 +00:00
Pierre Joye 8a67145847 - Prepare 4.3.5, remove old archives 2004-01-25 22:58:50 +00:00
Ilia Alshanetsky cef2c74845 sybase_ct extension fixes and improvements by Timm Friebe. 2004-01-25 20:43:32 +00:00
Timm Friebe 202500193d - MFH 2004-01-25 20:14:05 +00:00
foobar 6505875c9a MFH: typofix 2004-01-23 07:02:54 +00:00
foobar c49fdf4dd8 Nuke unused variable 2004-01-22 03:25:37 +00:00
foobar ed53d131ea MFH 2004-01-21 22:50:32 +00:00
SVN Migration 8bb1db38f8 This commit was manufactured by cvs2svn to create branch 'PHP_4_3'. 2004-01-21 22:48:29 +00:00
Ard Biesheuvel 29f088a033 Fixed bug #26968 (Segfault with Interbase module built as shared) 2004-01-21 10:12:17 +00:00
Marcus Boerger a081107225 Add these files to the actual package 2004-01-21 07:19:07 +00:00
Marcus Boerger d16b06c185 Make this thing actually work again
# look at changelog
# pdf shouldn't be a default extension in this script it's seldom available
2004-01-21 06:58:04 +00:00
foobar c1b09a29f2 MFH 2004-01-21 05:04:50 +00:00
foobar 7b25877fec MFH: - Fixed bug #26973 (*printf() + modifier broken) 2004-01-21 04:00:47 +00:00
foobar 27959e82ec MFH 2004-01-21 03:59:05 +00:00
foobar c74a480546 MFH 2004-01-21 03:49:26 +00:00
SVN Migration 935ed0d844 This commit was manufactured by cvs2svn to create branch 'PHP_4_3'. 2004-01-21 03:49:16 +00:00
Ilia Alshanetsky bfc284dfb5 MFH: Fixed bug #26974 (rename() doesn't check the destination file against
safe_mode/open_basedir).
2004-01-21 02:33:22 +00:00
Antony Dovgal 92deeac732 fix savelob() to make it possible to write data at the beginning of LOB 2004-01-20 11:37:17 +00:00
foobar 6e22b67233 MFH: Fixed bug #26969 (shared openssl build fails) 2004-01-20 01:11:40 +00:00
Marcus Boerger 31f10bc418 Correct license 2004-01-19 19:58:57 +00:00
Marcus Boerger 331b6605c3 Fix a memleak 2004-01-19 19:57:17 +00:00
foobar e902399d15 - Fixed bug #26381 (rand() without srand() doesn't work with certain php.ini)
# This was no prob in PHP5, some memory corruption / leaks, whatever fixed
# in ZE2 but not in ZE1?
2004-01-19 19:07:08 +00:00
Ilia Alshanetsky 90583839db Bug fixing news. 2004-01-19 18:42:07 +00:00
Ilia Alshanetsky bdfe271088 MFH: Fixed bug #26967 (make various file operations return FALSE on error). 2004-01-19 18:40:45 +00:00
foobar fe2eb8697f BFN 2004-01-19 17:45:26 +00:00
Moriyoshi Koizumi d8d8abeee8 - MFH(r-1.3): Turn off mbstring.func_overload as this test uses plain strlen()
for comparison.
2004-01-19 16:54:22 +00:00
Ilia Alshanetsky 5207463590 MFH: Added fgetcsv() tests. 2004-01-19 03:55:44 +00:00
SVN Migration fc6aba5bea This commit was manufactured by cvs2svn to create branch 'PHP_4_3'. 2004-01-19 03:55:30 +00:00
foobar f22177b7e4 MFH: Moved php_srand() call into php_rand(). 2004-01-19 03:16:04 +00:00
foobar 633a7470d1 MFH: - Fixed bug #26949 (rand(min,max) always returns min when ZTS enabled) 2004-01-19 02:31:19 +00:00
Ilia Alshanetsky 17d0b30415 Corrections for various fgetcsv() issues. 2004-01-18 18:46:32 +00:00
foobar 12d27576f3 MFH: Fixed bug #26923 (ext/imap: pam and crypt libraries missing when build as shared) 2004-01-17 00:01:06 +00:00
foobar 0b74da4a4a MFH: - Fixed bug #26937 (Warning in xml.c) 2004-01-16 19:12:46 +00:00
Ilia Alshanetsky 09f6f3244b Added Antony Dovgal as OCI8 maintainer. 2004-01-16 16:46:59 +00:00
foobar 5f19e3c747 BFN 2004-01-16 11:27:00 +00:00
Ilia Alshanetsky 936b7e8e82 MFH: Fixed Bug #26927 (preg_quote() does not escape \0). 2004-01-16 02:31:26 +00:00
SVN Migration 41904eb4b2 This commit was manufactured by cvs2svn to create branch 'PHP_4_3'. 2004-01-16 02:29:51 +00:00
Marcus Boerger baa7c1746e Add missing fd creation 2004-01-15 21:28:37 +00:00
Antony Dovgal f9ee999b71 MFH: fix bug #26892 2004-01-15 15:14:41 +00:00
foobar 28686f683f Fix overflow 2004-01-15 06:09:43 +00:00
Ilia Alshanetsky fea2f6e689 MFH: Fixed bug #26909 (crash in imap_mime_header_decode() when no encoding is
used).
2004-01-15 00:36:09 +00:00
Wez Furlong cbc8c32567 Probable fix for:
Bug #25575 stream_set_blocking with STDIN doesnt block
2004-01-14 14:54:14 +00:00
Wez Furlong 70e26f8ebc Fixed bug #26772 (fgets returns NULL instead of FALSE). (Wez) 2004-01-14 14:31:27 +00:00
Ilia Alshanetsky a6dcd940b5 MFH: Fixed bug #26878 (problem with multiple references to the same variable
with different types).
2004-01-13 23:31:46 +00:00
SVN Migration a8202c83d3 This commit was manufactured by cvs2svn to create branch 'PHP_4_3'. 2004-01-13 23:11:32 +00:00
foobar a5952e9c8b BFN 2004-01-13 19:00:17 +00:00
foobar 4da78a716c MFH: - Fixed bug #26896 (ext/ftp does not work as shared extension) 2004-01-13 18:59:08 +00:00
Derick Rethans e41bc6906c - Fixed year in version notices 2004-01-13 09:13:44 +00:00
Ilia Alshanetsky 1f0fe33edb Back to dev. 2004-01-12 15:10:17 +00:00
Ilia Alshanetsky 422dfcaf3e Set release date. 2004-01-12 14:31:27 +00:00
Ilia Alshanetsky 0f7556a1b8 Go with 4.3.5RC1 2004-01-12 14:30:23 +00:00
Ilia Alshanetsky bea9ba8fc2 MFH: Fixed bug #26864 (pg_(update|delete) ignore PGSQL_DML_EXEC option). 2004-01-11 21:18:29 +00:00
foobar 3b61552cd7 MFH: test for bug #26869 2004-01-11 14:00:07 +00:00
SVN Migration 77e02d2e30 This commit was manufactured by cvs2svn to create branch 'PHP_4_3'. 2004-01-11 13:59:49 +00:00
Ilia Alshanetsky 9058adacc8 MFH: Fixed bug #26847 (memory leak in mail() when to/subject contain only
spaces).
2004-01-09 01:35:58 +00:00
foobar ab99e92450 MFH: Added missing constants (bug #26831) 2004-01-08 01:02:03 +00:00
foobar b539f500fc BFN 2004-01-07 23:51:10 +00:00
Ard Biesheuvel a85cfe5b14 MFH: Let DB handle NULL params, fixes bug #26777 2004-01-07 09:44:21 +00:00
Ilia Alshanetsky f7aef14323 MFH: 64 bit stuff. 2004-01-06 00:56:10 +00:00
Georg Richter 8ea0a2c1c8 s/2003/2004 :) 2004-01-05 14:42:26 +00:00
Ilia Alshanetsky 7f529a8361 Fixed compile warnings.
Fixed crash in crack_closedict();
Switched from zend_error() to php_error_docref();
2004-01-04 20:01:07 +00:00
Edin Kadribasic 9a0060e27c BFN 2004-01-03 23:33:01 +00:00
Edin Kadribasic 90f72e11bf More proper news format. 2004-01-03 21:45:47 +00:00
Edin Kadribasic c0d963299a MFH: cli overrides php.ini and switches output buffering off. 2004-01-03 21:36:18 +00:00
Ilia Alshanetsky cc6dd2f296 MFH: s/then/than/ 2004-01-03 00:50:01 +00:00
Ilia Alshanetsky 1fc017d8a3 MFH: Fixed bug #26752 (Silent unterminated loop when length parameter for
fgets(), fread() and fgetss() is 0).
2004-01-02 00:58:15 +00:00
Derick Rethans aa288c1f7a - MFH: Fixed bug #26751 (PHP can't find the MySQL socket on a case sensitive
file system).
2003-12-31 11:28:39 +00:00
Ilia Alshanetsky f899afbfca Boundry check. 2003-12-28 19:31:48 +00:00
Marcus Boerger f9279a6b81 Fixed Bug #25329 sqlite_create_function with method and reference to $this 2003-12-27 22:20:55 +00:00
Ilia Alshanetsky 3cee600ed8 GD news 2003-12-25 22:33:50 +00:00
Ilia Alshanetsky a0c6c4f59f MFH: Synchronized bundled GD library with GD 2.0.17 2003-12-25 22:33:03 +00:00
Ilia Alshanetsky f2307f1623 Bug fixing news. 2003-12-25 18:58:30 +00:00
Ilia Alshanetsky e03bd905ad MFH: Fixed Bug #26703 (Certain characters inside strings incorrectly
treated as keywords).
2003-12-25 18:57:30 +00:00
SVN Migration 03db21ee2c This commit was manufactured by cvs2svn to create branch 'PHP_4_3'. 2003-12-25 18:57:27 +00:00
Ilia Alshanetsky 9235a5d001 MFH: Fixed bug #26707 (Incorrect error for disabled functions/classes).
# Direct MFH of the patch in PHP 5.0 cannot be used because that would
# require the change of API. So we'll need to make do with a one time
# (small) memory leak on startup when disable_functions and/or classes are
# used.
2003-12-24 16:43:23 +00:00
Ilia Alshanetsky 2a7a76c93e MFH: Make test work with PostgreSQL 7.4 2003-12-23 17:33:16 +00:00
Marcus Boerger 1fe64c5ffb Add inifile handler in windows build too. 2003-12-23 13:42:12 +00:00
Moriyoshi Koizumi eb74b414a8 Oops. 2003-12-23 11:06:42 +00:00
Moriyoshi Koizumi 0fa2ebc0f2 Fix fgetcsv()'s null line handling.
# Thanks Takeshi Nakamura for reporting this bug.
2003-12-23 11:02:26 +00:00
Ilia Alshanetsky 160852eaf0 Fixed memory leak. 2003-12-22 21:03:54 +00:00
Rob Richards 338a796166 define LIBXML_THREAD_ENABLED 2003-12-22 16:51:50 +00:00
Ilia Alshanetsky ba634aacd4 MFH: Define INADDR_NONE for systems that don't have it (apparently solaris) 2003-12-22 16:00:54 +00:00
Ilia Alshanetsky 437a1e90c9 MFH: Missing bit for bug #26625. 2003-12-22 15:56:52 +00:00
Wez Furlong c8dbe95e7a Fix Bug #25597 pfsockopen crashes when recycling a persistent list entry. 2003-12-20 20:24:36 +00:00
Antony Dovgal f8fa606849 add .cvsignore to oci8/tests 2003-12-19 17:02:03 +00:00
Antony Dovgal 60cd2d0604 add test 2003-12-19 17:01:24 +00:00
Pierre Joye 9349ad79ff - MFH 1.3b5 release tag 2003-12-19 13:55:45 +00:00
Ilia Alshanetsky 6aeafbd611 MFH: Check correction 2003-12-19 13:50:01 +00:00
Ilia Alshanetsky 4f3b9cd691 MFH: Fixed bug #26667 (Added safety checks to ip2long()). 2003-12-19 13:33:57 +00:00
Moriyoshi Koizumi 348078406d MFH(r-1.206): Fixed bug #26639 (mb_convert_variables() clutters variables beyond the references) 2003-12-18 09:52:51 +00:00
SVN Migration f9bc86556e This commit was manufactured by cvs2svn to create branch 'PHP_4_3'. 2003-12-18 09:50:21 +00:00
foobar d7d8388543 wet 2003-12-17 21:10:23 +00:00
Marcus Boerger 7e950b6a31 MFH: Fix warning 2003-12-17 09:08:37 +00:00
Marcus Boerger 98dc115fab MFH: Fix warnings 2003-12-17 09:02:07 +00:00
Andrei Zmievski 1c9c0f592c Umm, let's not enable NO_RECURSE by default. The matches on some
patterns can be more than twice as slow as before.
# Maybe we should add a --disable-pcre-stack-recursion compile option
2003-12-16 22:14:55 +00:00
Andrei Zmievski bf93051fff Fix function name. 2003-12-16 21:55:22 +00:00
Andrei Zmievski fc3db427b2 - Upgraded library to version 4.5
- Define NO_RECURSE to avoid stack problems.
- Moved contents of RINIT hook to MINIT and removed RINIT.
- Removed a couple of extraneous files.
2003-12-16 21:52:14 +00:00
Marcus Boerger f3543b425f MFH: Fix winbuild 2003-12-16 21:41:57 +00:00
foobar 6741fc0883 MFH: fix compile warnings 2003-12-16 21:00:36 +00:00
Derick Rethans cf2b96f84b - MFH memleak fix from rev 1.50 2003-12-16 19:59:58 +00:00
Sara Golemon 49e7c1eb7a MFH: Fail loudly. This is too often reported as a "bug". 2003-12-16 19:45:35 +00:00
Ilia Alshanetsky 1018001888 ZTS fix. 2003-12-16 17:23:27 +00:00
Ilia Alshanetsky 4d2cdc8224 MFH: Fixed Bug #26625 (pg_convert sets NULL incorrectly for character data
types).
2003-12-16 01:00:45 +00:00
Ilia Alshanetsky 4ae82d2189 MFH: Fixed bug #26635 (fixed look up for fonts in the current directory
w/ZTS)
2003-12-15 20:34:57 +00:00
Andrei Zmievski 0e6a306e68 *** empty log message *** 2003-12-15 19:35:34 +00:00
Ilia Alshanetsky a4935ca741 Fixed bug #26634 & added test case. 2003-12-15 18:53:26 +00:00
foobar 162fb6f465 BFN 2003-12-15 01:18:46 +00:00
foobar f72080cb48 MFH: Fix from Michael Sisolak (destructors weren't always properly called) 2003-12-15 01:14:54 +00:00
Marcus Boerger e0eaa22d19 BFN 2003-12-14 22:20:55 +00:00
Marcus Boerger 046da9b906 MFH: Synch (as far as possible) and fix #26304 2003-12-14 22:20:05 +00:00
Christian Stocker 3d3d33c018 fix for bug #26595 "`XSLT_NAMESPACE' undeclared" 2003-12-13 11:36:14 +00:00
Ilia Alshanetsky 76a19ecdf8 More fgetcsv() fixes. 2003-12-13 01:44:24 +00:00
Ilia Alshanetsky 09d6b582ae For BC reasons we need to do ltrim() on csv entries. 2003-12-12 19:25:33 +00:00
Ilia Alshanetsky e61a8d577c MFH: Fixed bug #26604 (Apache2 SAPIs implicitly disable Keep-Alive). (Ilia) 2003-12-12 17:19:18 +00:00
Uwe Schindler 8c0e3568a9 remove revision tag from module version entry 2003-12-12 16:21:44 +00:00
foobar cdbfc6a8fb MFH: Fixed bug #26461 (-lssl missing from LIBS) 2003-12-12 05:20:24 +00:00
foobar 5a7f4ada80 generated, ignored files should not be in CVS.. 2003-12-12 05:05:34 +00:00
Greg Beaver bf7636d282 MFH 2003-12-12 00:04:17 +00:00
Greg Beaver 9973b97212 fix error message, it shouldn't attempt to display a version if none is installed 2003-12-11 23:55:03 +00:00
Greg Beaver e5b8ff2641 remove obsolete parameters to constructor 2003-12-11 23:54:39 +00:00
Greg Beaver 6d227b5775 MFH 2003-12-11 23:46:55 +00:00
foobar d5a0cf3575 reword 2003-12-11 23:14:55 +00:00
Andrei Zmievski 30f6668c7d Implement getopt2() method and keep BC for getopt(). 2003-12-11 19:28:25 +00:00
Greg Beaver 5f32f2e6a1 MFH fix #391, PHP 5 reference fix 2003-12-11 16:08:19 +00:00
Edin Kadribasic aade4a6069 Mention new pgsql libs 2003-12-11 12:58:17 +00:00
Edin Kadribasic 45b85c504b Standard header file locations 2003-12-11 10:06:39 +00:00
Edin Kadribasic 2d5754d69f Nuke unused local vars 2003-12-11 10:06:12 +00:00
Moriyoshi Koizumi 10b70c23ae This file is automagically generated in the custom build process on win32. 2003-12-11 08:40:30 +00:00
Moriyoshi Koizumi 1ceef81ac8 Eliminate compiler warnings. 2003-12-10 17:44:12 +00:00
Moriyoshi Koizumi f26881fdc0 Eliminate compiler warnings. 2003-12-10 17:36:05 +00:00
Moriyoshi Koizumi 2f7e889009 DOS line endings... 2003-12-10 17:26:24 +00:00
Moriyoshi Koizumi 6119dad1ec Fix win32 build. 2003-12-10 17:25:40 +00:00
Moriyoshi Koizumi a450efff4e MFH(1.4): Remove leftover 2003-12-10 17:10:05 +00:00
foobar ceda30930a MFH: Fixed bug #26565 (strtotime("this month") resolving to the wrong month) 2003-12-10 14:09:44 +00:00
Pierre Joye 1729d3ca75 - Fix pecl installer
package::info() _must_ be called with PECL in mind
  There should be other issues, more later.
2003-12-09 20:51:49 +00:00
foobar 4115b9aa6c MFH: Fixed bug #26564 (ncurses5 has headers in PREFIX/include/ncurses/) 2003-12-09 20:33:22 +00:00
Ard Biesheuvel 1303e186e5 Fix build 2003-12-08 10:01:11 +00:00
Ard Biesheuvel 7ba00c2563 Corrected ibase_close() fix 2003-12-08 09:46:07 +00:00
Sergey Kartashoff 112bc3df71 - A bug in Udm_Hash32 function was fixed. 2003-12-08 08:24:59 +00:00
Moriyoshi Koizumi 318fc44c8a MFH(r-1.45): Avoid using non-portable test syntax. 2003-12-08 07:18:46 +00:00
Moriyoshi Koizumi 6771367c95 Those casts are really necessary.
# Heads up; please be careful using is*() functions. The function of that kind
# takes an integer value as its argument and expects the value to be range of
# 0-255 as a parameter. So if you pass a plain char value to it, the char
# value will be converted implicitly to an integer value of the range
# -128 ~ 127, which will end up with an unwanted result, most likely with
# non-ASCII characters. This has been considered to be a big flaw in the
# specification of the ctype functions. However, the malfunction is not
# reproducible with the recent versions of the GNU C library because it is
# made to deal with such exceptional cases, while Microsoft's C library
# and several standard C libraries of BSD origin aren't.
#
# See also bug #10896, #12127, #18318, and #21689.
#
2003-12-07 21:55:16 +00:00
foobar 7999d1a384 BFN 2003-12-07 17:02:26 +00:00
foobar 82321ff0d4 MFH: Fix for bug #26548: Malformed HTTP dates in headers 2003-12-07 16:53:30 +00:00
Stanislav Malyshev da74ef221f fix potential buffer overrun 2003-12-07 12:57:26 +00:00
Greg Beaver 2c28506fcf MFH 2003-12-07 00:31:50 +00:00
Greg Beaver 592380ac7c MFH last 2 commits 2003-12-07 00:11:45 +00:00
Greg Beaver a4c86a50bb MFH 2003-12-06 23:52:44 +00:00
Greg Beaver d28971a2b6 MFH 2003-12-06 23:44:23 +00:00
Greg Beaver 9b225deeb2 MFH 2003-12-06 22:19:53 +00:00
Greg Beaver 3f5a393d9c MFH 2003-12-06 22:14:49 +00:00
Greg Beaver 2361a14e0f MFH 2003-12-06 22:08:58 +00:00
Ilia Alshanetsky 5d7f648f83 Fixed memory corruption occuring in fgetcsv() on certain files. 2003-12-06 22:07:00 +00:00
Greg Beaver f766cea8af MFH 2003-12-06 21:54:06 +00:00
Greg Beaver 6cdf895b62 getting ready for both packages to be released 2003-12-06 21:47:54 +00:00
Marcus Boerger 60661a012b Update error/warning messages 2003-12-06 21:28:07 +00:00
Marcus Boerger b93038396e MFH: Do not dynamically load the extension in skipif 2003-12-06 20:46:48 +00:00
foobar 12defebcf0 No maintainer for oci8 / oracle 2003-12-06 16:28:19 +00:00
SVN Migration 8e0820820a This commit was manufactured by cvs2svn to create branch 'PHP_4_3'. 2003-12-06 06:06:51 +00:00
Andrei Zmievski 087326527e Remove erroneous array_shift(). The args passed to Getopt are supposed
to be without leading command name anyway. This has been the rule since
the first release.
2003-12-05 21:57:01 +00:00
Rob Richards 5061d1ca32 Fix bug #26531: get_elements_by_tag_name() wildcard fails 2003-12-05 19:21:05 +00:00
Moriyoshi Koizumi 7f504d30ea MFH 2003-12-04 22:53:38 +00:00
Moriyoshi Koizumi 0479203e55 MFH: it'd be a bad idea to make subpackages dependent on the php build system. 2003-12-04 22:50:54 +00:00
foobar ee840f1ff6 MFH: Only add 'install-modules' into install targets when there are such
modules to install
2003-12-04 15:59:04 +00:00
foobar 580d5e80b5 MFH: Fix for "make install" with empty INSTALL_IT 2003-12-04 13:42:25 +00:00
foobar 8c4361d2f1 MFH: Fix compile with c++ (bug #26519) 2003-12-04 12:45:32 +00:00
Uwe Schindler c6e131f9a4 Fix bug #25916: get_browser() -> PHP Fatal error: Nesting level too deep - recursive dependency? 2003-12-04 08:56:07 +00:00
foobar 83bec74173 BFN 2003-12-04 06:37:14 +00:00
Ilia Alshanetsky a1f00c0bae MFH: Typo fix. 2003-12-04 00:14:50 +00:00
Ilia Alshanetsky ed54147a4b MFH: Test case for bug #24773. 2003-12-03 23:00:36 +00:00
Ilia Alshanetsky e4b49f2de7 MFH: Remove unnecessary casts. 2003-12-03 22:51:54 +00:00
Moriyoshi Koizumi b8cd29330d MFH(r-1.71): Possible fix for bug #26391 (parse_url() destroys strings
that contain a character in range of 0x80-0xff)
# I couldn't reproduce it with Panther though.
2003-12-03 20:59:12 +00:00
Moriyoshi Koizumi a4d189ed94 BFN 2003-12-03 19:33:25 +00:00
Rob Richards 53d0e56f42 require libxml 2.5.11 for threaded error handling
certain cases crash unlocking libxml mutex with earlier versions
2003-12-03 12:30:02 +00:00
Frank M. Kromann 37871089e1 set freed pointer to null to avoid reuse 2003-12-02 18:37:50 +00:00
Rob Richards 396074e1cc Fix bug 26443: No errror reporting for Errors in the domxml extension 2003-12-02 15:09:31 +00:00
Ilia Alshanetsky da55f714a9 MFH: Optimize substr_replace 2003-12-01 23:21:25 +00:00
foobar 8d025a62fb MFH: ws fixes 2003-12-01 16:40:59 +00:00
foobar 74540e51a7 MFH: - Fixed bug #26488 (Missing declaration of CRTSCTS in ext/dio/dio.c) 2003-12-01 16:38:23 +00:00
Rob Richards 1592b88645 Fix bug #26443: No errror reporting for Errors in the domxml extension 2003-12-01 16:19:15 +00:00
foobar 9dfae5b28d MFH 2003-12-01 16:12:42 +00:00
foobar bdf9ed31c0 MFH 2003-12-01 14:01:49 +00:00
Greg Beaver cd5ef04293 MFH: bugfixes 2003-12-01 00:21:21 +00:00
foobar 67674a77c7 BFN 2003-11-30 09:39:48 +00:00
Wez Furlong 8633a4fb0e Fix:
#26467 flock does not force wouldblock argument to be passed by reference
Thanks to Manuel Lemos
2003-11-29 20:48:49 +00:00
Ilia Alshanetsky 7efed1c11d Bug fixing news. 2003-11-29 19:06:45 +00:00
Ilia Alshanetsky e0f235787c MFH: Fixed bug #26463 (Incorrect handling of semicolons after heredoc) 2003-11-29 19:05:59 +00:00
SVN Migration ac05068dd2 This commit was manufactured by cvs2svn to create branch 'PHP_4_3'. 2003-11-29 19:05:15 +00:00
Ilia Alshanetsky ee1077aad0 MFH: Fixed a memory leak when tokenizing scripts with heredoc. 2003-11-29 18:22:46 +00:00
Greg Beaver 6c22098068 add dependency on xml extension - we need it for every installation/package function 2003-11-29 17:54:39 +00:00
Greg Beaver de3937a88f MFH Bug #324 2003-11-29 16:39:31 +00:00
foobar 5f4df19833 MFH: - fixed Bug #26462 (phpize + ext/bcmath -> compile error) 2003-11-29 13:35:33 +00:00
foobar cfeec1e72b BFN 2003-11-29 12:10:14 +00:00
foobar c77e4951c5 - Fixed bug #26447 (--with-openssl=shared causes compile errors).NEWS 2003-11-29 12:08:03 +00:00
Wez Furlong 5f0729c281 fix zts build... 2003-11-29 12:02:40 +00:00
foobar 1525e15d4f MFH 2003-11-29 07:16:16 +00:00
Ilia Alshanetsky 4c86e3b2bf Bug fixing news & corrections. 2003-11-29 04:50:03 +00:00
Ilia Alshanetsky 680dd335bc Added missing skip conditon. 2003-11-29 04:47:40 +00:00
Ilia Alshanetsky 575bd9e537 MFH: Fixed bug #26458 (var_dump(), var_export(), debug_zval_dump() not
binary safe for array keys).
2003-11-29 04:43:11 +00:00
SVN Migration f8fed9d571 This commit was manufactured by cvs2svn to create branch 'PHP_4_3'. 2003-11-29 04:43:07 +00:00
Sara Golemon 6aa5175259 MFH 2003-11-29 03:41:09 +00:00
foobar fe4e7d7b43 MFH 2003-11-29 02:29:05 +00:00
SVN Migration 188d80b7cf This commit was manufactured by cvs2svn to create branch 'PHP_4_3'. 2003-11-29 02:28:50 +00:00
Christian Stocker 04a57e2f54 add xml files for bug26384.phpt 2003-11-29 00:53:34 +00:00
Christian Stocker 68d477c66a enhanced bug-26384-fix. It now only does an DocCopy, if xsl:key was
found in xslt-document by default.
2003-11-29 00:43:38 +00:00
Wez Furlong 5fd7263f01 Probable fix for #25575; STDIN/STDOUT/STDERR streams not registered
as network sockets when PHP run from x?inetd.
2003-11-28 22:48:31 +00:00
Wez Furlong f93c6a6a13 Fix for bug #25939; feof not working correctly for sockets.
Possibly also fixes #23220; warnings issued by fgets on ssl sockets.
2003-11-28 22:11:34 +00:00
Greg Beaver c878f2708e odd merge conflict fixed 2003-11-28 20:07:14 +00:00
Ilia Alshanetsky c16bbec898 Fixed bug #26440 (MFH missing context options). 2003-11-28 18:51:14 +00:00
Ilia Alshanetsky 91f0d18894 MFH: More memory leak fixes for stream contexts. 2003-11-28 18:33:18 +00:00
Ilia Alshanetsky ead22712c9 Bug fixing news. 2003-11-28 18:15:23 +00:00
Rob Richards 405fcde229 Fix for bug #26446: domxml_open_file() returns an empty error-Array 2003-11-28 17:39:25 +00:00
Wez Furlong e1823b67c2 MFH: Fix for Bug #25664; calling ITypeInfo::Invoke with bogus params. 2003-11-28 17:14:12 +00:00
Ilia Alshanetsky 37f824c02a MFH: Fixed a memory leak. 2003-11-28 00:00:34 +00:00
foobar b3f36ce142 BFN 2003-11-27 23:18:13 +00:00
foobar ed1af8a375 MFH: - Fixed bug #26438 (error in thttpd SAPI installation) 2003-11-27 23:04:49 +00:00
Ilia Alshanetsky 19d34e9304 MFH: Removed dead code.
# This fixes memory corruption reported by valgrind.
2003-11-27 01:08:51 +00:00
Greg Beaver 6f718d420d MFH Bug #293 2003-11-26 15:11:19 +00:00
Ard Biesheuvel a844072181 Fix crash bug reported by jani/ilia 2003-11-26 14:04:56 +00:00
foobar 3a09eb44cf MFH: On error do not leave content_type_dup unitialized. 2003-11-26 00:33:48 +00:00
Ilia Alshanetsky 67ba3f4c30 MFH: Fixed bug #25963 (PostgreSQL error message include \n characters). 2003-11-25 22:23:54 +00:00
Ilia Alshanetsky bbbf8effb4 Replace fopen() inside domxml_xslt_process() with streams code to prevent
a possible crash and enforce safe_mode & open_basedir restrictions.

Revert workaround for bug #26384, which is due to a bug in libxslt.
Christian will commit a better workaround shortly.
2003-11-25 16:05:18 +00:00
foobar 16f65cff5b MFH: for regression..this works in PHP 4 2003-11-25 09:22:09 +00:00
SVN Migration d20c4bc95a This commit was manufactured by cvs2svn to create branch 'PHP_4_3'. 2003-11-25 09:20:57 +00:00
foobar 34c2d8f7a2 MFH: - Fixed bug #26376 (typo in ext/odbc/config.m4: DBMaker test fails) 2003-11-25 08:08:30 +00:00
Ilia Alshanetsky bbd07ddfff Fixed bug #26384 (crash inside domxslt->process() due to a double free). 2003-11-25 02:19:47 +00:00
foobar 3f5a2f35e6 MFH: Fix build for other archs than x86. 2003-11-24 16:10:17 +00:00
Ilia Alshanetsky 5354a79497 MFH: Fixed bug #26355 (flock() doesn't initialize the wouldblock argument) 2003-11-24 01:43:59 +00:00
Rob Richards 27298684b2 fix default recovery mode 2003-11-22 14:43:08 +00:00
Moriyoshi Koizumi d038c0e046 BFN 2003-11-22 13:40:39 +00:00
Moriyoshi Koizumi d95ee6d92a MFH(r-1.98): Fixed bug #26194 (iconv() not properly defined with libiconv). 2003-11-22 13:38:46 +00:00
Rasmus Lerdorf d3e82a6876 Compile fix 2003-11-22 00:55:29 +00:00
Hartmut Holzgraefe a8e94dd8c3 removed ext/standard/tests/time/bug26320.phpt 2003-11-19 16:44:50 +00:00
Hartmut Holzgraefe c3b2390ea8 MFH 2003-11-19 16:40:01 +00:00
SVN Migration 90957978ab This commit was manufactured by cvs2svn to create branch 'PHP_4_3'. 2003-11-19 16:37:51 +00:00
Hartmut Holzgraefe 06659b28ba MFH 2003-11-19 16:22:10 +00:00
SVN Migration 894f2c9be2 This commit was manufactured by cvs2svn to create branch 'PHP_4_3'. 2003-11-19 16:19:29 +00:00
Ilia Alshanetsky c85bca1758 MFH: Fixed bug #26309 (Fixed argument parsing for imageftbbox()). 2003-11-19 15:50:05 +00:00
Ilia Alshanetsky 12b32d871f MFH: Fixed bug #26285 (escapeshellarg() uses wrong quotes on windows). 2003-11-19 15:34:36 +00:00
foobar 02ca709afd MFH: - Fixed bug #26267 (gmp_random() leaks memory and does not produce random numbers) 2003-11-19 04:44:24 +00:00
foobar 4ffec49140 Fix build 2003-11-19 00:10:03 +00:00
foobar 460d1dfaeb MFH: fixed parameters for gmp_random() 2003-11-18 10:28:34 +00:00
Ilia Alshanetsky 5e6d8ed2d1 MFH: Fixed Bug #25694 (round() and number_format() give inconsistent
results).
2003-11-18 02:50:50 +00:00
SVN Migration 79c6c1efbe This commit was manufactured by cvs2svn to create branch 'PHP_4_3'. 2003-11-18 02:50:42 +00:00
Frank M. Kromann ffa0515b59 Fix for bug #25817
Check for a return value from a stored procedure right after fetching rows
2003-11-17 20:53:28 +00:00
foobar 69796efc37 MFH: - Fixed bug #26253 (ext/tokenizer: build as shared extension fails) 2003-11-17 19:32:05 +00:00
Greg Beaver d6541cb740 MFH 2003-11-17 06:07:44 +00:00
Greg Beaver f0b9f4beca fix bug #248 MFH 2003-11-17 05:57:40 +00:00
Greg Beaver 7765e06ef7 fix bug #249 MFH 2003-11-17 05:47:51 +00:00
Frank M. Kromann 6e105b5751 MFH Fix win32 compilation. 2003-11-15 05:44:02 +00:00
Ard Biesheuvel 52e0410d8e Fix the fix [ibase_trans()] 2003-11-14 10:38:41 +00:00
Moriyoshi Koizumi c30dfcbd20 MFH(r-1.10): ctime (#10) may differ on several filesystems. 2003-11-14 09:01:47 +00:00
foobar 176f804d75 MFH 2003-11-14 03:21:15 +00:00
Ilia Alshanetsky 7d60c49e0e MFH: Fixed bug #26235 (yp_first/yp_next do not specify correct key length). 2003-11-14 00:32:40 +00:00
Marcus Boerger c4871a7329 MFH: Proto fixes (Friedhelm Betz <holliwell|gmx.net>) 2003-11-13 19:09:24 +00:00
foobar 0d260304dc MFH 2003-11-13 14:18:02 +00:00
Marcus Boerger 61a601cb12 BFN 2003-11-13 09:00:48 +00:00
Marcus Boerger 26d3d83a4d MFH Bugfix #25794: Cannot open existing hash db3 file with write 2003-11-13 08:59:17 +00:00
Marcus Boerger 6d124bfc5e BFN 2003-11-12 22:58:00 +00:00
Marcus Boerger 10a18840da MFH Bugfix #26216: ("getimagesize(): stream does not support seeking" when
using remote files)
2003-11-12 22:56:09 +00:00
Stefan Esser e58611c0c7 Fix odd increments to repair the boundary checks. 2003-11-12 22:34:34 +00:00
Sergey Kartashoff d71244b42b - A WORDINFO calculation in mnogosearch extension was fixed 2003-11-12 07:52:57 +00:00
Ilia Alshanetsky c26e78f88a Fixed bug #26201 (crash in ibase_trans() on invalid link handle). 2003-11-12 03:05:24 +00:00
Ilia Alshanetsky b5fb634af4 MFH: Fixed bug #26198 (strtotime() handling of M/F Y date format). 2003-11-12 02:58:38 +00:00
SVN Migration 5bc3f3656a This commit was manufactured by cvs2svn to create branch 'PHP_4_3'. 2003-11-12 02:55:04 +00:00
Rui Hirokawa 13a5ff7119 fixed compilation warning. (patched by Joe Orton) 2003-11-11 22:18:24 +00:00
Ilia Alshanetsky 8d9bd14c18 MFH: Compiler warning fix (patch by Joe Orton). 2003-11-11 20:04:19 +00:00
Moriyoshi Koizumi c47c73519e MFH(r-1.204): Compiler warning fix (patch by Joe Orton). 2003-11-11 19:57:48 +00:00
Ilia Alshanetsky 174f14c76b Fixed bug #26168 (shtool availability check in phpize). 2003-11-10 04:33:57 +00:00
Ilia Alshanetsky bafccc7dbf MFH: Fixed bug #26176 (Fixed handling of numeric keys in INI files). 2003-11-10 04:12:50 +00:00
Derick Rethans 7b1f6c319e - Expose the base64 functions to external extensions on windows. 2003-11-09 20:30:15 +00:00
Sergey Kartashoff a5a3d7b657 - Mnogosearch extension wsa updated to include mnogosearch-3.2.16 features. 2003-11-08 14:39:15 +00:00
Marcus Boerger 10b71e08e1 MFH (#26056: Warnings while compiling exif.c) 2003-11-08 14:16:14 +00:00
Moriyoshi Koizumi 869f61fcf8 touch 2003-11-08 04:45:18 +00:00
Wez Furlong fa90d82b27 Fix shared/pecl build for extensions that rely on mbstring... 2003-11-08 01:09:11 +00:00
Frank M. Kromann c3fd539306 Reverting. New features are not supposed to go into the 4.3 branch 2003-11-08 00:33:58 +00:00
Ilia Alshanetsky eae45bec5c Fixed bug #26003 (Make fgetcsv() binary safe). (Ilia) 2003-11-07 21:40:47 +00:00
Ilia Alshanetsky 812f7748a6 Bug fixing news. 2003-11-06 20:34:57 +00:00
Frank M. Kromann 58a2f7d6a9 Getting rid of c++ style comments 2003-11-06 16:49:53 +00:00
Rui Hirokawa 2dabb19a5a bug fixed: name parameter of multipart form was not converted into internal encoding when mbstring.encoding_translation is on. 2003-11-06 15:41:37 +00:00
Sascha Schumann e08feebfd5 WS 2003-11-06 14:31:14 +00:00
Sascha Schumann aa359d95e3 Fix a format string
Nuke a sprintf (slooow)

And embed the charset as part of the hashed details (persistent conn key),
because the function otherwise happily returns incompatible connections.
(e.g. US7ASCII vs. UTF8; the client-side charset is not alterable once a
 connection has been established.)
2003-11-06 14:27:34 +00:00
Frank M. Kromann 02b56d1709 Adding new features from ming 0.3a. 2003-11-06 07:29:02 +00:00
Uwe Schindler 202d0cb224 remove unix crap 2003-11-05 08:32:34 +00:00
Sascha Schumann 7aa8ca5e6f Forgot to add that.. 2003-11-05 08:05:31 +00:00
Moriyoshi Koizumi 95e990757d BFN 2003-11-05 04:32:15 +00:00
Moriyoshi Koizumi 9e1dd60032 Fixed bug #26128 (mbstring prints out wrong information on phpinfo()) 2003-11-05 04:28:00 +00:00
Moriyoshi Koizumi e2cce3325b *** empty log message *** 2003-11-05 04:24:54 +00:00
Ilia Alshanetsky 40ffe5ed82 MFH: Fixed bug #26113 (remove leftover local file when ftp_get/ftp_nb_get
fails).
2003-11-04 20:56:56 +00:00
Ilia Alshanetsky 5958582185 Bug fixing news. 2003-11-04 20:40:31 +00:00
foobar b564d1f137 BFN 2003-11-04 13:23:44 +00:00
Uwe Schindler b828a3c43c SunONE servers 2003-11-04 09:02:01 +00:00
foobar bd5b1ff74f MFH: - limit writing of field data to field len + 1
This fixed many memory overrun errors which appeared
       in several scripts when writing a record.

by: Uwe Steinmann <steinm@php.net>
2003-11-04 06:09:19 +00:00
foobar e246ca1ef6 MFH: Possible fix for bug #26103 2003-11-04 05:15:55 +00:00
SVN Migration b6752a1393 This commit was manufactured by cvs2svn to create branch 'PHP_4_3'. 2003-11-04 05:15:20 +00:00
Ilia Alshanetsky 00203d2968 MFH: Fixed bug #26097 (gdImageColorClosestAlpha() returns incorrect
results).
2003-11-04 01:56:07 +00:00
Ilia Alshanetsky 038e99660f Bug fixing news 2003-11-04 01:40:22 +00:00
Ilia Alshanetsky ed5212ca70 MFH: Fixed bug #25581 (getimagesize () return incorrect values on bitmap
(os2) files).
2003-11-04 01:38:33 +00:00
Ilia Alshanetsky 7dc3d8bd0e MFH: Fixed bug #26042 (memory leak if mcrypt_generic_deinit() is not called
after every mcrypt_generic_init() call).
2003-11-04 01:32:40 +00:00
foobar 701b075782 cosmetics 2003-11-03 23:16:28 +00:00
Edin Kadribasic 0fff37b01a Fix tsrm build 2003-11-02 23:14:18 +00:00
Ilia Alshanetsky 3af4920403 back to dev. 2003-11-02 23:12:02 +00:00
Ilia Alshanetsky d6bb1fd35a Go with 4.3.4 2003-11-02 22:15:05 +00:00
Ilia Alshanetsky 94f7723659 Prepare NEWS file for 4.3.4 release. 2003-11-02 21:56:26 +00:00
Uwe Schindler 571ca7f26e this is not needed 2003-11-01 23:56:58 +00:00
Sascha Schumann 3d08aea7da not really adequate here 2003-11-01 22:34:02 +00:00
Uwe Schindler 4c9381c538 news update 2003-11-01 12:50:48 +00:00
Greg Beaver bc087095be ack 2003-11-01 05:18:55 +00:00
Greg Beaver 61e6878898 might as well, someone will try it someday 2003-11-01 05:17:40 +00:00
Greg Beaver 43209b4bf6 rework some odd code 2003-11-01 05:16:04 +00:00
Greg Beaver ca763cac46 PATH_SEPARATOR is very handy 2003-11-01 05:14:11 +00:00
Greg Beaver 43cf3d6f66 MFH all fixes found by unit tests 2003-11-01 05:07:55 +00:00
Uwe Schindler 005dfa3c04 MFH 2003-10-31 17:32:04 +00:00
Uwe Schindler 112c1def73 Send correct default content type from php.ini not static text/html (important for other charsets than iso-8859-1) 2003-10-31 12:17:43 +00:00
Greg Beaver 9c1611188c MFH #171 2003-10-31 04:55:00 +00:00
foobar 1406239f9a Fix "bug" #26039 2003-10-31 01:28:11 +00:00
Uwe Schindler 0958e5a5cb Fix ZTS build #2 2003-10-30 01:05:25 +00:00
Moriyoshi Koizumi ac0a394ffa A bit pickier about platform. 2003-10-29 21:58:33 +00:00
Moriyoshi Koizumi d80b742e44 BFN 2003-10-29 21:56:16 +00:00
Moriyoshi Koizumi 227088c36b MFH(r-1.131): This check's always necessary. 2003-10-29 21:51:22 +00:00
Moriyoshi Koizumi 09529af3b0 A possible fix for bug #26026.
# Actually a revisit of the patch on 1.112, mysteriously backed out on 1.119.
2003-10-29 18:46:40 +00:00
Frank M. Kromann e8a8dac741 Adding missing TSRMLS_CC to fix zts build 2003-10-29 17:37:10 +00:00
Ilia Alshanetsky 0bf7c7781c Back to dev. 2003-10-29 14:03:29 +00:00
Ilia Alshanetsky f03caa7b35 Go with RC3 release. 2003-10-29 13:18:12 +00:00
Frank M. Kromann 84eb811be9 Fix typo in parameter 2003-10-29 05:34:21 +00:00
foobar 86da4546de MFH 2003-10-28 15:24:16 +00:00
Moriyoshi Koizumi 9006d8e97b Remove test because the problem won't be fixed for 4.x releases. 2003-10-27 18:14:04 +00:00
Moriyoshi Koizumi e189a15dbf Fix VPATH build (patch by Joe Orton <jorton at redhat dot com>) 2003-10-27 17:50:07 +00:00
Moriyoshi Koizumi 88ccac85f3 No need to have ze2 specific tests in this branch. 2003-10-26 16:27:40 +00:00
Moriyoshi Koizumi f22b3a19cf Prevent leaks in the overload extension that occur in some special cases. 2003-10-26 16:10:07 +00:00
Rui Hirokawa 78f795af80 revert my previous patch. 2003-10-26 07:47:42 +00:00
Moriyoshi Koizumi 4b18e8086a Remove just unnecessary leftovers 2003-10-26 03:42:27 +00:00
Moriyoshi Koizumi 73b34fff94 Backport some patch already in HEAD to assure backwards compatibility 2003-10-26 03:41:19 +00:00
Rui Hirokawa dc04255655 fixed windows build. 2003-10-25 12:41:54 +00:00
Rui Hirokawa c254e0f3ee mbfilter is replaced with libmbfl to maintain the licence compatibility. mbregex.[ch] is moved to mbregex/ for the same reason. 2003-10-25 11:58:46 +00:00
Rui Hirokawa dca5128c58 name/value in multipart/form-date will be converted into internal encoding when mbstring.encoding_translation is On. 2003-10-25 10:30:51 +00:00
Moriyoshi Koizumi 64ee4a850e Add test case for bug #25831 2003-10-25 04:43:47 +00:00
foobar 8ff5296643 hrm 2003-10-24 22:44:41 +00:00
Ilia Alshanetsky 9a24af562c MFH: Fixed bug #25955 (Compile failure on MacOSX 10.3 (Panther)). 2003-10-24 17:51:03 +00:00
Greg Beaver e943420bbb MFH 2003-10-24 05:35:42 +00:00
Greg Beaver 4608fd6e3f MFH #25174 2003-10-24 05:34:16 +00:00
Ilia Alshanetsky 370a9e6266 News & test regarding bug #25922 2003-10-22 23:48:48 +00:00
SVN Migration 59835d886b This commit was manufactured by cvs2svn to create branch 'PHP_4_3'. 2003-10-22 23:42:56 +00:00
Moriyoshi Koizumi 17a411d422 typo 2003-10-21 02:22:55 +00:00
Moriyoshi Koizumi 393dfba684 Add regression test for bug #25900 2003-10-21 02:21:29 +00:00
Ilia Alshanetsky 6d369a51c8 Back to dev. 2003-10-20 16:58:56 +00:00
Moriyoshi Koizumi 9decf616c9 MFH(r-1.4): Fix typo 2003-10-20 16:10:00 +00:00
Ilia Alshanetsky f4d96cee48 RC2 is a go. 2003-10-20 16:08:17 +00:00
Tomas V.V.Cox afd5493707 MFH for 4.3.4RC2 2003-10-20 15:51:46 +00:00
Ilia Alshanetsky 7df5e203c6 Bug fixing news. 2003-10-20 15:45:56 +00:00
Rob Richards 36478058f4 Fix bug #25900 (document->get_elements_by_tag_name with default xmlns) 2003-10-20 15:43:02 +00:00
Moriyoshi Koizumi fe871be5ca MFH(r-1.108): Fix compiler warnings 2003-10-20 15:42:10 +00:00
Ilia Alshanetsky 25679a60c7 MFH: Fixed bug #25918 (Possible crash in mime_content_type()). 2003-10-20 14:37:02 +00:00
Ilia Alshanetsky afd9e80cb1 MFH: Fixed bug #25923 (mail() modifies the to & subject arguments). 2003-10-20 14:22:10 +00:00
Ilia Alshanetsky 2361e1e342 MFH: Fixed bug #25895 (Incorrect detection of safe_mode limited ini options) 2003-10-20 01:59:48 +00:00
Wez Furlong e41125d052 chech -> check 2003-10-18 09:44:12 +00:00
Uwe Schindler 5be79b203b new SunONE server 2003-10-17 21:57:45 +00:00
Rob Richards 9c4b602ee2 Fix bug #25888 (Crash of php.exe when xpath_eval of a namespace)
memleak fix in domxml_node_name
keep blanks loading document fix
2003-10-17 15:56:06 +00:00
Sascha Schumann 27879d0f0d Fix comment 2003-10-17 11:09:49 +00:00
Ilia Alshanetsky 800b1765ae MFH: Fixed formatting issues (patch by: Joe Orton) 2003-10-17 02:21:37 +00:00
foobar 0e93bfdbc3 - Fixed the real reason for build problems: dos eols 2003-10-16 14:24:59 +00:00
foobar 7b7543afad - Fixed ZTS build (Nuked extra TSRMLS_FETCH) 2003-10-16 09:08:42 +00:00
foobar 4bd822a180 - config.w32.h is in main/ not ext/standard.. 2003-10-16 04:50:03 +00:00
Ilia Alshanetsky 35e0567b62 MFH: Do not strip trailing spaces. 2003-10-16 04:24:13 +00:00
Ilia Alshanetsky 4191d2bde1 MFH: Fixed bug #25777 (Do not rtrim() of text fields fetched from mssql). 2003-10-15 03:32:18 +00:00
Wez Furlong ef14bdb691 Don't forget to check for tzset... 2003-10-15 00:19:30 +00:00
Wez Furlong 69cfb62619 Fix bug #25825. tzset() was not called when resetting the TZ env var.
In addition, fix a slight error (made by sniper!) which would trigger
tzset() to be called for any env var beginning with TZ, and not just
TZ itself.
2003-10-15 00:14:37 +00:00
Sascha Schumann adfb56c304 Embed date of last modification 2003-10-14 08:11:18 +00:00
Ilia Alshanetsky f335d5447e MFH: Fixed bug #25836 (last key of multi-dimensional array passed via GPC
not being escaped when magic_quotes_gpc is on).
2003-10-14 03:48:09 +00:00
Wez Furlong ef89c82c02 Unintialized variable fix from Joe Orton. 2003-10-13 11:47:05 +00:00
Wez Furlong 4c28ca442f Fix uninitialized value.
Patch from Joe Orton.
2003-10-13 11:42:22 +00:00
Derick Rethans 3a63f098bd - Email address change 2003-10-13 09:30:53 +00:00
Ilia Alshanetsky c0ddfe89e2 MFH: Fixed bug #25800 (parse_url() could not parse urls with empty port). 2003-10-13 04:28:34 +00:00
Ilia Alshanetsky da62e960e2 MFH: Remove sendmail patch check. 2003-10-13 04:15:25 +00:00
foobar d0d3b02de7 BFN 2003-10-12 23:49:34 +00:00
Vlad Krupin 2ce3e8cdec MFH fix for 25558 in case there is ever another 4.3 release. 2003-10-12 01:09:28 +00:00
Ilia Alshanetsky 2a1bfae434 Fixed bug #25814 (Make flock() return correct value when 3rd argument is
used).

# This bug is 4.3.X specific, no need to MFB into 5.X tree.
2003-10-10 01:38:02 +00:00
Ilia Alshanetsky ac534dbf37 MFH: Fixed bug #25746 (Do not bail out when unable to chdir original dir on
systems with broken getcwd()).
2003-10-09 02:59:03 +00:00
Wez Furlong 2aeb246874 Don't forget these EOF flags either... 2003-10-08 11:22:47 +00:00
foobar 18a2f7bab4 - Reverted the 'fix' for bug #25494
# Can we now get peace on internals@ about this stupid issue?
2003-10-08 11:16:22 +00:00
Wez Furlong 8b2def80d0 Backport from HEAD; set EOF marker after each read attempt to avoid it
being stuck in the on position.
Partial "fix" for #25649.
2003-10-08 10:58:28 +00:00
foobar f0ae93e466 - Fixed bug #25780 (MFH: ext/session: invalid session.cookie_lifetime causes crash in win32). 2003-10-08 10:25:39 +00:00
Moriyoshi Koizumi 21616c7854 MFH(r-1.174): Better fix for bug #25758 2003-10-08 01:52:07 +00:00
Ilia Alshanetsky 116956cc64 MFH: Fixed bug #25758 (var_export does not escape ' & \ inside array keys) 2003-10-08 01:17:12 +00:00
SVN Migration 2dd02323c0 This commit was manufactured by cvs2svn to create branch 'PHP_4_3'. 2003-10-08 01:16:45 +00:00
Marcus Boerger a85a72e29a MFH: Bugfix #25770 Segfault with PHP and bison 1.875 2003-10-07 10:04:51 +00:00
foobar 7492d02cb2 BFN 2003-10-07 09:59:50 +00:00
Corne' Cornelius 52d5dd4da5 MFH: - Fixed bug #18534 (ifx_close() leaves open session)
MFH: - (ifx_do_close) Added
2003-10-07 09:36:41 +00:00
Ilia Alshanetsky 16ab834b5e MFH: Cleaned up previous patch. 2003-10-07 00:36:27 +00:00
Ard Biesheuvel 1b60fa245e Fix typo 2003-10-07 00:11:03 +00:00
foobar c057fc931a MFH: - Fixed bug #25764 (ldap_get_option() crashes with unbinded ldap link) 2003-10-06 23:34:16 +00:00
foobar 10243d019d MFH: ws fix 2003-10-06 23:31:03 +00:00
Ilia Alshanetsky a13710455c MFH: Fixed clobbering of the source array, when merging complex
multi-dimensional arrays. Bug reported by Lukas Smith.
2003-10-05 19:37:06 +00:00
Sergey Kartashoff cfac03af3c - README in mnogosearch extension is updated 2003-10-04 09:43:49 +00:00
Greg Beaver 39894c69cd MFH fix PHP notice in rare case 2003-10-04 03:58:53 +00:00
foobar 59d28ed4df MFH: - Fixed bug #25752 (ext/ncurses: ncurses.h instead of curses.h with BSD). 2003-10-04 01:04:54 +00:00
foobar e2cf657294 MFH: ws fix 2003-10-04 00:43:31 +00:00
Moriyoshi Koizumi d18b7a533a BFN 2003-10-03 23:30:14 +00:00
Ilia Alshanetsky 9308d262d0 MFH: More ZTS stuff. 2003-10-03 18:05:50 +00:00
Moriyoshi Koizumi ad791c135c MFH(r-1.5, r-1.5, r-1.4): Specify full path to cat for mb_send_mail() tests 2003-10-03 17:07:50 +00:00
Moriyoshi Koizumi 48900111a8 MFH(r-1.1): Add regression test for bug #25745 2003-10-03 17:01:45 +00:00
SVN Migration 61e4791abe This commit was manufactured by cvs2svn to create branch 'PHP_4_3'. 2003-10-03 16:59:45 +00:00
Moriyoshi Koizumi 9b708216d5 BFN 2003-10-03 15:54:06 +00:00
Moriyoshi Koizumi f692aeb36b MFH(r-1.28): Fixed bug #25745 (ctype functions don't deal with non-ascii characters properly) 2003-10-03 15:53:47 +00:00
Ilia Alshanetsky 3a867aad64 MFH: Fixed bug #25744 (make ZTS build of ext/sybase compile) 2003-10-03 13:03:47 +00:00
foobar e4a63807a1 MFH 2003-10-03 05:48:17 +00:00
SVN Migration 1a92434b06 This commit was manufactured by cvs2svn to create branch 'PHP_4_3'. 2003-10-03 05:47:08 +00:00
foobar 2dfed48c99 MFH: Aligned configure help texts. 2003-10-03 05:26:30 +00:00
foobar 1c2b48e0ca MFH 2003-10-03 04:29:24 +00:00
Moriyoshi Koizumi fea1d6c1fb MFH: Alignment fix 2003-10-03 01:13:56 +00:00
Moriyoshi Koizumi a754abdc5f MFH(r-1.1): Add a test case for bug #25708 2003-10-02 22:50:46 +00:00
SVN Migration a56a817706 This commit was manufactured by cvs2svn to create branch 'PHP_4_3'. 2003-10-02 22:50:29 +00:00
Moriyoshi Koizumi e547d66316 MFH(r-1.252): Fixed bug #25708 (extract($GLOBALS, EXTR_REFS) mangles $GLOBALS) 2003-10-02 22:22:15 +00:00
Frank M. Kromann d6f18bd5f3 FrontBase uses ws2_win32 lib now 2003-10-02 18:48:47 +00:00
Frank M. Kromann 6d0d0172f3 Fixing type cast 2003-10-02 18:48:18 +00:00
foobar e2e0cfb6fa MFH 2003-10-02 14:55:58 +00:00
foobar ec1d763fd2 Removed extra [] 2003-10-02 14:09:12 +00:00
foobar d88229acba strawberry fields.. 2003-10-02 14:03:17 +00:00
Moriyoshi Koizumi eb00f1dd54 Add some description to the help text 2003-10-02 10:59:38 +00:00
Moriyoshi Koizumi adec65bea6 MFH(r-1.15): Alignment fix 2003-10-02 10:48:16 +00:00
Moriyoshi Koizumi a82bc1b50c MFH(r-1.55): Alignment fix 2003-10-02 10:48:02 +00:00
Moriyoshi Koizumi 7620efc274 Forgot to commit this one. 2003-10-02 10:10:52 +00:00
Moriyoshi Koizumi 45775e2029 Silly typo 2003-10-02 08:05:06 +00:00
Moriyoshi Koizumi 46eecba03b BFN 2003-10-02 08:04:11 +00:00
Moriyoshi Koizumi 6e6732ae6a Fix for a regex bug that leads into an infinite loop due to optimization
failure when the pattern is ".*" and both MULTILINE and SINGLELINE options are
specified.
# This bug was already squashed in HEAD, as it adopts an alternative
# implementation.
2003-10-02 08:01:14 +00:00
Moriyoshi Koizumi 9c33e3d3ce MFH(r-1.46): fix php_regex_encoding() so it can handle two additional encoding
names mbfilter supports by default. (Patch by Seiji Masugata)
2003-10-02 07:50:19 +00:00
Moriyoshi Koizumi fff1d6a533 BFN 2003-10-02 07:01:24 +00:00
Moriyoshi Koizumi ab2ba0f49f Fixed bug #25707 (html_entity_decode over-decodes &amp;lt;)
# note: not MFH stuff
2003-10-02 07:00:56 +00:00
SVN Migration bda27d167f This commit was manufactured by cvs2svn to create branch 'PHP_4_3'. 2003-10-02 06:57:22 +00:00
Ilia Alshanetsky edff9053e8 MFH: Fixed bug #25701 (On flush() set headers_sent in apache2handler) 2003-10-02 03:24:43 +00:00
foobar 60d11d734c MFH: fix for bug #25719 2003-10-02 00:35:31 +00:00
Andrei Zmievski 5e9a4ecc0e Make sure to clear out the refcount. 2003-10-01 23:13:04 +00:00
Andrei Zmievski 0d59c975a0 @- Made $argc and $argv always available as globals in CLI. No more
@  silliness. (Andrei)
2003-10-01 21:24:19 +00:00
foobar 6db270f8fc MFH 2003-10-01 02:54:39 +00:00
Ilia Alshanetsky a11f040979 MFH: Always prefer user specified paths over the default /usr /usr/local. 2003-09-30 22:38:29 +00:00
foobar e2a74cf344 MFH: Fixed bug #25703 (openssl checks failed) 2003-09-30 18:08:57 +00:00
Moriyoshi Koizumi 89dde23f32 Move entry to the right place 2003-09-30 04:24:18 +00:00
Greg Beaver a07e4ef2ff MFH better #45 fix 2003-09-30 02:57:28 +00:00
Moriyoshi Koizumi a60b5db89e BFN 2003-09-30 00:41:56 +00:00
Moriyoshi Koizumi 85bffe131e MFH: Fixed bug #25669 (eregi() with non-ascii characters) 2003-09-30 00:41:00 +00:00
Ilia Alshanetsky 361aa7dd32 Back to dev. 2003-09-30 00:35:52 +00:00
Ilia Alshanetsky e5b50cede5 4.3.4RC1 is a go. 2003-09-29 23:48:16 +00:00
Ilia Alshanetsky b5b29e267e MFH: More NaN & INF handling fixes. 2003-09-29 23:44:17 +00:00
Greg Beaver d632dba1ef MFH 2003-09-29 17:43:16 +00:00
Greg Beaver 4704bb7186 MFH #45, whitespace, bug in return of install() 2003-09-29 17:38:37 +00:00
Pierre Joye b1eafc6a75 - Upgrade DB to 1.5.0RC2 2003-09-29 14:49:18 +00:00
Pierre Joye c2a66c59c6 MFH 4.3.4RC1 2003-09-29 14:06:44 +00:00
Stanislav Malyshev cb9b99262e allow realpath() for win32 non-ZTS 2003-09-29 14:04:16 +00:00
Stanislav Malyshev 480e8dd7fc Have realpath now 2003-09-29 13:57:43 +00:00
Stanislav Malyshev f1b478c291 add realpath for Win32 non-ZTS 2003-09-29 13:57:03 +00:00
Moriyoshi Koizumi a23dfb3b11 MFH(r-1.399): simplification 2003-09-29 02:23:52 +00:00
Ilia Alshanetsky 5646e5f747 MFH: Fixed Bug #25665 (var_dump() hangs on Nan and INF). 2003-09-29 01:09:36 +00:00
Tal Peer ee9deb187a MFH 2003-09-28 13:37:59 +00:00
foobar 806c28b5c2 MFH 2003-09-27 20:54:00 +00:00
SVN Migration 8103e07a23 This commit was manufactured by cvs2svn to create branch 'PHP_4_3'. 2003-09-27 18:48:49 +00:00
Sara Golemon de85bccf03 MFH BugFix# 25671 subarray corruption in str_replace 2003-09-26 18:00:00 +00:00
Moriyoshi Koizumi 18557cba09 MFH(r-1.45): repatch fixes for the problem that was reported at php-dev@php.gr.jp (#884) 2003-09-26 17:47:10 +00:00
Moriyoshi Koizumi 2fb568e65e Fix typo 2003-09-26 16:33:58 +00:00
Moriyoshi Koizumi 94f05e60c2 Fix typo 2003-09-26 11:06:39 +00:00
Hartmut Holzgraefe 2bf4ba798f MFH 2003-09-26 10:13:35 +00:00
foobar 0d6bac093d MFH 2003-09-26 09:56:57 +00:00
SVN Migration f17845f9bd This commit was manufactured by cvs2svn to create branch 'PHP_4_3'. 2003-09-26 09:56:25 +00:00
foobar 40a1c4b4f4 MFH 2003-09-25 14:53:58 +00:00
Ilia Alshanetsky 283476972f MFH: Fixed bug #25070 (Don't forget to unlock session files on win32 before
closing them).
2003-09-24 23:39:22 +00:00
Ilia Alshanetsky 8acd0a3835 MFH: Fixed bug #25293 (Output correct EOL to error_log) 2003-09-24 23:22:32 +00:00
foobar 925a3b6ba8 - Fixed bug #25648 (xslt_set_encoding() being not detected correctly) 2003-09-24 22:55:59 +00:00
foobar 149d034a81 MFH: use pkg-config if available for openssl setup 2003-09-24 14:31:18 +00:00
foobar b485c4f26c BEFH 2003-09-24 08:28:26 +00:00
Ilia Alshanetsky db8d5a7fb0 Bug fixing news. 2003-09-24 02:30:16 +00:00
Ilia Alshanetsky ee3c85162f MFH: Specify full path for the cat utility for mbstring e-mail tests.
MFH: Previously made fixes to tests that address bug #25635
2003-09-24 02:29:15 +00:00
foobar ccc0fb6122 MFH: Fixed bug #24402 (Compile failure with gettext 0.12.x) 2003-09-24 02:08:48 +00:00
foobar d18b757655 MFH: basic gettext test 2003-09-24 00:44:23 +00:00
Ilia Alshanetsky 08604e5d44 MFH: Fixed bug #25636 (SNMP Session not closed on success). 2003-09-23 18:26:10 +00:00
foobar ce2f1ce4bc MFH: Removed unnecessary ssl.h include 2003-09-23 16:04:55 +00:00
Wez Furlong 872948f21a "Fix" for bug #25614.
The openssl_pkey_get_public() doesn't work as advertized in the docs; it can't
get a public key from a private key (because a key is a key), but would return
the private key anyway.  The function was originally designed to get the public
key from a certificate.
2003-09-23 14:52:28 +00:00
SVN Migration 491cf63bab This commit was manufactured by cvs2svn to create branch 'PHP_4_3'. 2003-09-23 10:06:20 +00:00
foobar 675a41bee2 MFH: - Fixed bug #25604 (HAVE_SNMP_PARSE_OID undefined with phpize build) 2003-09-23 08:16:47 +00:00
Rui Hirokawa 5714f48f4c removed unnessesary null byte (patched by komura). 2003-09-23 02:54:28 +00:00
Ilia Alshanetsky 05331829c6 MFH: string format stuff. 2003-09-22 23:28:09 +00:00
Ilia Alshanetsky 258d90d101 MFH: String formating. 2003-09-22 04:18:39 +00:00
Sascha Schumann 8d28cb5737 Major bug fix upgrade to the bundled libfcgi
A delta between libfcgi 2.2.2 and 2.4.1-SNAP has been applied to the
source.  Shane's impersonation, putenv and exit->return improvements
have been carried over.  One of Shane's changes caused the first process
to hang after one request.  The modification has been deactived (os_win32.c).

These changes together with a patch to mod_fastcgi, make Apache/mod_fastcgi
and PHP work under Win32.  It was basically unusable before that.
2003-09-21 22:08:17 +00:00
foobar c1a998a604 MFH: typo fix in error message 2003-09-21 15:40:28 +00:00
Sascha Schumann ca4d592e11 Avoid zero-length keys which result in a spinning process 2003-09-20 16:09:41 +00:00
Sascha Schumann 42d1578fb4 Fix potential buffer overrun 2003-09-20 12:44:13 +00:00
foobar 36e88551eb MFH 2003-09-20 03:22:54 +00:00
Ilia Alshanetsky fea99094df MFH: Fixed bug #25583 (Incorrect handling of paths starting with / on win32
inside glob() function).
2003-09-20 02:52:45 +00:00
Ilia Alshanetsky 5b3a654f07 Revert previous patch. 2003-09-20 02:08:12 +00:00
Ilia Alshanetsky 0e09bbae14 Bug fixing news. 2003-09-20 01:41:45 +00:00
Ilia Alshanetsky 3fcd022dc5 MFH: Fixed bug #25583 (Incorrect handling of absolute path without drive). 2003-09-20 01:41:18 +00:00
Derick Rethans 66ac209938 MFH: - Fixed typo 2003-09-19 12:24:48 +00:00
foobar bbbf1df01d Make sure phpize/php-config are build 2003-09-19 05:35:21 +00:00
Ilia Alshanetsky 3857aa4f7d MFH: Fixed bug #25570 (Possible crash in apache2handler when zend_bailout
called outside of zend_try {} block).
2003-09-19 00:44:58 +00:00
Rob Richards b4bed3fd88 fix some threading issues
fix mem leaks in append_child with attribute nodes
2003-09-17 19:34:42 +00:00
foobar 776587fdac --enable-track-vars does not exist 2003-09-17 05:28:42 +00:00
Ilia Alshanetsky d0d8c4a6a3 MFH: Fixed bug #25106 (Added more stringent checks on bzopen() mode). 2003-09-15 23:49:41 +00:00
Marcus Boerger 353dd2444a MFH: Test for bug #25547 2003-09-15 20:40:56 +00:00
SVN Migration 472aaf3f50 This commit was manufactured by cvs2svn to create branch 'PHP_4_3'. 2003-09-15 20:30:33 +00:00
foobar 186e6dc1ba crap removal 2003-09-15 04:13:41 +00:00
Ilia Alshanetsky 46afe5a792 MFH: Fixed bug #25530 (checkdate incorrectly handles floats) 2003-09-15 00:08:05 +00:00
Sara Golemon 99ab17375d MFH(r-1.147): Fix Bug #25525 ldap_explode_dn() crashes when passed invalid params 2003-09-13 17:31:25 +00:00
Ilia Alshanetsky 6d36221995 When opening file for write, it may not exist. 2003-09-12 04:53:39 +00:00
foobar 2dadbe3855 MFH: - Fixed bug #25504 (pcre_match_all() crashes when passed only 2 parameters) 2003-09-12 01:32:38 +00:00
foobar a11e7affc8 BFN 2003-09-11 23:51:27 +00:00
foobar fbed1b901c MFH: - Fixed bug #25483 (ext/informix: bogus -469 error from ifx_query()) 2003-09-11 23:51:14 +00:00
foobar 75d44d8c07 fff 2003-09-11 18:16:18 +00:00
Jay Smith 491347fba6 Fixed bug #25494 (array_merge allowing "false" as argument (silent when
non-array is passed))
# Now throws E_NOTICE for non-array args as per Ilia's suggestion.
2003-09-11 17:28:27 +00:00
foobar b2a44d9327 MFH: - Fixed bug #25463 (ext/cpdf: compile failure with bundled GD) 2003-09-11 15:26:53 +00:00
Ilia Alshanetsky 3e59eb2be9 MFH: Fixed bug #25316 (Possible infinite loop inside _php_stream_write()). 2003-09-11 05:07:47 +00:00
Ilia Alshanetsky 32f67e7664 MFH: Cleanup r1.76 patch 2003-09-11 04:46:31 +00:00
foobar 010213e4ca wtf is w/ZTS? (for users? :) 2003-09-11 02:00:52 +00:00
Hartmut Holzgraefe 6afa7b45ef MFH 2003-09-11 01:45:02 +00:00
Stefan Roehrich 6e1032c30d MFH: Fix for bug #23488 zlib.output_compression overrides vary header.
It was already fixed for ob_gzhandler (#24827).
2003-09-10 08:49:46 +00:00
foobar 70c3e3e95f buf -> bug 2003-09-10 01:28:34 +00:00
foobar c290f39e3b - Fixed bug #25385 (ob_gzhandler(): typo in sapi_add_header_ex() call) 2003-09-10 01:23:38 +00:00
Ilia Alshanetsky b0fe9422e4 #if -> #ifdef 2003-09-10 01:03:41 +00:00
Ilia Alshanetsky 2f695ba37d MFH: Fixed bug #25429 (fix copying of stdin using copy() function) 2003-09-10 00:59:46 +00:00
Ilia Alshanetsky 72e5f9d395 MFH: Fixed bug #14049 (realpath() w/ZTS returns invalid results for non-existent
paths)
2003-09-10 00:22:20 +00:00
foobar 1ba3c62c8b BFN 2003-09-09 21:47:20 +00:00
foobar e56b9397d9 MFH: runtime apache version 2003-09-09 21:42:57 +00:00
Melvyn Sopacua 4aacd42826 Fix testcases, failing with 'America/New_York' vs. 'US/Eastern' systems
and fallback to POSIX-style. The fallback is based on tzset(3)  manpage [1]
for these systems and may apply to past and future unknowns as well.

Affected systems:   4.4BSD

Possible problem:   OSF

Proposed solution:  leave testcase as is, and if OSF systems start
                    failing during next qa-cycle, always use POSIX style in
                    testcases and add portability note to docs.

# [1] If the TZ environment variable does not specify a tzfile(5)-format
#     file and cannot be interpreted as a direct specification, UTC is
#     used.
2003-09-09 21:31:51 +00:00
Sara Golemon ac848809b5 BFN 25294 2003-09-09 21:20:07 +00:00
Sara Golemon 3f585ac923 MFH(r-1.91) Fix Bug #25294 LIST/NLST can cause segfault because ftp->data not cleaned properly 2003-09-09 21:15:20 +00:00
foobar f7972bc8be BFN 2003-09-09 19:58:06 +00:00
Melvyn Sopacua cd8ba5af5b Fix #23326: Attributes via append_child not supported
Add testcase
2003-09-09 19:43:45 +00:00
foobar fc787ac20f BFN 2003-09-09 19:27:56 +00:00
foobar 72cafaaabf MFH: - Fixed bug #25211 (image.c compile failure with AIX) 2003-09-09 19:27:41 +00:00
foobar 968eb65b01 BFN 2003-09-08 22:51:53 +00:00
foobar c872775134 BFN 2003-09-08 22:44:58 +00:00
Sara Golemon 55ec6edbfb BFN Bug#25314 2003-09-08 22:43:08 +00:00
Ilia Alshanetsky 7a06046d74 MFH: Fixed bug #25333 (Possible body corruption & crash in win32 mail()). 2003-09-08 22:37:51 +00:00
Sara Golemon 9761587fc6 Bug #25314 ASCII mode transfers behaving like binary when initiated from windows. 2003-09-08 22:32:33 +00:00
foobar 65b33edeee MFH: revert JIS addition 2003-09-08 22:19:56 +00:00
Moriyoshi Koizumi 62b4710d9e MFH(r-1.66): fix build in VC++7. 2003-09-08 21:01:37 +00:00
Ilia Alshanetsky e60d220d5c MFH: Re-enable sendmail binary check, now with parameter detection. 2003-09-08 20:15:43 +00:00
foobar e8d32e9779 MFH: - Fixed bug #25424 (ext/informix: lvarchar not supported in win32 build) 2003-09-08 15:07:43 +00:00
foobar 32505ff927 - nuke warning about MSVCRT in debug build 2003-09-08 14:09:40 +00:00
foobar 5bda30d1bb - fix the mcve addition, removed unused project (gd_bundled) 2003-09-08 14:08:46 +00:00
foobar 40bc834210 MFH: Fix for bug #25295 2003-09-08 13:15:44 +00:00
foobar 24f458a004 - MFH: build problems fix with CLI 2003-09-08 13:10:34 +00:00
Marcus Boerger aa405f4114 MFH: Allow to search for section FILE with 2nd parameter (found by Derick) 2003-09-07 23:50:25 +00:00
foobar 13e0c93f0c BFN 2003-09-06 23:57:40 +00:00
Marcus Boerger 9ec1245550 MFH: Bugfix #25404 2003-09-06 15:31:14 +00:00
foobar aa1c8bdee5 really sync 2003-09-04 16:46:46 +00:00
Jon Parise 0934056575 MFH 1.176: Register the TYPEMODEL constant from c-client's mail.h. 2003-09-04 07:48:30 +00:00
foobar f59a6aceea MFH 2003-09-03 22:54:13 +00:00
Ard Biesheuvel 28dabfb7a6 MFH WS 2003-09-03 22:07:31 +00:00
foobar bd5f18bdf7 MFH 2003-09-03 16:41:12 +00:00
SVN Migration 95c6f3e8a0 This commit was manufactured by cvs2svn to create branch 'PHP_4_3'. 2003-09-03 16:40:53 +00:00
foobar 1f2cc89995 sync 2003-09-03 16:26:50 +00:00
foobar d20b3d0ed5 MFH: - Fixed bug #25378 (Invalid data passed to unserialize() causes segfault) 2003-09-03 16:26:42 +00:00
Ard Biesheuvel 94e8d2ec62 MFH Test correct binding of 16-bit NUMERIC parameters 2003-09-03 15:25:03 +00:00
Ard Biesheuvel d5bb4753c8 MFH Fix binding of 16-bit NUMERIC parameters 2003-09-03 15:22:24 +00:00
Sascha Schumann 8ab1c72867 Fixed FastCGI being unable to bind to a specific IP 2003-09-03 14:56:11 +00:00
foobar bfb188eff5 MFH: - Fixed bug #25372 (sscanf() does not work with %X) 2003-09-03 11:55:30 +00:00
Sascha Schumann cbb59ee1b0 Update documentation, -b ip:port works 2003-09-03 08:24:17 +00:00
Sascha Schumann b02ce8bdc7 fix heuristic: if someone passed "-b IP:port", this check would
falsely recognize the parameter as defining only a port.
2003-09-03 08:14:14 +00:00
Sascha Schumann 4d98201217 centralize cflags 2003-09-03 08:07:51 +00:00
foobar 189fe6e665 - Added JISX0208=1 and USE_GD_JISX0208 defines 2003-09-03 05:28:10 +00:00
Sascha Schumann 20a35aa472 enable re2c check for self-contained extensions 2003-09-02 19:42:03 +00:00
Sascha Schumann 889eb2234e provide RE2C to external extensions 2003-09-02 19:33:52 +00:00
Sascha Schumann b4a6c9fe75 fetch fd correctly in fastcgi case 2003-09-02 16:16:12 +00:00
Ard Biesheuvel b1e3eaacaf MFH: Don't choke on repeated fetch() after result is exhausted 2003-09-02 15:35:11 +00:00
Sascha Schumann 2457ddb3ba implement get_fd/force_http_10 methods for CGI SAPI 2003-09-02 11:23:57 +00:00
Sascha Schumann e225eee248 nuke unused var 2003-09-02 11:15:14 +00:00
Stanislav Malyshev 1c65d69485 ws 2003-09-02 10:33:18 +00:00
Stanislav Malyshev 1eb9a119af fix typo 2003-09-02 10:21:02 +00:00
Stanislav Malyshev 7651ed0925 don't report errors if asked not to report 2003-09-02 09:17:09 +00:00
foobar 901af0e106 MFH: - Fixed bug #25348 ("make install" fails with --enable-short-tags). 2003-09-02 01:30:13 +00:00
foobar b485be88da MFH: - Fixed bug #25343 (is_dir() gives warning on FreeBSD). 2003-09-02 01:23:21 +00:00
foobar 7c728e6b9e BFNHR 2003-09-01 23:02:46 +00:00
Sara Golemon 049eaa886a BFN leak in gethostbynamel 2003-09-01 22:40:47 +00:00
Sara Golemon a2f21f3e8c Plug leak when invalid domain name provided. 2003-09-01 22:37:46 +00:00
foobar 4ac705885e MFH 2003-09-01 16:25:23 +00:00
Stanislav Malyshev 5f003af4d4 The sendmail_path executable check breaks setups that use parameters
for sendmail - including the default setup - so I'm disabling it for now.
2003-09-01 08:18:31 +00:00
Ilia Alshanetsky 6ce26891e8 MFH: Make sure that ftp->data is nulled after it's freed. This may fix bug
#25294 & bug #25296.
2003-08-31 21:09:14 +00:00
Sergey Kartashoff 3d9aed8039 - mnogosearch extension updated to compile with mnogosearch-3.2.15
- a new UDM_PARAM_SEARCH_RESULTS mnogosearch API command added to limit
  maximum number of search results
2003-08-31 06:58:58 +00:00
foobar c298c075f4 BFN 2003-08-30 22:01:49 +00:00
foobar 84c5c7da97 MFH 2003-08-30 11:01:46 +00:00
foobar 17d5386bb3 MFH 2003-08-30 10:57:59 +00:00
foobar 5fdef05cb0 stupid winblows 2003-08-30 10:50:52 +00:00
Sascha Schumann ce4fbe580d Never overwrite .c files when re2c does not exist. 2003-08-30 07:29:55 +00:00
Rob Richards 9f8be37c4e fix case for include 2003-08-29 20:50:52 +00:00
Rob Richards bf26b9a7e1 fix builds using libxml 2.5.10+ 2003-08-29 17:36:34 +00:00
Rob Richards c23ec177d5 workaround for bug #25268. libxslt issue with xsl:key 2003-08-29 15:29:24 +00:00
foobar 1a283a6c42 BFN 2003-08-29 14:41:08 +00:00
foobar ca64fae35d header sync 2003-08-29 14:22:13 +00:00
Sascha Schumann 485cba185b MFH
Fix a segfault which occured when using a storage format not capable
of expressing references (e.g. WDDX) and deserializing a session variable
whose name conflicted with an existing symbol in the global scope.

PR: #25307
Submitted by: Jani Taskinen
Speling fixes: me
2003-08-29 12:35:15 +00:00
foobar 43eddf7a58 MFH 2003-08-29 09:05:27 +00:00
foobar 5896ff7e80 fix build 2003-08-29 00:53:16 +00:00
Andrey Hristov 0767e6f1e2 MFH : str is string not a long 2003-08-28 21:09:21 +00:00
Andrey Hristov 4f2153fd14 format string fix and \n at the end of the message is not needed 2003-08-28 20:29:13 +00:00
Andrey Hristov 8edac7234d format string fixes 2003-08-28 20:27:55 +00:00
Andrey Hristov b767129303 \n at the end of the message is not needed 2003-08-28 20:26:32 +00:00
Andrey Hristov 6d57013b3e format string fix 2003-08-28 20:25:31 +00:00
Ilia Alshanetsky f137ee87f7 One more warning fix. 2003-08-28 20:05:24 +00:00
Ilia Alshanetsky fa55a5a826 Compiler warning fixes. 2003-08-28 20:01:37 +00:00
Ilia Alshanetsky 0be182e1ba MFH: Compiler warning fixes. 2003-08-28 19:18:57 +00:00
Ilia Alshanetsky c3757b1f05 MFH: Fixed format error. 2003-08-28 17:56:51 +00:00
Ilia Alshanetsky 21af3e8c4e Fixed format errors & warning. 2003-08-28 17:54:03 +00:00
Ilia Alshanetsky 4df567fe9d MFH: Fixed format bug 2003-08-28 17:49:08 +00:00
Sascha Schumann 1c662bee50 format string fix 2003-08-28 17:34:30 +00:00
Sascha Schumann e7f085d84b fix error message 2003-08-28 17:16:01 +00:00
Rasmus Lerdorf fc12da950c Fix the build
The DOS line endings in this file caused buildconf to build a broken
configure script on fbsd
2003-08-28 17:14:29 +00:00
foobar 1f27563128 sync with HEAD 2003-08-28 16:31:51 +00:00
foobar e2782d9e1d MFH: some emalloc() -> safe_emalloc() fixes 2003-08-28 16:28:27 +00:00
foobar 3782f21222 - Fixed bug #23682 (sybase_query() and multiple result sets: not returning first row set) 2003-08-28 16:16:59 +00:00
Stefan Roehrich bc24daedc3 MFH: Fixed bug #25218 ("deflate" compressed pages had a gzip header, which
should only be sent with "gzip" compressed pages).
2003-08-28 16:05:17 +00:00
Sascha Schumann 41c1ea1b05 fix format strings 2003-08-28 16:04:18 +00:00
Sascha Schumann 415df9168f fix format strings 2003-08-28 15:54:35 +00:00
Sascha Schumann e98926be3f add PHP_ATTRIBUTE_FORMAT to more functions
# uncovers a nice number of incorrect format strings
2003-08-28 15:52:15 +00:00
Sascha Schumann 488f26359a fix format (long port) 2003-08-28 15:15:35 +00:00
Sascha Schumann e5cc26627a Use ZEND_GCC_VERSION and ZEND_ATTRIBUTE_MALLOC 2003-08-28 14:48:34 +00:00
foobar 619d34b7f8 remove dos line feeds.. 2003-08-28 14:36:50 +00:00
foobar 58fa31451a - Made MCVE extension available on win32.
# requires libmcve 3.2.2 (http://www.mcve.com)
2003-08-28 14:34:15 +00:00
foobar 4942844edb missing entries 2003-08-28 14:25:12 +00:00
foobar f4d7971b7f missing .cvsignore 2003-08-28 14:08:44 +00:00
Stanislav Malyshev ab9ceb9526 Null dtor so that extensions won't be unloaded prematurely by list
destruction
2003-08-28 11:34:51 +00:00
Moriyoshi Koizumi 9e07fed96e MFH(r-1.25): add further check for "#include MACRO" style syntax 2003-08-28 06:05:13 +00:00
Sascha Schumann 0ea4d57d56 MFH automatic format checks 2003-08-28 05:25:26 +00:00
Ilia Alshanetsky 77005be687 MFH: Fixed bug #25109 (Possible crash when fetching field names in pgsql) 2003-08-28 00:33:48 +00:00
Ilia Alshanetsky aef886e34c MFH: mail.c r1.74 2003-08-27 23:53:31 +00:00
foobar b21f1582dd - Backported several improvements/cleanups for the build/configure stuff.
. PEAR dependancies checked during configure
  . OpenSSL config moved from configure.in to ext/openssl/config0.m4
    (and also improved the PHP_OPENSSL_SETUP macro a bit)
  + Some other minor issues
2003-08-27 17:57:32 +00:00
Sascha Schumann f8f72bd52e Use INSTALL to install build files 2003-08-27 13:55:24 +00:00
Ilia Alshanetsky 7cd06f5088 MFH: Prevent a crash when expand_filepath() fails. 2003-08-27 01:10:25 +00:00
foobar db7baa737f BFN 2003-08-26 02:52:39 +00:00
foobar bb83f93954 MFH: - Fixed bug #25166 (WDDX serializer handler missing in win32). (Jani) 2003-08-26 02:51:21 +00:00
foobar 008b424ee9 More crap from previous commits 2003-08-26 02:16:23 +00:00
foobar 720d3804fc Fix typo 2003-08-26 02:15:19 +00:00
foobar 9d61de0ec9 MFH: - Fixed crash bug when non-existing save/serializer handler is used 2003-08-26 02:05:53 +00:00
Sascha Schumann 16f3c4b7fb Use $(INSTALL_DATA) instead of cp 2003-08-26 00:03:33 +00:00
Ilia Alshanetsky 65c28b0cc6 zero-size BLOB fetch fix went into 4.3.3 2003-08-25 23:53:10 +00:00
foobar c0edbc5eee MFH 2003-08-25 23:24:42 +00:00
Sara Golemon a170be820e BFN 2003-08-25 22:28:31 +00:00
Sara Golemon 652147def5 MFH(r-1.61) Bugfix#25239 Closing control stream while data stream is open violates RFC959 section 2.3 2003-08-25 22:26:37 +00:00
Ilia Alshanetsky 343a1f081c Added place-holder for 4.3.4 2003-08-24 20:51:52 +00:00
Ilia Alshanetsky c82c3a41b4 No RC1 just yet :) 2003-08-24 20:46:36 +00:00
Ilia Alshanetsky e2ee8d0edb Back to dev 2003-08-24 20:43:19 +00:00
Ilia Alshanetsky d702e37902 Fixed typo. 2003-08-24 19:44:47 +00:00
Ilia Alshanetsky e0d22f195b Set 4.3.3 version bit. 2003-08-24 19:30:16 +00:00
Ilia Alshanetsky 88004a6208 Prepare NEWS file for 4.3.3 release. 2003-08-24 19:24:39 +00:00
Ilia Alshanetsky a2a30ca7d3 MFH: Fixed bug #25127 (reset memory_limit before terminating the request) 2003-08-22 20:02:11 +00:00
Jon Parise d7264e744d MFH configure.in:1.460, filestat.c:1.125:
Fix disk_total_space() and disk_free_space() under FreeBSD.
2003-08-22 05:11:31 +00:00
Ard Biesheuvel 7f04983ed3 MFH Fix false warning on zero-size BLOB fetch (introduced in RC3) 2003-08-20 23:01:32 +00:00
Brad House ac99c5ab03 allow destructor to clean up connection data 2003-08-20 19:43:07 +00:00
Ilia Alshanetsky 60097c2661 MFH: Fixed bug #25170 (Problem with generation of random numbers on solaris) 2003-08-20 16:40:46 +00:00
foobar 72f98037f4 MFH: - Fixed bug #25163 (OSX: phpize has to use glibtoolize instead) 2003-08-20 08:16:18 +00:00
foobar 6465017e05 MFH 2003-08-20 08:15:42 +00:00
Marcus Boerger f75ae95c8f MFH: Add test for #25145 2003-08-19 22:50:38 +00:00
SVN Migration 26ff74d670 This commit was manufactured by cvs2svn to create branch 'PHP_4_3'. 2003-08-19 22:47:31 +00:00
Moriyoshi Koizumi b34666a014 MFH(r-1.189): more accurate fix for bug #25140 2003-08-19 14:49:39 +00:00
Moriyoshi Koizumi d8bbff45c1 Revert the last patch. This patch should not be included in the forthcoming
release.
2003-08-19 14:32:10 +00:00
Derick Rethans 39a8fc274a - MFH: Fix for bug #25140 (mb_convert_encoding returns FALSE when it tries to
convert empty string)
2003-08-19 08:34:51 +00:00
SVN Migration b6006ed2fc This commit was manufactured by cvs2svn to create branch 'PHP_4_3'. 2003-08-19 08:29:58 +00:00
Ilia Alshanetsky 4ceecd3e5e RC5 not RC4 2003-08-18 14:04:30 +00:00
Ilia Alshanetsky ab74b63ff2 Back to dev 2003-08-18 14:02:28 +00:00
Pierre Joye 3214d963ec - MFH 2003-08-18 13:28:38 +00:00
Ilia Alshanetsky 6bacb29c98 RC4 is a go 2003-08-18 12:27:01 +00:00
foobar 339427de12 fix typo 2003-08-17 21:27:55 +00:00
Ard Biesheuvel f1dd5c2406 MFH Fixed leak in _php_ibase_bind() 2003-08-17 16:43:49 +00:00
Ard Biesheuvel bb4ea41589 MFH 2003-08-17 16:40:26 +00:00
Ard Biesheuvel c5a669caa6 MFH 2003-08-17 15:01:07 +00:00
Ard Biesheuvel cee27dd710 MFH 2003-08-17 13:26:13 +00:00
foobar 879fb489f3 made some entries more meaningful for users.. 2003-08-17 05:57:10 +00:00
Ilia Alshanetsky 1ab01b470b BFN 2003-08-16 23:05:19 +00:00
Ard Biesheuvel e25d006476 MFH Fixed bug #24224 2003-08-16 20:12:43 +00:00
Ard Biesheuvel 2732fbadbe MFH 2003-08-16 20:10:51 +00:00
Ard Biesheuvel 418cada107 MFH 2003-08-16 20:05:36 +00:00
Ard Biesheuvel 850a158531 MFH Fixed bug #18744 2003-08-16 17:11:25 +00:00
foobar 4282e55dfe ws fix 2003-08-15 18:47:02 +00:00
foobar 05a0c36072 fix typo 2003-08-15 18:42:11 +00:00
Derick Rethans 05ae3f22ab - Fix library path problems 2003-08-14 20:12:51 +00:00
Ilia Alshanetsky 903275e887 MFH: Fixed bug #25093 (Various leaks due to non-freed queries) 2003-08-14 17:49:48 +00:00
Marcus Boerger 88b48b5376 MFH: Don't test other functionality than wddx here. 2003-08-14 17:25:17 +00:00
Ilia Alshanetsky 88e0b419f2 Set RC4 date 2003-08-14 14:38:50 +00:00
Ilia Alshanetsky 33d7423950 MFH: Fixed bug #25081 (odbc_fetch_array() may mangle numeric fields). 2003-08-14 14:37:33 +00:00
Ilia Alshanetsky 30c26df348 MFH: Fixed bug #25084 (Make refer check not dependant on register_globals) 2003-08-14 01:32:02 +00:00
Ilia Alshanetsky cadd668aac MFH: missing skip condition. 2003-08-14 00:54:42 +00:00
Ilia Alshanetsky b2c85181d0 MFH: Fixed a possible crash due to invalid handling of assert ini options. 2003-08-14 00:38:21 +00:00
Brian France 7da8651511 Reverted part of the last patch. It changed -prefer-pic to -prefer-non-pic.
Now back to -prefer-pic
2003-08-14 00:24:25 +00:00
foobar 22aab1e328 MFH: boolean (not long) 2003-08-13 23:39:03 +00:00
Edin Kadribasic 919f53ee51 Added standard location for the headers 2003-08-13 23:02:57 +00:00
Brian France 3b2cf9ddef Fixed two translit so they don't remove underscores 2003-08-13 22:50:34 +00:00
Tomas V.V.Cox 3f11a2a6a8 1.2b5 becomes 1.2 final, no more changes 2003-08-13 22:32:28 +00:00
Vlad Krupin 2725d3534f MFH adding win32 support 2003-08-13 20:59:44 +00:00
SVN Migration 48c975a333 This commit was manufactured by cvs2svn to create branch 'PHP_4_3'. 2003-08-13 18:57:20 +00:00
Moriyoshi Koizumi fe042a90b9 MFH(r-1.96): Slight improvement. Hope this will make some difference. 2003-08-13 18:22:17 +00:00
foobar fab70dea69 Be a bit more wordy.. 2003-08-13 18:16:00 +00:00
Ilia Alshanetsky 7b1548e798 BFN 2003-08-13 16:14:08 +00:00
Ard Biesheuvel e084903eab Fixed crash in _php_ibase_error() after request shutdown (also fixes #7014) 2003-08-13 13:27:36 +00:00
foobar 3f71921c58 MFH 2003-08-13 10:40:56 +00:00
foobar 806f9145de MFH 2003-08-13 09:48:32 +00:00
Ilia Alshanetsky bd3cb846c0 MFH: Don't forget to flush() buffers for -w -s 2003-08-13 02:01:59 +00:00
foobar 9356017daa MFH: revert previous commit 2003-08-13 01:37:58 +00:00
Ilia Alshanetsky 351a686a7c MFH: Fixed bug #20896 (-s -w modes with php-cli cause php to hang). 2003-08-13 01:30:39 +00:00
Ard Biesheuvel 61c05dfc9f Fixed bug #23936 (fail to select and fetch) MFH 2003-08-13 01:28:32 +00:00
foobar 553fb5a3be MFH 2003-08-13 01:24:48 +00:00
Ilia Alshanetsky 35f457c92e Fix compile warning (unused variable) 2003-08-12 15:04:52 +00:00
foobar b855ab0dd4 MFH: fix test results (negative indices are not strings anymore) 2003-08-11 23:56:18 +00:00
Marcus Boerger 238aa7baee BFN 2003-08-11 20:24:58 +00:00
Marcus Boerger 46174f8ac8 BFN 2003-08-11 20:19:50 +00:00
Marcus Boerger 379040771d MFH: Bugfix 21918 2003-08-11 20:19:19 +00:00
SVN Migration 37a02a3984 This commit was manufactured by cvs2svn to create branch 'PHP_4_3'. 2003-08-11 20:14:26 +00:00
Marcus Boerger 575b38ee2f MFH: Bugfix #25044 2003-08-11 19:40:52 +00:00
Ilia Alshanetsky 977ec5eb4a MFH: Fixed bug #22245 (References inside $_SESSION not being handled). 2003-08-11 19:21:22 +00:00
Marcus Boerger 064cab8ac8 Add Ard as interbase maintainer 2003-08-11 18:54:57 +00:00
Ilia Alshanetsky d5fe19eb92 MFH: Fixed bug #22947 (Ack() inside win32/sendmail.c may stall in certain
situations). (Ilia)
2003-08-11 18:08:35 +00:00
Ilia Alshanetsky c2eb068c8a MFH: Fixed bug #25037 (Possible infinite loop inside SendText()) 2003-08-11 16:38:08 +00:00
Ilia Alshanetsky efc550eea3 MFH: Fixed bug #21957 (serialize() mangles objects with __sleep). 2003-08-11 04:57:55 +00:00
SVN Migration 3f54dd40b6 This commit was manufactured by cvs2svn to create branch 'PHP_4_3'. 2003-08-11 03:22:25 +00:00
foobar 7c0dd1251c MFH: fix compile warning 2003-08-11 02:08:32 +00:00
foobar 0d8beb77f6 MFH: nuked unused variable 2003-08-11 01:57:10 +00:00
foobar 1cab24458b MFH: fix compile warnings about unused variables 2003-08-11 01:55:14 +00:00
foobar cfc97c7d71 MFH: moved RINIT(crypt) stuff to crypt() itself. 2003-08-11 00:53:26 +00:00
foobar 30f1001553 MFH: - Fixed bug #25007 (rand() & mt_rand() seed RNG every call). 2003-08-11 00:43:32 +00:00
Ilia Alshanetsky 92d3c2a08e MFH: timeout fix 2003-08-09 23:15:19 +00:00
Ilia Alshanetsky 9cfcbd137b MFH: fixed test 2003-08-09 21:00:53 +00:00
Ilia Alshanetsky b74daafbcd MFH: Fixed bug #24897 (inconsistent behavior of shuffle() &
array_multisort())
2003-08-09 20:50:25 +00:00
SVN Migration af01cf787d This commit was manufactured by cvs2svn to create branch 'PHP_4_3'. 2003-08-09 20:49:01 +00:00
foobar 6da25bdae8 MFH 2003-08-09 18:43:58 +00:00
Ilia Alshanetsky 6ffa3e1780 MFH: test correction 2003-08-09 18:40:53 +00:00
Ilia Alshanetsky ff35f925b7 BFN 2003-08-09 16:49:08 +00:00
Ilia Alshanetsky 6b0aaabc98 MFH: Added/improved tests for bugs 24142, 24063, 24951, 24980 2003-08-09 16:48:30 +00:00
Ilia Alshanetsky e60da236ae MFH: Do not assume array contains numeric values. 2003-08-09 16:47:21 +00:00
SVN Migration d58f597885 This commit was manufactured by cvs2svn to create branch 'PHP_4_3'. 2003-08-09 16:44:34 +00:00
Ilia Alshanetsky a25742e18f MFH: Detection of buggy compiler (gcc) 2003-08-09 16:13:47 +00:00
foobar b75c57e521 MFH 2003-08-09 15:46:48 +00:00
foobar 77a22a2835 BFN 2003-08-09 15:41:09 +00:00
foobar 0690aff6b5 - Fix possible crashes if PHP is linked with external libexpat and also
the bundled one is compiled in.
2003-08-09 14:26:40 +00:00
Derick Rethans f877a76a0e - MFH: Memleak fix 2003-08-09 11:22:40 +00:00
Moriyoshi Koizumi 605563c0a8 Test updates. 2003-08-09 06:14:51 +00:00
Moriyoshi Koizumi b2a7d2ed4e MFH(r-1.186): fix wrong behaviour under ZTS that was inconsistent with the
behaviour under non-ZTS
2003-08-09 06:12:41 +00:00
Ilia Alshanetsky b2bd6e465c MFH: Fixed bug #24980 (array_reduce() uses first element as default running
total).
2003-08-08 23:54:25 +00:00
Ilia Alshanetsky ceb065f9eb MFH: Fixed bug #24951 (ob_flush() needlessly destroys output handler). 2003-08-08 23:44:04 +00:00
Ilia Alshanetsky c2302046dd MFH: Avoid a round() bug that occurs due to over optimization of C code by
gcc.
2003-08-08 23:42:10 +00:00
Marcus Boerger bd6bd53646 Bugfix #24063 2003-08-08 20:23:07 +00:00
Ilia Alshanetsky c95bd4ad87 BFN 2003-08-08 13:55:06 +00:00
Ilia Alshanetsky 1167e85cf3 MFH: Fixed bug #24977 (Revert mysql_select_db optimization) 2003-08-08 13:36:44 +00:00
Ilia Alshanetsky 77225b912f MFH: Fixed bug #24909 (Bad random numbers with ZTS builds on Solaris) 2003-08-08 13:34:52 +00:00
foobar aa3a1426e8 correct version 2003-08-08 12:39:11 +00:00
Masaki Fujimoto 0072a36646 BFN 2003-08-08 11:44:25 +00:00
SVN Migration cecfd0ace4 This commit was manufactured by cvs2svn to create branch 'PHP_4_3'. 2003-08-08 10:52:51 +00:00
Ilia Alshanetsky d7409a9797 RC4 (hopefully it'll actually be the final) 2003-08-07 18:42:40 +00:00
Moriyoshi Koizumi 1560aabbaf MFH(r-1.10): Tru64 requires TZ values be POSIX styled 2003-08-07 17:46:40 +00:00
Ilia Alshanetsky 6ff7c1cedf RC3 is a go. 2003-08-07 17:42:02 +00:00
Zeev Suraski 6c7394101b Remove 'proto' from internal functions 2003-08-07 16:44:11 +00:00
Zeev Suraski c4845a8b65 Another broken prototype 2003-08-07 16:03:05 +00:00
Zeev Suraski 728ca44dff Fix prototype 2003-08-07 16:02:04 +00:00
Zeev Suraski 1af7f512bc That's slightly more accurate 2003-08-07 15:50:18 +00:00
Ilia Alshanetsky 07ff7f16c7 MFH: Fixed bug #24839 (& -> &amp; in php credits) 2003-08-07 15:41:43 +00:00
Ilia Alshanetsky bfcbf4bc19 BFN 2003-08-07 15:37:54 +00:00
Ilia Alshanetsky 69322ae43b MFH: Fixed bug #21958 (workaround for unusual realpath() on AIX & Tru64). 2003-08-07 15:32:37 +00:00
foobar 2dea730e08 MFH: dlfcn.h not found in solaris when using forte cc 2003-08-07 12:05:00 +00:00
Ilia Alshanetsky 84cc58d013 MFH: Fixed bug #24958 (Incorrect handling of 404s) 2003-08-06 22:34:20 +00:00
Moriyoshi Koizumi 165a1d62c8 Add missing NLS entry for German. 2003-08-06 21:59:42 +00:00
Vlad Krupin d5fba05f61 Fix for bug 23463. Dbase2 is not supported.
AFAICT, no newer versions of dbase, even those use
version byte as a bitmask will ever have it <3.
2003-08-06 19:01:08 +00:00
Pierre Joye 9868377fa0 - HTTP 1.2.1 2003-08-06 07:59:09 +00:00
Pierre Joye c25ed56914 - Remove old http 2003-08-06 07:58:16 +00:00
Tomas V.V.Cox a6aef8844f Added Mirror.php to PHP_4_3 branch 2003-08-06 02:13:05 +00:00
Tomas V.V.Cox 7d96d95a5e MFH for RC3 2003-08-06 01:58:30 +00:00
SVN Migration 79ff9f2fa3 This commit was manufactured by cvs2svn to create branch 'PHP_4_3'. 2003-08-05 23:22:09 +00:00
Brian France 79f338488e added include config.h so shared extensions builds work correctly 2003-08-05 20:54:43 +00:00
Ilia Alshanetsky 7c70a8f8c2 MFH: Fixed bug #18291 (escapeshellcmd() can now handle quoted arguments) 2003-08-05 20:16:47 +00:00
Ilia Alshanetsky 1e76a63719 MFH: Fixed bug #17414 (pthreads bug workaround). 2003-08-05 20:05:17 +00:00
foobar 29c92b6d91 MFH: fixed typos 2003-08-05 16:02:41 +00:00
Ilia Alshanetsky 7ec8b0bcba MFH: memory leak fix 2003-08-05 13:34:20 +00:00
foobar 370eecd336 correct blame :) 2003-08-05 12:36:57 +00:00
foobar f89eae47f2 BFN 2003-08-05 12:35:14 +00:00
foobar 3d598476ec MFH: - Fixed bug #21611 (version_compare() does not support "p" suffix) 2003-08-05 12:34:49 +00:00
Moriyoshi Koizumi b7d673db52 MFH(r-1.2): putenv() should be put here as well. 2003-08-05 12:29:41 +00:00
foobar e3d9b17e53 BFN 2003-08-05 11:22:24 +00:00
foobar dfba9a0ab0 MFH 2003-08-05 11:19:35 +00:00
foobar 47e16d8ad6 MFH: - Fixed bug #24936 (ext/fdf is not linked properly when compiled as shared extension). (Jani) 2003-08-05 11:17:25 +00:00
Ilia Alshanetsky f3618527a6 MFH: remove useless variable when mbstring is not used. 2003-08-05 01:01:40 +00:00
Edin Kadribasic ad2fa621bd Sync to LICENSE file in the distro 2003-08-04 22:30:04 +00:00
Sascha Schumann f2565109ea don't overwrite script_path_translated if no PATH_TRANSLATED was received 2003-08-04 19:05:05 +00:00
Ilia Alshanetsky b1a7a8d572 BFN 2003-08-04 17:15:06 +00:00
Ilia Alshanetsky 519c152527 MFH: Fixed bug #23104 (hash position of static arrays not being reset) 2003-08-04 17:14:16 +00:00
foobar 2e783c4dac MFH: Typo fixes 2003-08-04 14:36:52 +00:00
Uwe Schindler e95fbd1f2c MFH 2003-08-04 12:46:38 +00:00
Uwe Schindler fa40ecfec1 MFH 2003-08-03 19:31:13 +00:00
Moriyoshi Koizumi be27697628 MFH(r-1.3): disable the test temporarily because "-d" flags in the command
line doesn't take effect under CGI mode. (See the relevant portion of
cgi_main.c that begins at line 996)
2003-08-03 13:59:48 +00:00
Uwe Schindler 86842904be MFH 2003-08-03 11:23:25 +00:00
Ilia Alshanetsky 2556aa7b2a MFH: Fixed bug #24177 (Status not set correctly after flush() in Apache 2) 2003-08-02 18:30:22 +00:00
Ilia Alshanetsky 9f7f4f5bb8 MFH: Fixed bug #22072 (Apache2 sapis do not detect aborted connections) 2003-08-01 20:21:21 +00:00
Ilia Alshanetsky 85f4e2b191 MFH: Preserve exit status for non-php execution modes. 2003-08-01 16:53:03 +00:00
Ilia Alshanetsky e945608fa4 MFH: Fixed bug #23509 (exit code lost when exit() called from
register_shutdown_function())
2003-08-01 12:29:48 +00:00
foobar d892bf5333 MFH 2003-08-01 11:24:20 +00:00
foobar d3b271d04f hothothot 2003-08-01 10:08:57 +00:00
Ilia Alshanetsky 498c4ce19d Fixed bug #24871 (methods misidentified as constructors) 2003-08-01 02:17:31 +00:00
Ilia Alshanetsky 6f53bb90e4 Added skip condition 2003-08-01 02:15:56 +00:00
Ilia Alshanetsky e57d86daef MFH: Fixed bug #24883 (variables created through register_globals, ignore
gpc_order and variables_order).
2003-07-31 23:00:21 +00:00
Ilia Alshanetsky b050f6e430 MFH: Fixed bug #22154 (Possible crash when memory_limit is reached and
output buffering in addition to session.use_trans_sid is used).
2003-07-31 19:48:05 +00:00
foobar 8caea61bd3 MFH 2003-07-30 21:57:02 +00:00
Ilia Alshanetsky 8b2dc6853a BFN 2003-07-30 17:57:19 +00:00
Ilia Alshanetsky 02a1624d22 MFH: Fixed bug #24873 (incorrect handling of / inside open_basedir) 2003-07-30 17:55:21 +00:00
Ilia Alshanetsky c09cdb4a07 MFH: Fixed bug #23792 (8 bit graphics don't rotate properly) 2003-07-30 17:34:23 +00:00
Ilia Alshanetsky 2e870b76c6 Revert fix for bug #22836 2003-07-30 16:12:32 +00:00
foobar 687e73c7af MFH 2003-07-30 14:09:52 +00:00
Ilia Alshanetsky 71be643056 Set proper php4 sources tag 2003-07-30 13:21:15 +00:00
Ilia Alshanetsky e975382a82 Restore version. 2003-07-30 13:20:50 +00:00
Ilia Alshanetsky 35a8ad18a9 4.3.3RC2 is a go 2003-07-30 13:01:59 +00:00
Ilia Alshanetsky 349a98d388 MFH: persistent streams patch 2003-07-29 18:26:59 +00:00
Ilia Alshanetsky c65fd57a24 Test case & news for bug #22836. 2003-07-29 17:54:15 +00:00
foobar b459ec5cdb BFN 2003-07-29 11:20:39 +00:00
foobar e187fad2d1 MFZE2: made each() binary safe for keys 2003-07-29 11:19:47 +00:00
foobar 8182575647 past tense plus full name :) 2003-07-29 11:05:17 +00:00
Stefan Roehrich f9938a3e9a # Forgot NEWS entry for openssl change (rev. 1.52.2.15). 2003-07-29 09:40:04 +00:00
Ilia Alshanetsky ca50da933e MFH: Fixed a double free bug when freeing persistent streams. 2003-07-28 18:57:49 +00:00
Ilia Alshanetsky f43b7faec5 Backport virtual_realpath() from PHP5. This fixes a memory leak that would
occur inside every virtual_realpath() call.
2003-07-28 18:35:34 +00:00
Ilia Alshanetsky ba533a91c4 MFH: Make pclose() respect references. 2003-07-28 14:42:56 +00:00
foobar ae171ce2d2 MFH 2003-07-28 10:44:59 +00:00
Zeev Suraski 97662dc30e Fix nameclash with NSAPI API 2003-07-28 07:28:55 +00:00
Ilia Alshanetsky fc8b10cf71 MFH: Fixed bug #13142 (strtotime not handling "M d H:i:s Y" format) 2003-07-28 04:02:55 +00:00
SVN Migration a6901dc7ba This commit was manufactured by cvs2svn to create branch 'PHP_4_3'. 2003-07-28 04:01:33 +00:00
Ilia Alshanetsky 7297a2b02e MFH: Fixed bug #24557 (make fclose() respect refcount on the resource). 2003-07-27 18:46:03 +00:00
Ilia Alshanetsky a4d484b478 MFH: Fixed bug #24827 (ob_gzhandler overrides Vary header) 2003-07-27 18:16:47 +00:00
Marcus Boerger d3399f8f25 MFH: Do show skipif's info 2003-07-27 16:59:04 +00:00
foobar 5b1dd1818c some missing static with internal funcs. 2003-07-25 12:45:05 +00:00
foobar 04e9bdd516 MFH 2003-07-25 12:16:04 +00:00
Edin Kadribasic f5c49771df Export symbols needed for shared extensions. 2003-07-25 11:27:39 +00:00
foobar 7759a36327 Fix BFN, this was really MY patch that fixed it. :-p 2003-07-25 09:47:06 +00:00
Harrie Hazewinkel fb51a889f4 Adding bugfix. 2003-07-25 07:36:42 +00:00
Harrie Hazewinkel facd6c20c8 Bug 24760 fix, in which the port number when non-default is not handled
correctly and ends up as the default port. This seems to be caused by
some buffer overflow where the port number is assign zero, even though
it it is not assigned to the port variable.
Fix was reported and a fix proposed by "chuck+php at 2003 dot snew dot com"

(Bugfixing branch)
2003-07-25 07:32:39 +00:00
Moriyoshi Koizumi 5e0da82b7f MFH(r-1.168): fix run-test.php so it can correctly handle skip conditions. 2003-07-25 05:52:26 +00:00
Jason Greene 9dbbc057c5 MFH: fix for #24629 2003-07-25 01:50:09 +00:00
foobar 886184c38e keep the style.. 2003-07-24 19:58:30 +00:00
Uwe Schindler 3da82597bb revert the shitty whitespace patch... 2003-07-24 19:16:25 +00:00
Uwe Schindler c2de8f4282 put $Id:...$ in readme 2003-07-24 17:46:57 +00:00
Ilia Alshanetsky 0ea41bf2b1 MFH:
When encountering a test that users GET/POST make run-tests.php
  use CGI sapi if it is avaliable.
  If CLI sapi is not avaliable print a clear error when make test
  is executed.
2003-07-24 17:45:15 +00:00
Uwe Schindler 7e3fa7bd59 MFH: Possibility to use php4_execute to display server error pages or directory listing pages 2003-07-24 17:42:40 +00:00
Wez Furlong cf9cec3562 BFN 2003-07-24 15:25:14 +00:00
Wez Furlong e680c28694 MFH: Fix for #24629 2003-07-24 15:23:14 +00:00
foobar 8db0c60f58 BFN 2003-07-24 10:50:49 +00:00
foobar fba6b0da53 MFH 2003-07-24 10:42:17 +00:00
foobar 916627208c MFH 2003-07-24 10:25:34 +00:00
SVN Migration 8da6929e93 This commit was manufactured by cvs2svn to create branch 'PHP_4_3'. 2003-07-24 10:25:16 +00:00
foobar 385db5abbd MFH 2003-07-24 10:13:44 +00:00
SVN Migration fd4d2df3e6 This commit was manufactured by cvs2svn to create branch 'PHP_4_3'. 2003-07-24 10:13:18 +00:00
foobar 7076a84b83 - No OnUpdateLong in this branch. 2003-07-24 09:15:05 +00:00
Zeev Suraski 957fcfac4b MFH fix for bug #19613 2003-07-24 08:04:20 +00:00
foobar 77ec263329 MFH: missing cvs Id tags, proto fixes 2003-07-24 02:53:46 +00:00
foobar d496c5f4a5 - MFH: Sync to HEAD (TSRMLS_FETCH() nukes, pval -> zval, php_error_docref) 2003-07-24 02:47:11 +00:00
foobar 372fe3128c nitpicking again :) 2003-07-24 01:56:06 +00:00
Ilia Alshanetsky ff8670e601 MFH: zlib fix 2003-07-24 00:03:51 +00:00
Wez Furlong 451deb0101 Fix this test, at least for Tru 64 where 1 second it just too small an
interval for the test to succeed.
2003-07-23 21:48:50 +00:00
Ilia Alshanetsky b278b99605 MFH: Fixed GLOB_ONLYDIR to work on GNU libc based system. 2003-07-23 21:41:53 +00:00
Ilia Alshanetsky 1d5ca2f45e BFN 2003-07-23 16:56:05 +00:00
Ilia Alshanetsky fc0799f0ca MFH: Removed unused variables. 2003-07-23 16:54:54 +00:00
Ilia Alshanetsky 3a43c4124f MFH: Fixed bug #24752 (Unhandled "uniqueidentifier" field type) 2003-07-23 16:53:38 +00:00
Ilia Alshanetsky d197a131db MFH: Fixed #24609 (segfault when using replace node across different docs)
Patch by: Rob Richards

# This patch somehow did not make it into 4.3.X, so on Rob's request in am
# MFHing it in.
2003-07-23 16:44:27 +00:00
Ilia Alshanetsky 7be9dcd263 BFN 2003-07-23 16:07:00 +00:00
Ilia Alshanetsky 117395ed23 MFH:
Fixed bug #23798 (Spaces were not being stripped from Bcc header)
Fixed bug #24663 (\n. sequences were not being escaped)
2003-07-23 16:03:27 +00:00
Pierre Joye 7d40544703 MFH (test #24594) 2003-07-23 15:37:47 +00:00
Pierre Joye 064e743014 MFH (#24594) 2003-07-23 15:37:14 +00:00
SVN Migration 701da1fa4d This commit was manufactured by cvs2svn to create branch 'PHP_4_3'. 2003-07-23 00:17:30 +00:00
Marcus Boerger 224e070c74 MFH: The value might be a null pointer 2003-07-22 22:06:05 +00:00
Ilia Alshanetsky c1dc317791 BFN 2003-07-22 16:07:01 +00:00
Ilia Alshanetsky add133a4c6 MFH: r1.196: mysql_fixes 2003-07-22 16:06:09 +00:00
Zeev Suraski 383d813dd9 Fix potential crash (zend_hash_get_current_key_ex() doesn't touch the string arguments if
the key is not a string!)
2003-07-22 15:46:48 +00:00
Edin Kadribasic 9a53d1b4fe New curl lib needs additional libs to link (#24725) 2003-07-22 12:34:38 +00:00
Sascha Schumann 2fe43e8af8 fix typo, shorten line 2003-07-22 01:39:52 +00:00
Ilia Alshanetsky f55e1330d5 BFN + proper credit for session bug fix. 2003-07-22 01:35:02 +00:00
Ilia Alshanetsky 9e09a7c02b MFH: r1.165 safe_mode patch 2003-07-22 01:32:21 +00:00
Sascha Schumann 07b9f0c1d5 Proper fix for #24592
The core issue is that undefined variables are refcounted (refcount != 0)
while is_ref is still set to 0.  I don't know whether this is a bug in
the engine, but is it not the first time this irregularity has caused
problems for the session extension.

The irregularity confused ZEND_SET_SYMBOL_WITH_LENGTH which then did
the wrong thing WRT null values.

Fortunately, nulls can simply be ignored in this case, thus the old
code is restored and a new condition is added.
2003-07-22 01:10:30 +00:00
Ilia Alshanetsky 61fc0ba6b2 MFH: Fixed bug #24592 (Possible crash in session extnsion, with NULL values). 2003-07-21 21:49:52 +00:00
SVN Migration 10bb058051 This commit was manufactured by cvs2svn to create branch 'PHP_4_3'. 2003-07-21 21:47:53 +00:00
Uwe Schindler 7ba06d0145 some code cleanups 2003-07-21 14:20:30 +00:00
foobar 1b48b07ee4 nitpicking right from the start.. :) 2003-07-21 14:03:42 +00:00
Ilia Alshanetsky e941298e55 MFH: Fixed bug #24560 (parse_url() incorrectly handling certain file://
based schemas).
2003-07-21 13:37:10 +00:00
foobar be2763d13d expat upgrade news 2003-07-21 08:43:27 +00:00
foobar ef440f1b4e - Upgraded bundled Expat library to 1.95.6 (Jani)
# Fixes bug #20442 (and possibly others not reported to us)
2003-07-21 08:42:49 +00:00
foobar d990e2881b MFH 2003-07-21 08:27:47 +00:00
foobar 0c4cf5aff2 - CURLOPT_ENCODING is always defined, check the version instead. 2003-07-20 15:19:39 +00:00
foobar 38b3ef790b MFH: missing CVS Id tags and license headers 2003-07-20 10:54:03 +00:00
foobar fd7bb0b3da extra period :) 2003-07-19 15:37:08 +00:00
Moriyoshi Koizumi 2298aaef75 BFN 2003-07-19 15:11:12 +00:00
foobar 123a5c20d8 MFH 2003-07-18 12:29:54 +00:00
foobar d60fc0981b MFH: test case for bug #24573 2003-07-18 12:25:09 +00:00
SVN Migration 70491a7ea0 This commit was manufactured by cvs2svn to create branch 'PHP_4_3'. 2003-07-18 12:24:50 +00:00
foobar 0b49f0bea0 BFN 2003-07-18 12:19:17 +00:00
foobar 33108da1d0 BFN 2003-07-18 09:28:53 +00:00
Sergey Kartashoff 1674a79e11 - UDM_PARAM_SORT_ORDER has been added in Udm_Set_Agent_Param while
using with mnogosearch-3.2.14+ to set order of search results.
2003-07-18 09:15:09 +00:00
Sergey Kartashoff 6f581e803c - Coredump in Udm_Find was fixed. 2003-07-18 08:48:34 +00:00
foobar 9c7d125108 removed the extra CVS Id tag. 2003-07-18 01:40:50 +00:00
foobar 5fc1090dbe MFH: Fixed bug #24640 (var_export and var_dump can not output large float). (Marcus) 2003-07-18 01:37:44 +00:00
Marcus Boerger 2057041621 BFN 2003-07-17 22:23:16 +00:00
Marcus Boerger 3cadadee34 MFH 2003-07-17 22:14:44 +00:00
SVN Migration 660d1fe292 This commit was manufactured by cvs2svn to create branch 'PHP_4_3'. 2003-07-17 21:02:45 +00:00
Marcus Boerger d3cc1a3186 MFH: Fix handling of empty settings 2003-07-16 20:56:06 +00:00
Sebastian Bergmann 274237f4d2 MFH: /libpath directives for zlib 2003-07-16 14:50:26 +00:00
foobar 602241f936 bfn 2003-07-16 08:47:49 +00:00
foobar 7880b84ba7 MFH: Fixed bug #22690 (ob_start() broken with create_function() callbacks). (Marcus) 2003-07-16 08:45:31 +00:00
foobar e9c4ca1b61 MFH 2003-07-16 06:04:01 +00:00
foobar c0bc7b6c80 MFH: this is internal function -> static 2003-07-16 05:47:56 +00:00
foobar 0934f19c69 MFH 2003-07-16 05:46:46 +00:00
foobar 41441e017a MFH 2003-07-16 05:16:49 +00:00
foobar 1277a79544 Update credits. 2003-07-16 05:15:07 +00:00
foobar ce527f42cd Fix the credits (partial MFH) 2003-07-16 05:14:35 +00:00
foobar edb801394b MFH 2003-07-16 04:54:55 +00:00
foobar c40e1cbbfc MFH 2003-07-16 00:39:33 +00:00
SVN Migration faff0dbd45 This commit was manufactured by cvs2svn to create branch 'PHP_4_3'. 2003-07-16 00:38:55 +00:00
Uwe Schindler dff2f35098 MFH: safe mode fix 2003-07-15 22:19:23 +00:00
Uwe Schindler 261429dc52 MFH: Make virtual() an alias for nsapi_virtual() -- better for docs/naming in future 2003-07-15 17:31:03 +00:00
Hartmut Holzgraefe 2db6b7e8f1 MFH 2003-07-15 17:28:54 +00:00
Hartmut Holzgraefe 9aa1cce146 MFH 2003-07-15 17:05:03 +00:00
foobar 8c766b9670 MFH 2003-07-15 07:06:52 +00:00
Edin Kadribasic 0777e6062c BFN 2003-07-14 23:25:24 +00:00
Edin Kadribasic 8d4a2eabb8 Fixed bug #24949. 2003-07-14 23:20:01 +00:00
foobar 2a836845c8 MFH 2003-07-14 16:23:28 +00:00
foobar 5c4f19b7c5 - Sync with HEAD. (php_error -> php_error_docref, proto fixes, code cleanup) 2003-07-14 16:13:30 +00:00
foobar 63a8f46dda Bump year to 2003 2003-07-14 16:02:32 +00:00
foobar 3d972fcc0e Year update 2003-07-14 15:59:18 +00:00
Rui Hirokawa d69e7b6d04 fixed a typo. 2003-07-14 13:31:44 +00:00
Wez Furlong f0623f78eb less WTF factor 2003-07-14 10:43:51 +00:00
foobar 2891206718 MFH 2003-07-14 03:58:59 +00:00
Moriyoshi Koizumi c4ab6c2cad MFH: fixed leaks that occurs if the third parameter already contains a valid
value.
2003-07-13 19:46:39 +00:00
Stefan Roehrich 56b4205f38 MFH: fixed certificate version, serial number not always 0. 2003-07-13 10:13:24 +00:00
SVN Migration 35b40bdb2a This commit was manufactured by cvs2svn to create branch 'PHP_4_3'. 2003-07-13 08:03:47 +00:00
Rui Hirokawa 63289837ae added strict detection mode in mb_detect_encoding to detect corrupted byte sequence. 2003-07-13 07:34:28 +00:00
Martin Jansen 439596bce5 * MFH 2003-07-12 15:18:02 +00:00
Moriyoshi Koizumi f725d7b180 MFH(r-1.393): fixed bug #24556 2003-07-12 09:33:58 +00:00
foobar 933ef3298a MFH 2003-07-11 07:49:10 +00:00
Frank M. Kromann 16b3e1e406 Sync protos with HEAD 2003-07-11 06:04:43 +00:00
Frank M. Kromann d560e58711 Allow the use of both ming 0.2a and 0.3a (API\s changed) 2003-07-11 05:54:45 +00:00
foobar 29a8e606f3 BFN 2003-07-11 04:32:31 +00:00
foobar b4f086b52a BFN 2003-07-11 04:30:40 +00:00
foobar cf33623715 BFN 2003-07-11 04:24:37 +00:00
foobar 894e2f15f0 MFH: Fixed bug #21074 (Apache2: "ErrorDocument xxx /error.php" broken). 2003-07-11 04:24:11 +00:00
foobar e7175cbecf MFH: Fixed bug #17291 (mssql_query does not update get_last_message) (patch by: mgruetzner at rw3 dot com) 2003-07-11 02:08:38 +00:00
foobar 241945e11f MFH: sync 2003-07-11 01:57:39 +00:00
foobar 1aecd0f1ff MFH: Use the proper way to get the max requests per child. 2003-07-10 22:45:34 +00:00
foobar 9cb84b6351 MFH: Fixed bug #24563 (preg_match() crashes PHP under Apache2) 2003-07-10 16:09:43 +00:00
Frank M. Kromann cc68ee790e Adding missing compression paramters to output functions 2003-07-10 05:07:46 +00:00
foobar e786476701 MFH: revert previous patch, it was not correct. 2003-07-10 01:40:10 +00:00
foobar a48ac52a7d MFH: Fix crash bug 2003-07-10 01:17:46 +00:00
foobar 9e33cdb499 MFH: Fixed bug #11924 (ibase_query() and ibase_execute() mangled passed parameters) 2003-07-10 00:17:40 +00:00
Pierre Joye 5de9ca91cb - MFH 2003-07-10 00:11:11 +00:00
foobar f2d8bb4c38 Fixed bug #24519 (aggregate_methods_by_list() does not increment refcount) 2003-07-09 23:16:21 +00:00
Frank M. Kromann bd719279db oops. fix spelling 2003-07-09 22:38:36 +00:00
Frank M. Kromann 4f16113988 Adding missing MSSQL Server ini settings 2003-07-09 22:36:28 +00:00
Jay Smith fb79cfb853 MFH: - fixed bug #24548 (get_browser() does not return platform) 2003-07-09 18:51:18 +00:00
Brad House 1a0e3b62e2 bugfixes: typecasting issues. don't assume long and int are the same size, as they are not on 64bit architectures. New CONSTANTS were not cast at all yet. MC_TTID was cast as a long, when it should have been a MCVE_int64 (normally long long). 2003-07-09 13:48:33 +00:00
Edin Kadribasic af30033599 How did this get uppercased ;) 2003-07-09 11:08:51 +00:00
Edin Kadribasic b6c6a8db3a For Pierre-Alain Joye. 2003-07-09 11:07:27 +00:00
Pierre Joye 07b70c743c - MFH 2003-07-09 10:43:01 +00:00
Pierre Joye ca7ad2ff2c - MFH 2003-07-09 10:38:22 +00:00
Pierre Joye 79e4f5a47f - MFH 2003-07-08 20:39:46 +00:00
foobar 2be22abf64 MFH 2003-07-08 14:13:10 +00:00
Sergey Kartashoff 2fafe59ed2 - Output of UDM_PARAM_WORDINFO_ALL was fixed 2003-07-08 14:00:58 +00:00
foobar 3687e5e953 MFH: - Fixed bug #24537 (apache2 compile missed include directories) 2003-07-08 13:54:14 +00:00
Sergey Kartashoff 4c1c759343 - Udm_Find function is fixed to be compatible with mnogosearch-3.2.13 2003-07-08 13:27:30 +00:00
Derick Rethans ef32b131ce - MFH: Fixed email addresses 2003-07-08 09:44:34 +00:00
Wez Furlong 792645aa6f update activescript info 2003-07-08 09:12:00 +00:00
Wez Furlong 8055bab946 Fix leak when loading constants from a type-library. 2003-07-08 09:10:42 +00:00
Sascha Schumann 19928d2509 grep -E -> egrep 2003-07-08 05:35:48 +00:00
Brad House c0f72d9fac update mcve ext from HEAD. Sync with libmcve-3.2 functionality 2003-07-08 03:16:39 +00:00
foobar 77b6cdb7dd Missing entries 2003-07-07 22:51:27 +00:00
foobar f71e66e50d MFH 2003-07-07 22:51:16 +00:00
Moriyoshi Koizumi 71461f74b2 MFH(r-1.9): updated test so it won't fail if the extension has been built with
libiconv
2003-07-06 21:45:00 +00:00
Moriyoshi Koizumi dfbeb6b786 oops again.. 2003-07-06 21:12:59 +00:00
Moriyoshi Koizumi 3e1affd647 MFH(r-1.22, r-1.90, r-1.18): avoid miscellaneous conflicts between glibc's
iconv and libiconv.
2003-07-06 21:11:51 +00:00
Moriyoshi Koizumi 1ba9226cb5 MFH(r-1.17): added missing includes 2003-07-06 18:09:21 +00:00
Jon Parise 7f2c03ed0e Upgrade the bundled Mail package to 1.1.1 (1.1.0 was a bit broken). 2003-07-05 21:47:09 +00:00
Hartmut Holzgraefe 251b1ad96b MFH 2003-07-04 15:07:56 +00:00
Hartmut Holzgraefe c8e7bc0542 MFH 2003-07-04 14:40:22 +00:00
SVN Migration ab3957bda7 This commit was manufactured by cvs2svn to create branch 'PHP_4_3'. 2003-07-04 14:38:08 +00:00
Pierre Joye 5320379dc0 - Fix broken installer 2003-07-04 11:04:07 +00:00
Sascha Schumann f6b36353a6 Quote all instances of ) when used in case..esac constructs
Some m4 versions appear to drop these when certain macros are used
recursively.
2003-07-03 22:54:07 +00:00
Frank M. Kromann e5523b4954 Change fetch functions and protos so they make more sense.
fetch_row or fetch_assoc should  not take the optional parameter
2003-07-03 16:47:10 +00:00
Moriyoshi Koizumi de9f401877 MFH(r-1.56): added missing protos 2003-07-03 15:39:51 +00:00
Marcus Boerger 46fd530566 MFH: Fix open mode (noticed by FutureQuest, Inc.) 2003-07-03 11:23:27 +00:00
Uwe Schindler b6b4369972 fix typo 2003-07-02 22:40:13 +00:00
Moriyoshi Koizumi 3aeaad418f MFH(r-1.4, r-1.2): s/cvs/csv/ 2003-07-02 17:09:26 +00:00
foobar b2bedbf40e BFN 2003-07-02 14:05:44 +00:00
Uwe Schindler 62ef1e2857 Prevent user from making nested PHP requests with virtual() 2003-07-02 13:37:39 +00:00
Pierre Joye 0d03073c89 - tabs... 2003-07-02 11:33:35 +00:00
Pierre Joye 1ebbe4d551 - MFH 2003-07-02 11:24:52 +00:00
Pierre Joye 1d14341231 - MFH 2003-07-02 10:38:09 +00:00
Sascha Schumann b4c03fb0a9 Always store temporary information in LDFLAGS
This also avoids use of PHP_RUN_ONCE which caused some config.m4s to fail.
2003-07-02 03:03:41 +00:00
foobar 9eeb62c4a3 MFH: Be more verbose about what is installed (and in CGI case, WHERE) 2003-07-02 02:48:16 +00:00
Ilia Alshanetsky 116f2fa00a MFH: crash fix 2003-07-02 02:04:22 +00:00
Sascha Schumann d6fbae0c27 Fix install-sapi dependency - it should depend on OVERALL_TARGET, of course. 2003-07-02 01:06:29 +00:00
Sascha Schumann 6c37499531 Make PHP_CHECK_LIBRARY use PHP_EVAL_LIBLINE which automatically
eliminates /usr/lib references
2003-07-01 23:54:44 +00:00
foobar 7a92fe4c4c MFH: Separate CGI install from install-sapi. 2003-07-01 17:03:55 +00:00
foobar 986b654098 MFH 2003-07-01 16:20:53 +00:00
foobar ef7c1af78d MFH: Added --help to phpize 2003-07-01 15:55:27 +00:00
foobar 2a8c1bb255 MFH 2003-07-01 13:34:04 +00:00
Corne' Cornelius ef2d599f45 - Removed unlink() from php_intifx_create_blob() and replaced with a php_copy_file() 2003-07-01 12:37:12 +00:00
Corne' Cornelius 627c9515b1 - Fxied bug in php_intifx_init_blob_infile() where blob.loc_loctype wasn't set 2003-07-01 10:56:17 +00:00
Edin Kadribasic fc846109ba Some more cvs cleanup 2003-07-01 08:10:33 +00:00
Edin Kadribasic 5775569f18 Touch 2003-07-01 08:08:43 +00:00
Sascha Schumann 55b41157cf properly restart syscalls 2003-07-01 05:28:53 +00:00
Sascha Schumann 5ba98ed5d3 MFH
(jason) Prevent lines following the version output from confusing
the version test
2003-07-01 04:25:32 +00:00
foobar 69e0f3bf48 MFH: Fixed bug #24025 (Can not build with shared ldap support) 2003-07-01 00:02:29 +00:00
Shane Caraveo 97422095ed MFH 2003-06-30 21:10:33 +00:00
Marcus Boerger 40acbc1ea5 MFH: Do not test postgres settings 2003-06-30 18:00:55 +00:00
Sergey Kartashoff 94a9447396 - A memory leaks at UdmCatPath and UdmCatList functions have been fixed. 2003-06-30 17:44:20 +00:00
foobar 8229beefa4 MFH 2003-06-30 17:30:47 +00:00
SVN Migration 6a62b9d5b7 This commit was manufactured by cvs2svn to create branch 'PHP_4_3'. 2003-06-30 17:30:17 +00:00
foobar bf6c5ff7c1 minor correction. :) 2003-06-30 13:37:43 +00:00
Andrei Zmievski e6177356ec *** empty log message *** 2003-06-30 13:28:20 +00:00
Ilia Alshanetsky 53b384c01d MFH: fix for bug #24063 2003-06-30 01:05:02 +00:00
SVN Migration b66f3b08bb This commit was manufactured by cvs2svn to create branch 'PHP_4_3'. 2003-06-30 01:03:22 +00:00
Edin Kadribasic 92e30ad3df Fixed win32 build 2003-06-30 00:44:03 +00:00
Edin Kadribasic 17e89935c4 Winsock2 doesn't seem to work in PHP_4_3 2003-06-29 23:59:20 +00:00
Edin Kadribasic 04ced9d63d Fixed CVS screw-up leftovers 2003-06-29 23:49:39 +00:00
Edin Kadribasic 555173a263 MFH: extensions like imap need this exported 2003-06-29 23:29:49 +00:00
foobar 54391bb2ca reorder 2003-06-29 23:02:33 +00:00
Shane Caraveo ea0f710586 stuff 2003-06-29 21:37:11 +00:00
Shane Caraveo 5a2899b78e MFH
renable -b option (removed when longopts were added)
dissable -b on windows due to fastcgi lib bug
close stdin on linux when using socket server (bug 23664)
2003-06-29 20:45:53 +00:00
Shane Caraveo f26cc7bcd4 MFH
fix bug http://bugs.php.net/bug.php?id=24009
also do not use APPL_PHYSICAL_PATH as DOCUMENT_ROOT under IIS, it's
different depending on IIS configuration.  Code works fine without it, that
was just an attempt at a shortcut.
2003-06-29 20:09:56 +00:00
Pierre Joye 08bc2cde18 - Sync from head (DB 1.5RC1) 2003-06-29 19:42:57 +00:00
SVN Migration a5d361d9c4 This commit was manufactured by cvs2svn to create branch 'PHP_4_3'. 2003-06-29 19:40:14 +00:00
Ilia Alshanetsky 96d4171df7 Fixed bug #24340 (basename failure win32 with containing both \ and /) 2003-06-29 15:36:10 +00:00
foobar fd2aaa768a MFH: Fixed bug #24363 (plain "./configure && make install" failed) 2003-06-29 06:04:04 +00:00
foobar 24f73838f2 Note about PCRE upgrade 2003-06-29 02:08:16 +00:00
Andrei Zmievski 2b97f7ce7b - Added a new parameter to preg_match_* functions that can be used to
specify the offset to start matching from.
- Added support for named subpatterns.
2003-06-29 00:08:30 +00:00
Martin Jansen e7e577e05d * MFH: Silence warning 2003-06-28 18:15:35 +00:00
Sascha Schumann 52bdfd3dca Fix snprintf test.
C99 allows for the Single Unix Spec semantics which prescribe a return
value of -1 for n == 0 which is treated as an encoding error.
This reenables use of snprintf on Solaris at least.

Relevant excerpts from ection 7.19.6.5:

    Description

    [..] If n is zero, nothing is written, and s may be a null pointer. [..]

    Returns

    The snprintf function returns the number of characters that would have been
    written had n been sufficiently large, not counting the terminating null
    character, or a negative value if an encoding error occurred.

Single Unix Spec:

http://www.opengroup.org/onlinepubs/007908799/xsh/fprintf.html
2003-06-28 12:29:07 +00:00
Rui Hirokawa 0e29833fc7 deleted code for debuging. 2003-06-28 11:00:37 +00:00
Rui Hirokawa 92c07fbccc Fixed corruption of multibyte character including 0x5c as second
byte in multipart/form-data.
2003-06-28 08:51:05 +00:00
Ilia Alshanetsky bc3d6e90fa MFH: Added missing handling of dateTime 2003-06-28 06:59:31 +00:00
SVN Migration 056e268cb3 This commit was manufactured by cvs2svn to create branch 'PHP_4_3'. 2003-06-28 06:55:48 +00:00
Sascha Schumann 50eb9f576a Serialize headers for systems with low IOV_MAX (e.g. Solaris) 2003-06-27 18:40:55 +00:00
foobar 0db5048d6a MFH 2003-06-27 16:42:51 +00:00
Sebastian Bergmann eed604dce5 libpcre 4.X needs POSIX_MALLOC_THRESHOLD to be defined. 2003-06-27 16:42:49 +00:00
Sara Golemon 97b55a966d Plug the last (hopefully) of the PHP4 context leaks. This one regarding notifier->ptr 2003-06-27 16:16:46 +00:00
Andrei Zmievski 8d5a034c9d Upgrading PCRE library to version 4.3 2003-06-27 14:47:55 +00:00
Sascha Schumann de6e5e315d undefine macros before defining them 2003-06-27 07:43:05 +00:00
Sascha Schumann 8a44b6f251 Try to link the getaddrinfo test, so that one can disable it using
-Dgetaddrinfo=NO_getaddrinfo.
2003-06-27 07:07:03 +00:00
Sara Golemon e6770d6361 Plug *half* a leak in context notifiers.
We still need a check and zval_ptr_dtor(&context->notifier->ptr); in the
php_stream_context_free function, but since ptr is supposed to be a general
purpose container we need to define how that will be done.
2003-06-27 03:40:55 +00:00
Sara Golemon e5d8e11306 MFH: Plug memory leaks when freeing contexts (particularly options) 2003-06-27 01:46:30 +00:00
Sara Golemon 821b603ec2 MFH streamsfuncs.c r-1.22 2003-06-27 01:32:26 +00:00
Sascha Schumann 34363d77db MFH Don't add -L/usr/lib 2003-06-27 00:37:53 +00:00
Sascha Schumann 7a8260d5e0 Eliminate need for automake/aclocal 2003-06-27 00:19:26 +00:00
foobar 1f1d49bbd6 Fixed bug #24261 2003-06-26 18:06:46 +00:00
Pierre Joye 0e82616ea6 - reapply the fix about binary safe write mode (fix multiple sapi bug) 2003-06-26 14:38:04 +00:00
Pierre Joye 9a68a887f0 - MFH 2003-06-26 08:45:51 +00:00
foobar f2b405924d - Crap removal. 2003-06-25 23:09:12 +00:00
Ilia Alshanetsky eee7417f1f Missing bit of the previous patch. 2003-06-25 18:06:56 +00:00
Ilia Alshanetsky db48c076a6 Added sqlite_single_query() function
Fixed a typo in sqlite_array_query() that prevented the acceptance of the
decode_binary parameter.
2003-06-25 17:02:56 +00:00
SVN Migration 5a15aee0e0 This commit was manufactured by cvs2svn to create branch 'PHP_4_3'. 2003-06-25 16:59:25 +00:00
Edin Kadribasic d67afcc9c1 Fixed win32 build 2003-06-25 13:21:54 +00:00
Sascha Schumann b09f475602 make ze1/ze2 coexist 2003-06-25 13:00:46 +00:00
foobar c4e6c0aa83 BFN 2003-06-24 18:00:13 +00:00
Ilia Alshanetsky e459214613 MFH: Fixed bug #24312 (base64_decode() does not skip 0xF0-0xFF characters) 2003-06-24 15:26:10 +00:00
SVN Migration 3dbe3deb64 This commit was manufactured by cvs2svn to create branch 'PHP_4_3'. 2003-06-24 15:23:18 +00:00
Ilia Alshanetsky 701c81c7d1 MFH: typo fix. 2003-06-24 14:36:18 +00:00
Ilia Alshanetsky 557fd9b7a3 MFH: Fixed bug #24313 (file_exist() warning on non-existent files when
open_basedir is used).
2003-06-24 13:44:57 +00:00
Sascha Schumann ae3de7f0c0 Test commit 2003-06-24 01:03:07 +00:00
Ilia Alshanetsky 43b0c8adea Fixed a crash inside sqlite_array_query() when invalid query
is specified.
2003-06-23 19:30:42 +00:00
Pierre Joye c70f036024 - MFH packages 2003-06-22 20:11:27 +00:00
Ilia Alshanetsky d74a72d580 MFH: Fixed bug #24284 (Fixed memory leak inside pg_ping()) 2003-06-22 16:48:16 +00:00
Marcus Boerger 40d758b019 MFH: Fix possible SEGV 2003-06-22 15:55:31 +00:00
Wez Furlong b390e0ebf1 Don't raise two warnings when connection attempt failed. 2003-06-22 10:07:20 +00:00
Harrie Hazewinkel ab2ea18cb5 Applying the contributed patch of Johan hanne.
The patch enables control on the way the values are returned
into the PHP script, instaed of always strings. Also the type
of the value is now returned when configured to do so.
This enables better management scripts to do more automatic
processing and value calculations.
2003-06-21 21:50:01 +00:00
SVN Migration ea33b2824e This commit was manufactured by cvs2svn to create branch 'PHP_4_3'. 2003-06-21 13:50:44 +00:00
Derick Rethans 140e562446 - MFH: Test for bug #17115 2003-06-21 12:05:45 +00:00
Ilia Alshanetsky 9209328fd3 Fixed bug #24253 (missing variables when register_globals is on)
Fixed a memory leak when more then 1 E|S flag is passed to gpc_order.
Fixed a memory leak when variables_order is not set and gpc_order has S|s
flag.
Optimized out duplicate parsing of the variables order string.
2003-06-20 17:00:16 +00:00
Sara Golemon 35938e4d90 MFH (r-1.391) When skipping blank searchvals we should advance the corresponding replace hash as well 2003-06-20 15:44:48 +00:00
Ilia Alshanetsky 316d124ec4 Added missing safe_mode checks 2003-06-19 22:18:58 +00:00
Wez Furlong b1f59b4703 Tidy up getaddrinfo() code so that it can handle broken ipv6 stacks and only
returns TCP addresses for TCP and UDP addresses for UDP requests respectively.

Also, when a connect call "returns" EINPROGRESS and the full timeout limit
has not yet been reached, retry the select with the remaining time interval.
This is a potential fix for Bug #21653.

# Note: atm, the fix is Linux specific; will do some more work to make this
# portable at the weekend.
2003-06-19 22:11:39 +00:00
Ilia Alshanetsky 08ce3d0ed5 MFH (possible streams crash) 2003-06-19 16:43:41 +00:00
Ilia Alshanetsky e39472c606 MFH: Fixed memory leak, when invalid context is specified. 2003-06-19 16:35:29 +00:00
Ilia Alshanetsky 3924c1eabf Fixed a possible crash in parse_context_options() 2003-06-19 16:10:37 +00:00
Marcus Boerger 929ab8b529 MFH: Allow the extension to reside elsewhere 2003-06-19 15:48:18 +00:00
Ilia Alshanetsky da55120b84 MFH: Fixed a crash inside php_imagettftext_common(); 2003-06-19 15:48:09 +00:00
foobar b1c0e42d00 - Added the 'header'. These 4.3.3RCx sections will be combined for the
final release, 4.3.3. just added them now to keep better track on changes
  between the RCs.
2003-06-18 23:24:13 +00:00
Pierre Joye b694edc23d MFH 2003-06-18 22:32:04 +00:00
foobar 0fe951a702 - Go to RC2-dev. 2003-06-18 22:04:41 +00:00
foobar 4cf62ff62c Correct version info. 2003-06-18 22:02:28 +00:00
foobar c6647fc0bf - Go with PHP 4.3.3RC1 2003-06-18 21:59:59 +00:00
foobar 50b17c0f7d This broke more than fixed. Fixes e.g. max_input_time. 2003-06-18 21:58:07 +00:00
foobar a0853a17ed MFH: Fixed bug #24231: ext/sybase_ct could not be build as shared 2003-06-18 18:29:04 +00:00
Rob Richards 35888b62f4 Fix for bug #24219 segfault during resource destruction
Used bug fix to optimize free_doc routine
2003-06-18 17:43:34 +00:00
Ilia Alshanetsky 6b74250915 MFH 2003-06-18 15:19:28 +00:00
Rasmus Lerdorf 1269ac0661 variables_order needs to include S for both of these to work 2003-06-17 22:32:51 +00:00
Ilia Alshanetsky a2f0a9c380 MFH: Handle numeric keys passed via GPC 2003-06-17 17:15:16 +00:00
Pierre Joye 434926a39e MFH,(4.3.3RC1) 2003-06-17 17:13:19 +00:00
foobar 4ccbb1b867 BFN 2003-06-17 15:53:33 +00:00
Ilia Alshanetsky 02af1ac144 MFH 2003-06-17 14:13:25 +00:00
Ilia Alshanetsky 1b747da374 MFH 2003-06-17 13:59:56 +00:00
Ilia Alshanetsky f82e06d4f8 MFH 2003-06-17 13:38:38 +00:00
Ilia Alshanetsky 7812b45b36 MFH: Fixed bug #24223 (missing variable initialization in bundled gd) 2003-06-17 13:37:57 +00:00
Ilia Alshanetsky 09c034c096 BFN 2003-06-17 13:20:54 +00:00
Ilia Alshanetsky 7473ff4698 Fixed bug #24220 (range() didn't handle numeric strings correctly) 2003-06-17 13:20:18 +00:00
SVN Migration 03468f3079 This commit was manufactured by cvs2svn to create branch 'PHP_4_3'. 2003-06-17 13:19:21 +00:00
foobar 138a1157ee MFH: Fixed bug #24207: phpize wrong exit code 2003-06-16 21:44:54 +00:00
foobar a63c981d70 broken caps-lock/shift key 2003-06-16 21:38:07 +00:00
Sara Golemon 9888224208 BFN 24210 2003-06-16 20:22:23 +00:00
Sara Golemon 33ba2503c6 MFH (r-1.14) Bug #24210 : assume misspelled (and thereby not found during configure) 2003-06-16 20:17:13 +00:00
foobar a9eea29b84 MFH 2003-06-16 20:00:11 +00:00
Ilia Alshanetsky c21de1dbe5 MFH: Fixed bug #24208 2003-06-16 19:25:06 +00:00
Sascha Schumann 6b8d3f6b01 Simplify/fix logging 2003-06-16 19:11:44 +00:00
Moriyoshi Koizumi e2ff71d2dd MFH(r-1.1): added test case for bug #24208 2003-06-16 19:10:48 +00:00
SVN Migration 36097f68a0 This commit was manufactured by cvs2svn to create branch 'PHP_4_3'. 2003-06-16 19:10:13 +00:00
Sascha Schumann 20088e34b5 Remove cast which hides a bug in the code. 2003-06-16 19:05:37 +00:00
Derick Rethans ad24ef01de - MFH: Added test for bug #24142 2003-06-16 17:50:49 +00:00
SVN Migration 304a39c793 This commit was manufactured by cvs2svn to create branch 'PHP_4_3'. 2003-06-16 17:50:08 +00:00
Ilia Alshanetsky 338ad09a44 Bug fixing news. 2003-06-16 17:43:11 +00:00
Ilia Alshanetsky 015712b9f1 MFH: Fixed bug #24150 (crash in imap_fetch_overview() &
imap_rfc822_write_address())
2003-06-16 17:42:04 +00:00
Ilia Alshanetsky 11cb016d39 MFH: Fixed bug #24198 (Invalid recursion detection in array_merge_recurcive()) 2003-06-16 17:37:15 +00:00
SVN Migration 327e5834d5 This commit was manufactured by cvs2svn to create branch 'PHP_4_3'. 2003-06-16 17:35:17 +00:00
Ilia Alshanetsky c984c80a7d Hopefully fix win32 build 2003-06-16 12:33:52 +00:00
Daniela Mariaschi fe43729707 proto fixes ibase_rollback and ibase_commit 2003-06-16 10:47:35 +00:00
Ilia Alshanetsky 54cee9cd1f MFH: compiler warnings 2003-06-16 03:07:08 +00:00
foobar ad98994e4a missing entries, cleanup 2003-06-15 21:59:03 +00:00
Marcus Boerger 87c57062c4 Remove that old thing 2003-06-14 19:27:01 +00:00
Edin Kadribasic 180e604534 Fixed win32 build 2003-06-14 18:51:17 +00:00
Sergey Kartashoff 47f2fb1832 @- Mnogosearch extension updated. Now can compile with mnogosearch-3.2.11+
- Mnogosearch extension updated. Now can compile with mnogosearch-3.2.11+
2003-06-14 18:45:26 +00:00
Daniela Mariaschi 96d9102630 MFH: Added IBASE_REC_VERSION/IBASE_REC_NO_VERSION transaction constants 2003-06-14 17:46:33 +00:00
Ilia Alshanetsky f6f08969d1 Bug fixing news 2003-06-14 15:09:26 +00:00
Ilia Alshanetsky 676b4c0362 MFH: Fixed bug #24007 (Problem with register_globals & arrays) 2003-06-14 15:08:37 +00:00
foobar a789f6bb85 MFH 2003-06-14 14:33:11 +00:00
foobar 1e71ec7613 MFH 2003-06-14 12:58:18 +00:00
Frank M. Kromann b3af6c9da5 Updating email address 2003-06-14 03:37:30 +00:00
foobar 0ce220d77a it rains here.. 2003-06-13 14:56:37 +00:00
Ilia Alshanetsky dc1f25d6fb proto 2003-06-13 14:56:23 +00:00
Andrey Hristov e8c057e33f proto fixes 2003-06-13 14:53:13 +00:00
Ilia Alshanetsky 80c568bb30 Bug fixing news. 2003-06-13 14:47:11 +00:00
Ilia Alshanetsky e6b637cd72 MFH:
Fixed bug #24161 (No timeout value for imap functions)
	Fixed bug #22505 (Allow imap_sort() and imap_search() to specify a charset)
2003-06-13 14:45:36 +00:00
Andrey Hristov 10228f3bb8 proto fix
and ws
2003-06-13 14:40:01 +00:00
Sascha Schumann e783c0b5a1 Fix test 2003-06-13 09:17:52 +00:00
foobar 626f3de608 MFH, fixed the test (second session init produces a notices) 2003-06-13 09:16:49 +00:00
Marcus Boerger 4cc45a7ba9 MFH: Bugfix #2397: dba_open locking error with db3 2003-06-12 19:55:16 +00:00
Ilia Alshanetsky 1c7f16c742 MFH: Fixed bug #24155 (gdImageRotate270 incorrectly use x parameter for y axis) 2003-06-12 19:33:19 +00:00
SVN Migration 60211ee3b3 This commit was manufactured by cvs2svn to create branch 'PHP_4_3'. 2003-06-12 19:31:45 +00:00
Andrei Zmievski 68accfe5c1 test 2003-06-12 13:56:03 +00:00
Andrey Hristov 3f824c7e1e proto fixes 2003-06-12 12:51:53 +00:00
Andrey Hristov ab037ed242 proto fixes 2003-06-12 12:37:03 +00:00
Andrey Hristov 4aec010451 proto fixes 2003-06-12 12:28:30 +00:00
Andrey Hristov 9f97891939 proto fixes 2003-06-12 12:23:10 +00:00
Andrey Hristov 9c9b10f047 proto fixes 2003-06-12 11:55:01 +00:00
Andrey Hristov 5f4e664e8b proto fixes 2003-06-12 11:34:31 +00:00
Andrey Hristov 220a5cb89f proto fixes 2003-06-12 10:24:43 +00:00
Andrey Hristov 2cf200c493 proto fixes 2003-06-12 10:03:39 +00:00
Derick Rethans d042cecbd9 - HTTP Request Types are case-sensitive 2003-06-12 08:33:45 +00:00
Ilia Alshanetsky cfc8c7a95e MFH: Added missing safe_mode/open_basedir checks. 2003-06-12 01:47:28 +00:00
Ilia Alshanetsky 6c7e5d9c18 MFH: proto fix 2003-06-11 02:16:49 +00:00
Andrey Hristov 3fdf998703 proto fixes 2003-06-10 14:46:00 +00:00
Sascha Schumann babbbb048b MFH E_NOTICE 2003-06-10 03:57:16 +00:00
Wez Furlong 36c9f3116e BFN 2003-06-09 17:04:57 +00:00
Moriyoshi Koizumi 451f0b2d07 MFH(r-1.137): fixed trivial typo 2003-06-09 08:12:03 +00:00
Edin Kadribasic da10d61faa Fix for #24022 2003-06-09 00:59:08 +00:00
foobar b4aeccba6d the blame..:) 2003-06-09 00:25:26 +00:00
Ilia Alshanetsky c60c1258e2 Fixed compile warnings. 2003-06-08 23:42:47 +00:00
Georg Richter cef32b1e2f fixed a bug in libmysql 2003-06-07 16:14:04 +00:00
Georg Richter 06d67f822b fixed mysql bug #564
(see http://bugs.mysql.com/bug.php?id=564)
2003-06-07 16:12:09 +00:00
foobar 97da8ca6bb hrm.. 2003-06-06 19:30:46 +00:00
Georg Richter 11a765e77d fixed bug 24060 2003-06-06 19:13:10 +00:00
Georg Richter 52dbb39ecd fixed #24060 2003-06-06 18:50:46 +00:00
Sascha Schumann 92b1fecc92 Refine error description 2003-06-06 12:21:26 +00:00
foobar 18c269209d BFN 2003-06-06 12:18:30 +00:00
foobar 808fc0a0bf MFH 2003-06-06 11:10:14 +00:00
SVN Migration 5e852417dd This commit was manufactured by cvs2svn to create branch 'PHP_4_3'. 2003-06-06 11:09:56 +00:00
foobar 677375c0d1 ws 2003-06-06 08:11:38 +00:00
foobar 33a47baa0f MFH 2003-06-06 06:17:11 +00:00
Ilia Alshanetsky a788378ce2 Fix compile warnings (mostly MFH from 5.0 branch) 2003-06-05 23:48:17 +00:00
foobar d3728b5fff WS 2003-06-05 05:07:15 +00:00
foobar 79dc4f7a0c BFN 2003-06-05 05:06:57 +00:00
foobar a32672c1c5 Hopefully this list grows.. 2003-06-05 04:47:07 +00:00
foobar a384966f76 MFH: fix regex issues with apache2handler 2003-06-05 04:15:03 +00:00
Andrei Zmievski fd5d1094d3 Fix a couple of aggregation bugs:
- Needed to add a reference to a function when copying (#23574)
- Due to pecularity of ZE1 object zvals could be re-used, so we always
  set the new class entry explicitly.
2003-06-04 18:57:53 +00:00
Ilia Alshanetsky a4ff44794c Updated the todo to reflect the current situation. 2003-06-04 15:03:29 +00:00
Ilia Alshanetsky e2d057bd2c MFH (dupe macro) 2003-06-04 14:58:33 +00:00
Moriyoshi Koizumi 90eb73bb9d BFN updates 2003-06-04 14:53:31 +00:00
Moriyoshi Koizumi d6245c9e69 MFH(r-1.38): fixed base64_encode() integer overflow issue pointed out in TODO_SEGFAULTS 2003-06-04 14:42:04 +00:00
Moriyoshi Koizumi e99d47a3aa MFH(r-1.87): fixed ob_iconv_handler() type mismatch issue on 64bit platforms. 2003-06-04 14:29:53 +00:00
foobar 89e4c87e57 cleanup + BFN 2003-06-04 05:54:18 +00:00
foobar 8f50a67b87 MFH: no c++ comments and extra tabs. 2003-06-04 05:46:18 +00:00
foobar 269a3ad5ad Fix build 2003-06-04 05:30:45 +00:00
Sascha Schumann 533c499b44 Don't corrupt data during request body handling 2003-06-04 05:28:00 +00:00
Sascha Schumann 39f801b957 Don't return CRLF from broken clients 2003-06-04 05:13:41 +00:00
Ilia Alshanetsky 17d28abb62 MFH 2003-06-04 00:22:30 +00:00
Sascha Schumann 9fbee0b347 clean up macros 2003-06-04 00:01:00 +00:00
Ilia Alshanetsky e83404fea2 GD stuff 2003-06-03 23:57:59 +00:00
Ilia Alshanetsky 1a65bf61a8 MFH (Syncronize bunbled GD with gd 2.0.14) 2003-06-03 23:55:15 +00:00
Ilia Alshanetsky 6443fb2581 MFH (Last set of integer overflow checks.) 2003-06-03 23:42:49 +00:00
Ilia Alshanetsky 2112f46885 MFH: Integer overflow checks. 2003-06-03 23:23:25 +00:00
Edin Kadribasic 074aa05880 BFN: Make Jani happy 2003-06-03 14:47:03 +00:00
Edin Kadribasic 9afa0f3249 Fixed bug #23733.
#HAVE_OCI8_SHARED_MODE is more trouble than its worth.
2003-06-03 12:46:47 +00:00
Hartmut Holzgraefe 3b8f0741cb MFH 2003-06-03 11:07:40 +00:00
Edin Kadribasic 4f75f3bef1 MFH (bugfix #23902 by Shane). 2003-06-03 10:08:17 +00:00
Rasmus Lerdorf 28f4501f0a Fix a couple of closing folding tags 2003-06-03 05:41:49 +00:00
Ilia Alshanetsky 47acdced4c Bug fixing news. 2003-06-03 00:07:20 +00:00
Ilia Alshanetsky b2cf9fe953 MFH: Fixed bug #23912 (Invalid CSS in phpinfo() output) 2003-06-03 00:06:14 +00:00
Rob Richards 1505f6af03 Fix for 64 bit platforms (by Joe Orton) 2003-06-02 18:58:48 +00:00
Holger Zimmermann 35659b625f Merged with main trunk 1.53/1.5. 2003-06-02 17:14:10 +00:00
Daniela Mariaschi 5482637876 MFH: Fixed numeric/decimal +/-(x,y) +/-(x,0)
for all platforms
2003-06-02 12:59:20 +00:00
Derick Rethans 24e91108ba - MFH: Test for bug #23951 2003-06-02 11:13:00 +00:00
SVN Migration b130f77b94 This commit was manufactured by cvs2svn to create branch 'PHP_4_3'. 2003-06-02 11:12:26 +00:00
Uwe Schindler 84ebb3ae39 MFH: Messages for newer servers. 2003-06-01 21:45:26 +00:00
Uwe Schindler aa9d7d766e MFH: Update of README for newer servers; apache-similar functions nsapi_request_headers and nsapi_response_headers with apache_* aliases; hide authorization-header in save mode. 2003-06-01 21:15:52 +00:00
Rasmus Lerdorf 0718a54934 A very minor thing, but we should still make a note of this change. 2003-05-31 17:37:55 +00:00
Moriyoshi Koizumi b0884491ae MFH(r-1.231): CGI SAPI should honour this setting (arg_separator.input) 2003-05-31 17:02:01 +00:00
Uwe Schindler 2da81fefb8 zend_alter_ini_entry now with PHP_INI_USER 2003-05-31 15:32:38 +00:00
Marcus Boerger 651d262d43 Fix the fix 2003-05-31 15:10:03 +00:00
Marcus Boerger 22a9c4d448 Use ZE1 notation as expected result 2003-05-31 14:50:10 +00:00
Marcus Boerger b44ea85296 MFH: Synch latest fixes 2003-05-31 12:59:20 +00:00
Marcus Boerger 951e64a4bc This is needed though 2003-05-31 12:37:44 +00:00
Marcus Boerger 19081305e1 Showing info/warning once is enough 2003-05-31 12:13:15 +00:00
Marcus Boerger f189957991 MFH: make use of safe_estrdup 2003-05-31 10:24:15 +00:00
Georg Richter fb7f9eb420 suggestion by Wez :) 2003-05-31 06:54:53 +00:00
foobar 9085f883ad Re-add this entry 2003-05-31 03:03:00 +00:00
Marcus Boerger fe95410380 Reapply this one, too. 2003-05-31 02:31:10 +00:00
foobar 7ccfa69750 missed this one.. 2003-05-31 02:20:25 +00:00
Marcus Boerger 0b0a331e63 Reapply long opts 2003-05-31 02:20:08 +00:00
foobar 5a28c6dd94 BFN 2003-05-31 02:10:14 +00:00
foobar 8506ee1bfe - Re-added the FD lexer patch.
# Marcus is going to add the long-opts patches back in after this.
2003-05-31 01:37:45 +00:00
Ilia Alshanetsky 7cd254b070 Bug fixing news. 2003-05-31 00:34:14 +00:00
Ilia Alshanetsky 931f3abe4e MFH: Fixed bug #23913 (make rename() work across partitions on *nix) 2003-05-31 00:33:06 +00:00
Uwe Schindler 873f321cf7 Disable virtual() if zlib.output_compression is turned on. Better detection of ns-httpdXX.dll 2003-05-30 23:39:04 +00:00
Moriyoshi Koizumi 24a42bb761 Sync with head (r-1.153) 2003-05-30 22:33:43 +00:00
foobar 4168763049 Info about the improved NSAPI module 2003-05-30 21:40:13 +00:00
foobar 84707a7504 Cleanup, missing entries, BFN 2003-05-30 20:31:37 +00:00
Georg Richter 881414e0af better to test next time with the right version :) 2003-05-30 19:16:58 +00:00
Marcus Boerger d1cbbf62c9 MFH: Fix handling of ini settings 2003-05-30 17:50:06 +00:00
Derick Rethans 59b59d2651 - Added a "DEBUG" qualifier to 'php -v's version output, and made the CGI
version statement look the same as the CLI version. (Derick)
2003-05-30 17:03:10 +00:00
Moriyoshi Koizumi 1447af9522 MFH(r-1.152): refined the bz2 section as per Sascha's suggestion 2003-05-30 16:15:38 +00:00
Moriyoshi Koizumi 376c94c239 MFH(r-1.151): fixed a little typo. No germany.. 2003-05-30 15:33:06 +00:00
Ilia Alshanetsky b617f54d34 Bug fixing news. 2003-05-30 14:46:19 +00:00
Ilia Alshanetsky 4e38d42183 MFH (fix for bug #23898) 2003-05-30 14:45:20 +00:00
Moriyoshi Koizumi 5966ec08a9 I love dots too 2003-05-30 14:17:16 +00:00
Ilia Alshanetsky f7f36b4f37 MFH 2003-05-30 14:09:21 +00:00
Moriyoshi Koizumi 05e3f11ac5 BFN 2003-05-30 13:57:20 +00:00
Moriyoshi Koizumi be18fcec6b MFH(r-1.67): fixed bug #23894 (sprintf() decimal specifiers problem) 2003-05-30 13:50:09 +00:00
Moriyoshi Koizumi 0bf1fb6f19 MFH(r-1.1): added test case for bug #23894 2003-05-30 13:48:26 +00:00
SVN Migration 7bef1c1f2a This commit was manufactured by cvs2svn to create branch 'PHP_4_3'. 2003-05-30 13:48:15 +00:00
Ilia Alshanetsky 77763cee25 Bug fixing news. 2003-05-30 13:20:55 +00:00
Ilia Alshanetsky 01d848075a MFH 2003-05-30 13:20:17 +00:00
Uwe Schindler f9f0c83b30 virtual() now works under windows, too 2003-05-30 13:15:04 +00:00
Georg Richter 90952aae2d fixed #23779 (CLIENT_LOCAL_FILES with open_basedir) 2003-05-30 13:00:17 +00:00
Marcus Boerger fab2534381 MFH: Add php_uname() to output 2003-05-30 12:42:17 +00:00
Adam Dickmeiss ea8eefdf72 Prevent yaz from logging unless yaz.log_file is set 2003-05-30 09:46:01 +00:00
Edin Kadribasic ae7fadf900 Nuke the rest of headers-sent code 2003-05-29 23:57:27 +00:00
Uwe Schindler c97e3bac2a fix of incomplete windows fix 2003-05-29 21:05:06 +00:00
Hartmut Holzgraefe 63130ca782 MFH 2003-05-29 20:24:00 +00:00
Uwe Schindler b653dfe7ba Changes for compilation on windows 2003-05-29 20:13:15 +00:00
Sascha Schumann 33d844496f fix prototype 2003-05-29 17:39:00 +00:00
Sascha Schumann 39267c2bf9 Always send a new session cookie upon regenerating id 2003-05-29 16:19:56 +00:00
Marcus Boerger 5430f7efa9 MFH-Update 2003-05-29 15:42:45 +00:00
Marcus Boerger f01b062a06 MFH: --style switches 2003-05-29 15:41:52 +00:00
Marcus Boerger db81c3d979 MFH: new switches and --style switches 2003-05-29 15:28:01 +00:00
Sascha Schumann 092b805de5 Fix VPATH builds 2003-05-29 14:55:07 +00:00
Marcus Boerger 2ab7673bb0 MFH ini file support 2003-05-29 14:24:10 +00:00
Marcus Boerger ee11982bcb MFH: ini file support 2003-05-29 14:16:25 +00:00
Marcus Boerger e0c3093711 MFH
@Changed exif extension to consider php.ini option magic_quotes_runtime. (Marcus)
2003-05-29 14:12:08 +00:00
Dan Kalowsky 7de28bdc6a ODBC standards compliance is a good thing.
# Should be MFB'd, but my PHP5 is drastically different right now..
2003-05-29 12:34:38 +00:00
Uwe Schindler c5ec799b2d MFH. 2003-05-29 12:29:50 +00:00
Uwe Schindler 3ae99689f7 MFH: php.ini values in magnus/obj.conf; virtual() similar to apache;... 2003-05-29 12:27:39 +00:00
foobar 210ce6796f Added the header for 4.3.3 2003-05-29 01:28:14 +00:00
Rasmus Lerdorf 9a9b55e60b I see no reason not to allow people to set the timeout on a mysql_connect
from inside a script with ini_set().  We allow user-settable timeouts on
other socket connections so having this as a system-settable only
directive doesn't make much sense to me.
2003-05-28 16:18:14 +00:00
foobar 2dc7873362 MFH 2003-05-28 14:12:04 +00:00
Wez Furlong 1ebb0b0785 On win32, always open in binary mode unless they asked for text mode using 't'.
This solves a number of apparent BC breaks that resulted from the move from
fopen() to open().
2003-05-28 10:15:00 +00:00
Hartmut Holzgraefe 01fa930e6b MFH 2003-05-28 09:45:22 +00:00
Hartmut Holzgraefe 28ce738ce7 MFH
@fdf crash with ZTS builds fixed (see Bug #14877)
2003-05-28 09:42:48 +00:00
SVN Migration c49dfb1007 This commit was manufactured by cvs2svn to create branch 'PHP_4_3'. 2003-05-28 09:35:46 +00:00
Pierre Joye 96559baede MFH 2003-05-28 01:52:45 +00:00
foobar 858c75805f There is no point using php_error_docref in MINIT. 2003-05-27 17:24:09 +00:00
Adam Dickmeiss f5b3d65f07 Fix close of log file. 2003-05-27 09:50:49 +00:00
foobar b5c6ea479d Nuke the php_header() call here. Fixes the rest of #14409. 2003-05-26 23:21:08 +00:00
Marcus Boerger 9990a0a301 MFH: In CLI log errors always 2003-05-26 23:07:09 +00:00
Moriyoshi Koizumi 43eda262be MFH(r-1.8): changed the test so it would not fail on some old platforms. 2003-05-26 22:16:40 +00:00
Melvyn Sopacua 9bc15253ad Make LC_MESSAGES available, for platforms that don't have it natively,
when gettext is compiled in.
2003-05-26 20:56:01 +00:00
Wez Furlong 5303587494 Plug a leak - noticed by Ilia. 2003-05-26 19:01:45 +00:00
Derick Rethans 33bed67b99 - Fixed a bug in reporting start-up errors with the CLI: No HTTP header shall
be shown.
2003-05-26 18:33:20 +00:00
Derick Rethans 3d3416d10e MFH: Typo 2003-05-26 09:46:34 +00:00
foobar 02c184dce8 MFH 2003-05-26 04:01:12 +00:00
SVN Migration 89f2c54773 This commit was manufactured by cvs2svn to create branch 'PHP_4_3'. 2003-05-26 03:55:09 +00:00
foobar 36e9a1582f BFN 2003-05-26 03:48:22 +00:00
Ilia Alshanetsky bd955dcb81 MFB 2003-05-26 02:00:37 +00:00
Shane Caraveo 653717b72c http://bugs.php.net/bug.php?id=14409
in the shell, if we get a filename on the commandline, never use stdin.
This fixes '\>php nonexistent.php'
will MTH once I get 5 building properly
2003-05-25 19:22:25 +00:00
Shane Caraveo 67ebb942b6 http://bugs.php.net/bug.php?id=23800
change the default for those who cannot
this was actually done a long time ago, but got reverted along the way
2003-05-25 18:35:18 +00:00
Marcus Boerger d9cf9e37fb MFH: speling 2003-05-24 12:00:59 +00:00
Wez Furlong 976f0d8303 Adjust error message to encourage people with apparently broken IPV6 systems to
build PHP without IPV6 support.
2003-05-24 03:15:53 +00:00
Marcus Boerger 7b514da372 Executing tests once is enough 2003-05-23 22:36:20 +00:00
Sara Golemon a0a3b47001 BFN 23765 2003-05-23 21:42:35 +00:00
Sara Golemon 97dd56a974 Bug#23765 File upload handler should not care about case sensitivity of header values. 2003-05-23 21:37:16 +00:00
Marcus Boerger 14fc7fa96c MFH: Make this a warning 2003-05-23 20:56:33 +00:00
Marcus Boerger 1a7e7165a7 MFH: Add warning level for tests. 2003-05-23 20:55:57 +00:00
Wez Furlong bdcd417ad6 Avoid greedy reads on FIFOs 2003-05-23 15:27:09 +00:00
Wez Furlong b3171064fd Fix Bug #23770: Odd output from file_get_contents().
php_stream_copy_to_mem couldn't handle the case when the read returned less
than chunk_size/4 bytes (except when it was the last chunk read).
2003-05-23 11:10:34 +00:00
Ilia Alshanetsky 31fe8c5c16 MFH 2003-05-23 02:42:22 +00:00
foobar 1c0ff3c97e MFH 2003-05-23 00:00:11 +00:00
SVN Migration 2e48996c64 This commit was manufactured by cvs2svn to create branch 'PHP_4_3'. 2003-05-22 23:59:38 +00:00
foobar 0ae1d743e6 fix the generated file. 2003-05-22 22:35:37 +00:00
Wez Furlong befce57664 Add --force so release package building works 2003-05-22 00:26:02 +00:00
foobar db082e4215 - This branch is now PHP 4.3.3-dev. (no more RCs!) 2003-05-21 23:31:20 +00:00
foobar a7290240a2 Go with PHP 4.3.2RC4 2003-05-21 23:22:01 +00:00
Jay Smith 6fee33722d MFH 2003-05-21 23:08:27 +00:00
Ilia Alshanetsky cb87994fcd Fixed bug #23744 2003-05-21 22:54:38 +00:00
foobar 961b1151c0 BFN 2003-05-21 22:37:01 +00:00
foobar a335bb813d MFH: Fixed bug #23738 (ifx_copy_blob() crash). (Jani) 2003-05-21 22:36:46 +00:00
foobar 0840b0ccf0 BFN 2003-05-21 21:57:58 +00:00
Ilia Alshanetsky 237bf7a69c MFH 2003-05-21 17:04:19 +00:00
Rasmus Lerdorf 022d058ce1 Revert bogus commit 2003-05-21 17:00:57 +00:00
Sander Roobol 5aaa0bcf64 MFH (ob_gzhandler and zlib.output_compression should send a Content-Length
header if the length of the complete compressed output is known)
2003-05-21 16:07:33 +00:00
Wez Furlong f41f376213 Allow win32 people to fopen($filename, 'rt') to explicitly chose text-mode
files again.

The functionality was accidentally dropped when we introduced our own fopen
mode string parser.
2003-05-21 12:02:55 +00:00
Zeev Suraski cbd712e8c9 Fix typo 2003-05-21 10:23:31 +00:00
Zeev Suraski b831413ba7 Remove php_stream_open_wrapper_as_file_handle, it was fd-patch specific 2003-05-21 10:19:03 +00:00
Zeev Suraski 2127840893 Revert PHP part of the fd patch 2003-05-21 09:34:21 +00:00
Marcus Boerger 2e34a6a9a6 MFH: This depends on libc and CPU used 2003-05-21 07:24:28 +00:00
Sascha Schumann f851db2531 readd essential line for multiple sessions inside one request 2003-05-21 02:33:13 +00:00
Ilia Alshanetsky 5d900b5171 MFH 2003-05-21 00:57:48 +00:00
foobar 25fcdb4304 BFN 2003-05-21 00:36:50 +00:00
Marcus Boerger b92cc3d806 MFH 2003-05-21 00:35:29 +00:00
Frank M. Kromann 09ddabb35e Fix for bug 23402. Crash when mssql?bind was used incorrectly 2003-05-21 00:06:41 +00:00
Marcus Boerger 4cb2b8e1fe MFH: Fix test (ssen by Dan Torop) 2003-05-20 22:28:29 +00:00
Wez Furlong 8eb3233f82 Implement socket liveness checking for SSL streams when recycling via
pfsockopen.
2003-05-20 22:14:47 +00:00
Sascha Schumann 8b4ff89345 Make error messages less ambiguous 2003-05-20 21:01:42 +00:00
Wez Furlong abd2b78275 Make fread() non-greedy for socket based streams 2003-05-20 20:47:39 +00:00
Sascha Schumann 67631ea57c Defensive programming 2003-05-20 20:01:54 +00:00
Andrei Zmievski 12ce650f03 MFH 2003-05-20 18:12:07 +00:00
Wez Furlong 549625a4c7 Touch and remove WS added by last touch.... 2003-05-20 16:53:58 +00:00
Wez Furlong 5ce5b396f7 Touch files 2003-05-20 16:53:24 +00:00
Sascha Schumann bddbce404f Better reinitialize session_status unconditionally 2003-05-20 14:20:14 +00:00
Sascha Schumann 4557989eff initialize err 2003-05-20 12:45:35 +00:00
Sascha Schumann 0f4b4c82de Fix use of ZEND_EXTERN_MODULE_GLOBALS which mysteriously includes a
trailing semicolon.

Also add a do {} while (0) construct in php_session.h
2003-05-20 12:38:04 +00:00
Moriyoshi Koizumi a9a7057448 Revisit the braindead patch only for this branch
# this behaviour is fixed in the php5 branch
2003-05-20 07:34:08 +00:00
Ilia Alshanetsky 5defe2dd7c MFH 2003-05-20 00:37:13 +00:00
Wez Furlong 1a6d970f7e Much better fix for refcount issues with contexts, and fix a leak in context
value storage.
2003-05-20 00:21:57 +00:00
Marcus Boerger 75144252c0 MFH: Fix Test (2nd time) 2003-05-20 00:10:01 +00:00
Wez Furlong cedd7ef4bf Fix refcounting problem with contexts.
Also, potentially fix stream_set_timeout issues on SSL streams.
2003-05-19 23:27:49 +00:00
Wez Furlong 9efa05b7c7 Fix persistent stream recycling within the same request.
function foo()
{
	$s = pfsockopen("localhost", "80");
	var_dump($s);
}
foo(); foo();
2003-05-19 22:55:56 +00:00
Marcus Boerger c00b313bee MFH: Fix protos 2003-05-19 22:53:35 +00:00
Marcus Boerger 8725a3147d MFH: Fix Test 2003-05-19 22:17:05 +00:00
Marcus Boerger d66fa199b4 MFH 2003-05-19 21:50:06 +00:00
Derick Rethans b3251de43f - Add alias for easier transition 2003-05-19 17:45:50 +00:00
foobar 2cab62fdc4 BFN 2003-05-19 14:20:28 +00:00
foobar 596b08b9a1 MFH: Fixed bug #23539 (curl_exec() produces strange results). (daniel@haxx.se) 2003-05-19 14:19:33 +00:00
Moriyoshi Koizumi 52c6a66274 MFH(r-1.86): fixed bug #23683 2003-05-19 13:27:05 +00:00
foobar ebfb3cb678 MFH 2003-05-19 13:14:06 +00:00
Wez Furlong 60434f91bd Add sanity check to buildconf to prevent it from being run in our released
packages.
2003-05-19 11:45:02 +00:00
foobar 396e830e72 BFN 2003-05-19 07:18:40 +00:00
Shane Caraveo 331f905e8a MFH
continuation on bugfix #13757
make argv/argc *and* query_string work correctly when running cgi in shell
2003-05-19 06:46:50 +00:00
Ilia Alshanetsky 3987509ac3 MFH 2003-05-19 04:57:08 +00:00
Shane Caraveo 818412a4a9 MFH
bugfix #13757 - passing query string on command line when run from shell
2003-05-19 03:40:53 +00:00
Sascha Schumann 45a703d3f1 Move awk detection before config.m4 inclusion 2003-05-19 01:42:13 +00:00
Sascha Schumann 55a52eb920 Use $AWK instead of awk, fixes build issue on Solaris with old-style ext 2003-05-19 01:33:29 +00:00
foobar e53ca2b5dd mfh 2003-05-18 14:55:56 +00:00
Marcus Boerger 86ce37ce21 MFH: Enable bundled submodules when enabling module 2003-05-18 12:36:34 +00:00
Marcus Boerger 68eef6b9f4 Update 2003-05-18 12:13:53 +00:00
Marcus Boerger dd866fdd82 MFH: Fix test (for now - need EXPECTF/EXPECTREGEX) 2003-05-18 12:10:15 +00:00
Marcus Boerger f53160138e Fix unserialize (commit later) 2003-05-18 12:04:52 +00:00
Marcus Boerger 9719a22ff8 Fix unserialize 2003-05-18 12:04:34 +00:00
Zeev Suraski 6a966b79d7 binary compat for 64-bit platforms shouldn't matter much as they were
fairly broken to begin with
2003-05-18 10:22:16 +00:00
Zeev Suraski 8dfb69ebca Restore binary compatibility with 4.3.0 2003-05-18 10:16:57 +00:00
Moriyoshi Koizumi ae30c7f4ab And this is needed indeed 2003-05-17 20:07:00 +00:00
Moriyoshi Koizumi eeb43eb1eb oops 2003-05-17 20:04:35 +00:00
Moriyoshi Koizumi c2660ef64a Fixed the test so it won't fail under safe mode 2003-05-17 20:00:46 +00:00
Moriyoshi Koizumi 41278da02f MFH(r-1.225): fixed bug #23669
# When the script is launched with the "Action" directive,
# PATH_TRANSLATED is then populated to indicate the virtual location of
# the script, and both REDIRECT_URL / PATH_INFO are set to the virtual URI.
# Otherwise, REDIRECT_URL may take an arbitrary value instead of the actual
# URI, which cannot be relied upon at all.
2003-05-17 18:55:23 +00:00
Georg Richter d76c684cef move to pecl 2003-05-17 15:11:17 +00:00
Georg Richter cf43cddba9 move to pecl 2003-05-17 15:06:02 +00:00
Georg Richter ac88c9cabd added ext/mysqli for PHP4. This version doesn't support OO-function calls 2003-05-17 14:15:58 +00:00
Marcus Boerger 444959cd81 Mail too 2003-05-17 11:32:22 +00:00
Wez Furlong 0ee4b1dd48 Fix segfault 2003-05-17 09:34:12 +00:00
Sascha Schumann 8053881211 protect against further surprises by initializing all zend_file_handle's 2003-05-17 08:06:53 +00:00
Sascha Schumann 0c376684c7 Initialize all zend_file_handle instances properly 2003-05-17 07:55:18 +00:00
Sara Golemon bab2866e21 Bug #14369. ftp extension allows circumvention of safe_mode restrictions 2003-05-17 04:20:12 +00:00
Sara Golemon f026645177 Bugfix 23654. If subject is an array and it contains other arrays, we want to pass those subarrays through unchanged rather than attempt to convert them to string. 2003-05-16 23:24:55 +00:00
Moriyoshi Koizumi d36a62dd0e MFH(r-1.43): fixed a syntax highlighter problem that happens when output buffering is turned on 2003-05-16 23:08:47 +00:00
Sascha Schumann a9930145fe MFH 2003-05-16 22:33:15 +00:00
Masaki Fujimoto 98e4c9aef4 - mbstring.h is no more needed 2003-05-16 20:33:18 +00:00
foobar eaeff2e939 typo fixing 2003-05-16 20:20:06 +00:00
Wez Furlong 67391df6f0 No typo... its tmpnam in one place, tempnam in another...
/home/wez/packages/imap-2002b/c-client/osdep.c:287:
the use of `tmpnam' is dangerous, better use `mkstemp'
2003-05-16 20:12:46 +00:00
Moriyoshi Koizumi b484bc253a Moved initialisation code to the proper place. 2003-05-16 19:28:17 +00:00
Wez Furlong 54c83ce7a3 Fix memory leak in the COM extension.
Patch from Michael Sisolak <msisolak at yahoo dot com>
2003-05-16 19:20:18 +00:00
Derick Rethans 37142b284f - Fixed bug #23661: mysql_fetch_array gives no warning on an invalid
result_type
2003-05-16 19:07:57 +00:00
Wez Furlong 217a213a5d Stronger validation of parameters to ob_start(). 2003-05-16 19:06:37 +00:00
foobar 9233c937ae We do not have to add entries for bugs that are introcuded between RCs.. 2003-05-16 15:30:57 +00:00
Ilia Alshanetsky c4690101a3 Bug fixing news. 2003-05-16 15:15:29 +00:00
Ilia Alshanetsky 129d6e940f MFH 2003-05-16 15:13:57 +00:00
Derick Rethans c8c6b2141e - Fix speling:
/dat/dev/php/php-4.3.2RC3/ext/mysql/libmysql/my_tempnam.c:115: the use of
  `tempnam' is dangerous, better use `mkstemp'
2003-05-16 15:03:45 +00:00
Moriyoshi Koizumi 97a0b51739 MFH(r-1.2): copy'n'paste failure 2003-05-16 06:25:12 +00:00
Moriyoshi Koizumi ee135e463c MFH(r-1.1): added test case for bug #23650 2003-05-16 06:21:57 +00:00
Moriyoshi Koizumi a5c040170c MFH(r-1.381): fixed bug #23650 2003-05-16 06:21:39 +00:00
SVN Migration 8e2ddfb9df This commit was manufactured by cvs2svn to create branch 'PHP_4_3'. 2003-05-16 06:20:24 +00:00
Sascha Schumann 2c84b8acb8 forgot that 2003-05-16 06:16:16 +00:00
Ilia Alshanetsky 1fdb920299 Fixed proto 2003-05-16 01:09:10 +00:00
Moriyoshi Koizumi c1a6b4530b MFH(r-1.6): fixed test so it won't fail with the output_handler enabled 2003-05-15 19:20:55 +00:00
foobar daacfa367b - Now this is 4.3.2RC4-dev..hopefully we won't need it. :) 2003-05-15 18:50:48 +00:00
foobar 73d041e231 Bumb version. 2003-05-15 18:46:20 +00:00
foobar 5faf455502 fix this test for release.. 2003-05-15 18:36:59 +00:00
foobar 35fb4f2c20 better not confuse people with this test.. 2003-05-15 17:50:29 +00:00
Sascha Schumann 6c3f316db8 MFH 2003-05-15 16:55:21 +00:00
Sascha Schumann 3837327f43 MFH 2003-05-15 16:43:29 +00:00
foobar d568d3877a Added missing bracket. 2003-05-15 14:47:00 +00:00
Sascha Schumann 99515d905c MFH 2003-05-15 13:33:52 +00:00
foobar e06424afc7 wrapped the lines to be max. 80 chars as some people still use antique.. 2003-05-15 12:48:15 +00:00
foobar 1a5e210004 my back hurts.. 2003-05-15 12:28:46 +00:00
Sascha Schumann e1818aae0a Avoid using a stream which has already been freed 2003-05-15 12:01:01 +00:00
Ilia Alshanetsky 01aef58899 Bug fixing news. 2003-05-15 02:27:11 +00:00
Ilia Alshanetsky 670d72a64b MFH 2003-05-15 02:25:59 +00:00
Wez Furlong 0a837f8064 Better be sure to spell it out... 2003-05-14 19:10:27 +00:00
Wez Furlong 8307e2c329 4, not 3 :) 2003-05-14 19:10:02 +00:00
Wez Furlong 5c48a21bcc Avoid warning about casting as FD when including. This fixes the
fopencookie/userstream/include test.

Add label for new selectable descriptor cast mode.
2003-05-14 18:38:01 +00:00
foobar 39d03d8ab6 MFH 2003-05-14 18:23:41 +00:00
Moriyoshi Koizumi e674b5c6a4 MFH: reverted the patch for the PATH_TRANSLATE issue 2003-05-14 18:19:57 +00:00
foobar 395123dcc8 Added test case for bug #23624 2003-05-14 15:01:31 +00:00
Edin Kadribasic b484523d7f Credits update 2003-05-14 13:40:49 +00:00
Daniela Mariaschi 22e9844842 MFH: better fix bug #20641.
Overflow numeric/deciaml datatype on NT
2003-05-14 08:26:34 +00:00
Marcus Boerger 6dfca30ec9 Update 2003-05-14 06:42:21 +00:00
Marcus Boerger fd0b71760e MFH: Enable db<n> builds configured with --with-uniquename 2003-05-14 06:22:58 +00:00
Sascha Schumann 862edc6aae Fix file_get_contents segfault on empty file 2003-05-14 01:08:47 +00:00
Moriyoshi Koizumi fcffe5b582 MFH(r-1.4, r-1.4, r-1.5, r-1.4, r-1.4, r-1.4): fixed tests so they won't fail
in correct situations
2003-05-14 00:37:45 +00:00
Ilia Alshanetsky 32131681f7 Fixed a memory leak when -h flag is used. 2003-05-14 00:11:01 +00:00
foobar 2cd08683c8 - Fixed bug #23584 (error line numbers off by one when using #!php).
# already fixed in php5
2003-05-14 00:05:12 +00:00
Sascha Schumann 0e47b9242d Readd fd 0-2 protection, so that users cannot close them 2003-05-13 23:51:57 +00:00
Sascha Schumann 4066bd0a17 Supply STDIN/OUT/ERR_FILENO directly, instead of opening them through
stdio's fdopen.
2003-05-13 23:44:35 +00:00
Sascha Schumann bbf39825e1 Use POSIX IO here, mainly to fix interactive mode.
This also fixes a possible cpu-time hog bug where a file would consist
of "#" and nothing else.
2003-05-13 23:36:38 +00:00
Sascha Schumann 7017cc588c Use and supply zend_open func 2003-05-13 23:09:27 +00:00
foobar 057d36b789 MFH 2003-05-13 22:10:27 +00:00
Ilia Alshanetsky b811d30a74 MFH 2003-05-13 22:09:30 +00:00
foobar 8530516f40 reorder 2003-05-13 22:05:34 +00:00
Marcus Boerger 987d9aff6c MFH: Fix this test 2003-05-13 20:39:08 +00:00
Moriyoshi Koizumi 1a241fc6f6 made it slightly descriptive 2003-05-13 19:41:46 +00:00
Moriyoshi Koizumi a0a0ff10a4 BFN 2003-05-13 19:40:29 +00:00
Moriyoshi Koizumi ecf62dc44e MFH(r-1.112, r-1.18): fixed bug #23610 2003-05-13 19:38:04 +00:00
Sascha Schumann cfeebdf8c5 MFH 2003-05-13 18:48:18 +00:00
Christian Stocker cd1def8074 fix possible segfault 2003-05-13 14:42:23 +00:00
Adam Dickmeiss 99af37d2c8 Fix problem with yaz_record in array mode, when record is unavailable. 2003-05-13 11:05:59 +00:00
Sascha Schumann 10f2defb04 Ensure that we don't close a random fd
fchdir(0)                                       Err#20 ENOTDIR
close(0)                                        = 0
2003-05-13 02:25:29 +00:00
Ilia Alshanetsky d80e0fc48c MFH 2003-05-13 01:58:16 +00:00
Wez Furlong a159c212c4 BFN! 2003-05-13 00:21:50 +00:00
Wez Furlong 3b2f0b8ac4 Fix erroneous error status when attempting to use stream_select() on an SSL
stream.  As a by-product, this also fixes Bug #22238, stream_select() clobbers
read buffer for pipes.
2003-05-13 00:18:27 +00:00
Wez Furlong 6c0ee68f07 Probable fix for #23567 - pfsockopen returns dead connection.
# Just need to verify under win32
2003-05-12 23:44:48 +00:00
Moriyoshi Koizumi 46756f8caa MFH(r-1.175, r-1.53): applied the right fix for bug #23016 2003-05-12 13:31:16 +00:00
Ilia Alshanetsky 38beab8a1e ifdef away win32 only variables. 2003-05-12 04:05:54 +00:00
Sascha Schumann c53c056477 MFH 2003-05-12 01:29:41 +00:00
Sascha Schumann 6db735215a MFH 2003-05-12 01:03:47 +00:00
Moriyoshi Koizumi 52c52c1c3d MFH(r-1.228): fixed bug #22463 and bug #23581 2003-05-11 06:39:42 +00:00
Moriyoshi Koizumi 7d4a198992 MFH(r-1.1, r-1.1): added test cases for bug #22463 and bug #23581 2003-05-11 06:35:11 +00:00
SVN Migration 794994bfb5 This commit was manufactured by cvs2svn to create branch 'PHP_4_3'. 2003-05-11 06:33:36 +00:00
Moriyoshi Koizumi 1df318632d Fixed bug #23016 2003-05-10 20:55:44 +00:00
Rasmus Lerdorf b8af95533a Need to add the kerberos include dir here (fixes compile problem on RH9) 2003-05-10 17:11:33 +00:00
Sascha Schumann f695e50683 MFH 2003-05-10 16:49:53 +00:00
Hartmut Holzgraefe 4b3a23efa9 removing the crashbug on windows 2003-05-09 13:55:44 +00:00
Pierre Joye ad07d32fc7 MFH 2003-05-09 12:17:07 +00:00
Hartmut Holzgraefe 48ef3a2f55 MFH 2003-05-09 09:56:51 +00:00
Edin Kadribasic eafad14638 Reverting my last patch because user reports it does not help
solve the problem. (bug #23504)

# I cannot reproduce this myself so reverting the patch
# is probably the best thing to do at this point.
2003-05-09 09:08:09 +00:00
Ilia Alshanetsky 6503178113 MFH 2003-05-09 01:10:24 +00:00
Moriyoshi Koizumi a678dd0832 MFH(r-1.84): added "&euro;" support for htmlentities() and html_entity_decode() 2003-05-08 15:44:32 +00:00
Edin Kadribasic f601dff0c2 Fix for bug #23504. Read per_dir configuration before trying to open the
the php file for execution.
2003-05-08 09:19:44 +00:00
Ilia Alshanetsky 9acdb6b6c8 MFH 2003-05-08 01:23:36 +00:00
Sara Golemon e29c2b0872 MFH(r-1.72) 2003-05-07 20:32:28 +00:00
Moriyoshi Koizumi 96d9074817 MFH(r-1.16): possible fix for bug #23455 (patch by rrichards@digarc.com) 2003-05-07 14:12:57 +00:00
Sascha Schumann c959028440 update 2003-05-06 23:53:33 +00:00
foobar 8902f7fc3f update 2003-05-06 23:43:13 +00:00
Sascha Schumann b0fdf62d3c update 2003-05-06 23:26:09 +00:00
Rasmus Lerdorf c03591bbc0 Remind people that sending in their qa info may contain sensitive data. 2003-05-06 20:22:17 +00:00
Sascha Schumann 2b2187ea33 MFH 2003-05-06 19:18:07 +00:00
Marcus Boerger ee1f22f64e Change of roles 2003-05-06 15:07:09 +00:00
Sascha Schumann b790692180 Eliminate fsync calls which apply to files, not sockets.
Also disable the Win32 socket shutdown procedure for non-Win32 systems.

closesocket has quite different semantics on Win32 which requires
a certain shutdown procedure as outlined here:

http://msdn.microsoft.com/library/default.asp?url=/library/en-us/winsock/winsock/shutdown_2.asp
2003-05-06 14:39:31 +00:00
Sascha Schumann 62f0ea7954 Real fix for open() issue on Solaris 2003-05-06 13:18:38 +00:00
Sascha Schumann 648355a4cb When HAVE_BROKEN_GETCWD is in effect, open() will be called, so we need
to include unistd.h.
2003-05-06 13:06:53 +00:00
Sascha Schumann cf6352e82f Move persistent into ZEND_DEBUG section 2003-05-06 11:53:33 +00:00
Sascha Schumann b70f5ce50c Drop some TSRMLS_FETCH which are not used according to gcc 2003-05-06 11:52:11 +00:00
Sascha Schumann 09d0f92e05 Fix URL reading 2003-05-06 11:04:42 +00:00
Sascha Schumann 4e340d5e6c fix typo 2003-05-06 10:15:59 +00:00
Sascha Schumann 5696b0327f improve portability 2003-05-06 10:14:39 +00:00
Marcus Boerger ea7f0f7314 MFH 2003-05-06 09:34:20 +00:00
Marcus Boerger 97807d68e9 MFH new test layout 2003-05-06 01:26:21 +00:00
Daniela Mariaschi 908f56d375 MFH 2003-05-05 22:45:32 +00:00
Marcus Boerger decda2cb0e Bugfix #22367 2003-05-05 22:36:16 +00:00
Ilia Alshanetsky 83dbc17647 MFH 2003-05-05 22:21:37 +00:00
Ilia Alshanetsky 70369b3888 MFH 2003-05-05 19:57:40 +00:00
Moriyoshi Koizumi 314d0c288f MFH(r-1.81): added links to HTML entity resources 2003-05-05 19:51:16 +00:00
Wez Furlong 246300a60c Avoid potential segfault when preparing an SSL stream. 2003-05-05 16:30:04 +00:00
Christian Stocker 98baae88df xmlInitParser() at MINIT for better thread-safety (by Rob) 2003-05-05 14:46:49 +00:00
Christian Stocker 1e6865b38e Set the doc property to NULL if no parent is available (by Rob Richards) 2003-05-05 12:55:23 +00:00
Thies C. Arntzen 42e19bdbd7 fixed FMR 2003-05-05 12:17:03 +00:00
Sebastian Bergmann 44049a7e62 MFH: Add test case for bug #23489. 2003-05-05 10:17:14 +00:00
SVN Migration cbab7fcfea This commit was manufactured by cvs2svn to create branch 'PHP_4_3'. 2003-05-05 10:16:05 +00:00
Moriyoshi Koizumi 727d97a95e Credit Jay's name 2003-05-04 19:34:52 +00:00
Ilia Alshanetsky ae6840dc31 MFH 2003-05-04 19:10:07 +00:00
Ilia Alshanetsky eef36a86dc Bug fixing news. 2003-05-04 18:42:19 +00:00
Ilia Alshanetsky 8eac6854f5 MFH 2003-05-04 18:41:37 +00:00
SVN Migration 2645704e4d This commit was manufactured by cvs2svn to create branch 'PHP_4_3'. 2003-05-04 18:41:03 +00:00
Marcus Boerger de8c0e5070 BFN: #23162 2003-05-04 18:29:05 +00:00
Moriyoshi Koizumi c52b97c89f MFH(r-1.174): fixed an issue that zend-multibyte's behaviour doesn't reflect the change to mbstring.internal_encoding ini setting. 2003-05-04 13:12:26 +00:00
Moriyoshi Koizumi f63177b075 MFH(r-1.379,r-1.1): real fix and a test case for bug #22008 2003-05-04 12:45:12 +00:00
SVN Migration d1ae16818e This commit was manufactured by cvs2svn to create branch 'PHP_4_3'. 2003-05-04 12:44:37 +00:00
Moriyoshi Koizumi 50e6fc68f4 BFN 2003-05-04 11:52:44 +00:00
Moriyoshi Koizumi ef2bc94ac4 MFH(r-1.378): a quick fix for bug #22008 2003-05-04 11:46:23 +00:00
Moriyoshi Koizumi 7a80b64960 MFH(r-1.109): added missing sanity check 2003-05-04 11:22:00 +00:00
Marcus Boerger 825c107f2b Fix test 2003-05-02 23:27:46 +00:00
Sascha Schumann 89cd013bd6 Rework text 2003-05-02 18:25:39 +00:00
Moriyoshi Koizumi 9d0951f2d7 MFH(r-1.80): fixed bug #23449 2003-05-02 11:01:00 +00:00
Thies C. Arntzen 8a5297e61c @ - Fixed bug #23376 OCINewDescriptor 2003-05-02 08:43:25 +00:00
Sara Golemon 631112ec2f MFH(r-1.227) 2003-05-02 01:05:16 +00:00
foobar c0b58291d2 MFH: - Fixed bug #22580 (ext/odbc compile failure with dbmaker) 2003-05-02 00:40:35 +00:00
foobar 6d9c0036b7 MFH: - Fixed bug #23427 (compile failure with GD 1.8.3) 2003-05-01 23:50:25 +00:00
Ilia Alshanetsky f4a30e483c MFH 2003-05-01 21:08:47 +00:00
Sascha Schumann 19e8346959 cleanup 2003-05-01 20:50:26 +00:00
Wez Furlong c3d353867a Really fix dll linkage, and fix TSRMLS usage. 2003-05-01 10:44:18 +00:00
Wez Furlong 8062aa164a MFH: Fix odbc_fetch_(array|object) for UnixODBC. 2003-04-30 23:33:18 +00:00
Ilia Alshanetsky 79577fadf9 MFH 2003-04-30 21:54:04 +00:00
Frank M. Kromann 458bcdc77e Fixing bit support. Bug #23324 2003-04-30 21:52:06 +00:00
Moriyoshi Koizumi d99e16a9be another oops. (sync with HEAD) 2003-04-30 16:32:15 +00:00
Moriyoshi Koizumi 2c1983f352 MFH(r-1.5): really fix the test 2003-04-30 16:31:01 +00:00
Rasmus Lerdorf f183abfd6a Fix gdCacheDelete() crashes in the bundled gd library 2003-04-30 16:23:59 +00:00
Wez Furlong c3a1a51f83 Fix leak in "php -m". 2003-04-30 13:07:18 +00:00
Wez Furlong c4e23fff2b Really fix the leak in the branch... 2003-04-30 11:12:03 +00:00
Wez Furlong 6454f5c3f2 MFH: Fix memory leak and enable for IBM DB2. 2003-04-30 10:46:43 +00:00
foobar 08a657f8fa MFH 2003-04-30 10:42:37 +00:00
foobar fb950ce0d5 BFN 2003-04-30 10:40:08 +00:00
foobar 034d61dbaa MFH: - Fixed bug #23371 (configure falsely detects c-client using SSL) 2003-04-30 10:35:06 +00:00
foobar 5edbe423b7 MFH 2003-04-30 10:23:06 +00:00
foobar 3220d2d769 MFH: compile fixes for < 9.2 oracle 2003-04-30 10:20:14 +00:00
Sascha Schumann 2bc6223a5f MFH fix for solaris find breakage 2003-04-30 07:08:32 +00:00
Ilia Alshanetsky 63693db502 MFH 2003-04-30 00:47:20 +00:00
Ilia Alshanetsky a2c87335ea MFH 2003-04-30 00:37:40 +00:00
Wez Furlong 87eaeb5363 Fix win32 build of shared openssl extension. 2003-04-29 13:48:06 +00:00
Moriyoshi Koizumi c7ae114bdf MFH(r-1.4): fixed typo 2003-04-29 13:06:12 +00:00
Moriyoshi Koizumi 968ed87454 MFH(r-1.3): fixed bogus skip condition 2003-04-29 13:04:57 +00:00
Moriyoshi Koizumi 886f9faaf3 dot 2003-04-28 23:39:15 +00:00
Ilia Alshanetsky f15b229e55 MFH 2003-04-28 22:42:36 +00:00
Wez Furlong 2878b23b14 BFN 2003-04-28 22:38:50 +00:00
Sascha Schumann d6302ef69d Fix Content-Encoding header lacking CRLF 2003-04-28 22:06:54 +00:00
foobar 1823f4748c - Change the version to 4.3.2-RC3-dev
# This should have been RC2-dev before..
# (if it was plain RC, we could not so easily know what versions people
# are testing from snapshots, for example)
2003-04-28 21:19:03 +00:00
foobar 7c495e9250 - Bumb the version to 4.3.2-RC2 2003-04-28 21:11:47 +00:00
foobar fcc7633bd0 MFH 2003-04-28 21:00:41 +00:00
Sascha Schumann 77d490c8fa usage fix 2003-04-28 19:42:30 +00:00
Derick Rethans 3005a78fbf - MFH 2003-04-28 18:53:46 +00:00
Moriyoshi Koizumi 7be8abe541 Removed bizarre tests for disgusting bugs which have kept annoying us.
- bug #22367 (http://bugs.php.net/22367)
 - bug #22510 (http://bugs.php.net/22510)
 - bug #22592 (http://bugs.php.net/22592)
2003-04-28 18:51:47 +00:00
Derick Rethans 427e27cc74 - MFH 2003-04-28 18:47:57 +00:00
Sascha Schumann f007536147 # on working disk again
reverting code, moving to correct branch
2003-04-28 16:18:34 +00:00
Sascha Schumann cf0b1ab2e3 # disk going bad, rescuing data
improve php_url_encode a bit
2003-04-28 15:17:00 +00:00
Moriyoshi Koizumi 302dc219c1 MFH(r-1.336): added missing sanity check in fgetcsv()
Partly synchronised indents with HEAD
# please merge CS fixes to branches too, or leave them as is :(
2003-04-28 15:11:14 +00:00
Wez Furlong 7aef25bc38 MFH: Fix for #23340; fopen on multiple urls from the same server crashes. 2003-04-28 14:41:54 +00:00
foobar 12e61e2ac4 MFH 2003-04-28 07:31:00 +00:00
Marcus Boerger 0371773312 MFH fix 2003-04-27 17:20:12 +00:00
Zeev Suraski fd913127ab This caused more mess than good, revert to the way it was in 4.3.0... 2003-04-27 16:35:53 +00:00
Stanislav Malyshev bb56953b8d fix TSRM 2003-04-27 16:18:01 +00:00
Stanislav Malyshev 5762d24683 Fix very nasty bug - session cookie kills one of the cookies
set before it on certain non-Apache SAPIs.
# for example, this code:
# <?
# setcookie("abc", 1);
# setcookie("def", 2);
# session_start();
# ?>
# would output only 'def' cookie on CGI and ISAPI
2003-04-27 16:02:44 +00:00
Wez Furlong 71a63bc126 Fix the lack of SSL certificate verification support for ssl:// sockets and
https:// streams.

This code is essential for people writing secure applications in order to avoid
man-in-the-middle attacks, and is thus regarded as a bug fix.

It is, however, optional; you need to explicitly turn on the verification
functionality, as it depends on you to specify your trusted certificate chain.

This sample demonstrates a secured https:// request, making use of the CA
bundle provided by curl:

<?php
$ctx = stream_context_create();
// Turn on verification
stream_context_set_option($ctx, "ssl", "verify_peer", true);
// Set the CA bundle (trusted certificate chain)
stream_context_set_option($ctx, "ssl", "cafile",
	"/usr/local/share/curl/curl-ca-bundle.crt");
$fp = fopen("https://www.zend.com", "rb", false, $ctx);
?>

This sample demonstrates how to roll your own https:// request, and specify a
certificate to use for authentication; the local_cert and passphrase options
will also work for fopen().

<?php
$ctx = stream_context_create();
stream_context_set_option($ctx, "ssl", "verify_peer", true);
stream_context_set_option($ctx, "ssl", "cafile",
	"/usr/local/share/curl/curl-ca-bundle.crt");

// set local cert.  it MUST be a PEM encoded file containing the certificate
// AND your private key.  It can also contain the certificate chain of issuers.
stream_context_set_option($ctx, "ssl", "local_cert", "/path/to/my/cert.pem");
stream_context_set_option($ctx, "ssl", "passphrase", "secret!");

// Set the common name that we are expecting; PHP will perform limited wildcard
// matching.  If the CN does not match this, the connection attempt will fail.
// The value to specify will always be the same as the Host: header you specify.
stream_context_set_option($ctx, "ssl", "CN_match", "secure.sample.domain");

$ssl = fsockopen("ssl://secure.sample.domain", 443, $errno, $errstr, 10, $ctx);

if ($ssl) {
	fwrite($ssl, "GET / HTTP/1.0\r\nHost: secure.sample.domain\r\n\r\n");
	fpassthru($ssl);
}

?>
2003-04-26 21:34:49 +00:00
Ilia Alshanetsky 582c2462ad MFH 2003-04-25 22:00:17 +00:00
foobar fd55fc78f4 MFH: compile fixes for AIX/HPUX 2003-04-25 21:31:49 +00:00
foobar 0fe880b867 MFH 2003-04-25 18:11:42 +00:00
Moriyoshi Koizumi 95c2ba883a MFH(r-1.172): moved copyright notice to the better place 2003-04-25 17:40:28 +00:00
Moriyoshi Koizumi fb743a3e27 MFH(r-1.171): added a bogus copyright notice 2003-04-25 17:35:30 +00:00
foobar 56fa94a6c0 MFH 2003-04-25 15:43:35 +00:00
SVN Migration 7756f1b7f2 This commit was manufactured by cvs2svn to create branch 'PHP_4_3'. 2003-04-25 15:43:29 +00:00
foobar be525968af MFH 2003-04-25 10:53:31 +00:00
foobar 2e3222d165 BFN 2003-04-25 10:15:17 +00:00
foobar 973651ae3b BFN 2003-04-25 09:00:00 +00:00
foobar 071b885744 MFH: Fixed bug #23099 (ext/interbase: "libgds.so: undefined reference to 'crypt'") 2003-04-25 08:59:00 +00:00
foobar bedd024310 MFH 2003-04-25 08:54:09 +00:00
foobar dd14eb51d4 MFH 2003-04-25 08:33:59 +00:00
SVN Migration caf1b545b8 This commit was manufactured by cvs2svn to create branch 'PHP_4_3'. 2003-04-25 08:33:26 +00:00
foobar bf0d23f985 MFH 2003-04-25 08:10:23 +00:00
Ilia Alshanetsky 1f433956b0 emalloc -> safe_emalloc 2003-04-25 00:59:03 +00:00
Ilia Alshanetsky d949f9d912 emalloc -> safe_emalloc 2003-04-25 00:50:31 +00:00
David Hill 8f7009f7f2 minor compiler incompatability fixes 2003-04-24 18:25:47 +00:00
Wez Furlong 2e4f176a6d Potential fix for problems during registration 2003-04-24 13:52:16 +00:00
Ilia Alshanetsky 694f5ed4de emalloc -> safe_emalloc 2003-04-24 01:42:09 +00:00
Marcus Boerger b882dbf5b9 MFH Synch: shutdown and ini defaults 2003-04-23 22:53:17 +00:00
foobar 982458f908 MFH 2003-04-23 08:55:09 +00:00
Ilia Alshanetsky 48e938368e emalloc -> safe_emalloc 2003-04-23 02:37:29 +00:00
Rasmus Lerdorf 9a57fc8cab &039; which is a single-quote may also come in as &39; I see no reason
not to handle both in html_entity_decode()
2003-04-22 20:44:55 +00:00
Sascha Schumann 0117c206d6 Drop php_info_print_table_row_ex from the 4.3 branch 2003-04-22 03:27:01 +00:00
Ilia Alshanetsky 0be78cd2b4 emalloc -> safe_emalloc. 2003-04-22 01:38:36 +00:00
Moriyoshi Koizumi 304409e520 MFH(r-1.136): the feature is less relevant to encoding conversion indeed 2003-04-21 19:07:50 +00:00
foobar 545b4cff3b MFH: Fixed bug #23198 2003-04-21 17:53:59 +00:00
Sascha Schumann 1719d0062c MFH 2003-04-21 01:09:33 +00:00
Sascha Schumann 1dafae56b9 MFH 2003-04-19 18:35:51 +00:00
Ilia Alshanetsky 720d8fdddc MFH (pcre sanity check) 2003-04-19 18:12:07 +00:00
Ilia Alshanetsky 2fa3048632 MFH 2003-04-19 18:10:58 +00:00
Ilia Alshanetsky 8b02b1eb7e MFH 2003-04-19 17:45:55 +00:00
Sascha Schumann c34c7433eb MFH 2003-04-19 17:41:12 +00:00
Marcus Boerger 2eb11eae36 MFH: The env-var TEST_PHP_EXECUTABLE is needed in tests 2003-04-19 17:23:11 +00:00
Moriyoshi Koizumi c629ac4600 MFH(r-1.135, r-1.268): made phpinfo() / gd_info() indicate availability of
JIS feature
2003-04-19 07:45:45 +00:00
Moriyoshi Koizumi a743a6dee6 MFH(r-1.134): fixed help text alignment 2003-04-19 07:16:06 +00:00
Sascha Schumann 460aba89f8 Don't spill our (PHP) HAVE_PGSQL/MYSQL into the mnogo header(s) 2003-04-19 05:10:35 +00:00
Sascha Schumann c465c5a3eb remove useless prototype 2003-04-19 05:09:52 +00:00
Rui Hirokawa 18144dffe9 added an option to support japanese encoding conversion in bundled gd. 2003-04-19 04:13:01 +00:00
Ilia Alshanetsky f896c7eeae MFH 2003-04-18 00:20:36 +00:00
foobar 74348caba2 MFH 2003-04-17 23:20:58 +00:00
Jay Smith bd62bcf18b MFH: fix some segfaults in some pg_lo_* functions 2003-04-17 16:55:56 +00:00
foobar 42c98ab6c8 touch 2003-04-17 02:46:02 +00:00
Ilia Alshanetsky 0ec69ef808 Integer overflow stuff. 2003-04-16 23:57:56 +00:00
Ilia Alshanetsky 59a1c7dcf5 safe_emalloc() and few other integer overflow fixes. 2003-04-16 23:49:45 +00:00
foobar c8e2b9ebfe BFN 2003-04-16 23:45:11 +00:00
Ilia Alshanetsky aac21de8ae Bug fixing news. 2003-04-16 23:32:20 +00:00
Ilia Alshanetsky db59a7414e MFH 2003-04-16 23:31:39 +00:00
Moriyoshi Koizumi dd6c7bb240 MFH(r-1.226, r-1.24, r-1.99, r-1.68): fixed implicit cast issue 2003-04-16 22:57:15 +00:00
Moriyoshi Koizumi e486cb60bc BFN 2003-04-16 21:13:28 +00:00
Moriyoshi Koizumi 9500c0c776 MFH(r-1.9): fixed bug #19795 2003-04-16 21:11:04 +00:00
Moriyoshi Koizumi 68cde46c9f MFH(r-1.10): fixed typo 2003-04-16 20:03:43 +00:00
Moriyoshi Koizumi 4c37bb0be8 MFH(r-1.137): compiler warning fix & possible 64bit fix 2003-04-16 19:19:13 +00:00
Marcus Boerger 3859a66d14 update 2003-04-16 19:17:27 +00:00
Marcus Boerger 486af716be safe_emalloc() 2003-04-16 19:14:29 +00:00
Marcus Boerger c0bffe6dcf MFH: prepare for safe_emalloc 2003-04-16 19:12:10 +00:00
Marcus Boerger b4b0bd3a69 Correcting fix for safe_emalloc 2003-04-16 18:25:35 +00:00
Marcus Boerger ae8c6a816a Use safe_emalloc but as macro until the function is fixed 2003-04-16 18:20:27 +00:00
Moriyoshi Koizumi e8713cc150 MFH(r-1.136): fixed bug #23080 2003-04-16 17:32:41 +00:00
Sascha Schumann e533fe138b fix two uninitialized reads 2003-04-16 13:44:05 +00:00
Sascha Schumann aa6e7433bc MFH 2003-04-16 13:37:54 +00:00
Sascha Schumann 90bb834ed1 Accessing "stream" after freeing it is not a good idea
==32692== Invalid read of size 4
==32692==    at 0x80CAFB3: _php_stream_free (/home/sas/src/php4/main/streams.c:395)
==32692==    by 0x80CE096: _php_stream_cast (/home/sas/src/php4/main/streams.c:2244)
==32692==    by 0x80CEDD4: _php_stream_open_wrapper_as_file (/home/sas/src/php4/main/streams.c:2684)
==32692==    by 0x80C1C6E: php_fopen_wrapper_for_zend (/home/sas/src/php4/main/main.c:761)
==32692==    Address 0x414487EC is 44 bytes inside a block of size 116 free'd
==32692==    at 0x401622FB: free (vg_clientfuncs.c:182)
==32692==    by 0x80DB337: _efree (/home/sas/src/php4/Zend/zend_alloc.c:265)
==32692==    by 0x80CAFAF: _php_stream_free (/home/sas/src/php4/main/streams.c:393)
==32692==    by 0x80CE096: _php_stream_cast (/home/sas/src/php4/main/streams.c:2244)
2003-04-16 12:55:21 +00:00
Sascha Schumann 86f292bc00 MFH 2003-04-16 12:44:54 +00:00
Jan Lehnardt f251532caa - MFH 2003-04-16 12:05:43 +00:00
Sascha Schumann 72a2ec5d85 MFH 2003-04-16 09:21:45 +00:00
Sascha Schumann 9ba9ff7b17 Simplify use of this header in external apps 2003-04-16 09:12:37 +00:00
Sascha Schumann 856b482bab add missing check 2003-04-16 05:23:21 +00:00
foobar 38cb520533 MFH 2003-04-16 02:24:53 +00:00
foobar 8e9b151720 MFH 2003-04-16 02:19:25 +00:00
foobar d720b0c631 missing dot. :) 2003-04-16 01:52:47 +00:00
Ilia Alshanetsky ee957ac447 Bug fixing news. 2003-04-16 01:08:11 +00:00
Ilia Alshanetsky b6972e5890 MFH 2003-04-16 01:07:20 +00:00
Ilia Alshanetsky e25f73df9c Bug fixes. 2003-04-16 00:59:44 +00:00
Ilia Alshanetsky e28bc16c5b MFH 2003-04-16 00:58:53 +00:00
foobar f95c4cb8bb BFN 2003-04-15 04:27:24 +00:00
Shane Caraveo 1ee0cac2d9 fix http://bugs.php.net/bug.php?id=22004
use Sascha's suggestion, works the same, likely better :)
2003-04-15 04:14:21 +00:00
Shane Caraveo 5c19a5499b fix http://bugs.php.net/bug.php?id=22004 2003-04-15 04:01:48 +00:00
Ilia Alshanetsky fb9e0bb965 Bug fixing news. 2003-04-15 01:34:54 +00:00
Ilia Alshanetsky 1a97d39a61 Fixed bug #23201 (set_file_buffer() crashes with stdio streams).
#Already in PHP 5.0 no need for MFH
2003-04-15 01:30:59 +00:00
Ilia Alshanetsky 9e37e7adfb MFH 2003-04-15 01:00:00 +00:00
Marcus Boerger 5c4dca7424 MFH: Fixed Bug #23188 CDB databases created with 'c' mode do not work. 2003-04-14 21:53:42 +00:00
Ilia Alshanetsky 5e0efd3caa bug fixing news. 2003-04-14 13:56:30 +00:00
Ilia Alshanetsky d346b4ba9b MFH 2003-04-14 13:55:53 +00:00
Jesus M. Castagnetto 31071bdd6c Updating the PHP_4_3 branch with the fix for bug #2306. 2003-04-14 12:37:59 +00:00
Masaki Fujimoto 12e8ae3adb - fixed bug-id 2003-04-14 05:29:22 +00:00
foobar 49f3b54810 style 2003-04-14 01:52:45 +00:00
Marcus Boerger e2fdfb6c19 MFH: make it static 2003-04-13 20:31:16 +00:00
Marcus Boerger dcdaf1e9a0 Inform abot.. 2003-04-13 20:27:45 +00:00
Marcus Boerger 7f5ff80c86 MFH: reenable dba_popen 2003-04-13 20:16:14 +00:00
Sascha Schumann 171aaf4e8d MFH 2003-04-13 20:14:08 +00:00
Marcus Boerger 9cc234e979 MFH: persistent stream closing 2003-04-13 20:13:34 +00:00
Sascha Schumann 500cf0a542 MFH bison 1.875b patch 2003-04-13 20:10:32 +00:00
SVN Migration b724a873e9 This commit was manufactured by cvs2svn to create branch 'PHP_4_3'. 2003-04-13 19:50:29 +00:00
Moriyoshi Koizumi c77c03b751 MFH 2003-04-12 22:29:14 +00:00
Moriyoshi Koizumi bbd9c931b0 MFH(r-1.141): strip_tags() is also binary-safe now.
# the change was already MFHed.
2003-04-12 21:30:47 +00:00
Stig Bakken 7bfabbae52 MFH 2003-04-11 23:48:39 +00:00
Wez Furlong c6db0221c4 BFN. 2003-04-11 11:12:14 +00:00
Wez Furlong e1a54c8d10 MFH: Fix for Bug #23069 2003-04-11 11:10:39 +00:00
Derick Rethans 3cba4261fa - MFH: proto fix 2003-04-11 09:54:39 +00:00
Ilia Alshanetsky 39c03bc2c5 segv fix. 2003-04-11 02:41:26 +00:00
Ilia Alshanetsky 22e0811f2c MFH 2003-04-11 02:40:28 +00:00
Christian Stocker d7a3529ead comment xmlMemoryDump() out (only needed for debugging) 2003-04-10 13:11:00 +00:00
Christian Stocker 7241d18de1 MFH.
- Fixed memleaks in domxml_doc_add_root, domxml_xslt_stylesheet
  and domxml_xslt_stylesheet_doc
- Completed implementation of domxml_doc_imported_node.
2003-04-10 12:46:11 +00:00
Stanislav Malyshev bf5d11b44e MFH path_translated 2003-04-10 11:35:07 +00:00
Ilia Alshanetsky 9ee32440ad MFH 2003-04-10 04:35:51 +00:00
Ilia Alshanetsky 729d43f733 More integer overflows. 2003-04-10 03:27:34 +00:00
Ilia Alshanetsky 0c0482d59c MFH (fix of Win32 build by Sebastian Bergmann) 2003-04-10 02:11:20 +00:00
Marcus Boerger 00366c63fc MFH 2003-04-09 20:36:44 +00:00
Marcus Boerger d8d9e16711 MFH: cli/ini/html_errors/info (they are related) 2003-04-09 20:27:55 +00:00
Rasmus Lerdorf a86c9bbd24 Oops, there is no _FORM auto-global. We changed this to _REQUEST ages ago. 2003-04-09 17:45:38 +00:00
Derick Rethans cb9a33bc14 - MFH: html output for Zend Extension version strings 2003-04-09 15:22:45 +00:00
Edin Kadribasic 9b0239178c Fixed bug #22521.
HAVE_OCI8_SHARED_MODE causes segfaults on startup on many configurations.
2003-04-09 12:00:54 +00:00
Christian Stocker 1a3e5a816b fixed some memleaks when using attribute nodes (Rob Richards) 2003-04-09 07:33:19 +00:00
Ilia Alshanetsky ff21c392f3 MFH 2003-04-09 01:55:56 +00:00
Marcus Boerger 99637508f9 MFH: erroneous newline at start 2003-04-08 23:04:36 +00:00
Christian Stocker c48e8e5116 MFH (fixes memleaks in element->get_elements_by_tagname & document->get_elements_by_tagname) 2003-04-08 19:30:46 +00:00
Christian Stocker 9b9ec7ad1e Fixes/Additions done for domxml 2003-04-08 18:41:38 +00:00
Christian Stocker d7f0682135 Big Patch with a lot of mem-leak fixes
- Attribute nodes are freed/generated correctly
- xsltstylesheets are freed correctly
- xpathregister doesn't leak anymore
- parser/xsltglobals cleanup at MSHUTDOWN
- Added DomDocument->free() for removing documents during script-time
2003-04-08 18:26:50 +00:00
Ilia Alshanetsky aa6810479e exif reminder 2003-04-08 00:22:37 +00:00
Ilia Alshanetsky 84e44e9759 Bug fixing news. 2003-04-08 00:20:08 +00:00
Ilia Alshanetsky e49440bb73 MFH 2003-04-08 00:19:29 +00:00
foobar 4f45925b23 BFN 2003-04-07 22:52:46 +00:00
foobar be8da1111e BFN 2003-04-06 22:42:38 +00:00
foobar 2527cce052 MFH: Fixed bug #23071 (when DST in effect, date("T") crashed PHP) 2003-04-06 22:37:58 +00:00
Moriyoshi Koizumi 18939dd676 MFH(r-1.5): improved zmemcheck macro so it displays the size of each memory
block too.
2003-04-06 18:40:46 +00:00
Moriyoshi Koizumi 1a645aa637 MFH(r-1.4): improved readability of zmemcheck output 2003-04-06 18:12:36 +00:00
Moriyoshi Koizumi 8b67ff4348 MFH(r-1.2) 2003-04-06 17:54:31 +00:00
SVN Migration 3a9322c32a This commit was manufactured by cvs2svn to create branch 'PHP_4_3'. 2003-04-06 17:53:18 +00:00
Marcus Boerger c8ff4f2262 MFH: version collating 2003-04-05 20:49:09 +00:00
foobar d9fe90785e MFH 2003-04-05 17:47:17 +00:00
foobar a4fe7b11ee MFH 2003-04-05 17:34:04 +00:00
Ilia Alshanetsky 863a441fba GD news. 2003-04-05 17:24:48 +00:00
Ilia Alshanetsky edea55ecd7 MFH (gd upgrade). 2003-04-05 17:24:16 +00:00
Marcus Boerger bdd3fbf67a MFH: Include ldd output 2003-04-05 12:19:56 +00:00
Sascha Schumann 55c86cbdb9 MFH 2003-04-05 11:40:40 +00:00
Sascha Schumann 4bfdbfb167 MFH 2003-04-05 11:22:44 +00:00
Moriyoshi Koizumi 6ccaefd48d MFH: added check for struct cmsghdr. now sockets extension can be built
under cygwin
2003-04-04 18:40:38 +00:00
foobar fdee9fe213 MFH: Fixed bug #22944 (--with-java "make install" fails) 2003-04-04 17:43:13 +00:00
foobar 8e6f5fe353 Fix bug #23048, CURLOPT_ENCODING is not always available 2003-04-04 16:18:15 +00:00
Moriyoshi Koizumi aa00851aa4 MFH(r-1.135): fixed memleak in socket_select() 2003-04-04 14:18:31 +00:00
Moriyoshi Koizumi 2b85acd861 Sorry, forgot these ones 2003-04-04 09:15:18 +00:00
Moriyoshi Koizumi 004746d842 renumbering 2003-04-04 09:13:28 +00:00
Moriyoshi Koizumi 216784bcc3 segfault busting news
replacing one tab to 4 spaces
2003-04-04 09:11:28 +00:00
Moriyoshi Koizumi 1cdedb63bd MFH(r-1.55): added missing sanity check, which was causing segfault. 2003-04-04 09:07:02 +00:00
Ilia Alshanetsky 49f0382490 MFH 2003-04-04 01:34:08 +00:00
Ilia Alshanetsky 50f76f501c Notes about various possible integer overflows in bundled gd library. 2003-04-04 01:17:35 +00:00
Ilia Alshanetsky 1525ff177f More gd stuff. 2003-04-04 00:44:34 +00:00
Ilia Alshanetsky 2ea7d06455 Fixed segv as well as info about new segvs in gd. 2003-04-04 00:29:37 +00:00
Ilia Alshanetsky f5ea07ce61 MFH 2003-04-04 00:16:54 +00:00
foobar ce99003ae1 MFH 2003-04-03 23:10:17 +00:00
Sascha Schumann 0200c77d7e one in socket_select 2003-04-03 20:07:40 +00:00
Sascha Schumann 4033fe903d augment summary with fixes which predate the list 2003-04-03 19:46:26 +00:00
Sascha Schumann 4849145b66 add chunk_split 2003-04-03 19:33:55 +00:00
Sascha Schumann bfaf2a8f36 another one fixed, a new one found 2003-04-03 19:21:50 +00:00
Sascha Schumann f8b07fbbac MFH 2003-04-03 19:19:25 +00:00
Sascha Schumann 08abb7213c fix 2003-04-03 18:55:54 +00:00
Sascha Schumann f31d157ce7 update regarding dbase extension 2003-04-03 18:52:35 +00:00
Sascha Schumann 868602b5ab Update - we purged the full list\! 2003-04-03 18:22:14 +00:00
Sascha Schumann 5d420d7bb7 MFH 2003-04-03 18:19:52 +00:00
Sascha Schumann 50d2474660 MFH 2003-04-03 18:10:41 +00:00
Rasmus Lerdorf 92cc078907 Clean up the parameter handling here 2003-04-03 15:57:30 +00:00
Derick Rethans fe93cf1b9a - CS 2003-04-03 06:21:21 +00:00
Moriyoshi Koizumi 7333bc8f82 Unable to reproduce.. 2003-04-03 01:04:13 +00:00
Moriyoshi Koizumi 9f8701ac58 segfault busting news 2003-04-03 01:01:35 +00:00
Moriyoshi Koizumi 55c5c4b362 MFH(r-1.117): fixed segfault in xml_parser_create() 2003-04-03 01:01:09 +00:00
Ilia Alshanetsky 51f2ad15f4 Bug fixing news. 2003-04-03 00:56:45 +00:00
Ilia Alshanetsky f4dd99e8b8 Fixed bug #23004 (When ftp_close() is called, sent QUIT to the ftp server) 2003-04-03 00:55:45 +00:00
Moriyoshi Koizumi 485c71abf7 MFH(r-1.152): fixed memleak in output buffering facility 2003-04-03 00:51:14 +00:00
Moriyoshi Koizumi c8948bf677 Removed i18n_convert() from the entries because that is an alias for
mb_convert_encoding()
2003-04-03 00:20:15 +00:00
Rasmus Lerdorf 77102efc79 Update 2003-04-03 00:16:51 +00:00
Moriyoshi Koizumi e64002e9ef MFH(r-1.38): fixed segfault in mb_ereg_match() 2003-04-03 00:15:58 +00:00
Moriyoshi Koizumi 043a1f5b36 MFH(r-1.37): fixed lots of crashes in mbregex 2003-04-03 00:05:01 +00:00
Rasmus Lerdorf bb0637213f Negative precision makes no sense, so check for that, but let the memory
manager error out on huge non-negative precision args
2003-04-02 23:50:41 +00:00
Rasmus Lerdorf b3ac7b808d Fix unregister_tick_function crash 2003-04-02 23:09:39 +00:00
Rasmus Lerdorf ae3616fba8 Get rid of bogus dtors 2003-04-02 22:06:46 +00:00
Rasmus Lerdorf 50c22695cd Fix the setlocale() segfault 2003-04-02 21:31:52 +00:00
foobar 7a5badecbf BFN 2003-04-02 17:35:23 +00:00
Edin Kadribasic 21390b3bf6 BFN 2003-04-02 12:38:43 +00:00
Edin Kadribasic 95ee73b7bf MFH 2003-04-02 12:36:36 +00:00
foobar 086a4fda17 MFH. (See bug #21995) 2003-04-02 11:42:16 +00:00
Christian Stocker e131b99b2a Patch for Bug #22774 by Rob Richards 2003-04-02 10:30:05 +00:00
Marcus Boerger 7dab648426 MFH 'auto' 2003-04-02 08:34:56 +00:00
Ilia Alshanetsky cd2968d0db MFH 2003-04-02 00:25:57 +00:00
Jay Smith 930347763b @- Fixed bug #23009 (pg_select with timestamp). (Marcus, Jay)
MFH
2003-04-02 00:00:09 +00:00
Jay Smith 1548b1ebf4 MFH 2003-04-01 23:28:18 +00:00
Rasmus Lerdorf 7e8039ef0d Arbitrarily limit array_pad() to only do 1 million elements at a time.
Probably still too high, but it solves the segfault for now.
2003-04-01 21:44:47 +00:00
Sascha Schumann d1c0cc7f47 s/0/FAILURE/ 2003-04-01 19:15:47 +00:00
Sascha Schumann d484c0ebf8 Fix an uninitialised read for ob_start(array()) 2003-04-01 19:13:40 +00:00
Rasmus Lerdorf 8ff4b67307 Argh!!! I guess nobody has ever looked at this code. 2003-04-01 19:10:35 +00:00
Rasmus Lerdorf 14aa0e7495 Fix exif crashes 2003-04-01 18:47:01 +00:00
Rasmus Lerdorf bf0c1962d9 Update (not fixed in HEAD because the API for this function needs to
change in PHP5.  It is moronic the way it is now)
2003-04-01 18:26:14 +00:00
Rasmus Lerdorf 724429c759 Ok, really fix socket_iovec_alloc() this time 2003-04-01 18:12:24 +00:00
foobar 00d6a6d8c2 BFN 2003-04-01 15:38:40 +00:00
foobar 5d5755af7c MFH: Fixed bug #22987 (missing perror() check in configure) 2003-04-01 15:36:21 +00:00
Sascha Schumann f373bcafd3 more insight re. ob_start bug 2003-04-01 13:02:46 +00:00
Sascha Schumann 91fb452012 The ob_start issue is reproducible. 2003-04-01 12:54:48 +00:00
Sascha Schumann 6e84cdacd1 editing 2003-04-01 12:43:45 +00:00
Sascha Schumann b5da4730a3 Overview of open issues and how to reproduce 2003-04-01 12:38:35 +00:00
Moriyoshi Koizumi 2726272b68 MFH(r-1.170): fixed crash in mb_convert_encoding() that occurs when a void
array is passed as the third parameter.
# thanks Sascha
2003-04-01 11:50:31 +00:00
Sascha Schumann 9b8fbc368c fix VPATH builds 2003-04-01 10:16:50 +00:00
Sascha Schumann ac125fa07f MFH register_shutdown_function fix 2003-04-01 10:03:19 +00:00
Sascha Schumann 1f4e9b8eb7 No need for shtool 2003-04-01 08:05:39 +00:00
Sascha Schumann 5e0a6b43fc Fix segfault in flock() 2003-04-01 07:53:05 +00:00
Sara Golemon 640dc6721c MFH(r1.71) Bug #22962 2003-04-01 06:23:22 +00:00
foobar 086c418737 BFN & houshold 2003-03-31 23:29:30 +00:00
foobar 21a600c569 MFH: Fixed bug #22989 (sendmail not found by configure) 2003-03-31 23:21:56 +00:00
Brian France 5555498304 Fixes the problem where argv and argc are not populated unless S
is in the variables_order, even if register_argc_argv is on.
2003-03-31 21:24:59 +00:00
Moriyoshi Koizumi dd426eb391 MFH(r-1.161): fixed proto to sync with the documentation 2003-03-31 20:37:15 +00:00
Moriyoshi Koizumi 6ec674deb7 MFH(r-1.10): rearranged search order for the magic file to avoid further
confusions
2003-03-31 19:49:37 +00:00
David Hill 8e15876ed5 Changing parsedate to be reentrant using pure_parse (Dave) 2003-03-31 14:40:46 +00:00
Sander Roobol ec0b8b8639 MFH remove bogus test 2003-03-31 14:34:50 +00:00
David Hill e98163546d Correcting checking of flex version (Dave) 2003-03-31 14:01:55 +00:00
foobar 666d9dea2c cleanup 2003-03-31 08:49:30 +00:00
Sascha Schumann c334a7fe0b MFH TS issue, noticed by Sebastian Bergmann 2003-03-31 05:39:45 +00:00
Sascha Schumann 1f0a9a2c0c MFH 2003-03-31 03:24:45 +00:00
Ilia Alshanetsky 42f35b8783 Bug fixing news. 2003-03-30 20:48:48 +00:00
Ilia Alshanetsky 334da52d65 MFH 2003-03-30 20:48:14 +00:00
Sascha Schumann 9daf234fef MFH 2003-03-30 18:36:46 +00:00
Rasmus Lerdorf a6072a2b76 No point calling the RSHUTDOWN hook here unless we are actually going
to do something in it.
2003-03-30 18:05:40 +00:00
Moriyoshi Koizumi bb4a3f979b MFH 2003-03-29 16:18:11 +00:00
Moriyoshi Koizumi 651808e3dd MFH(r-1.223): CS & WS fixes 2003-03-29 16:14:41 +00:00
Moriyoshi Koizumi ecc0759032 MFH(r-1.436): improved bison check; now configure accepts 1.28, 1.35 and 1.75
only.
2003-03-29 15:56:25 +00:00
Moriyoshi Koizumi e9a6358d8d MFH: fixed test cases so it wouldn't be failed in case register_globals=on 2003-03-29 07:14:26 +00:00
Derick Rethans 80ba3f416f MFH 2003-03-28 21:08:58 +00:00
Moriyoshi Koizumi c4521dfb2f MFH(r-1.222): do the right fix.. 2003-03-28 18:25:01 +00:00
Moriyoshi Koizumi b7875715ce MFH(r-1.221): fixed bug #22773 2003-03-28 17:55:08 +00:00
Harald Radi ff65578160 fix #22899
invoke is called twice
2003-03-27 19:56:09 +00:00
Shane Caraveo ce2edd18c7 MFH 2003-03-27 17:57:58 +00:00
Edin Kadribasic f85ea33a98 BFN 2003-03-27 13:32:45 +00:00
Edin Kadribasic 9ff0a9f23e Fixed bug #22083. 2003-03-27 13:29:59 +00:00
foobar d9e4d36c48 MFH 2003-03-27 13:16:34 +00:00
Rasmus Lerdorf 15d4bfd607 Make sure we never pass a negative arg to emalloc
(once again, this API needs to be fixed, so this is just for 4.3)
2003-03-25 19:26:18 +00:00
Sebastian Bergmann b7cfe4b5a6 MFH 2003-03-25 17:18:24 +00:00
Rasmus Lerdorf f461ad12fb Restrict this function to a max of 65k io vectors to avoid weird
overflows.  Purely an arbitrary number.  This API needs cleaning up,
but it would break BC and I don't want to do that in 4.3.
2003-03-25 15:54:26 +00:00
Ilia Alshanetsky db230015b8 MFH 2003-03-25 15:35:27 +00:00
Martin Jansen 1ce0aca43e * MFH 2003-03-25 14:41:38 +00:00
foobar 1c0de7be96 MFH: Made "--with-pear" "--disable-all"-aware. Plus some cosmetics fixes. 2003-03-25 13:43:56 +00:00
Edin Kadribasic ec127efd14 php_fbsql.dll hasn't been successfully built at least from 4.1.x.
Related to #22859.
2003-03-25 10:19:44 +00:00
foobar 64e2082f39 - MFH: not pretty name (bug #22853) 2003-03-25 01:38:50 +00:00
Ilia Alshanetsky 86306178c5 MFH 2003-03-25 01:34:39 +00:00
Edin Kadribasic a5274daf1f Patch by Nathan Fredrickson <nathan@silverorange.com>:
Remove unneeded library from the link stage and add a couple of missing
defines which are part of libintl.
2003-03-24 21:46:58 +00:00
Moriyoshi Koizumi f8ff0d2cb4 MFH: fixed bug #22834 (compile failure due to ugly implicit casts) 2003-03-24 21:22:57 +00:00
Moriyoshi Koizumi 5f0e06e89c NFN 2003-03-24 19:42:20 +00:00
Rasmus Lerdorf e120dab4f2 Fix arg list segfault 2003-03-24 19:28:58 +00:00
Moriyoshi Koizumi 1d71c7b86e MFH(r-1.1): oops... 2003-03-24 19:25:14 +00:00
Moriyoshi Koizumi 88bbfc9975 MFH(initial): added test cases for new functionality 2003-03-24 19:22:18 +00:00
SVN Migration 9c617f52f6 This commit was manufactured by cvs2svn to create branch 'PHP_4_3'. 2003-03-24 19:21:21 +00:00
Moriyoshi Koizumi 5945ba1c6d MFH(r-1.76): added koi8-r, cp866, and cp1251 support for htmlentities()
Patch by Antony Dovgal <tony2001 at phpclub dot net>
2003-03-24 19:15:16 +00:00
Ilia Alshanetsky c89afb6539 MFH 2003-03-24 15:21:57 +00:00
Ilia Alshanetsky b544c99344 Bug fixing news. 2003-03-24 14:54:52 +00:00
foobar bb0a9b3208 MFH 2003-03-24 11:21:26 +00:00
foobar 718d337c64 blah.. 2003-03-24 10:59:47 +00:00
Uwe Schindler 25dc000e41 PHP_WIN32 included 2003-03-24 10:33:47 +00:00
foobar 1f77ab10fc MFH: Fixed bug #18640 properly 2003-03-24 10:18:16 +00:00
Wez Furlong ceed7b9d77 MFH curl detection when multiple installations exist 2003-03-23 18:16:12 +00:00
Moriyoshi Koizumi 7ebc888513 MFH(r-1.7): added some compiler check 2003-03-23 01:45:28 +00:00
Moriyoshi Koizumi 06b796783c MFH(r-1.5): fixed win32 build with non-SBCS locale settings. 2003-03-22 23:45:20 +00:00
Shane Caraveo cecc66d17b MFH 2003-03-22 18:54:56 +00:00
Christian Stocker c479e904dd fix for bug #22786 ("Crash when trying to call DomAttribute's set_namespace method") 2003-03-20 09:43:09 +00:00
Wez Furlong 893c567e35 Fix for persistent stream shutdown in debug builds. 2003-03-20 00:55:58 +00:00
Wez Furlong 6aecc88543 This little fragment didn't get merged from head... 2003-03-19 19:27:52 +00:00
foobar 7480c6ac91 MFH 2003-03-19 16:53:25 +00:00
foobar b5930ec988 BFN 2003-03-19 08:23:02 +00:00
foobar 2f47425d71 MFH: Fixed bug #22775 (Fatal errors exit with status 0 with CGI/CLI) 2003-03-19 08:22:35 +00:00
Wez Furlong a0b0182016 Fix my fix.
# The perils of manual merging :/
2003-03-19 01:34:38 +00:00
Wez Furlong ea59c6262d Manual merge of persistent stream sanity check from php5. 2003-03-19 00:18:12 +00:00
Wez Furlong 4a8de5c704 Manual merge of the persistent plain file streams code.
See http://news.php.net/article.php?group=php.cvs&article=19680 for
more information.
2003-03-18 23:39:31 +00:00
Marcus Boerger 8c86b7e323 MFH 2003-03-18 22:43:00 +00:00
Wez Furlong c51569c3b6 WS Fix: I forgot to apply Q} to my comment. 2003-03-18 22:25:02 +00:00
foobar aef81e78a0 MFH: fix for bug #22765 2003-03-18 17:31:55 +00:00
Wez Furlong ca552c2618 Avoid using FILE* unless we have to. 2003-03-18 16:39:06 +00:00
Wez Furlong 55b4052887 BFN 2003-03-18 15:21:33 +00:00
Wez Furlong 217d3e39c6 Fix my 64-bit casting fix.
MFH Fix for #22721 - poor performance for file() on systems without mmap
support.
2003-03-18 14:41:46 +00:00
foobar a6c9ed61a6 BFN 2003-03-18 02:15:22 +00:00
foobar fdc6b229a6 MFH: Fixed bug #22751 (Compile error in gdcache when external libgd is used) 2003-03-18 02:14:22 +00:00
foobar 0b4182d8ad BFN 2003-03-18 01:26:16 +00:00
foobar afa7fa58d7 MFH: Fix for bug #22672 2003-03-18 01:24:57 +00:00
Ilia Alshanetsky de93525d7d MFH 2003-03-17 22:26:51 +00:00
Ilia Alshanetsky c2c3eaf5a7 MFH 2003-03-17 18:47:29 +00:00
Ilia Alshanetsky 768f515afc Bug fixing news. 2003-03-17 18:33:30 +00:00
foobar 7ae1572b39 MFH 2003-03-17 15:56:31 +00:00
foobar af3950d196 BFN 2003-03-17 15:19:30 +00:00
Wez Furlong 03777d2784 MFH Fix for Bug #21310 2003-03-17 13:50:23 +00:00
foobar 25e8d3215d MFH 2003-03-17 12:43:36 +00:00
foobar ba7b405913 Note about apache2 change 2003-03-17 10:00:46 +00:00
foobar 183f99038a MFH: - Fixed bug #22709 (crash within interbase when database unavailable) 2003-03-16 00:38:51 +00:00
Marcus Boerger 388607dc2d MFH bugfix #21751 2003-03-16 00:03:27 +00:00
Moriyoshi Koizumi 273d7623a6 MFH: added test for bug #22592 2003-03-15 23:37:53 +00:00
SVN Migration 15703e7fb8 This commit was manufactured by cvs2svn to create branch 'PHP_4_3'. 2003-03-15 23:37:18 +00:00
Wez Furlong 37aafafc7d 64 bit fixes 2003-03-15 13:25:38 +00:00
foobar c4db6427f4 MFH 2003-03-15 00:45:44 +00:00
foobar 03188dfd50 MFH: "allow_webdav_methods" does not exist / is not needed anymore 2003-03-15 00:26:43 +00:00
foobar bac7bb82b0 MFH: No c++ comments 2003-03-14 17:50:02 +00:00
foobar d4a01a8524 MFH: no c++ comments 2003-03-14 17:40:55 +00:00
Moriyoshi Koizumi 2fdf127a6f MFH: fixed typo 2003-03-14 17:14:08 +00:00
Derick Rethans 9f2cd8d5f2 - Explain that it is interbase related (Thanks to Andrey) 2003-03-14 13:01:29 +00:00
Derick Rethans f7c7e4cadb - BFN 2003-03-14 11:51:31 +00:00
Daniela Mariaschi ff9fc7aa3f reverting to 1.8.4.1 2003-03-14 10:47:58 +00:00
Daniela Mariaschi 688f6d1b9d MFH 2003-03-13 23:21:49 +00:00
foobar 7cd06114f1 BFN shortening 2003-03-13 22:54:48 +00:00
Edin Kadribasic 6659396dc6 Document removal of gd1 support on windows. 2003-03-13 22:32:16 +00:00
Edin Kadribasic 5dc55d66fc Drop support for php_gd.dll (gd1).
The default build (gd.dsp) is now bundled gd2.
2003-03-13 22:23:10 +00:00
Edin Kadribasic 156ab40baa Disable building of apache2filter (obsoleted by handler). 2003-03-13 22:03:20 +00:00
Daniela Mariaschi 05afcba8e7 Numeric/decimal datatype overflow on Win32
Fixed bug #20641
2003-03-13 22:02:10 +00:00
Edin Kadribasic f38526321b Make apache2 handler produce php4apache2.dll which should work as a
drop in replacement for the filter. Remove max_request_per_child from
minfo() since that function is not exported by win32 version of apache2
lib.
2003-03-13 22:01:43 +00:00
Martin Jansen 288d19ae0a * Also fix #21845 in the release branch.
# This is *no* complete MFH, I just applied the patch in the other branch.
2003-03-13 21:10:26 +00:00
Sara Golemon 779cc0f8d4 BFN 2003-03-13 20:25:01 +00:00
Jay Smith 0af96031de MFH 2003-03-13 18:51:53 +00:00
Ilia Alshanetsky 84dcdc880f Bug fixing news. 2003-03-13 18:16:21 +00:00
Ilia Alshanetsky 57a32b2825 MFH 2003-03-13 18:15:39 +00:00
foobar 690439a295 MFH 2003-03-13 17:27:40 +00:00
Sara Golemon d03df22d4c MFH (Bug 21534) 2003-03-13 16:18:10 +00:00
foobar 4730528a95 We should get this out before April.. 2003-03-12 22:36:30 +00:00
foobar 1ab395eed3 - Backup to 4.3.2RC 2003-03-12 22:21:25 +00:00
foobar 9ea0fff51d - Bump the version to RC1. 2003-03-12 22:18:22 +00:00
Stefan Esser 60963ffe6c MFH 2003-03-12 12:01:01 +00:00
Ilia Alshanetsky 22e1885d29 MFH 2003-03-12 04:46:15 +00:00
foobar 900584ec7f MFH 2003-03-12 04:30:01 +00:00
foobar b1d3a4d6cd MFH 2003-03-12 04:16:31 +00:00
foobar bdaed8f51a MFH 2003-03-12 02:26:58 +00:00
foobar 367c917d80 MFH 2003-03-12 01:10:01 +00:00
Ilia Alshanetsky 062a5863c0 MFH (XBM patch by Marcus Börger) 2003-03-12 01:02:41 +00:00
SVN Migration 0a2f05f09b This commit was manufactured by cvs2svn to create branch 'PHP_4_3'. 2003-03-12 00:51:04 +00:00
foobar 16106bd1f7 OnUpdateLong is only in php5/HEAD. (oops! :) 2003-03-11 17:22:31 +00:00
Moriyoshi Koizumi 2185951cbb Fixed bug #22634 (broken cygwin build) 2003-03-11 16:53:28 +00:00
foobar 06c9c4d205 BFN 2003-03-11 03:12:37 +00:00
foobar 8a3bd41416 MFH: - Fixed bug #20715 (odbc could not be compiled as shared extension) 2003-03-11 03:11:52 +00:00
Sascha Schumann 3aced8a7d4 fix sizeof(size_t) > sizeof(uint) issue 2003-03-11 02:32:29 +00:00
foobar e21f147cb9 BFN 2003-03-11 02:13:00 +00:00
foobar ff33d897d5 MFH: Fixed bug #22616 (Wrong order of -lssl and -lcrypto with IMAP) 2003-03-11 02:12:17 +00:00
Sascha Schumann bb30c3ad73 reverting jani's non-sense commits 2003-03-11 01:50:18 +00:00
foobar 9f34a5beca MFH 2003-03-10 23:13:03 +00:00
Ilia Alshanetsky 05ce493547 Bug fixing news. 2003-03-10 19:09:22 +00:00
Ilia Alshanetsky bfa3967c70 MFH 2003-03-10 19:07:49 +00:00
David Hill a9cf0f46fc fixing missed int to long with zend_parse_parameters 2003-03-10 15:57:07 +00:00
foobar cddddbe04c - MFH: use shtool mkdir always. 2003-03-10 14:33:10 +00:00
David Hill 9ec2c33e9d 64-bit corrections to parameters to OnUpdateInt Bug #20994 (Dave)
@64-bit corrections to parameters to OnUpdateInt Bug #20994 (Dave)
2003-03-10 13:35:36 +00:00
foobar 4648e756a9 - MFH: apache2handler sapi module
- Changed apache2filter to use --with-apxs2filter
2003-03-10 03:17:04 +00:00
Shane Caraveo 9dfd6c8779 fix line endings in file 2003-03-10 02:40:19 +00:00
Shane Caraveo 95987aedb2 fix using stdin. This was already fixed in php5. 2003-03-10 02:35:59 +00:00
foobar 4f7a06cf66 MFH 2003-03-10 02:17:06 +00:00
foobar 8c92d6574c no c++ comments.. 2003-03-10 02:10:18 +00:00
Shane Caraveo d1c5e9706f line endings on win32 made the var_dump'ed string 4 bytes longer. this should work on all platforms. 2003-03-10 01:23:10 +00:00
Shane Caraveo 4fc121ad7f splitting on whitespace will be different depending on platform, so be specific with the line ending. 2003-03-10 01:10:52 +00:00
Shane Caraveo 58c67323da make test happy by adding missing functions to avoid warnings, taken from user_stream.c 2003-03-10 00:14:11 +00:00
Derick Rethans f27049afb6 - No C++ comments! (Patch by Magnus) 2003-03-09 19:15:16 +00:00
Uwe Schindler da7b2d970d Changes for iPlanet Webserver 6 2003-03-09 12:08:36 +00:00
Derick Rethans a758078ce5 - MFH: Fixed a bug in GD's truecolor TTF handling. 2003-03-08 18:28:08 +00:00
Stefan Esser 20c9225f64 MFH 2003-03-08 15:24:47 +00:00
foobar 2492aba147 MFH: Fix for bug #22473 2003-03-07 18:58:34 +00:00
foobar cc44d7c3d6 Added note about the 64bit fixes 2003-03-07 18:41:42 +00:00
Uwe Schindler c138b63720 credits update 2003-03-07 17:08:06 +00:00
Ilia Alshanetsky e34d5dd3e8 Bug fixing news. 2003-03-07 14:08:54 +00:00
Ilia Alshanetsky 52967f54b9 MFH 2003-03-07 14:08:06 +00:00
David Hill 45a1a3037a 64-bit correction to variables passed to zend_parse_parameters
@64-bit correction to variables passed to zend_parse_parameters (Dave)
2003-03-07 13:42:30 +00:00
foobar f760f7b6b3 MFH 2003-03-07 06:18:27 +00:00
foobar 67b6b9781f MFH 2003-03-07 04:32:49 +00:00
Stefan Esser 5f142e88fb MFH 2003-03-06 20:59:27 +00:00
Moriyoshi Koizumi 011ea824da MFH 2003-03-06 19:37:32 +00:00
foobar 94e6ceec58 MFH 2003-03-06 16:29:15 +00:00
SVN Migration d391faffe6 This commit was manufactured by cvs2svn to create branch 'PHP_4_3'. 2003-03-06 16:29:06 +00:00
foobar 41ab6de3aa I was bored.. 2003-03-05 18:48:04 +00:00
Ilia Alshanetsky 7559d17ec1 Bug fixing news. 2003-03-05 17:03:03 +00:00
Ilia Alshanetsky 2cc9d8537f MFH 2003-03-05 17:00:25 +00:00
Ilia Alshanetsky 98c17e6cee GD news. 2003-03-05 16:24:05 +00:00
Ilia Alshanetsky 9b8cdd7fe9 MFH 2003-03-05 16:19:18 +00:00
SVN Migration 66736faf95 This commit was manufactured by cvs2svn to create branch 'PHP_4_3'. 2003-03-05 16:19:09 +00:00
foobar d63aa79f79 MFH 2003-03-05 16:12:41 +00:00
Ilia Alshanetsky 52e84a5f0b MFH 2003-03-05 16:08:21 +00:00
Ilia Alshanetsky 68679a9d0e Synchronized bundled gd with gd 2.0.11 (bug fixes).
MFH
  1) Use Zend allocation macros instead of native allocation functions.
  2) Better error reporting mechanism.
  3) Some style fixes, which allow easier code synchronization & maintenance.
2003-03-05 16:04:20 +00:00
Corne' Cornelius 81b97d6f8e - MFH: 1.88 2003-03-05 13:20:44 +00:00
Corne' Cornelius f42ff6e563 - MFH: 1.87 2003-03-05 09:39:53 +00:00
Moriyoshi Koizumi 3c0d44c580 MFH: added missing phpinfo entry (Russian support) 2003-03-05 06:16:54 +00:00
Wez Furlong c106213d5c Fix some signed/unsigned issues with read() and SSL_read() return values.
Allow SSL_connect() to retry for non-blocking sockets.
Correctly declare the char as unsigned for php_stream_getc(), as per
fgetc() semantics.
2003-03-05 01:28:45 +00:00
Moriyoshi Koizumi e46f133a2b MFH: Added a test case for bug #22510 2003-03-04 19:52:48 +00:00
SVN Migration 668d8f88c1 This commit was manufactured by cvs2svn to create branch 'PHP_4_3'. 2003-03-04 19:52:23 +00:00
foobar 3dece9cd5c MFH 2003-03-04 19:00:11 +00:00
Moriyoshi Koizumi 26cb6a8d20 MFH: 64bit fix 2003-03-04 17:20:27 +00:00
Moriyoshi Koizumi a8b620a91f MFH: 64bit long fix 2003-03-04 17:14:56 +00:00
Ilia Alshanetsky 802a410834 MFH 2003-03-04 16:35:02 +00:00
Ilia Alshanetsky ed2ea558a8 Bug fixing news. 2003-03-04 16:22:00 +00:00
Ilia Alshanetsky e32ebf58c7 MFH 2003-03-04 16:20:51 +00:00
Ilia Alshanetsky 276a43792c Compiler warning fix. 2003-03-04 16:20:24 +00:00
Ilia Alshanetsky 114afad93d MFH 2003-03-04 16:09:17 +00:00
foobar 47ea35f85b adding news entry for disable_classes addition 2003-03-04 14:24:48 +00:00
Christian Stocker 161db1b519 make it really W3C compatible (unlink node, when in tree...) 2003-03-04 13:29:18 +00:00
Edin Kadribasic 8d2773e188 Update credits. 2003-03-03 21:56:51 +00:00
Edin Kadribasic 03ab5315d5 BFN 2003-03-03 21:30:19 +00:00
Edin Kadribasic 17479b8a0f Enabled mcrypt_generic_deinit() on windows (#22520) 2003-03-03 21:23:48 +00:00
Harald Radi 9c4f6365b8 MFH: adding disable_classes ini directive 2003-03-03 01:54:29 +00:00
Harald Radi fc25077468 MFH: adding placeholder for the new disable_classes directive 2003-03-03 01:31:48 +00:00
foobar 3e983d2bc6 MFH 2003-03-02 18:52:37 +00:00
foobar 3daa76dd25 MFH 2003-03-02 18:51:10 +00:00
foobar 5ae27dbe85 MFH: fix bug #22485 2003-03-02 18:47:54 +00:00
Ilia Alshanetsky 095595dd61 New function news. 2003-03-02 14:38:54 +00:00
Pierre Joye d33ceff2a5 Update credits 2003-03-01 01:16:00 +00:00
Pierre Joye 61dd954da2 MFH imageistruecolor, imagesavealpha 2003-03-01 01:15:47 +00:00
Rasmus Lerdorf 70432e3bef @- Crash bug fix. If config-file-scan-dir is set and contains .ini files
but there is no top php.ini file, we would get a segfault.  (Rasmus)
2003-02-28 20:44:47 +00:00
Moriyoshi Koizumi 18e06aefee Was actually an ucwords() problem... 2003-02-28 13:32:46 +00:00
foobar 659a5ca923 BFN 2003-02-28 10:23:05 +00:00
Hartmut Holzgraefe dcb20d8fd6 MFphp5 2003-02-28 08:43:51 +00:00
foobar 488f38424e BFN 2003-02-28 07:35:58 +00:00
foobar 7323b80041 - MFH: Fixed bug #22312 (crash on failed connection when curl_getinfo() was called).
(Phil Oleson <poleson@verio.net>)
2003-02-28 07:35:11 +00:00
Hartmut Holzgraefe a14adbcafe MFphp5 2003-02-28 06:51:31 +00:00
Ilia Alshanetsky 0570451948 MFH 2003-02-27 20:38:22 +00:00
Ilia Alshanetsky c1170b27fc Bug fixing news. 2003-02-27 16:42:42 +00:00
Ilia Alshanetsky 01ad5f9b94 MFH 2003-02-27 16:41:44 +00:00
Sascha Schumann 97301cbc36 MFH 2003-02-27 10:07:59 +00:00
Corne' Cornelius 92600eeb76 - MFH: Segfault in ifx_errormsg() 2003-02-27 09:00:52 +00:00
Rasmus Lerdorf a731bd9f44 Get rid of an unnecessary syscall on non-Windows. We don't need two
setitimer() calls here in order to reset the timer.
2003-02-26 22:17:35 +00:00
Hartmut Holzgraefe af2589e943 MFphp5 2003-02-26 17:38:03 +00:00
Moriyoshi Koizumi 6b0adb932b BFN: the fix was actually done by Ilia. 2003-02-25 18:56:53 +00:00
Moriyoshi Koizumi 4308ba9e42 MFH(r1.72): int / long change
Fixed bug #22301 (htmlspecialchars crashes on Tru64)
2003-02-25 18:51:21 +00:00
Ilia Alshanetsky 87b3063593 MFH 2003-02-25 16:26:55 +00:00
SVN Migration 6d4e490ae1 This commit was manufactured by cvs2svn to create branch 'PHP_4_3'. 2003-02-25 16:21:01 +00:00
foobar 2fa25b8799 MFH 2003-02-25 11:48:57 +00:00
foobar 35839a5f96 BFN 2003-02-25 11:25:00 +00:00
foobar 0f88e33c05 MFH: Fixed bug #21224 (apache configure fails when using --enable-versioning) 2003-02-25 11:23:24 +00:00
foobar ee5fe8f38d BFN 2003-02-25 09:46:24 +00:00
foobar 2c486990c6 MFH: Fixed bug #20256 (snprintf() not defined on some systems) 2003-02-25 09:45:47 +00:00
foobar cf2fe4d2da MFH: typofix 2003-02-25 07:41:05 +00:00
Corne' Cornelius c3b452be51 MFH 2003-02-25 07:09:11 +00:00
Corne' Cornelius 1a920b4b19 MFH: 1.30 2003-02-25 06:56:28 +00:00
foobar e964bb3779 BFN 2003-02-25 06:37:18 +00:00
foobar fd5f2b33a9 MFH: Fixed bug #14245 ('make install' fails on AIX when using --with-apxs). 2003-02-25 06:36:21 +00:00
foobar 3d8e6218ef MFH 2003-02-25 04:37:08 +00:00
Ilia Alshanetsky f713b0d8b0 Bug fixing news. 2003-02-25 04:21:26 +00:00
Ilia Alshanetsky c0eb65d6be MFH 2003-02-25 04:20:44 +00:00
Ilia Alshanetsky 71d140e992 MFH (fix for crash in gdImageCopyMergeGray()). 2003-02-25 03:53:22 +00:00
Moriyoshi Koizumi 1cabc773e4 MFH: made fgetss() binary safe too 2003-02-24 22:48:39 +00:00
Moriyoshi Koizumi 6708c4d24d MFH: made strip_tags() binary safe 2003-02-24 22:47:12 +00:00
Ilia Alshanetsky c663066261 Bug fixing news. 2003-02-24 19:42:38 +00:00
Ilia Alshanetsky f19bd6bf3f MFH 2003-02-24 19:41:40 +00:00
Moriyoshi Koizumi 033bea7a29 MFH: added test case for bug #22367 2003-02-24 19:38:33 +00:00
SVN Migration 5112f925df This commit was manufactured by cvs2svn to create branch 'PHP_4_3'. 2003-02-24 19:37:28 +00:00
Harald Radi 152bcb4e6d fix memleak and wrong refcounting 2003-02-24 18:30:20 +00:00
Moriyoshi Koizumi c6a8a1bf04 MFH 2003-02-24 16:56:25 +00:00
Moriyoshi Koizumi ea23f45b36 MFH(r1.74): fixed an signed / unsigned issue 2003-02-24 16:30:14 +00:00
Moriyoshi Koizumi e0217033e4 MFH(r1.73): style fix 2003-02-24 16:19:44 +00:00
foobar 1e8876bdad MFH: Possible fix for #22259 + part 1/2 for fixing AIX DSO bug 2003-02-24 16:16:57 +00:00
foobar f49b5760eb - Removing pointless tests. (both of these will be fixed in PHP 5)
# We don't need to get any test reports about these anymore
# for PHP_4_3 branch since these won't be fixed in 4.3.x.
2003-02-24 16:04:05 +00:00
foobar f89ebf69bf MFH 2003-02-24 15:12:11 +00:00
foobar c96af79b53 no c++ comments 2003-02-24 08:26:49 +00:00
Corne' Cornelius 3df90156fd - MFH: Fixed ifx_errormsg() Segfault 2003-02-24 07:45:59 +00:00
foobar 0c52aed751 MFH 2003-02-24 04:37:15 +00:00
foobar a9a4668b92 MFH: fixed compile warning 2003-02-24 03:27:16 +00:00
Ilia Alshanetsky bb2f10122c Bug fixing news. 2003-02-24 03:18:26 +00:00
Ilia Alshanetsky 1544debc9f MFH 2003-02-24 03:15:54 +00:00
SVN Migration 240b4d18e3 This commit was manufactured by cvs2svn to create branch 'PHP_4_3'. 2003-02-24 03:13:26 +00:00
foobar 49664eb29a BFN 2003-02-24 01:31:24 +00:00
George Schlossnagle e7155c5f3d MFH fix for 19919 2003-02-24 01:29:54 +00:00
Rasmus Lerdorf fc069fb51b open_basedir fixes from David Saez 2003-02-23 22:03:54 +00:00
Stig Bakken 18843133b8 * MFH: upgrading XML_Parser to 1.0.1 2003-02-23 11:05:17 +00:00
SVN Migration ef667d12e1 This commit was manufactured by cvs2svn to create branch 'PHP_4_3'. 2003-02-23 11:03:39 +00:00
foobar b8547bbff0 Fixed bug #22356 (Do not add empty -I flags). 2003-02-23 09:36:47 +00:00
foobar 51eac9d194 MFH 2003-02-23 08:14:34 +00:00
foobar a4ef92e0ec BFN 2003-02-23 07:35:57 +00:00
foobar ca2cd45607 MFH: - Fixed bug #22376 (wrong httpd.conf modified when using INSTALL_ROOT) 2003-02-23 07:34:32 +00:00
foobar b79c07099f MFH 2003-02-23 02:40:07 +00:00
SVN Migration a9b5596a02 This commit was manufactured by cvs2svn to create branch 'PHP_4_3'. 2003-02-23 02:39:52 +00:00
Wez Furlong 935a58c3a2 Correct a bug number - thanks to Philip... 2003-02-22 20:51:13 +00:00
Wez Furlong 753e0cf3dd Squashed those ugly bugs! 2003-02-22 11:30:06 +00:00
Wez Furlong bd55197721 Miscellaneous streams fixes, including probable fixes for:
Bug #21131 (fopen with 'a+' and rewind() doesn't work)
Bug #21713 (include remote files leaks temporary files + descriptors on Solaris)
Bug #21185 (move_uploaded_file() does not ignore open_basedir as it should)
Bug #22362 (combinations of fwrite(), fread() and fseek() produce unexpected results)
2003-02-22 02:43:58 +00:00
foobar 1abd496ccf fixed headers and cleaned up a bit 2003-02-21 10:42:01 +00:00
foobar a3ad6e8426 ZTS build fixes, style and ws fixes 2003-02-21 06:49:56 +00:00
foobar 193021f8f6 MFH 2003-02-21 06:49:36 +00:00
foobar fd2483fe83 MFH: ZTS build fixes 2003-02-21 06:46:55 +00:00
foobar 040839d34b Fix ZTS build 2003-02-21 04:58:09 +00:00
Moriyoshi Koizumi 3f67551437 BFN 2003-02-20 17:57:54 +00:00
Moriyoshi Koizumi 80aadb9e77 MFH(r1.165): Fixed bug #22330 (overloaded strrpos() weirdness) 2003-02-20 17:54:10 +00:00
Corne' Cornelius 395e90b16b @- Added Input Descriptor Binding to Informix driver. (Corne')
- Added Input Descriptor Binding
  . (php_intifx_init_blob) Added
  . (php_intifx_init_blob_inmem) Added
  . (php_intifx_init_blob_infile) Added
  . (php_intifx_release_blob) Added
  . (php_intifx2_free_blob) Removed
  . (php_intifx_create_tmpfile) Removed bid parameter
  . (php_intifx_alloc_ibind) Added
  . (php_intifx_preparse) Added
  . (php_intifx_count_descriptors) Added
  . (ifx_free_blob) Added as le_idresult resource destructor
  . (php_intifx_create_blob) Changed: added call to php_intifx_init_blob() and
                             removed blob initilisation in function
  . (php_intifx_copy_blob) Changed: added call to php_intifx_init_blob() and
                           removed blob initilisation in function
  . (php_intifx_update_blob) Changed mempy() to use lob_bufsize instead of loc_size
                             Changed filename to be memcpy() instead of creating
                             new file
  . (PHP ifx_query) Changed: added input descriptor binding
  . (PHP ifx_prepare) Changed: added input descriptor binding
  . (PHP ifx_do) Chagned: added input descriptor binding
  . (PHP ifx_fetch_row) Changed the way blobs are accessed/init'd from
                        Ifx_Result->res_id[]
2003-02-20 12:09:21 +00:00
Corne' Cornelius be563c3140 #- Changed sizes of char[] in IFX_RES: connecid, cursorid, descrpid, statemid
from 16 to 32 to prevents possible overflow
2003-02-20 11:57:29 +00:00
Harald Radi 41f25857bb fixing bugs #22295, #22218 and #22162 (duplicates) 2003-02-20 11:34:26 +00:00
Sascha Schumann f63d9b778f merge minor differences from head 2003-02-20 08:32:41 +00:00
foobar 8ea1d52d7a style fix 2003-02-20 07:14:23 +00:00
foobar c511afe310 BFN 2003-02-20 07:12:02 +00:00
foobar 77e48a2801 MFH: Fixed bug: #22306 (pg_lo_seek($h, 0, PGSQL_SEEK_SET) succeeds but returns false) 2003-02-20 07:10:48 +00:00
Sascha Schumann 9220edbf14 update 2003-02-20 06:55:35 +00:00
Sascha Schumann 8d9da24365 MFH general urlencoding
MFH session_regenerate_id, a change which is as important as the former one
2003-02-20 06:24:08 +00:00
foobar fdc6323b34 MFH 2003-02-20 06:17:11 +00:00
foobar 92d2462660 BFN 2003-02-20 05:36:54 +00:00
foobar c61f4fe7b3 MFH: - Fixed bug #22299 (gethostbyname() crash with non-existing domain on MacOSX) 2003-02-20 05:35:18 +00:00
Ilia Alshanetsky 7de39b3377 Bug fixing news. 2003-02-20 00:35:42 +00:00
Ilia Alshanetsky 3d67565aed MFH 2003-02-20 00:34:24 +00:00
foobar accaef402b BFN 2003-02-20 00:15:55 +00:00
foobar e7b71d3932 dirent.h needs to be included always. 2003-02-19 18:45:03 +00:00
Marc Boeren 157ab1fd10 MFH: Fix for bug #22221 2003-02-19 16:52:05 +00:00
Harald Radi 5a6bacea03 MFH 2003-02-19 16:17:34 +00:00
Harald Radi d39c73dba2 remove php5ts workspace from PHP_4_3 branch 2003-02-19 11:04:54 +00:00
Sascha Schumann 614a83e555 some improvements 2003-02-19 11:01:38 +00:00
foobar fd631013d9 MFH: prevent conflicts with other libraries (e.g. libc-client) 2003-02-19 09:28:37 +00:00
Moriyoshi Koizumi fe2506a5ff MFH: fix incorrect TSRMLS_CC 2003-02-19 08:12:25 +00:00
foobar 5f2c98c566 MFH: avoiding problems.. 2003-02-19 06:35:57 +00:00
Ilia Alshanetsky c2176e0843 Bug fixing news. 2003-02-19 00:50:36 +00:00
Ilia Alshanetsky eb4e27f356 MFH 2003-02-19 00:49:38 +00:00
Moriyoshi Koizumi 25eff603b1 BFN 2003-02-18 18:15:44 +00:00
Moriyoshi Koizumi 2c09220992 MFH(r1.359): Fixed bug #21708 2003-02-18 18:14:32 +00:00
Moriyoshi Koizumi c85abb1789 BFN 2003-02-18 15:26:20 +00:00
Moriyoshi Koizumi 42bf45cee1 MFH(r1.307): Fixed bug #21689 2003-02-18 15:22:46 +00:00
foobar e2c593c928 Sanity check to prevent errors in other extensions tests. 2003-02-17 22:44:47 +00:00
foobar d3f8b43799 MFH 2003-02-17 18:16:49 +00:00
foobar 9c6c9f8fcd Bump up the version. 2003-02-17 00:02:11 +00:00
Anil Madhavapeddy 5f607a11a9 MFH 2003-02-16 01:32:30 +00:00
foobar 3a2a0b1c4c - Remove all of it.
# Ian, this was really unnecessary..
2003-02-15 22:20:55 +00:00
Ian Holsman f6cf0fce5c After short discussion, the #php.bugs mob decided that we don't want
this in PHP_4_3 branch. At least as long as it doesn't work as well
    (or preferrably better :) than the apache2filter SAPI does.

    So please remove it from the branch for now..

    --Jani
2003-02-15 22:16:03 +00:00
foobar 6809236f2b BFN 2003-02-15 20:42:49 +00:00
Stig Bakken 5c988b679e * import PEAR 1.0.1 2003-02-15 20:28:54 +00:00
foobar ad54620a27 MFH: Fix for bug #22220 2003-02-15 20:23:12 +00:00
Moriyoshi Koizumi 4382065fad B.F.N. 2003-02-15 20:00:03 +00:00
Moriyoshi Koizumi b298ce0dd0 MFH(r1.155): Fixed bug #22234 2003-02-15 19:59:26 +00:00
Moriyoshi Koizumi af1432d9a8 B.F.N. 2003-02-15 16:00:20 +00:00
Moriyoshi Koizumi 68b0858da6 MFH(r1.65): Fixed bug #22227
MFH: Added test case for bug #22227
2003-02-15 15:59:13 +00:00
SVN Migration e572e41cff This commit was manufactured by cvs2svn to create branch 'PHP_4_3'. 2003-02-15 15:57:32 +00:00
Wez Furlong f133f366e2 bug fixed. 2003-02-15 15:16:58 +00:00
Moriyoshi Koizumi 37a4fa83fb MFH: added test case for bug #22231 2003-02-15 15:15:45 +00:00
SVN Migration ac73fa6482 This commit was manufactured by cvs2svn to create branch 'PHP_4_3'. 2003-02-15 15:15:15 +00:00
Wez Furlong f695a4c3b6 MFH: Fix for Bug #21809 (select() never times out during socket shutdown) 2003-02-15 15:11:57 +00:00
Edin Kadribasic 9c90d59fc0 Option -b needs an argument. This fixes #22229.
# Note -b still seems to be broken:
# sapi/cgi/php -b 4444
# Status: 404
# Content-type: text/html
# X-Powered-By: PHP/4.3.1-dev
#
# No input file specified.
2003-02-15 13:26:05 +00:00
Ian Holsman dd15de6bda alternate apache2 SAPI. 2003-02-15 05:49:31 +00:00
Moriyoshi Koizumi d98f4b5a6a Slight fix for consistency 2003-02-14 19:48:57 +00:00
Marcus Boerger ba0a3f5673 MFH: xbm improvements 2003-02-14 19:46:21 +00:00
Moriyoshi Koizumi 7ad4a8f0b5 BFN 2003-02-14 19:44:02 +00:00
Moriyoshi Koizumi e62a2145bb Fixed wrong commit: s/&/*/ 2003-02-14 19:07:38 +00:00
Moriyoshi Koizumi 6d47746e5a MFH(r1.358): Fixed a str_replace() bug similar to bug #22224 2003-02-14 19:00:43 +00:00
Moriyoshi Koizumi c81a6322c1 MFH(r1.357): Fixed bug #22224
MFH: Added test case for the bug
2003-02-14 18:44:51 +00:00
SVN Migration 36bc1fb617 This commit was manufactured by cvs2svn to create branch 'PHP_4_3'. 2003-02-14 18:42:37 +00:00
foobar fdd1cf4772 Added missing $Id$ tag 2003-02-14 14:38:01 +00:00
foobar 20156b84eb - MFH, do not add libcrypt if crypt() is provided by libc. 2003-02-14 01:27:42 +00:00
Sara Golemon 261860cfec Buf #22052 More casual efree()ing causing segfaults 2003-02-13 22:18:20 +00:00
Wez Furlong c6fa04834c Fix for Bug #22199 (fputs() + fgets() destroys readbuffer for non-seekable streams). 2003-02-13 21:03:25 +00:00
foobar 9b4f865e5d MFH 2003-02-13 20:58:41 +00:00
foobar b3140b0218 typofix 2003-02-13 20:08:52 +00:00
Sara Golemon 4a27c8a032 MFH(Bug 22059, ftp.c-r1.77) 2003-02-13 19:51:02 +00:00
Ilia Alshanetsky faaaabb640 MFH 2003-02-13 19:07:55 +00:00
SVN Migration 8b9c2fbc66 This commit was manufactured by cvs2svn to create branch 'PHP_4_3'. 2003-02-13 19:07:21 +00:00
foobar bed6a98112 MFH 2003-02-13 18:50:44 +00:00
SVN Migration 5d0e8a70bb This commit was manufactured by cvs2svn to create branch 'PHP_4_3'. 2003-02-13 18:49:58 +00:00
Shane Caraveo 40e365b239 MFH 2003-02-13 18:21:23 +00:00
Wez Furlong 45894683e9 MFH: Another IS_SLASH fix. 2003-02-13 17:37:17 +00:00
Wez Furlong 26d4841366 MFH: relative path fix for win32 2003-02-13 17:32:41 +00:00
Ilia Alshanetsky 7fd1152dea Bug fixing news. 2003-02-13 17:27:28 +00:00
Ilia Alshanetsky c2187f4f17 MFH 2003-02-13 17:26:02 +00:00
SVN Migration 10198da7d0 This commit was manufactured by cvs2svn to create branch 'PHP_4_3'. 2003-02-13 17:25:32 +00:00
foobar 66aa7f76d8 altering history.. 2003-02-13 17:00:28 +00:00
Harald Radi 4fb6c33182 add missing include 2003-02-13 16:48:44 +00:00
Wez Furlong 6f8da6f3b3 MFH: clarify error message 2003-02-13 14:43:19 +00:00
Wez Furlong 398b912ca5 partial MFH: avoid problems with auto_detect_line_endings. 2003-02-13 13:42:31 +00:00
Wez Furlong ffb1961064 MFH: cli should be allowed to use chroot() function. 2003-02-13 13:37:05 +00:00
Uwe Steinmann 991af2d2f0 - Some functions with objects as its parameters didn't recognize them
as such
2003-02-13 10:56:50 +00:00
foobar 7c5adc1bb8 MFH 2003-02-13 07:48:00 +00:00
foobar 2413a30578 MFH 2003-02-13 07:19:15 +00:00
foobar 840d327139 - MFH: improved jpeg 2000 and wbmp support for getimagesize() 2003-02-13 07:16:55 +00:00
foobar 8ea2a50279 clean.. 2003-02-13 05:45:01 +00:00
Sascha Schumann 69a24f699d MFH 2003-02-13 02:30:54 +00:00
Sascha Schumann ac9dd33e9a MFH 2003-02-13 02:25:35 +00:00
Wez Furlong 9ebca1715b Fixed that one... 2003-02-13 01:27:13 +00:00
Wez Furlong fa0e1a6363 MFH: Fix for Bug #21815 2003-02-13 01:23:39 +00:00
Sara Golemon c6b71544a4 Reverting earlier patch to reintroduce buggy behavior (yes, you heard that right) of filtered http streams in favor of
performance.  This has little consequence given limited filter support in 4.3 branch.  Filters will be redesigned in
5.0 release. For more information see Wez, Ilia, or myself.
2003-02-13 00:42:06 +00:00
Ilia Alshanetsky 7e94fe102c Bug fixing news. 2003-02-12 20:45:52 +00:00
Ilia Alshanetsky 8879087461 MFH 2003-02-12 20:44:26 +00:00
foobar 11260dc9d7 MFH 2003-02-12 17:09:47 +00:00
foobar 4a7e9488dd MFH 2003-02-12 16:19:08 +00:00
foobar 53532f9ec2 add blame tag 2003-02-12 16:03:48 +00:00
Ilia Alshanetsky 263c27f1ea Bug fixing news. 2003-02-12 14:59:54 +00:00
Ilia Alshanetsky b1593177fd MFH 2003-02-12 14:58:30 +00:00
foobar 983479603c MFH 2003-02-12 04:39:30 +00:00
SVN Migration cbd263dafe This commit was manufactured by cvs2svn to create branch 'PHP_4_3'. 2003-02-12 04:38:31 +00:00
foobar 75efe4efbb MFH: Moved from HEAD :) 2003-02-12 04:08:50 +00:00
foobar fcace76909 MFH 2003-02-12 04:05:33 +00:00
foobar 4fc8d5412d MFH: Use $(INSTALL) for installing shared extensions. 2003-02-12 03:25:29 +00:00
foobar 7a7c43c72b MFH 2003-02-12 03:15:04 +00:00
Moriyoshi Koizumi 9c7635228f MFH: reverted my patch & applying a new patch by Stefan Esser 2003-02-11 23:30:13 +00:00
Ilia Alshanetsky 0aa95a722a Bug fixing news. 2003-02-11 22:59:39 +00:00
Ilia Alshanetsky 35ae0bfaa2 MFH 2003-02-11 22:57:50 +00:00
foobar 552da2b7f2 MFH 2003-02-11 21:11:51 +00:00
foobar 10c80a1344 fugbix news 2003-02-11 15:50:32 +00:00
foobar 948c33ba88 MFH 2003-02-11 03:24:56 +00:00
foobar ed36254fcc Moved one entry from HEAD here.. 2003-02-11 03:08:10 +00:00
foobar 4b541216e3 fugbix news 2003-02-11 02:45:28 +00:00
foobar 532ec10636 MFH: - Fixed bug: #21549 (problem with Ingres II persistent connections) 2003-02-11 02:43:25 +00:00
Sascha Schumann 01f0478750 MFH 2003-02-11 02:35:34 +00:00
Moriyoshi Koizumi c8d4018067 MFH: fixed zlib.output_compression 2003-02-11 02:26:37 +00:00
Sascha Schumann 04e25c59f7 MFH BUFF check 2003-02-11 02:25:48 +00:00
Frank M. Kromann b99ce6c644 Bug #20426. Convert SMALLDATETIME correct 2003-02-11 01:23:49 +00:00
Sascha Schumann eb09c03ae1 MFH prefix ps_module changes 2003-02-11 01:16:03 +00:00
Sascha Schumann 55d7aa9142 MFH, fully selfcontained, my risk 2003-02-11 01:00:59 +00:00
foobar 9d20219f73 dots..I love ya.. 2003-02-11 00:11:59 +00:00
Moriyoshi Koizumi 5173670675 MFH: fixed possible buffer overflow in 64bit systems 2003-02-10 20:13:36 +00:00
Moriyoshi Koizumi d4a0d6f6a5 dot dot dot.. 2003-02-10 19:55:39 +00:00
Moriyoshi Koizumi 8aa0debb6e Fixed typo 2003-02-10 19:52:56 +00:00
Sara Golemon 4b5fb9c99b Bug 22141 2003-02-10 19:47:04 +00:00
Sara Golemon d631657862 Partial MFH. Deprecated BM algo for str_replace can hang execution. See Bug#22141 2003-02-10 19:37:27 +00:00
Melvyn Sopacua 385729ef2a Make sure we're not buffering stuff 2003-02-10 18:49:02 +00:00
foobar 984380543e - MFH: libtool upgrade to 1.4.3
# For some reason those other files were not up-to-date in this branch..
2003-02-10 17:12:17 +00:00
Harald Radi e9d17fba59 18 times the speed of light 2003-02-10 00:58:07 +00:00
Harald Radi e7609d54be fixed memleak 2003-02-10 00:45:15 +00:00
foobar af8557850b MFH 2003-02-10 00:22:20 +00:00
foobar 3df73b303e MFH (ws fixes, but merged to ease any fix patch merging) 2003-02-09 23:48:59 +00:00
foobar b7e4606a73 MFH 2003-02-09 23:30:08 +00:00
foobar 8fc9bfc66e MFH: Fixed _SERVER[] variables, memleaks 2003-02-09 23:27:50 +00:00
foobar 4b2f06a0fa sex with punctuation mark.. 2003-02-09 22:56:47 +00:00
Kai Schroeder 77e3df17cc fix for #17928 2003-02-09 21:42:31 +00:00
Sascha Schumann 6cfa5ae855 MFH 0/-1 changes 2003-02-09 21:28:49 +00:00
Ilia Alshanetsky 7ec507dec2 Bug fixing news. 2003-02-09 20:51:16 +00:00
foobar fd66d44562 MFH 2003-02-09 19:58:18 +00:00
foobar 50ac9e5aef MFH: fixed compile failures when ZLIB/PCRE are compiled as shared in same
build.
2003-02-09 19:10:32 +00:00
foobar ac4554b8c8 MFH 2003-02-09 18:47:30 +00:00
foobar 2cd330b733 MFH: Fix for bug #22131 2003-02-09 14:59:29 +00:00
Kai Schroeder 33db0681c8 newlines changed 2003-02-09 13:26:00 +00:00
Kai Schroeder ddd2ce19ec getopt() is currently not available on Windows 2003-02-09 13:23:10 +00:00
Kai Schroeder f1f5996447 there are no symlinks on Windows 2003-02-09 13:20:34 +00:00
SVN Migration 215e66b8d6 This commit was manufactured by cvs2svn to create branch 'PHP_4_3'. 2003-02-09 13:20:18 +00:00
Kai Schroeder d956ec06f2 is_executable() does not exist on Windows 2003-02-09 13:18:13 +00:00
Kai Schroeder 24bbf22171 die() to skip second message 2003-02-09 12:34:07 +00:00
Kai Schroeder 9675190c46 MSVC's mktime() does not examine the existence of a daylight-saving-time zone 2003-02-09 12:28:31 +00:00
Derick Rethans eef3cdf70b - Whitespace fixes 2003-02-09 12:14:31 +00:00
Kai Schroeder bdde9d0aa2 test for mktime() 2003-02-09 12:11:01 +00:00
Kai Schroeder 2108d66d2b Windows does not support dates prior to midnight, January 1, 1970 2003-02-09 12:09:42 +00:00
Kai Schroeder 1306b02625 skip for Windows (does not support dates prior to midnight, January 1, 1970) 2003-02-09 12:07:42 +00:00
Kai Schroeder 7cb5be80be Windows doesn't know timezone CET 2003-02-09 12:05:58 +00:00
Frank M. Kromann bcf2e083cc cleanup variable initializations 2003-02-09 09:40:56 +00:00
Frank M. Kromann ed7d034849 Fixing coredump when no php.ini file is used 2003-02-09 08:32:54 +00:00
Yasuo Ohgaki f834ec6410 MFH 2003-02-09 07:50:31 +00:00
Frank M. Kromann 7ce83ed0ca DBFLT4 is not defined in FreeTDS. Needed for real data types 2003-02-09 07:49:34 +00:00
Frank M. Kromann f9712217d8 Fixing autodetect of FreeTDS 2003-02-09 07:48:40 +00:00
Yasuo Ohgaki e54ec4b8d2 MFH 2003-02-09 07:24:36 +00:00
Frank M. Kromann 7145b24e59 Bug #21707 problem with real 2003-02-09 07:18:27 +00:00
Frank M. Kromann 2b51649f74 Fixing build with GD 2.0.11 2003-02-09 06:27:08 +00:00
Frank M. Kromann a0a0428b34 Adding missing HAVE_GD_STRINGFTEX define 2003-02-09 06:26:45 +00:00
Frank M. Kromann 1ae32f0c2d Adding some missing defines to enable functions.
Fixing bug #22130
2003-02-09 05:47:06 +00:00
Sascha Schumann afaecf4140 MFH 2003-02-08 18:59:38 +00:00
Marcus Boerger 16add2cb7a MFH: manpage for this version 2003-02-08 15:27:33 +00:00
Pierre Joye 2475dbc759 MFH:
Add gdImageEllipse
Replace gdImageFilledEllipse by a new function (backported from
the new phpgd)
the new gdImageFilledEllipse fix bug bug #22103 (ellipse part)
2003-02-08 08:54:11 +00:00
Sara Golemon bc517aaa2a MFH(r-1.59) 2003-02-08 01:36:52 +00:00
SVN Migration 9547f33a8e This commit was manufactured by cvs2svn to create branch 'PHP_4_3'. 2003-02-07 22:12:03 +00:00
Dan Kalowsky 8d1923852a Patch for Bug #21279 submitted by ernani@php.net 2003-02-07 02:58:31 +00:00
Sara Golemon 90175ea1d8 MFH(r-1.51) 2003-02-06 22:23:36 +00:00
foobar c6f204ab79 MFH 2003-02-06 16:21:24 +00:00
foobar 55090ad3f8 fugbix news 2003-02-06 15:29:27 +00:00
foobar 2e9cafa7e5 MFH: - Fixed bug #22088 (array_shift() leaves next index to be +1 too much) 2003-02-06 15:28:28 +00:00
foobar c9d1212cf2 MFH 2003-02-06 15:24:08 +00:00
foobar be72d3fe1b MFH 2003-02-06 15:05:19 +00:00
SVN Migration f3627d1d8d This commit was manufactured by cvs2svn to create branch 'PHP_4_3'. 2003-02-06 15:04:54 +00:00
Andrey Hristov 6cd12c25ee added entry for memory_get_usage(). 2003-02-06 14:36:58 +00:00
Andrey Hristov 3d913d6143 Backporting memory_get_usage() from HEAD.
As far as the code is small there won't be any problems.
2003-02-06 14:34:07 +00:00
Sara Golemon f757c17b2f FMH(r-1.49/r-1.50) 2003-02-04 21:39:50 +00:00
foobar bf496a03cf reorder the bug fixes (reverse #). added missing bug fixing news 2003-02-04 19:07:09 +00:00
Sara Golemon d558e94c93 MFH(r-1.48) (Bug#13551) 2003-02-04 19:02:02 +00:00
Ilia Alshanetsky a6a0ae3e74 Bug fixing news. 2003-02-04 18:35:55 +00:00
Ilia Alshanetsky 16f626702d MFH 2003-02-04 18:34:10 +00:00
foobar bdfee70cec Added missing bugfix news entry. 2003-02-04 10:10:25 +00:00
Ilia Alshanetsky b6813a0898 MFH 2003-02-03 22:48:35 +00:00
Ilia Alshanetsky aa55dcf8f5 MFH 2003-02-03 21:24:48 +00:00
Ilia Alshanetsky d92f023f4d MFH 2003-02-03 20:56:28 +00:00
foobar a51420ddc8 MFH: Fix bug: #22035 (EXTRA_LDFLAGS for AIX not quite right) 2003-02-03 17:35:39 +00:00
foobar 90dce5bec5 fugbix news 2003-02-03 17:01:16 +00:00
foobar ef6658864a MFH: Fixed bug: #21998 (array_pop() did not reset the current array position) 2003-02-03 16:58:08 +00:00
Moriyoshi Koizumi af4be723b2 MFH: fixed proto 2003-02-03 16:54:38 +00:00
foobar d4223acfed MFH 2003-02-03 16:52:15 +00:00
Moriyoshi Koizumi e7a663d137 MFH: fixed test case for mb_strpos() 2003-02-03 16:17:29 +00:00
foobar 01ef5c86f1 MFH 2003-02-03 13:08:19 +00:00
foobar 34c712bae0 MFH: Fixed bug: #22011 (-n must ignore all ini files) 2003-02-03 12:25:47 +00:00
foobar 93ca6a350e MFH 2003-02-03 11:45:55 +00:00
Giuseppe Tanzilli 008dc0c248 Fix sapi/servlet build on Unix 2003-02-03 09:04:09 +00:00
foobar bfd4ad90ed MFH: added test for bug #21998 2003-02-03 06:44:21 +00:00
SVN Migration 06049c7753 This commit was manufactured by cvs2svn to create branch 'PHP_4_3'. 2003-02-03 06:43:09 +00:00
Sara Golemon 98f4eed1d4 MFH(r-1.50/r-1.51) 2003-02-03 03:47:00 +00:00
Ilia Alshanetsky 1baeaf9201 MFH 2003-02-02 23:09:40 +00:00
Ilia Alshanetsky e2b1618571 MFH 2003-02-02 20:27:01 +00:00
Zeev Suraski f70be2a9a7 Fix phpinfo() display of Zend extensions 2003-02-02 15:51:37 +00:00
Marcus Boerger c1e7c349c5 MFH: Change DBM detection order 2003-02-01 22:19:31 +00:00
Marcus Boerger 692fc9d24a MFH: include file handling and dbm fixes 2003-02-01 19:01:13 +00:00
Melvyn Sopacua 6b0b91474a MFH: Bug #21892 (links to apache2 install instructions missing) 2003-02-01 11:21:14 +00:00
Ilia Alshanetsky 43e6623c3d MFH 2003-01-31 22:27:28 +00:00
Marcus Boerger 13e162eb04 MFH: Version info 2003-01-31 20:10:11 +00:00
Marcus Boerger 05e397b330 MFH: Shared dba requires at least db-3.3 2003-01-31 20:07:23 +00:00
Frank M. Kromann 283efd226d Rename script.
Add check for CLI version
2003-01-31 18:50:41 +00:00
Melvyn Sopacua 4be86f6c14 "The ugly patch"
Make mcrypt compile, when we finally are free of -ltdl. Bug #20926.

# There's a variant, with a config option, but that's an ugly word(tm)
2003-01-31 15:06:45 +00:00
Moriyoshi Koizumi 56107bb783 MFH: fixed a mb_send_mail() bug.
# sorry for mixing WS fix
2003-01-31 14:28:44 +00:00
foobar 49ad4ad943 Moved from HEAD. 2003-01-31 14:23:56 +00:00
foobar 3744c31519 MFH all changes as requested by Maxim. 2003-01-31 14:21:19 +00:00
Sascha Schumann 34c7b71a89 MFH obsolete warning 2003-01-31 07:47:10 +00:00
Frank M. Kromann fcb3b7d6b9 Wrapper script to execute ext_skel on WIn32 2003-01-31 01:01:51 +00:00
Frank M. Kromann a7851234a7 Allow extensions to be loaded on win32 2003-01-31 01:01:06 +00:00
Frank M. Kromann 79dcd3c4cf Adding Win32 project file 2003-01-31 01:00:42 +00:00
Marcus Boerger e7605bb420 MFH: revert partly 2003-01-30 21:38:15 +00:00
Sascha Schumann 6eb3a0ff12 Partial MFH: Fix sticky eof issue, and avoid calling system stat macro 2003-01-30 21:11:29 +00:00
foobar 856dafbe36 MFH: fix bug: #21945 (zts build failed) 2003-01-30 19:30:34 +00:00
Marcus Boerger c4ba0d56d2 MFH: Allow to link against chosen modules correctly 2003-01-30 18:31:36 +00:00
Ilia Alshanetsky 998c64cc5d MFH 2003-01-29 19:33:56 +00:00
Edin Kadribasic 81586fed7d MFH 2003-01-29 15:42:43 +00:00
foobar d2549b91aa ordered all bug fixes by the number :) 2003-01-29 08:08:25 +00:00
foobar 5e63f36507 news entries for new options in phpize and php-config 2003-01-29 03:26:15 +00:00
Harald Radi 9f2275ec67 fix warnings 2003-01-29 00:59:54 +00:00
Harald Radi c23bb9ce4f ilia pointet me to a thread on php-dev saying that
Co(Un)Initialize should be called per thread
2003-01-29 00:46:31 +00:00
Harald Radi 339702a044 fix for bug #20282 (and propably some of the
other com bugs)

#credits also go to tzm.de for sponsoring me
2003-01-29 00:10:01 +00:00
Harald Radi bd731f1ed3 moved to php4/main 2003-01-28 23:46:13 +00:00
Harald Radi 309e5aacc1 somehow the module shutdown order got reversed since 4.3.0,
thus the CoInitialize / CoUninitialize calles are more sane here
than in the basic functions module.
2003-01-28 23:45:02 +00:00
foobar 67acb0fa9e fugbix news 2003-01-28 17:57:51 +00:00
Ilia Alshanetsky 6d7d365d3c Fixed compile warning. 2003-01-28 17:46:47 +00:00
Ilia Alshanetsky 63610854d5 Bug fixing news. 2003-01-28 16:36:50 +00:00
Ilia Alshanetsky 827b79d6c1 MFH 2003-01-28 16:34:41 +00:00
Derick Rethans b7010976f0 - Fix includes 2003-01-28 16:05:07 +00:00
Ilia Alshanetsky 6faa5e5bc4 Fixed compiler warning. 2003-01-28 16:02:33 +00:00
foobar 03caef107a - MFH: Fixed bug #13561 (--without-pear prevents install of php-config, phpize)
- MFH: Added --ldflags option to php-config
- MFH: Added --clean option to phpize
2003-01-28 15:02:08 +00:00
foobar 8650dda505 MFH: Typo fix 2003-01-28 15:00:15 +00:00
Edin Kadribasic 35876e07b3 MFH 2003-01-28 14:19:12 +00:00
SVN Migration 0cb305a4f8 This commit was manufactured by cvs2svn to create branch 'PHP_4_3'. 2003-01-28 10:59:13 +00:00
Edin Kadribasic 17c7216ee0 MFH 2003-01-28 10:54:17 +00:00
foobar 5a0738d82d MFH: typo fixes 2003-01-28 06:56:42 +00:00
foobar beed320140 MFH: typo fix 2003-01-28 06:52:33 +00:00
Marcus Boerger 97ab5eb4d4 MFH 2003-01-28 06:27:19 +00:00
Frank M. Kromann 694406816b Fix the setting of computer name and processor type for php_uname() on Win32 2003-01-28 05:01:46 +00:00
Ilia Alshanetsky 96f815aa74 MFH (scandir patch). 2003-01-28 01:51:26 +00:00
foobar 12e5f25ced MFH 2003-01-28 01:00:42 +00:00
SVN Migration 3835ea2241 This commit was manufactured by cvs2svn to create branch 'PHP_4_3'. 2003-01-28 00:42:55 +00:00
Marcus Boerger b5b59b7ee6 MFH: --without-flatfile, Berkeley DB version check 2003-01-28 00:12:19 +00:00
Edin Kadribasic 169ce6948d MFH: Fixed bug #21597 (made glob() understand Windows paths). 2003-01-27 16:32:48 +00:00
Andrey Hristov ed8ccb2911 MFH 2003-01-27 16:22:33 +00:00
foobar b36e230373 revert previous commit 2003-01-27 12:44:56 +00:00
foobar 956681d54a MFH: use grep -E instead of egrep. the latter is not defined by POSIX anymore 2003-01-27 11:33:47 +00:00
Moriyoshi Koizumi 736588313d MFH: test update 2003-01-27 01:16:34 +00:00
Marcus Boerger f660a474af MFH: Part 2, forgot the '@' 2003-01-26 17:23:00 +00:00
Marcus Boerger c8ee823db0 MFH: Simplify 2003-01-26 17:18:24 +00:00
Sander Roobol 39d29d68b2 MFH (well... it's not really an MFH... but who cares :) 2003-01-26 09:20:12 +00:00
Shane Caraveo 842fa7a716 MFH
fix broken build by adding scandir and alphasort
2003-01-26 01:46:40 +00:00
Shane Caraveo 839512558f MFH
fix bug 21261
    putenv on some platforms requires we provide the memory
    cleanup env parsing logic
fix bug 21367
    missed optargs in a previous patch
2003-01-25 22:02:45 +00:00
Ilia Alshanetsky f142761ab8 MFH 2003-01-25 21:15:41 +00:00
Marcus Boerger 375f71522b MFH: The builtin version was always used even if configured otherwise. 2003-01-25 19:51:05 +00:00
Marcus Boerger 2fb7ff2f43 MFH: Bug #21751: Part one never let this happen again... 2003-01-25 19:50:04 +00:00
Ilia Alshanetsky d5b75a2768 MFH 2003-01-25 18:55:40 +00:00
Ilia Alshanetsky 2a4f59ce8f MFH 2003-01-25 00:26:34 +00:00
Dan Kalowsky 0d29b1ef72 busted by the style police... 2003-01-24 22:49:22 +00:00
Dan Kalowsky 306918850b Patch for bug #21844 2003-01-24 22:43:42 +00:00
Ilia Alshanetsky 6695acbd23 MFH 2003-01-24 19:24:01 +00:00
Ilia Alshanetsky 3871b272fd MFH 2003-01-24 19:16:28 +00:00
foobar a630f7cf1d MFH: Fix bug #21795, Undeclared statement in oci8.c (OCI_ATTR_STATEMENT) 2003-01-24 17:51:40 +00:00
Ilia Alshanetsky 98536a9d8b MFH (memory leak in quota functions). 2003-01-24 17:10:40 +00:00
foobar eb15881a94 MFH: typofix 2003-01-24 10:13:16 +00:00
foobar 9aea9970bb MFH: Fix potential problem for 64-bit architectures. 2003-01-24 10:00:18 +00:00
foobar 7ce609a045 figbug news 2003-01-24 09:54:30 +00:00
foobar 8d5ade4cef MFH: Fixed bug: #20857, snmpset() fails 2003-01-24 09:53:16 +00:00
Derick Rethans 8e5d7f67ef - MFH: memleak 2003-01-24 08:50:59 +00:00
foobar 1c3f186c11 Remove unused GET/POST entries 2003-01-24 05:56:03 +00:00
foobar cea7bd34ca MFH 2003-01-23 16:30:07 +00:00
foobar 6cd646e939 MFH 2003-01-23 06:42:51 +00:00
foobar e506353517 Enable building with freetype 2.1.3 2003-01-23 06:22:42 +00:00
foobar c7c6ddf6e1 MFH 2003-01-23 05:33:19 +00:00
foobar 0eb7973e96 fugbix news 2003-01-23 05:20:34 +00:00
foobar 1d6714eea4 MFH: Added test for bug: #21513 2003-01-23 03:29:22 +00:00
SVN Migration 5849307944 This commit was manufactured by cvs2svn to create branch 'PHP_4_3'. 2003-01-23 03:28:42 +00:00
Frank M. Kromann e2dd22e13f adding missing zlib.lib and path to bindlib 2003-01-22 20:12:47 +00:00
Ilia Alshanetsky 4bbff1f82d MFH 2003-01-22 19:53:40 +00:00
Moriyoshi Koizumi ba1e0fbf46 MFH: reverted the wrong patch 2003-01-21 22:09:55 +00:00
Moriyoshi Koizumi d78df15074 MFH: fixed a mb_regex_replace() bug 2003-01-21 22:04:28 +00:00
Moriyoshi Koizumi 77821ecb75 MFH: fixed mb_ereg_search() segfault 2003-01-21 19:32:18 +00:00
foobar 8fdf6abb81 MFH: Fixed bug: #21698, httpd.conf not modified with "make install" 2003-01-21 06:03:16 +00:00
Edin Kadribasic 2070287f64 MFH 2003-01-21 03:04:38 +00:00
SVN Migration 35382136b4 This commit was manufactured by cvs2svn to create branch 'PHP_4_3'. 2003-01-21 02:46:08 +00:00
Moriyoshi Koizumi 875814b68b MFH: fixed bug #21758 2003-01-20 16:46:34 +00:00
foobar 591b6e7d59 MFH 2003-01-20 10:39:39 +00:00
Moriyoshi Koizumi d3a2e6852c MFH: fixed bug #21744 2003-01-19 12:56:26 +00:00
SVN Migration 65b0cbbfeb This commit was manufactured by cvs2svn to create branch 'PHP_4_3'. 2003-01-19 11:32:55 +00:00
Moriyoshi Koizumi 95122f3209 MFH: added test case for bug #21730 2003-01-18 21:21:32 +00:00
Moriyoshi Koizumi 16670b2d42 MFH: fixed bug #21726 and #21730 2003-01-18 21:20:47 +00:00
Ilia Alshanetsky 6c7c785e9d MFH 2003-01-18 20:49:02 +00:00
SVN Migration 14b549692e This commit was manufactured by cvs2svn to create branch 'PHP_4_3'. 2003-01-18 19:02:22 +00:00
foobar 4affc10629 MFH: Fix bug: #21687, imap extension does not include gss authentication mechanism 2003-01-18 07:01:11 +00:00
Sascha Schumann 6b398307a3 MFH POST fixes 2003-01-17 19:11:38 +00:00
Derick Rethans eb8f7ccead - MFH: Fixed a bug that made that no newline was displayed when there was no
value for a row.
2003-01-17 18:12:38 +00:00
Ilia Alshanetsky 2ed8d327b8 MFH 2003-01-16 21:18:59 +00:00
Edin Kadribasic f7b9d75e18 MFH: recent fixes to number_format() 2003-01-16 13:21:54 +00:00
Ilia Alshanetsky 5295f6e657 MFH 2003-01-16 02:54:07 +00:00
Harald Radi eaa9026f2d removing this stuff from the php 4.3 branch 2003-01-15 21:52:29 +00:00
Sascha Schumann 5360b2e876 MFH 2003-01-15 21:20:05 +00:00
foobar 55f12ed0bb MFH: handle ERANGE from strtol properly 2003-01-15 15:53:34 +00:00
Sascha Schumann 18d55a08b3 MFH 2003-01-15 11:32:31 +00:00
Sascha Schumann 29db4eaa2c MFH 1.150 2003-01-15 11:29:05 +00:00
Sascha Schumann 9c9d4b2177 MFH 1.161 2003-01-15 11:28:25 +00:00
foobar 0c51c2b3dc Fixed the bad MFH 2003-01-15 09:31:41 +00:00
Sebastian Bergmann 6a547ff74b MFH: zlib build fix 2003-01-15 09:10:56 +00:00
Ilia Alshanetsky a21aa4991d MFH 2003-01-15 00:52:20 +00:00
Edin Kadribasic a97cbb59e2 Bugfixing news 2003-01-14 14:49:41 +00:00
Edin Kadribasic 3ae6ab890d Made bind_textdomain_codeset() available on windows (fixes #21525). 2003-01-14 14:45:16 +00:00
foobar 7bd89a17dd Fixed bug: #21543, Informix version detection fails 2003-01-13 23:31:33 +00:00
Moriyoshi Koizumi 18a5dc440f MFH
# The typo I made in the previous commit log is not intentional :)
2003-01-13 19:21:44 +00:00
Moriyoshi Koizumi c7050f9f93 MFH 2003-01-12 23:57:20 +00:00
SVN Migration 093b043bca This commit was manufactured by cvs2svn to create branch 'PHP_4_3'. 2003-01-12 23:56:05 +00:00
Frank M. Kromann 57a3edd204 MFH 2003-01-12 06:29:33 +00:00
Frank M. Kromann a712b3f5f4 MFH 2003-01-12 03:17:44 +00:00
Ilia Alshanetsky 0ec6f5f3e9 MFH 2003-01-11 23:50:59 +00:00
Ilia Alshanetsky debdc829df MFH 2003-01-11 23:07:13 +00:00
Christian Stocker 4214d95e6f Throw error if object is not a XML_DOCUMENT_NODE 2003-01-10 18:05:02 +00:00
Ilia Alshanetsky 5eaeb31845 MFH 2003-01-10 02:00:52 +00:00
Ilia Alshanetsky 2c92e3f983 Bug fixing news. 2003-01-10 01:17:03 +00:00
Ilia Alshanetsky e566262369 MFH 2003-01-09 23:09:41 +00:00
Frank M. Kromann 6ea06ad338 MFH 2003-01-09 22:36:02 +00:00
Ilia Alshanetsky 8fb3f4a199 MFH 2003-01-09 22:34:27 +00:00
Sara Golemon e1c35b0f16 MFH 2003-01-09 22:29:02 +00:00
Ilia Alshanetsky 0faa05d744 MFH 2003-01-09 16:54:15 +00:00
Sebastian Bergmann 82e8134fc6 MFH: Revert config.w32.h.in -> config.w32.h build step. 2003-01-09 16:52:14 +00:00
foobar 70e5f19ff8 MFH: Fix bug #21511 2003-01-09 16:38:28 +00:00
SVN Migration 5cd68e4606 This commit was manufactured by cvs2svn to create branch 'PHP_4_3'. 2003-01-09 15:44:50 +00:00
Frank M. Kromann 7917d26b57 MFH 2003-01-09 08:28:19 +00:00
Ilia Alshanetsky 0cc6d8fccf MFH 2003-01-09 03:33:44 +00:00
Frank M. Kromann ab84d192be MFH 2003-01-08 23:21:42 +00:00
Ilia Alshanetsky 73bf754530 MFH 2003-01-08 18:11:58 +00:00
Ilia Alshanetsky d20ee838f0 Bug fixing news. 2003-01-08 15:01:59 +00:00
Georg Richter c687f71c5a fixed bug 21498 2003-01-08 11:15:12 +00:00
Ilia Alshanetsky 8994f31b03 MFH 2003-01-08 02:44:50 +00:00
Ilia Alshanetsky 7a16fdbd27 MFH 2003-01-08 00:44:58 +00:00
Edin Kadribasic 4978b31363 Bugfix #17098 in the branch 2003-01-07 15:28:13 +00:00
Edin Kadribasic 20a2136350 MFH:
Fixed bug #17098 (make Apache aware that PHP scripts represent dynamic data
and should not be cached). Fix suggested by daniel.eckl@gmx.de.
2003-01-07 15:23:45 +00:00
Edin Kadribasic 2dfed948a1 Bugfixing news 2003-01-07 11:26:03 +00:00
Edin Kadribasic 8b5cb40c24 Fixed bug #21442 (Crash of mail() on Windows when the first parameter
is empty).
2003-01-07 11:20:50 +00:00
Frank M. Kromann 1d819f780c MFH 2003-01-07 05:20:42 +00:00
Ilia Alshanetsky 296bc367dc MFH 2003-01-07 03:53:56 +00:00
Ilia Alshanetsky 794f365e4e Changed perror() to php_error_docref(), fixed bug #21309.
Made extension use ZE memory allocation wrappers, fixed a memory leak in
ftp_mkdir.
Removed duplicate ftp_syst() call inside ftp_systype().

# A larger patch with CS fixes will be applied to HEAD shortly.
2003-01-07 02:21:58 +00:00
Ilia Alshanetsky d9afe5c129 MFH 2003-01-06 22:16:30 +00:00
SVN Migration 6c44faecfd This commit was manufactured by cvs2svn to create branch 'PHP_4_3'. 2003-01-06 22:13:04 +00:00
Ilia Alshanetsky 544be4d557 MFH 2003-01-06 21:43:50 +00:00
Georg Richter 9a2babf4b6 fixed a missing & (Thx to Sebastian Bergmann 2003-01-06 14:12:40 +00:00
Edin Kadribasic b89acbbc31 Bugfixing news. 2003-01-06 10:53:35 +00:00
Edin Kadribasic b37cbba31d Fixed bug #20503 (imagesetbrush() availability on windows). 2003-01-06 10:42:10 +00:00
Christian Stocker 562fa5b78f - fix crash in domxml_node_insert_before() (by Lukas Schröder) 2003-01-06 10:00:34 +00:00
Christian Stocker 1fcbd36e6d partly MFH from 1.288 (Fixed segfault, when trying to add a node to itself) 2003-01-06 08:48:38 +00:00
Edin Kadribasic 7be4d4640a Mention gif read-only support on windows. 2003-01-06 01:49:17 +00:00
Edin Kadribasic 7802d1e61c MFH: Added missing flags and .c files for gif read support on Windows. 2003-01-06 01:44:50 +00:00
Ilia Alshanetsky 65029af613 Bug fixing news. 2003-01-06 00:49:24 +00:00
Ilia Alshanetsky f600d3e481 MFH 2003-01-06 00:47:47 +00:00
Derick Rethans ada8f84019 - MFH (Fix for bug #21435) 2003-01-05 21:11:39 +00:00
Edin Kadribasic 73cac507ad Made xslt_set_encoding() available on windows (bug #20640). 2003-01-05 13:52:21 +00:00
Edin Kadribasic 063c192a12 Fixed ZTS build. 2003-01-05 13:02:02 +00:00
Ilia Alshanetsky b2576fd44f MFH 2003-01-05 04:29:35 +00:00
Marcus Boerger 48c8f7c55b MFH 2003-01-04 19:53:53 +00:00
Marcus Boerger b05115978c Fix ZTS-ZE2 (After Cygwin now for the rest) 2003-01-04 19:51:46 +00:00
Marcus Boerger bb74381c49 Fix ZTS-ZE2 build 2003-01-04 19:42:37 +00:00
Marcus Boerger dc8e2ab453 MFH: Fix ZTS-ZE2 build 2003-01-04 19:21:22 +00:00
Derick Rethans c71f17295c - MFH: Fixed bug #21232 (Unresolved references to PQsetnonblocking). (Patch by
Floyd <floyd@studiodust.com>)
2003-01-04 12:34:27 +00:00
Alex Waugh 4033a44b95 MFH 2003-01-03 22:07:05 +00:00
Derick Rethans 6f533a3d8a - Fix docrefs 2003-01-03 21:32:24 +00:00
Derick Rethans 1bfe97474f - Remove broken lines (due to MFH) 2003-01-03 18:57:37 +00:00
Ilia Alshanetsky ae6d79eae3 MFH (fix for bug #21267 & memory leak fix on reidrects). 2003-01-03 17:19:46 +00:00
Derick Rethans 71a5313fc5 - MFH for bug #21311 2003-01-03 12:31:13 +00:00
Derick Rethans 7daca337be Bugfixing news 2003-01-03 09:19:49 +00:00
Moriyoshi Koizumi da497ecb88 Updated the test so it reflects the recent change on iconv.c 2003-01-03 05:15:54 +00:00
Moriyoshi Koizumi 655a3126a2 Fixed shift-out sequence unawareness issue 2003-01-03 05:13:11 +00:00
Moriyoshi Koizumi ae0519643e MFH 2003-01-03 05:12:06 +00:00
foobar f01f0ff5e0 Group these entries a bit to make NEWS easier to read. 2003-01-03 00:05:07 +00:00
Ilia Alshanetsky 8e64a1c73f Bug fixing news. 2003-01-02 19:52:18 +00:00
Ilia Alshanetsky c4fc154089 MFH 2003-01-02 19:50:37 +00:00
SVN Migration de38a0eca4 This commit was manufactured by cvs2svn to create branch 'PHP_4_3'. 2003-01-02 19:49:31 +00:00
Ilia Alshanetsky da85b57c61 MFH 2003-01-02 19:21:53 +00:00
Derick Rethans 514996363e *** empty log message *** 2003-01-02 17:58:57 +00:00
Derick Rethans 4e4a4036cf - MFH: Fix warnings on UnixWare 2003-01-02 13:31:30 +00:00
Derick Rethans 680e256d17 - MFH: Fix "make test" when CC was set to something with a parameter 2003-01-02 13:01:53 +00:00
Derick Rethans a50d3f2029 - MFH: Fix tests if Zend Optimizer is loaded 2003-01-01 12:44:47 +00:00
SVN Migration 8c761c73ad This commit was manufactured by cvs2svn to create branch 'PHP_4_3'. 2003-01-01 12:44:00 +00:00
Wez Furlong f8721992dd Workaround a bug in glibc 2.2.9x and later that causes it not to seek to EOF
for stdio streams opened with a mode of "a+".
2003-01-01 09:55:38 +00:00
Ilia Alshanetsky 525bb0ed7e MFH 2002-12-31 18:54:38 +00:00
Ilia Alshanetsky fe18a0e9b1 Added bug fix entries. 2002-12-31 18:39:31 +00:00
Sebastian Bergmann ec46829b38 MFH: Bump year. 2002-12-31 16:37:36 +00:00
Sebastian Bergmann 03d440e1c0 MFH: Bump year. 2002-12-31 16:27:40 +00:00
Marcus Boerger a412c510d4 Do it manually after problems with the commit message 2002-12-31 12:12:30 +00:00
Wez Furlong ac07cbb0ca MFH: Fix for 21304 (gzopen not reporting errors, "a" mode broken). 2002-12-31 11:43:02 +00:00
Ilia Alshanetsky ce2ae19703 MFH 2002-12-31 00:05:19 +00:00
Ilia Alshanetsky ca8772a059 MFH 2002-12-30 19:41:00 +00:00
Marcus Boerger 23a44e86ce MFH: (configure problems & db4 sub module
@- Improved dba extension (Marcus)
@
  . Added support for internal error handling of Berkeley db libraries.
@
  . Disallow Berkeley db versions 4.1.0 to 4.1.24 due to locking problems.
@
  . Disallow linkage of Berkeley db submodules against libraries with
@
    different major version.
@
  . Disallow configuring of more than one Berkeley db handler.
2002-12-30 19:13:45 +00:00
Ilia Alshanetsky 5c5c577359 MFH 2002-12-30 18:29:25 +00:00
SVN Migration 15675d6f49 This commit was manufactured by cvs2svn to create branch 'PHP_4_3'. 2002-12-30 17:42:56 +00:00
Ilia Alshanetsky 4cb293e5a1 MFH 2002-12-30 16:43:31 +00:00
Ilia Alshanetsky c3e88c6d59 MFH 2002-12-30 15:35:55 +00:00
Moriyoshi Koizumi d39471b761 WS 2002-12-30 15:04:36 +00:00
Moriyoshi Koizumi ddcf71c483 just MFH 2002-12-30 15:03:27 +00:00
Moriyoshi Koizumi 28624bb7f6 MFH: Ilia's patch for bug #21268 (session_decode() returned FALSE on success) 2002-12-30 13:56:28 +00:00
Derick Rethans d74b967c9e - MFH: Align mssql comment and clarify DBA handler selection 2002-12-30 09:23:33 +00:00
Edin Kadribasic cdb8029c39 Live goes on :) 2002-12-27 22:11:40 +00:00
Ilia Alshanetsky 8ef253d9dc MFH 2002-12-27 04:47:45 +00:00
Andrei Zmievski d91ac3b7b8 Go with 4.3.0. 2002-12-27 04:07:19 +00:00
08f7cfae71 Update. 2002-12-27 04:02:52 +00:00
dd734b5a5d update 2002-12-27 04:00:09 +00:00
Sterling Hughes d8b14bd700 mfh 2002-12-27 03:22:42 +00:00
Andrei Zmievski 4e395f36af MFH 2002-12-27 03:22:13 +00:00
Edin Kadribasic b9ad07ca0b MFB:
Mention the fact that zlib extension is now built-in in win32 distro.
2002-12-27 03:17:17 +00:00
Georg Richter 6497cc956c ISO-8601 bug, typo 2002-12-27 00:21:17 +00:00
Ilia Alshanetsky ee3e6f12ae MFH 2002-12-27 00:09:35 +00:00
Derick Rethans 4f7f46d0b8 All on one line 2002-12-26 23:41:59 +00:00
Derick Rethans 991ca2274f - update credits 2002-12-26 23:39:51 +00:00
Georg Richter b72ea915ab added Wez, Ilia and myself 2002-12-26 23:36:57 +00:00
Wez Furlong 055f1f483e MFH: get_meta_tags() stream leak 2002-12-26 22:36:21 +00:00
Georg Richter a493c51949 fixed some compiler warnings when using external libmysqlclient 4.x 2002-12-26 13:47:59 +00:00
Edin Kadribasic 45cb9dc7b1 Made ZLIB extension built in on Windows. Fixes #21139.
# Approved by the release master.
# Will merge this patch into HEAD a bit later.
2002-12-26 13:27:08 +00:00
George Schlossnagle 45f5605f38 mfh (bug #21177) 2002-12-25 21:14:55 +00:00
Derick Rethans 6c3558c2ac - MFH: Test for bug #21182 2002-12-25 20:11:38 +00:00
SVN Migration 0dd36fd9f5 This commit was manufactured by cvs2svn to create branch 'PHP_4_3'. 2002-12-25 20:08:37 +00:00
Moriyoshi Koizumi d07f529652 Fixed bug #21182 2002-12-25 20:00:12 +00:00
Stefan Esser cb6d34ee25 MFH 2002-12-24 23:50:21 +00:00
Stefan Esser 00cc762934 MFH 2002-12-24 23:30:51 +00:00
Melvyn Sopacua 409f64d09d MFH: crash fix in glob() with no results 2002-12-24 15:04:10 +00:00
Stefan Esser 5367710045 MFH 2002-12-23 08:51:16 +00:00
Stefan Esser e5343487ac MFH: fix compile error with IRIX compiler 2002-12-23 08:43:13 +00:00
Edin Kadribasic f0e94729bf Ignore the new name of the binary built. Allows cvsclean to work again
in sapi/cgi.
2002-12-23 03:34:23 +00:00
Wez Furlong 673dee58ad fpos_t should have been off_t.
Noticed by Philip Olson.
2002-12-23 02:55:29 +00:00
Ilia Alshanetsky 9b16b3d7b8 MFH 2002-12-22 20:58:27 +00:00
Ilia Alshanetsky 51a711b609 MFH (fix for bug #21146).
# Approved by Andrei
2002-12-22 19:45:21 +00:00
Moriyoshi Koizumi 022e5db8ec MFH: php_error => php_error_docref 2002-12-22 19:16:42 +00:00
Moriyoshi Koizumi a29eb8c1d2 MFH: WS fix 2002-12-22 19:06:29 +00:00
Moriyoshi Koizumi c16bb3d7c9 MFH 2002-12-22 19:03:14 +00:00
Wez Furlong aaba243f41 MFH fix for Bug #21131 2002-12-22 18:21:55 +00:00
SVN Migration 41226129d7 This commit was manufactured by cvs2svn to create branch 'PHP_4_3'. 2002-12-22 18:06:28 +00:00
Wez Furlong 17384705d3 MFH:
A Simple fix for Bug #12360 (fsockopen timeout doesn't work).

Analysis:
On systems with HAVE_GETADDRINFO and IPV6 support, php_hostconnect would
attempt to connect to each possible address that matched the requested IP.

If the remote host:port combination are dropping packets this would cause the
first connection to timeout (after waiting for the full timeout duration).

PHP would then attempt the second address and wait the full duration again.

Solution:
If the first connection attempt times out, abort the connection loop.
2002-12-22 13:58:41 +00:00
Stig Bakken 5e489050e1 MFH 2002-12-22 01:43:20 +00:00
Frank M. Kromann 4100b87e38 MFH 2002-12-21 22:44:38 +00:00
Edin Kadribasic 5f6f1ab107 Updated list of bundled windows extensions compiled by
Christoph Grottolo <cg@gordimer.net>
2002-12-21 22:16:35 +00:00
Edin Kadribasic de713235ed Reflect recent changes to the build process. 2002-12-21 22:03:46 +00:00
Moriyoshi Koizumi 6e2cd3fcfe MFH: Made auth information inaccessible under safe mode 2002-12-21 21:52:41 +00:00
Melvyn Sopacua b686c05f3b There won't be a warning/fix on this, so remove the test 2002-12-21 21:01:26 +00:00
Ilia Alshanetsky 174f00fe03 Bug fixing news 2002-12-21 20:36:14 +00:00
Ilia Alshanetsky 4f1947c729 MFH 2002-12-21 20:34:36 +00:00
Andrei Zmievski 50c811c210 *** empty log message *** 2002-12-21 20:11:05 +00:00
Andrei Zmievski 614614c89e Make PHP_AUTH_* variables not available in safe mode under Apache. Patch by
Philip Olson.
2002-12-21 20:09:09 +00:00
Derick Rethans 4de8da30d0 - Fix typo 2002-12-21 17:46:32 +00:00
Melvyn Sopacua 2e23a75ff4 Skip the test, until a proper descision is made 2002-12-21 16:54:07 +00:00
Andrei Zmievski 02a5c36cb9 Back to -dev. 2002-12-21 01:34:15 +00:00
Andrei Zmievski f380b6b5da Go with RC4. 2002-12-21 01:30:20 +00:00
Andrei Zmievski 641bf4653a MFH 2002-12-21 01:20:32 +00:00
Marcus Boerger fd7b8ff912 MFH: as discussed 2002-12-20 20:25:19 +00:00
Stefan Esser 4dd722e870 MFH 2002-12-20 19:37:45 +00:00
Frank M. Kromann 25e38548cb MFH 2002-12-20 18:41:19 +00:00
Frank M. Kromann d8f5916a72 MFH 2002-12-20 17:39:30 +00:00
Marcus Boerger b27ae49ada Avoid compiler warnings 2002-12-20 17:03:37 +00:00
Andrei Zmievski 7c9dd72b76 MFH 2002-12-20 16:47:15 +00:00
Marcus Boerger 95b4b3ea3e MFH 2002-12-20 16:37:44 +00:00
Moriyoshi Koizumi 2615ec3dee MFH 2002-12-20 15:52:49 +00:00
Sterling Hughes e4871a4a2c mfh 2002-12-20 15:45:53 +00:00
Edin Kadribasic 0dbe08cba2 Make sure cli install dir is created before trying to install in it. 2002-12-20 10:04:55 +00:00
Ilia Alshanetsky f81e612976 MFH 2002-12-20 03:44:41 +00:00
Melvyn Sopacua 2e828c812c Fix libtool detection 2002-12-20 00:25:56 +00:00
Wez Furlong 3748fb07e8 MFH fix for bug #21077.
(proc_open problems with BSD)
2002-12-19 20:34:34 +00:00
Edin Kadribasic 251c2a2383 Making windows build system changes according to proposal:
http://news.php.net/article.php?group=php.dev&article=92682
2002-12-19 18:11:58 +00:00
Ilia Alshanetsky 6cf87a7740 MFH 2002-12-19 17:07:24 +00:00
Edin Kadribasic 83638d2232 Making build system changes according to proposal:
http://news.php.net/article.php?group=php.dev&article=92682
2002-12-19 16:55:57 +00:00
Moriyoshi Koizumi af69bece5b MFH 2002-12-19 15:29:38 +00:00
Edin Kadribasic 58637340e8 Removed libtool library from link which is no longer needed. This fixes
windows build.
2002-12-19 10:37:45 +00:00
Edin Kadribasic a3d0b7e43f Reverted previous patch as suggested by Andi. (reopening #20539). 2002-12-19 00:11:32 +00:00
Moriyoshi Koizumi 07391c8f28 MFH 2002-12-18 23:08:22 +00:00
Moriyoshi Koizumi 90741703de MFH: added a test case for bug #20539 2002-12-18 22:55:16 +00:00
SVN Migration a962c4e340 This commit was manufactured by cvs2svn to create branch 'PHP_4_3'. 2002-12-18 22:54:35 +00:00
Frank M. Kromann 20da71fb75 MFH 2002-12-18 07:06:36 +00:00
Derick Rethans e8295e70af - MFH 2002-12-17 19:08:01 +00:00
Moriyoshi Koizumi 8954a0486c MFH: iconv extension is no longer experimental 2002-12-17 13:34:23 +00:00
Marcus Boerger c36139bd55 MFH 2002-12-16 17:53:15 +00:00
Marcus Boerger 41335dc90f MFH 2002-12-16 15:54:04 +00:00
Ilia Alshanetsky 33ccce8047 MFH 2002-12-16 15:44:06 +00:00
Ilia Alshanetsky 5b71dbb4e2 MFH (memory leak). 2002-12-16 15:30:51 +00:00
Marcus Boerger 375cf41b62 MFH: that silly dot 2002-12-16 14:55:26 +00:00
Marcus Boerger f142b06770 MFH 2002-12-16 14:48:20 +00:00
Derick Rethans e88e587c30 - Fix typo 2002-12-16 09:11:15 +00:00
Derick Rethans 15c23426d8 - Update NEWS 2002-12-16 09:10:17 +00:00
Derick Rethans bd59a23e0a - Fix bug #21039
#- This is somewhat of a hack, and thus I will not merge it to HEAD, as
#  I've lots of other commits waiting for that.
2002-12-16 09:03:11 +00:00
Marcus Boerger ddc78bc5c0 MFH 2002-12-14 19:53:52 +00:00
Marcus Boerger 8cd8c85017 MFH: bugfix: #21010 2002-12-14 17:50:57 +00:00
foobar d88973feba Fixed bug: #20995 2002-12-14 09:32:49 +00:00
Melvyn Sopacua 5410ce07eb MFH 2002-12-13 18:46:14 +00:00
SVN Migration 4e855de5ae This commit was manufactured by cvs2svn to create branch 'PHP_4_3'. 2002-12-13 18:40:40 +00:00
Vlad Krupin 9053c5eadd MFH fix for bug 19727 2002-12-13 16:54:49 +00:00
Marcus Boerger 016d0be3e0 MFH 2002-12-13 13:34:37 +00:00
Marcus Boerger 97b8a7cd4d MFH 2002-12-13 12:06:00 +00:00
Stig Bakken 37f5e2f175 MFH 2002-12-13 02:22:41 +00:00
Stig Bakken 40ebc2a27b MFH 2002-12-13 02:14:26 +00:00
Moriyoshi Koizumi 80f831e167 Forgot to prepend "SKIP" 2002-12-12 21:44:27 +00:00
Moriyoshi Koizumi 7e85b2bdde MFH 2002-12-12 21:42:51 +00:00
SVN Migration 6cd84e1a15 This commit was manufactured by cvs2svn to create branch 'PHP_4_3'. 2002-12-12 21:42:18 +00:00
Stefan Esser f65be7ff50 MFH: finally?! correct 2002-12-12 21:31:57 +00:00
Ilia Alshanetsky 7095c25d75 MFH 2002-12-12 21:17:55 +00:00
Ilia Alshanetsky 7df75cd38f MFH 2002-12-12 18:51:02 +00:00
Ilia Alshanetsky 58613036fb Fixed ZTS build. 2002-12-12 18:36:44 +00:00
Wez Furlong 27cdd59feb Fix some issues with the return value from pclose and proc_close,
and bogus seek-on-pipe warnings when used with fpassthru.
2002-12-12 17:44:48 +00:00
Ilia Alshanetsky 9baa62f093 MFH 2002-12-12 16:14:07 +00:00
Wez Furlong e651db5cf1 MFH more entropy "fix" 2002-12-12 15:51:11 +00:00
Ilia Alshanetsky 0314da12d0 MFH 2002-12-12 14:52:09 +00:00
Wez Furlong 4789b8eb3b Collect streams related changes into one place, as requested by Jani. 2002-12-12 14:39:07 +00:00
Marcus Boerger e549631cee MFH 2002-12-12 14:16:16 +00:00
Ilia Alshanetsky 5d0ac38b24 MFH 2002-12-12 13:52:37 +00:00
Wez Furlong a50bd94a0e MFH #20936 fix 2002-12-12 13:46:29 +00:00
Moriyoshi Koizumi fc410b16fc MFH 2002-12-12 13:46:10 +00:00
Ilia Alshanetsky e730be9eec MFH 2002-12-12 13:45:34 +00:00
SVN Migration a55180af39 This commit was manufactured by cvs2svn to create branch 'PHP_4_3'. 2002-12-12 13:38:20 +00:00
Moriyoshi Koizumi 21f011822d MFH: Fixed bug #20934 (htmlspecialchars returns latin1 from UTF-8) 2002-12-12 13:27:17 +00:00
Marcus Boerger 9e7b94e7c1 MFH 2002-12-12 13:23:28 +00:00
Marcus Boerger 16eac635ae MFH: ws, php_error_docref, typeconversion for cygwin 2002-12-12 13:21:25 +00:00
Marcus Boerger 41ffdb4fc4 MFH 2002-12-12 13:14:40 +00:00
Edin Kadribasic 508a9c3ebd Fixed bug #20485 (added flags to windows build to compile DOM/XSLT). 2002-12-12 10:09:17 +00:00
Ilia Alshanetsky a840f429e7 MFH (make imagecreatefromxpm() unavailable when bundled GD is used) 2002-12-11 23:30:23 +00:00
Ilia Alshanetsky 359a28fc69 MFH 2002-12-11 22:37:35 +00:00
Derick Rethans ebb708b068 - Make it also work when you press enter instead of typing 'y' 2002-12-11 20:10:57 +00:00
Ilia Alshanetsky d6fed23482 MFH 2002-12-11 20:08:02 +00:00
Andrei Zmievski 27c7538eb2 Back to -dev. 2002-12-11 18:57:24 +00:00
Andrei Zmievski 9aee6dce1a Go for RC3. 2002-12-11 18:52:20 +00:00
Ilia Alshanetsky 9147eae986 MFH 2002-12-11 17:39:42 +00:00
SVN Migration be0abad331 This commit was manufactured by cvs2svn to create branch 'PHP_4_3'. 2002-12-11 17:38:29 +00:00
Ilia Alshanetsky 47fa22b5cf MFH 2002-12-11 16:49:27 +00:00
foobar b85d1443b7 MFH 2002-12-11 15:16:29 +00:00
foobar afae8d98c5 MFH 2002-12-11 14:45:46 +00:00
foobar 373784fb86 missing file 2002-12-11 14:43:04 +00:00
Rui Hirokawa 51b63d6b5a fixed lack of variable initialization bug. 2002-12-11 14:41:09 +00:00
Marcus Boerger 6003d9ad36 MFH 2002-12-11 10:37:53 +00:00
Edin Kadribasic 120f6a9bf2 MFH: Fix for #20539 (patch by Moriyoshi Koizumi). 2002-12-11 10:29:07 +00:00
foobar 9ba824a27a MFH 2002-12-11 08:54:22 +00:00
foobar ccde6eef9c MFH: fix from 3.23.54 2002-12-11 08:52:17 +00:00
foobar 93f50df68d MFH: Fix for bug #20928 2002-12-11 08:42:07 +00:00
Ilia Alshanetsky 4cc3aa052d MFH 2002-12-11 02:51:26 +00:00
Ilia Alshanetsky b9c7ee9733 MFH 2002-12-11 00:32:37 +00:00
Marcus Boerger 0b3d1b1e47 MFH 2002-12-10 23:03:24 +00:00
Wez Furlong bd77e7d0f8 No longer experimental. 2002-12-10 22:20:55 +00:00
Wez Furlong 5d9bc065f5 Fix proto and avoid potential segfault on an error. 2002-12-10 22:04:44 +00:00
Stefan Esser 147e4bc66f MFH 2002-12-10 20:19:13 +00:00
Marcus Boerger d71fc18027 MFH 2002-12-10 20:12:38 +00:00
Ilia Alshanetsky 065b04628f MFH 2002-12-10 18:01:33 +00:00
Edin Kadribasic b2131fd973 Fix ZTS build. 2002-12-10 16:56:23 +00:00
Ilia Alshanetsky 507b8cd4ba Fix for bug #20831. 2002-12-10 16:37:48 +00:00
foobar 3fbd4431f9 MFH: added the version check 2002-12-10 16:34:48 +00:00
Edin Kadribasic 12cbd70562 Improve UNC path detection. 2002-12-10 16:18:59 +00:00
Ilia Alshanetsky c69e47414c MFH 2002-12-10 15:59:17 +00:00
Stefan Esser e085d9bccb MFH 2002-12-10 15:41:39 +00:00
Ilia Alshanetsky a7047d2243 MFH 2002-12-10 15:37:33 +00:00
Marcus Boerger a984c1329f MFH 2002-12-10 14:35:36 +00:00
Ilia Alshanetsky db403663f7 MFH 2002-12-10 00:10:37 +00:00
foobar 75a30c7233 MFH 2002-12-09 19:16:12 +00:00
Ilia Alshanetsky fdc3a171dc MFH 2002-12-09 18:45:37 +00:00
Wez Furlong f57ac2fa05 Centralize the fopencookie test. 2002-12-09 18:28:03 +00:00
Wez Furlong b2a98beaee No need to compile this code if curl streams are not enabled, which they
cannot be in 4.3 (configure option is disabled and they don't work yet anyway).
2002-12-09 18:25:37 +00:00
Marcus Boerger 753450e21e MFH: '-' modifier (bug #20282, #20858) 2002-12-09 18:07:23 +00:00
Melvyn Sopacua c81b7d7156 MFH: fix make install target on Cygwin 2002-12-09 17:25:01 +00:00
Wez Furlong f116d23398 MFH: fopencookie for BSD patch 2002-12-09 16:22:06 +00:00
Edin Kadribasic 0d9704fa7b Fixed crash in socket_read on windows #20894 (patch by Wez Furlong). 2002-12-09 11:29:31 +00:00
Wez Furlong 5650d9fdd1 Fix for bug #20831; include() from UNC paths does not work. 2002-12-09 10:34:32 +00:00
Timm Friebe da3e324e7f - MFH 2002-12-08 15:40:18 +00:00
Ilia Alshanetsky 7cf0a8601a MFH 2002-12-07 16:16:09 +00:00
Ilia Alshanetsky e2e2111b1c MFH 2002-12-07 16:06:40 +00:00
foobar 55320820ba Bug fixes for new stuff do not belong in NEWS.. 2002-12-07 12:12:24 +00:00
Sander Roobol 9af1962986 MFH 2002-12-07 11:21:52 +00:00
Frank M. Kromann 675d254b15 MFH 2002-12-07 06:05:52 +00:00
Ilia Alshanetsky 9901a6f0cd MFH 2002-12-07 00:48:21 +00:00
Frank M. Kromann 3a70279b7d MFH 2002-12-06 22:57:47 +00:00
Ilia Alshanetsky ae635f837b MFH 2002-12-06 17:46:40 +00:00
SVN Migration e8fe75a589 This commit was manufactured by cvs2svn to create branch 'PHP_4_3'. 2002-12-06 17:46:27 +00:00
Ilia Alshanetsky 14dbf42db8 MFH 2002-12-06 17:36:25 +00:00
Sebastian Bergmann 5c29f19331 MFH 2002-12-06 06:09:44 +00:00
Ilia Alshanetsky c185f97956 MFH 2002-12-06 06:08:21 +00:00
Stig Bakken 1652d1f3b4 MFH 2002-12-06 00:10:40 +00:00
Ilia Alshanetsky 02f9791e19 Fixed memory leaks inside heb_number_to_chars(). 2002-12-05 23:19:03 +00:00
Marcus Boerger a27d6d90ec MFH 2002-12-05 23:19:02 +00:00
Ilia Alshanetsky 89d758c378 MFH 2002-12-05 22:46:40 +00:00
Marcus Boerger 335786915a MFH 2002-12-05 22:15:37 +00:00
Marcus Boerger c8ac633540 MFH 2002-12-05 21:09:19 +00:00
Marcus Boerger 81b7c2abc1 MFH: both the check and php_error in the comment 2002-12-05 21:02:02 +00:00
Marcus Boerger a2aed8eff2 MFH 2002-12-05 20:42:05 +00:00
Marcus Boerger e931611837 MFH 2002-12-05 20:14:09 +00:00
Ilia Alshanetsky 898b8673ed MFH 2002-12-05 20:05:20 +00:00
Marcus Boerger 58d49c3af9 MFH 2002-12-05 20:02:21 +00:00
SVN Migration dcfe521fce This commit was manufactured by cvs2svn to create branch 'PHP_4_3'. 2002-12-05 20:01:20 +00:00
Marcus Boerger 434d35cf62 MFH 2002-12-05 19:50:40 +00:00
Derick Rethans 6cf9a9015d MFH:
- Renamed snmpv3_* to snmp3_*
- Conversion to php_error_docref
- Whitespace fixes
2002-12-05 19:33:43 +00:00
Marcus Boerger 11eb34e8ee MFH: Remove unnecessary code here 2002-12-05 15:52:35 +00:00
foobar 4eccd8094e MFH 2002-12-05 15:46:41 +00:00
Marcus Boerger f3fba1ee12 MFH: swc & zlib\nMFH: return FALSE 2002-12-05 12:47:22 +00:00
Marcus Boerger 802968443e Fix aggregation with ZE2 in PHP4.3\n#I will not MFB it since aggregation should move to ZEndEngine 2002-12-05 12:44:21 +00:00
Marcus Boerger d50bdd0a16 MFH 2002-12-05 11:38:13 +00:00
Ilia Alshanetsky 80960e148b MFH (build fix, when xpm support is not avaliable). 2002-12-04 23:43:06 +00:00
Ilia Alshanetsky fcbde2dad4 MFH 2002-12-04 21:07:10 +00:00
SVN Migration 9f85f6d66a This commit was manufactured by cvs2svn to create branch 'PHP_4_3'. 2002-12-04 21:04:08 +00:00
Ilia Alshanetsky 5ed73ea30b Fixed a typo. 2002-12-04 17:31:23 +00:00
Ilia Alshanetsky 2cf6676651 MFH 2002-12-04 17:29:57 +00:00
Ilia Alshanetsky 2e2e65b576 MFH (truecolor fixes + gdImageTrueColorToPalette() fix). 2002-12-04 17:28:55 +00:00
Moriyoshi Koizumi ebcfd99797 Forgot to merge this part 2002-12-04 17:12:20 +00:00
Moriyoshi Koizumi 3d4145a7e3 MFH 2002-12-04 17:02:20 +00:00
SVN Migration fb93430ba6 This commit was manufactured by cvs2svn to create branch 'PHP_4_3'. 2002-12-04 17:01:08 +00:00
Moriyoshi Koizumi ba122bc645 MFH: bug fix news 2002-12-04 16:54:59 +00:00
Moriyoshi Koizumi 6e8529a62b MFH: fixed segfaults in array_walk() when keys are passed to cb by reference 2002-12-04 16:44:24 +00:00
Sebastian Bergmann 680d2326a6 MFH 2002-12-04 08:34:24 +00:00
Sebastian Bergmann a6673450df MFH 2002-12-04 08:28:05 +00:00
Frank M. Kromann af51b8fd42 MFH
# Changed php_error() to php_error_docref()
2002-12-03 19:39:54 +00:00
Ilia Alshanetsky 4c1ca75177 MFH 2002-12-03 19:25:55 +00:00
Frank M. Kromann d58428d3bd MFH
# Changed php_error() to php_error_docref()
2002-12-03 19:19:45 +00:00
Frank M. Kromann 03a87edd97 MFH
# Bug #19370
# Allow stored procedures to return multiple results.
2002-12-03 18:59:38 +00:00
Frank M. Kromann 5454f01e04 MFH
# Bug #17593
# Make sure any pending data is released from the server when freeing the result
2002-12-03 18:07:57 +00:00
Edin Kadribasic d88510d0b9 MFH: Allocating enough memory to hold values.
Fix crash when certan stored procedures was called. This caused
     the free_result function to free memory not yet allocated.
2002-12-03 16:09:14 +00:00
Moriyoshi Koizumi bfd27eda54 MFH: fixed leaks in array_walk() 2002-12-03 15:02:55 +00:00
foobar fd65c1661b MFH: Need these libraries for static build 2002-12-03 11:34:33 +00:00
foobar bdf7cdd073 MFH: Fixed build with iPlanet LDAP SDK 5.x 2002-12-03 09:36:31 +00:00
Jason Greene e0018cc874 MFH 2002-12-03 05:46:53 +00:00
Ilia Alshanetsky 314c4c6874 MFH 2002-12-02 07:03:37 +00:00
Ilia Alshanetsky 9ea095c41c MFH 2002-12-02 06:45:57 +00:00
Ilia Alshanetsky 3da7a2c23e MFH 2002-12-02 06:35:51 +00:00
Shane Caraveo f4e68f2504 MFH 2002-12-02 05:25:55 +00:00
Shane Caraveo dab83e9889 MFH 2002-12-02 02:21:01 +00:00
Shane Caraveo e1b7458984 MFH 2002-12-01 23:30:22 +00:00
Shane Caraveo c16d330371 MFH 2002-12-01 23:15:31 +00:00
Frank M. Kromann 8963c524d7 MFH 2002-11-30 21:52:36 +00:00
Ilia Alshanetsky 77b9675c4b MFH 2002-11-30 19:13:28 +00:00
Marcus Boerger bd45fa6a8f MFH: Bug #20433 2002-11-30 18:39:31 +00:00
Christian Stocker 31ee5eca0d MFH (fixed big bad memory leak in xpath objects.) 2002-11-30 10:52:04 +00:00
Moriyoshi Koizumi c5bcca7bab MFH 2002-11-29 18:35:17 +00:00
Sander Roobol 1ec334a99f MFH 2002-11-29 18:05:22 +00:00
Yasuo Ohgaki 073788340b MFH 2002-11-29 17:19:05 +00:00
Derick Rethans 0d90cd59dc - Fix memleak (patch by Oleg.Roitburd@lycos-europe.com)
#- I don't merge this to HEAD right away, as my current development tree
#  has a lot of modifications, of course I did this change there too.
2002-11-29 15:57:39 +00:00
Martin Kraemer fd52bf2bd8 Portability: In C sources, do not use C++ comments 2002-11-29 14:07:28 +00:00
Wez Furlong 61463cbc2a Take this out of here so that the dir can be pruned on checkout. 2002-11-29 13:39:29 +00:00
Christian Stocker f902cf4675 MFH
fix for bug #20389  (no trailing slash in configure option)
2002-11-29 13:32:50 +00:00
Martin Kraemer 9f83137631 Portability fixes (MFH) 2002-11-29 11:15:43 +00:00
Christian Stocker 7c811718a7 MFH
relative xpath queries are already possible
  (use $ctx->xpath_eval($xpath,$contextnode) )
2002-11-29 08:30:05 +00:00
Ilia Alshanetsky 5d51f8ee55 MFH 2002-11-28 14:14:06 +00:00
Sterling Hughes fe3200ed07 MFH 2002-11-27 20:32:26 +00:00
Frank M. Kromann 8c16118248 MFH 2002-11-27 18:54:54 +00:00
Andrei Zmievski b2e297ed27 Back to -dev 2002-11-27 18:53:04 +00:00
Andrei Zmievski 2ebb360d0e Update version to RC2. 2002-11-27 18:51:00 +00:00
Sterling Hughes cc2abd5275 fix memleak 2002-11-27 18:35:43 +00:00
Ilia Alshanetsky 4ec67e7df3 MFH 2002-11-27 06:20:37 +00:00
Frank M. Kromann 3033a27023 MFH 2002-11-27 04:07:02 +00:00
Marcus Boerger ed264ac576 MFH: remove comment 2002-11-27 02:43:21 +00:00
Marcus Boerger 0394a52b81 MFH: Canon fix 2002-11-27 02:38:37 +00:00
Stig Bakken 5301c168e4 MFH 2002-11-27 01:01:25 +00:00
Frank M. Kromann 5ec97e6b22 Convert 0D 0D 0A line breaks to 0D 0A 2002-11-27 00:40:13 +00:00
Frank M. Kromann 3bd2828386 MFH 2002-11-27 00:36:14 +00:00
Stig Bakken 3cc7a5f2a8 MFH 2002-11-26 23:18:08 +00:00
Moriyoshi Koizumi b71f73322a MFH: improved the error reporting portion of array_walk() 2002-11-26 22:14:11 +00:00
Moriyoshi Koizumi 8f73c27ca6 MFH: prevent too many error reports from being displayed 2002-11-26 21:54:33 +00:00
Stig Bakken 1fc6e75705 MFH 2002-11-26 21:53:43 +00:00
Moriyoshi Koizumi 974e2188cc MFH: Fixed incorrect error messages of array_walk() 2002-11-26 21:35:52 +00:00
Stig Bakken aae2d28e7f MFH 2002-11-26 18:24:30 +00:00
Christian Stocker 106c57d48f MFH (Fix for Bug #20639 DomElement->get_elements_by_tagname() doesn't work) 2002-11-26 15:39:13 +00:00
SVN Migration 7801f96096 This commit was manufactured by cvs2svn to create branch 'PHP_4_3'. 2002-11-26 12:06:00 +00:00
Yasuo Ohgaki a5d3a242d1 MFH 2002-11-26 02:15:58 +00:00
Stig Bakken 1800daed83 MFH 2002-11-26 01:34:31 +00:00
Stig Bakken 1fc9449e0d MFH 2002-11-26 01:33:36 +00:00
Stig Bakken 9ebf68f5f8 MFH 2002-11-25 23:52:56 +00:00
Ilia Alshanetsky 33b0617d99 Set serialize_handler to php to prevent test failures. 2002-11-25 23:19:19 +00:00
Ilia Alshanetsky e9b28977a5 MFH (fixed a compile failure when --with-xpm-dir is used). 2002-11-25 23:12:15 +00:00
Stefan Esser c15ae34535 MFH 2002-11-25 22:58:26 +00:00
Ilia Alshanetsky 529bfcae52 MFH 2002-11-25 22:01:46 +00:00
Rui Hirokawa d70ac295c4 simplified and a bug fixed in korean encoding conversion table. 2002-11-25 15:23:01 +00:00
Moriyoshi Koizumi d15c493713 Added a further test on mb_parse_str() 2002-11-24 19:48:17 +00:00
Moriyoshi Koizumi 07bec98624 Fixed mb_parse_str() bug pointed out by Yasuo. 2002-11-24 19:21:58 +00:00
foobar f389c07436 fix typo (; instead of :) 2002-11-24 05:14:17 +00:00
Derick Rethans fb90dd014c - MFH: Adjust tests for removed old_function() in Zend Engine 2 2002-11-23 22:08:40 +00:00
Marcus Boerger 3a90b70eac MFH 2002-11-23 21:12:31 +00:00
Marcus Boerger d4cfbfd310 MFH
#This includes the " to ' change but not the added settings which 4.3
#doesn't have.
2002-11-23 17:50:37 +00:00
Moriyoshi Koizumi cd8d0410fd Fixed tab positions
# a bit too late to be notified :)
2002-11-23 11:26:13 +00:00
Moriyoshi Koizumi 2c95d3c427 MFH (imagecolordeallocate() fix) 2002-11-23 05:20:43 +00:00
Marcus Boerger 4c85a6c5ba Fix memleak in debug mode 2002-11-23 01:17:39 +00:00
Marcus Boerger a623b65a98 MFH: Testing default behaviour 2002-11-23 00:56:21 +00:00
SVN Migration 5bc9ba45bf This commit was manufactured by cvs2svn to create branch 'PHP_4_3'. 2002-11-23 00:54:05 +00:00
Rui Hirokawa b4664a5796 fixed some bugs in korean encoding conversion. 2002-11-22 23:37:17 +00:00
Ilia Alshanetsky e7a0f547f8 Added missing declaration. 2002-11-22 22:30:38 +00:00
Ilia Alshanetsky 2ec9fdbe8d MFH 2002-11-22 21:52:59 +00:00
Stefan Esser 293086db3f MFH 2002-11-22 19:35:43 +00:00
Marcus Boerger 435d875a02 MFH 2002-11-22 15:53:01 +00:00
Edin Kadribasic 14d6306385 MFH: Avoid possible buffer overflow. 2002-11-22 15:47:44 +00:00
Marcus Boerger 8ae87f8762 MFH 2002-11-22 15:13:10 +00:00
Edin Kadribasic 9e7f020233 Don't send default http status (200) (Thanks to Sascha Schumann for idea). 2002-11-22 13:50:40 +00:00
Stefan Esser 45bf902713 MFH: sha1() test 2002-11-22 11:04:10 +00:00
Edin Kadribasic 837d371f50 MFH: Fixed bug #19207 by adding cgi.rfc2616_headers config directive. 2002-11-22 10:16:36 +00:00
Sander Roobol 0debfe1163 MFH
@Made bcmath extension thread safe. (Sander)
2002-11-22 09:27:08 +00:00
Ilia Alshanetsky 3652c75a5d MFH 2002-11-22 00:09:30 +00:00
SVN Migration 8d9de08fc9 This commit was manufactured by cvs2svn to create branch 'PHP_4_3'. 2002-11-22 00:08:58 +00:00
Ilia Alshanetsky 78d474a58e MFH 2002-11-21 23:51:57 +00:00
Melvyn Sopacua 07b7ac10b6 MFH Fix bug #20518 2002-11-21 23:33:01 +00:00
Melvyn Sopacua 08fa24dd93 test for bug #20518 2002-11-21 23:31:45 +00:00
SVN Migration 47d920fd66 This commit was manufactured by cvs2svn to create branch 'PHP_4_3'. 2002-11-21 23:27:39 +00:00
Moriyoshi Koizumi af153a37f0 MFH (added missing mb_internal_encoding()) 2002-11-21 18:19:27 +00:00
Moriyoshi Koizumi e6c6bdc2d9 MFH (removed unnecessary \n) 2002-11-21 17:36:57 +00:00
Marcus Boerger 594e183737 MFH 2002-11-21 16:50:55 +00:00
Rui Hirokawa 2832208fc5 mbstring is supporting CJK + some other encodings. 2002-11-21 16:21:33 +00:00
Rui Hirokawa 769be40253 fixed incorrect encoding conversion in korean. 2002-11-21 16:18:17 +00:00
Sander Roobol c31d9b7850 MFH 2002-11-21 16:16:58 +00:00
Sander Roobol 6e9a4ec6e6 MFH 2002-11-21 15:25:51 +00:00
SVN Migration 179effddf3 This commit was manufactured by cvs2svn to create branch 'PHP_4_3'. 2002-11-21 15:24:46 +00:00
Moriyoshi Koizumi 6c0b8b370b Fixed yet another mb_parse_str() bug
# This is reported by Ilia. Thanks!
2002-11-21 14:51:26 +00:00
Hartmut Holzgraefe 7f6afc578c MFH 2002-11-21 10:53:18 +00:00
foobar 82ac093b6b MFH, as requested by georg 2002-11-20 23:01:02 +00:00
Derick Rethans 20c0cd2a88 - MFH: Add an error message to the ini handlers 2002-11-20 17:49:57 +00:00
Ilia Alshanetsky caa461e493 MFH 2002-11-20 16:08:36 +00:00
SVN Migration 558795b066 This commit was manufactured by cvs2svn to create branch 'PHP_4_3'. 2002-11-20 15:56:57 +00:00
Ilia Alshanetsky 755958ac16 MFH 2002-11-20 06:53:33 +00:00
SVN Migration 00beb9dbce This commit was manufactured by cvs2svn to create branch 'PHP_4_3'. 2002-11-20 06:48:59 +00:00
Wez Furlong 5302361ece Be pedantic with the return value 2002-11-19 21:11:03 +00:00
Wez Furlong f96922968f Add this test for gzreading non-compressed data. 2002-11-19 20:13:24 +00:00
Wez Furlong 26a1202ee0 Remove a memset I added while debugging 2002-11-19 20:04:15 +00:00
Wez Furlong 915c446634 Resolve some problems with zlib streams, mostly related to opening the
stream with an invalid mode.
There still seem to be some issues when reading from non-compressed files.
Investigation continues.
2002-11-19 18:34:55 +00:00
Moriyoshi Koizumi be66394313 MFH 2002-11-19 16:57:18 +00:00
SVN Migration 6eee55fde4 This commit was manufactured by cvs2svn to create branch 'PHP_4_3'. 2002-11-19 16:56:44 +00:00
Edin Kadribasic 8a86509e4b Update Credits 2002-11-19 15:11:33 +00:00
Derick Rethans 610e0c36ec - MFH 2002-11-19 14:54:45 +00:00
SVN Migration dbaedcda20 This commit was manufactured by cvs2svn to create branch 'PHP_4_3'. 2002-11-19 14:53:32 +00:00
Edin Kadribasic 7c79b7026b MFH (Fix for linking warnings on windows). 2002-11-19 14:53:11 +00:00
Derick Rethans 248fcb16be - Fix safemode relating pear install problems 2002-11-19 14:43:42 +00:00
Marcus Boerger cda63e432c MFH 2002-11-19 14:13:40 +00:00
Derick Rethans bc6120892a - MFH: Cybermut removal 2002-11-19 10:12:52 +00:00
Derick Rethans 5eae9a11dd - MFH 2002-11-19 08:21:38 +00:00
Stig Bakken 89f833b5d0 MFH 2002-11-19 02:23:28 +00:00
Edin Kadribasic 8ab3132acb MFH (fix windows build) 2002-11-19 01:07:09 +00:00
Moriyoshi Koizumi b35690c4b9 MFH (binary mode fix) 2002-11-18 21:23:11 +00:00
Moriyoshi Koizumi d1245e43e4 MFH (fixed possible leaks) 2002-11-18 21:16:24 +00:00
Marcus Boerger 98bd51e9ad MFH
-Added colordepth for png
-Added tests for width/heidth for unsigned/signed problems
2002-11-18 16:55:35 +00:00
Marcus Boerger 8455b5b0c1 MFH: Added colordepth for png\n 2002-11-18 16:53:04 +00:00
SVN Migration 29ec528c42 This commit was manufactured by cvs2svn to create branch 'PHP_4_3'. 2002-11-18 16:51:03 +00:00
Marcus Boerger abe964d237 Fixing unsigned/signed problems (and i thought about it before...)\n 2002-11-18 15:50:49 +00:00
Derick Rethans 7a974d0ef1 - MFH 2002-11-18 15:46:01 +00:00
Ilia Alshanetsky 33b6f2a71a Fix bug #20442. 2002-11-18 13:30:18 +00:00
Derick Rethans 4b6f7554c0 - Remove e*() memory function calls from the branch 2002-11-18 13:00:52 +00:00
Wez Furlong bfaac17306 wb -> r+b 2002-11-18 12:43:00 +00:00
Edin Kadribasic 4f0b31cf5d MFH (fribidi is not available on windows yet). 2002-11-18 12:16:59 +00:00
Wez Furlong d7ded80028 Amend info about mbstring enabled by default (no longer true). 2002-11-18 11:53:11 +00:00
Wez Furlong 2c11564d0a MFH other temp file mode fixes and Id tag. 2002-11-18 11:50:36 +00:00
Wez Furlong d6ee6ce580 Remove redundant info line (all wrappers are listed near the start of
the phpinfo page).
2002-11-18 11:03:38 +00:00
foobar 941047121f MFH; Fixed bug: #20458 (--with-qtdom=shared broken) 2002-11-18 05:06:45 +00:00
foobar 72b7ea5d77 MFH: Added error message if browscap location is not set in php.ini 2002-11-18 03:24:33 +00:00
Ilia Alshanetsky 59a18f6a83 MFH 2002-11-18 03:16:45 +00:00
foobar d708e20b12 MFH 2002-11-18 00:43:48 +00:00
Wez Furlong 81bf1d581d Add missing Id tag. 2002-11-17 23:16:45 +00:00
Wez Furlong 463ccd8283 Revise stream shutdown procedure. 2002-11-17 23:08:40 +00:00
Ilia Alshanetsky d9e33dbaec MFH 2002-11-17 22:53:35 +00:00
Ilia Alshanetsky 9831d1492d MFH 2002-11-17 21:58:12 +00:00
Ilia Alshanetsky cb228e9002 MFH 2002-11-17 20:19:28 +00:00
Derick Rethans 48099d9569 - Fix memory problem for real this time. 2002-11-17 19:40:38 +00:00
Wez Furlong 0b717a898b s/off64t/off64_t/ 2002-11-17 19:28:57 +00:00
Wez Furlong 8a19278ac8 Fix fopencookie detection for newer versions of glibc.
The GNU people strike again with their useless docs; fopencookie does NOT
use "fpos_t *" as documented :/
Additionally, it appears that the the libio layer buffers in chunks of 8KB,
so our test needs to exploit this in order to function correctly.
Thanks to Derick for doing some groundwork.
2002-11-17 19:14:49 +00:00
Zeev Suraski 241a5e6798 MFH - unify error_reporting handling through the INI subsystem 2002-11-17 13:32:44 +00:00
Derick Rethans 21c8c2ba44 - Fix memory allocation problem in bundled GD (reported by Brian Havard) 2002-11-17 13:10:36 +00:00
Marcus Boerger b59c0d1274 MFH: Conversion fix by Michael Mauch 2002-11-17 09:28:56 +00:00
Wez Furlong 3d4fe01bb6 Avoid a potential double fclose(). 2002-11-17 01:06:31 +00:00
Ilia Alshanetsky da110d3f59 Fix compile warning. 2002-11-17 00:11:19 +00:00
Wez Furlong 01a12a109a Remove debugging printf 2002-11-17 00:08:42 +00:00
Ilia Alshanetsky f201adbbdb MFH 2002-11-17 00:07:33 +00:00
Marcus Boerger 416fb87dff MFH: Force float for the float test 2002-11-16 23:47:30 +00:00
Wez Furlong 8d2075dd85 initialize this member so that it doesn't segfault on shutdown... 2002-11-16 23:35:30 +00:00
Wez Furlong 03851bac05 php_stream_fopen_tmpfile now uses php_open_temporary_file rather than
tmpfile().
tmpfile() under win32 will try to use the root directory; the default
IIS settings prohibit access to the root directory, which renders tmpfile()
useless.
PHP's tmpfile() streams are correctly cleaned up and unlinked when closed
(or at request shutdown).  However, if the stream is cast and passed to
a third party library, the temporary file may linger.
This is unfortunate, since streams uses this process internally for handling
the casting of user-streams.
--> some more work is needed on this, but this can be done more easily under
Linux.
2002-11-16 22:59:55 +00:00
Wez Furlong 4ef373153a Change "wb" -> "r+b" for win32.
The difference is staggering - I've spent hours tracking this down.
It should probably be made the same for all platforms.
2002-11-16 22:52:22 +00:00
Marcus Boerger 854c4614e9 MFH 2002-11-16 17:30:10 +00:00
Ilia Alshanetsky a5f2931544 MFH 2002-11-16 17:26:48 +00:00
Marcus Boerger b17bfef199 MFH: Make getimagesize more robust against corrupt files 2002-11-16 17:03:49 +00:00
Wez Furlong f06e6a7802 This is not needed here. 2002-11-16 16:13:25 +00:00
Wez Furlong 32733912f1 Remove debugging line... 2002-11-16 11:40:07 +00:00
Wez Furlong c52b6d3fc0 Make include/require of user-streams work on systems without fopencookie. 2002-11-16 11:39:36 +00:00
Sebastian Bergmann f6534cb075 MFH 2002-11-16 08:32:11 +00:00
Stig Bakken 1574ad43b2 MFH 2002-11-15 23:21:42 +00:00
Marcus Boerger 6e05f972a1 MFH: When --enable-dba is used then include builtin modules unless
--without-xxx is not used.
2002-11-15 21:30:51 +00:00
Marcus Boerger af3aa7d9fc MFH: Added test for bug 14383 2002-11-15 16:45:57 +00:00
Marcus Boerger 037483602a MFH: simplify and show skip reason 2002-11-15 16:43:43 +00:00
Marcus Boerger 9ba6732230 MFH: show correct result 2002-11-15 16:42:04 +00:00
Marcus Boerger d190f54321 MFH: new syntax 2002-11-15 16:40:30 +00:00
Marcus Boerger 608a52b9b9 MFH: info about handler used and use flatfile if available 2002-11-15 16:39:36 +00:00
Marcus Boerger 8a185f8107 MFH: deprecate ext/db 2002-11-15 16:37:51 +00:00
Ilia Alshanetsky f6fec8adf1 Revert of previous patch ad requested by Andi. 2002-11-15 16:36:59 +00:00
Moriyoshi Koizumi d7ac826f89 MFH 2002-11-15 16:36:23 +00:00
Ilia Alshanetsky d88ac3a972 MFH (symlinks + ZTS). 2002-11-15 16:34:54 +00:00
Marcus Boerger aaf5c39690 MFH: SKIP and INFO result from --SKIPIF-- 2002-11-15 16:34:07 +00:00
Moriyoshi Koizumi 07e278c9d4 MFH.
# thanks Jani
2002-11-15 16:30:53 +00:00
Moriyoshi Koizumi f48a7e5f78 MFH 2002-11-15 16:29:03 +00:00
Marcus Boerger 16ea198a13 MFH
-Allow skip in upper letters.
-Add 'info' result to --SKIPIF-- -> see following dba commits
2002-11-15 16:13:10 +00:00
Moriyoshi Koizumi 1e219b65bf MFH 2002-11-15 15:59:57 +00:00
SVN Migration ec36147dbf This commit was manufactured by cvs2svn to create branch 'PHP_4_3'. 2002-11-15 15:59:08 +00:00
Moriyoshi Koizumi e31196d184 MFH 2002-11-15 15:35:22 +00:00
Moriyoshi Koizumi cea50a67e1 MFH 2002-11-15 14:55:07 +00:00
Moriyoshi Koizumi 41a0f1c59b MFH 2002-11-15 14:50:33 +00:00
Marcus Boerger 9c5c168394 MFH: Only show the first results 2002-11-15 14:48:55 +00:00
Marcus Boerger 0f5232c5d2 Correction
#Why does it mix up things again?...i do not know
2002-11-15 14:27:37 +00:00
Moriyoshi Koizumi a920cec9aa MFH 2002-11-15 14:27:12 +00:00
Marcus Boerger dd68136bd9 MFH: Show Zend version 2002-11-15 14:24:20 +00:00
Marcus Boerger 174c207381 MFH: Showing memleaks for a memleak test is a good idea 2002-11-15 11:57:50 +00:00
Marcus Boerger f16e2e6650 MFH: Fix segfaults (check ext/domxml/tests/domxml002.phpt) 2002-11-15 11:07:34 +00:00
Derick Rethans bbcb203900 - MFH: removed restore_connection_defaults for pconnects (discussed on
php-dev@)
       bug #19529 closed
       bug #12513 reopened
2002-11-15 10:44:23 +00:00
Sander Roobol 40e65a119d MFH 2002-11-15 10:39:19 +00:00
foobar e58c52ae7e MFH 2002-11-15 07:23:26 +00:00
foobar bd49c212c3 clean the mess.. 2002-11-15 07:18:20 +00:00
Moriyoshi Koizumi 03222e4d82 MFH 2002-11-15 02:18:12 +00:00
Andrei Zmievski 54e893af56 MFH 2002-11-15 00:33:18 +00:00
Stig Bakken 07075670c3 MFH 2002-11-14 23:26:27 +00:00
Moriyoshi Koizumi a6df543348 MFH 2002-11-14 23:08:54 +00:00
Stig Bakken 857e1a6b30 MFH 2002-11-14 22:51:21 +00:00
Moriyoshi Koizumi 05eadd933c MFH 2002-11-14 22:40:11 +00:00
SVN Migration 4c5cf3125f This commit was manufactured by cvs2svn to create branch 'PHP_4_3'. 2002-11-14 22:38:44 +00:00
Marcus Boerger 1fe950b9a6 MFH: Test updates 2002-11-14 22:08:30 +00:00
Marcus Boerger 54a2a9dd13 Correct last update
# i don't know why but somehow my files were mixed up or i cannot read
# anylonger - however it seems it's time to go sleeping now
2002-11-14 22:02:07 +00:00
Marcus Boerger 6df2d4c33c Add info: Add magic_quotes_runtime support 2002-11-14 21:53:12 +00:00
Marcus Boerger 5555b1c3a8 MFH: magic_quotes_runtime support is needed to have ext/dba being
superset of deprectaed ext/db
2002-11-14 21:52:22 +00:00
Moriyoshi Koizumi fcc8f8fbd0 MFH 2002-11-14 21:35:18 +00:00
Andrei Zmievski 2827407d43 MFH 2002-11-14 21:17:00 +00:00
Andrei Zmievski d9d34ae282 MFH 2002-11-14 21:09:47 +00:00
SVN Migration e3718c88b2 This commit was manufactured by cvs2svn to create branch 'PHP_4_3'. 2002-11-14 21:09:42 +00:00
Marcus Boerger 4bab2c1afd MFH: Add magic_quotes_runtime which affects several tests 2002-11-14 21:03:22 +00:00
Melvyn Sopacua 7ad332abf8 MFH plus typo fix 2002-11-14 20:57:09 +00:00
Marcus Boerger 4b7ea20437 MFH: Only set the overwrites once (keep this in sync as long as possible) 2002-11-14 20:20:47 +00:00
Andrei Zmievski ea17af230a Back to 4.3.0-dev. 2002-11-14 19:16:30 +00:00
Ilia Alshanetsky ab37eae5cb MFH (disable safe_mode for test). 2002-11-14 18:38:25 +00:00
Marcus Boerger 1019c662a5 Missed that 2002-11-14 17:22:26 +00:00
Andrei Zmievski f16941595a Fix version. 2002-11-14 17:03:36 +00:00
Andrei Zmievski 46d3edd8c1 Go for RC1. 2002-11-14 16:47:03 +00:00
Stefan Esser 81cd0ebfa0 MFH 2002-11-14 16:40:27 +00:00
Ilia Alshanetsky 516eacd03f MFH (zts compile warning). 2002-11-14 16:33:18 +00:00
Ilia Alshanetsky df34134534 MFH (fic for bug #20423). 2002-11-14 16:21:15 +00:00
Marcus Boerger a022fb30d0 Info about gd changes 2002-11-14 14:57:23 +00:00
Marcus Boerger ded0b2efba MFH:
Fix locking behaviour: On some systems read during write is permitted but
most libraries are not capable of that. GDBM is system dependant so there
we only test  that we do not deadlock.
2002-11-14 14:40:43 +00:00
Marcus Boerger f3ba6741ec MFH: Info about closed bugs 2002-11-14 14:39:53 +00:00
Wez Furlong ed84676c15 Add note about shortcomings of this test. 2002-11-14 14:25:36 +00:00
Ilia Alshanetsky bcaf766768 MFH (skip conditions for tests) 2002-11-14 14:19:03 +00:00
Ilia Alshanetsky 5386b85b15 MFH (compile warning fix). 2002-11-14 14:06:49 +00:00
Wez Furlong d32b02e1ca MFB 2002-11-14 13:52:39 +00:00
Ilia Alshanetsky dde44ae7b2 Bug fix news. 2002-11-14 13:52:17 +00:00
Ilia Alshanetsky b12880ce40 MFH (fix for bug #19689). 2002-11-14 13:45:43 +00:00
Ilia Alshanetsky c60242c944 MFH (parse_url bug). 2002-11-14 13:44:24 +00:00
Edin Kadribasic 65995b5c4f MFH (fixes unix build of mbstring) 2002-11-14 13:37:26 +00:00
SVN Migration a8bb6a9eca This commit was manufactured by cvs2svn to create branch 'PHP_4_3'. 2002-11-14 12:20:37 +00:00
Derick Rethans b391a7a372 - Fixed bug #20424 (stream_get_meta_data craches on a normal file stream).
(Derick, Wez)
2002-11-14 10:52:45 +00:00
James Cox 4a15ca11e7 MFH.. 2002-11-14 02:07:37 +00:00
James Cox cb8e121ca9 MFH 2002-11-14 01:57:20 +00:00
foobar 6caa25e9f6 MFH 2002-11-14 01:56:06 +00:00
foobar 6c46b47b75 Fixed bug: #20414, shared build did not work 2002-11-14 00:20:24 +00:00
Edin Kadribasic c03f73a3b3 Made mbstring compile on windows again. 2002-11-13 23:01:17 +00:00
Edin Kadribasic d483bd4ecc MFH (relly disable compilation of mbstring) 2002-11-13 21:38:57 +00:00
Edin Kadribasic 57c012b007 MFH (mbstring defines commented out to allow defining them elsewhere). 2002-11-13 21:37:27 +00:00
Stig Bakken 2eced40646 MFH: remove debug output 2002-11-13 20:38:24 +00:00
Derick Rethans 1102505d22 - MFH: moved ext/cybermut to PECL 2002-11-13 19:41:54 +00:00
SVN Migration e6659bd69f This commit was manufactured by cvs2svn to create branch 'PHP_4_3'. 2002-11-13 16:30:51 +00:00
21022 changed files with 540105 additions and 3601768 deletions

No files matched your search

-60
View File
@@ -1,60 +0,0 @@
version: "{branch}.build.{build}"
image: Visual Studio 2019
branches:
except:
- PHP-5.6
- PHP-7.0
clone_depth: 64
skip_commits:
files:
- docs/*
- NEWS
- UPGRADING
- UPGRADING.INTERNALS
cache:
- c:\build-cache
environment:
PHP_BUILD_CACHE_BASE_DIR: c:\build-cache
PHP_BUILD_OBJ_DIR: c:\obj
PHP_BUILD_CACHE_SDK_DIR: c:\build-cache\sdk
PHP_BUILD_SDK_BRANCH: php-sdk-2.2.0
PHP_BUILD_CRT: vs16
# ext and env setup for tests
#MYSQL_TEST_PASSWD: Password12!
#MYSQL_TEST_USER: root
#PDO_MYSQL_TEST_DSN: "pgsql:host=127.0.0.1 port=5432 dbname=test user=root password=Password12!"
#PDO_MYSQL_TEST_USER: root
#PDO_MYSQL_TEST_PASS: Password12!
#PGSQL_TEST_CONNSTR: "host=127.0.0.1 dbname=test port=5432 user=postgres password=Password12!"
#PDO_PGSQL_TEST_DSN: "pgsql:host=127.0.0.1 port=5432 dbname=test user=postgres password=Password12!"
#build permutations
matrix:
- THREAD_SAFE: 0
OPCACHE: 0
PARALLEL: -j2
- THREAD_SAFE: 1
OPCACHE: 1
PARALLEL: -j2
INTRINSICS: AVX
services:
# the setup scripts have to be touched, once some other db version is used
- mysql
- postgresql101
- mssql2017
platform:
- x64
# - x86
build_script:
- appveyor\build.bat
test_script:
- appveyor\test.bat
-34
View File
@@ -1,34 +0,0 @@
# https://editorconfig.org/
root = true
[*]
trim_trailing_whitespace = true
insert_final_newline = true
end_of_line = lf
charset = utf-8
tab_width = 4
[{*.{awk,bat,c,cpp,d,h,l,re,skl,w32,y},Makefile*}]
indent_size = 4
indent_style = tab
[*.{dtd,html,inc,php,phpt,rng,wsdl,xml,xsd,xsl}]
indent_size = 4
indent_style = space
[*.{ac,m4,sh,yml}]
indent_size = 2
indent_style = space
[*.md]
indent_style = space
max_line_length = 80
[COMMIT_EDITMSG]
indent_size = 4
indent_style = space
max_line_length = 80
[*.patch]
trim_trailing_whitespace = false
+173 -533
View File
@@ -1,148 +1,18 @@
define set_ts
set $tsrm_ls = $arg0
end
document set_ts
set the ts resource, it is impossible for gdb to
call ts_resource_ex while no process is running,
but we could get the resource from the argument
of frame info.
end
define ____executor_globals
if basic_functions_module.zts
set $tsrm_ls = _tsrm_ls_cache
set $eg = ((zend_executor_globals*) (*((void ***) $tsrm_ls))[executor_globals_id-1])
set $cg = ((zend_compiler_globals*) (*((void ***) $tsrm_ls))[compiler_globals_id-1])
set $eg_ptr = $eg
else
set $eg = executor_globals
set $cg = compiler_globals
set $eg_ptr = (zend_executor_globals*) &executor_globals
end
end
document ____executor_globals
portable way of accessing executor_globals, set $eg
this also sets compiler_globals to $cg
ZTS detection is automatically based on ext/standard module struct
end
define print_cvs
if $argc == 0
____executor_globals
set $cv_ex_ptr = $eg.current_execute_data
else
set $cv_ex_ptr = (zend_execute_data *)$arg0
end
set $cv_count = $cv_ex_ptr.func.op_array.last_var
set $cv = $cv_ex_ptr.func.op_array.vars
set $cv_idx = 0
set $callFrameSize = (sizeof(zend_execute_data) + sizeof(zval) - 1) / sizeof(zval)
printf "Compiled variables count: %d\n\n", $cv_count
while $cv_idx < $cv_count
printf "[%d] '%s'\n", $cv_idx, $cv[$cv_idx].val
set $zvalue = ((zval *) $cv_ex_ptr) + $callFrameSize + $cv_idx
printzv $zvalue
set $cv_idx = $cv_idx + 1
end
end
document print_cvs
Prints the compiled variables and their values.
If a zend_execute_data pointer is set this will print the compiled
variables of that scope. If no parameter is used it will use
current_execute_data for scope.
usage: print_cvs [zend_execute_data *]
end
define dump_bt
set $ex = $arg0
while $ex
printf "[%p] ", $ex
set $func = $ex->func
if $func
if $ex->This->value.obj
if $func->common.scope
printf "%s->", $func->common.scope->name->val
else
printf "%s->", $ex->This->value.obj->ce.name->val
end
else
if $func->common.scope
printf "%s::", $func->common.scope->name->val
end
end
if $func->common.function_name
printf "%s(", $func->common.function_name->val
else
printf "(main"
end
set $callFrameSize = (sizeof(zend_execute_data) + sizeof(zval) - 1) / sizeof(zval)
set $count = $ex->This.u2.num_args
set $arg = 0
while $arg < $count
if $arg > 0
printf ", "
end
set $zvalue = (zval *) $ex + $callFrameSize + $arg
set $type = $zvalue->u1.v.type
if $type == 1
printf "NULL"
end
if $type == 2
printf "false"
end
if $type == 3
printf "true"
end
if $type == 4
printf "%ld", $zvalue->value.lval
end
if $type == 5
printf "%f", $zvalue->value.dval
end
if $type == 6
____print_str $zvalue->value.str->val $zvalue->value.str->len
end
if $type == 7
printf "array(%d)[%p]", $zvalue->value.arr->nNumOfElements, $zvalue
end
if $type == 8
printf "object[%p]", $zvalue
end
if $type == 9
printf "resource(#%d)", $zvalue->value.lval
end
if $type == 10
printf "reference"
end
if $type > 10
printf "unknown type %d", $type
end
set $arg = $arg + 1
end
printf ") "
set $t = $arg0
while $t
printf "[0x%08x] ", $t
if $t->function_state.function->common.function_name
printf "%s() ", $t->function_state.function->common.function_name
else
printf "??? "
end
if $func != 0
if $func->type == 2
printf "%s:%d ", $func->op_array.filename->val, $ex->opline->lineno
else
printf "[internal function]"
end
if $t->op_array != 0
printf "%s:%d ", $t->op_array->filename, $t->opline->lineno
end
set $ex = $ex->prev_execute_data
set $t = $t->prev_execute_data
printf "\n"
end
end
end
document dump_bt
@@ -150,422 +20,172 @@ document dump_bt
end
define printzv
set $ind = 1
____printzv $arg0 0
set $ind = 0
____printzv $arg0 0
end
document printzv
prints zval contents
prints content of zval
end
define ____printzv_contents
define ____printzv
set $zvalue = $arg0
set $type = $zvalue->u1.v.type
# 15 == IS_INDIRECT
if $type > 5 && $type < 12
printf "(refcount=%d) ", $zvalue->value.counted->gc.refcount
if $zvalue->type == 0
set $typename = "NULL"
end
if $zvalue->type == 1
set $typename = "long"
end
if $zvalue->type == 2
set $typename = "double"
end
if $zvalue->type == 3
set $typename = "string"
end
if $zvalue->type == 4
set $typename = "array"
end
if $zvalue->type == 5
set $typename = "object"
end
if $zvalue->type == 6
set $typename = "bool"
end
if $zvalue->type == 7
set $typename = "resource"
end
if $zvalue->type == 8
set $typename = "constant"
end
if $zvalue->type == 9
set $typename = "const_array"
end
if $type == 0
printf "UNDEF"
printf "[0x%08x] ", $zvalue
if $zvalue == executor_globals.uninitialized_zval_ptr
printf "*uninitialized* "
end
if $type == 1
printf "NULL"
printf "(refcount=%d) %s: ", $zvalue->refcount, $typename
if $zvalue->type == 1
printf "%ld", $zvalue->value.lval
end
if $type == 2
printf "bool: false"
if $zvalue->type == 2
printf "%lf", $zvalue->value.dval
end
if $type == 3
printf "bool: true"
if $zvalue->type == 3
printf "\"%s\"(%d)", $zvalue->value.str.val, $zvalue->value.str.len
end
if $type == 4
printf "long: %ld", $zvalue->value.lval
end
if $type == 5
printf "double: %f", $zvalue->value.dval
end
if $type == 6
printf "string: %s", $zvalue->value.str->val
end
if $type == 7
printf "array: "
if $zvalue->type == 4
if ! $arg1
printf "{\n"
set $ind = $ind + 1
____print_ht $zvalue->value.arr 1
____print_ht $zvalue->value.ht
set $ind = $ind - 1
set $i = $ind
while $i > 0
printf " "
set $i = $i - 1
end
printf "}"
end
set $type = 0
end
if $type == 8
printf "object"
____executor_globals
set $handle = $zvalue->value.obj.handle
set $handlers = $zvalue->value.obj.handlers
set $zobj = $zvalue->value.obj
set $cname = $zobj->ce->name->val
printf "(%s) #%d", $cname, $handle
if $zvalue->type == 5
if ! $arg1
if $handlers->get_properties == &zend_std_get_properties
if $zobj->properties
printf "\nProperties "
set $ht = $zobj->properties
set $ind = $ind + 1
____print_ht $ht 1
set $ind = $ind - 1
set $i = $ind
while $i > 0
printf " "
set $i = $i - 1
end
else
printf " {\n"
set $ht = &$zobj->ce->properties_info
set $k = 0
set $num = $ht->nNumUsed
while $k < $num
set $p = (Bucket*)($ht->arData + $k)
set $name = $p->key
set $prop = (zend_property_info*)$p->val.value.ptr
set $val = (zval*)((char*)$zobj + $prop->offset)
printf "%s => ", $name->val
printzv $val
set $k = $k + 1
end
end
end
printf "(prop examination disabled due to a gdb bug)"
# set $ht = $zvalue->value.obj.handlers->get_properties($zvalue)
# printf "{\n"
# set $ind = $ind + 1
# ____print_ht $ht
# set $ind = $ind - 1
# set $i = $ind
# while $i > 0
# printf " "
# set $i = $i - 1
# end
# printf "}"
end
set $type = 0
end
if $type == 9
printf "resource: #%d", $zvalue->value.res->handle
if $zvalue->type == 6
if $zvalue->lval
printf "true"
else
printf "false"
end
end
if $type == 10
printf "reference: "
____printzv &$zvalue->value.ref->val $arg1
end
if $type == 11
printf "CONSTANT_AST"
end
if $type == 12
printf "indirect: "
____printzv $zvalue->value.zv $arg1
end
if $type == 13
printf "pointer: %p", $zvalue->value.ptr
end
if $type == 15
printf "_ERROR"
end
if $type == 16
printf "_BOOL"
end
if $type == 17
printf "_NUMBER"
end
if $type > 17
printf "unknown type %d", $type
if $zvalue->type == 7
printf "#%d", $zvalue->value.lval
end
printf "\n"
end
define ____printzv
____executor_globals
set $zvalue = $arg0
printf "[%p] ", $zvalue
set $zcontents = (zval*) $zvalue
if $arg1
____printzv_contents $zcontents $arg1
else
____printzv_contents $zcontents 0
end
end
define print_global_vars
____executor_globals
set $symtable = ((HashTable *)&($eg_ptr->symbol_table))
print_ht $symtable
end
document print_global_vars
Prints the global variables
end
define print_const_table
set $ind = 1
printf "[%p] {\n", $arg0
____print_ht $arg0 4
printf "}\n"
end
document print_const_table
Dumps elements of Constants HashTable
Example: print_const_table executor_globals.zend_constants
end
define ____print_ht
set $ht = (HashTable*)$arg0
set $n = $ind
while $n > 0
printf " "
set $n = $n - 1
end
set $ht = $arg0
set $p = $ht->pListHead
if $ht->u.v.flags & 4
printf "Packed"
else
printf "Hash"
end
printf "(%d)[%p]: {\n", $ht->nNumOfElements, $ht
while $p != 0
set $zval = *(struct _zval_struct **)$p->pData
set $num = $ht->nNumUsed
set $i = 0
set $ind = $ind + 1
while $i < $num
set $p = (Bucket*)($ht->arData + $i)
set $n = $ind
if $p->val.u1.v.type > 0
while $n > 0
printf " "
set $n = $n - 1
end
printf "[%d] ", $i
if $p->key
____print_str $p->key->val $p->key->len
printf " => "
else
printf "%d => ", $p->h
end
if $arg1 == 0
printf "%p\n", (zval *)&$p->val
end
if $arg1 == 1
set $zval = (zval *)&$p->val
____printzv $zval 1
end
if $arg1 == 2
printf "%s\n", (char*)$p->val.value.ptr
end
if $arg1 == 3
set $func = (zend_function*)$p->val.value.ptr
printf "\"%s\"\n", $func->common.function_name->val
end
if $arg1 == 4
set $const = (zend_constant *)$p->val.value.ptr
____printzv $const 1
end
set $i = $ind
while $i > 0
printf " "
set $i = $i - 1
end
set $i = $i + 1
if $p->nKeyLength > 0
printf "\"%s\" => ", $p->arKey
else
printf "%d => ", $p->h
end
____printzv $zval 1
set $p = $p->pListNext
end
set $ind = $ind - 1
printf "}\n"
end
define print_ht
set $ind = 0
____print_ht $arg0 1
set $ind = 1
printf "[0x%08x] {\n", $arg0
____print_ht $arg0
printf "}\n"
end
document print_ht
dumps elements of HashTable made of zval
end
define print_htptr
set $ind = 0
____print_ht $arg0 0
end
document print_htptr
dumps elements of HashTable made of pointers
end
define print_htstr
set $ind = 0
____print_ht $arg0 2
end
document print_htstr
dumps elements of HashTable made of strings
end
define print_ft
set $ind = 0
____print_ht $arg0 3
end
document print_ft
dumps a function table (HashTable)
end
define ____print_inh_class
set $ce = $arg0
if $ce->ce_flags & 0x10 || $ce->ce_flags & 0x20
printf "abstract "
else
if $ce->ce_flags & 0x40
printf "final "
end
end
printf "class %s", $ce->name->val
if $ce->parent != 0
printf " extends %s", $ce->parent->name->val
end
if $ce->num_interfaces != 0
printf " implements"
set $tmp = 0
while $tmp < $ce->num_interfaces
printf " %s", $ce->interfaces[$tmp]->name->val
set $tmp = $tmp + 1
if $tmp < $ce->num_interfaces
printf ","
end
end
end
set $ce = $ce->parent
end
define ____print_inh_iface
set $ce = $arg0
printf "interface %s", $ce->name->val
if $ce->num_interfaces != 0
set $ce = $ce->interfaces[0]
printf " extends %s", $ce->name->val
else
set $ce = 0
end
end
define print_inh
set $ce = $arg0
set $depth = 0
while $ce != 0
set $tmp = $depth
while $tmp != 0
printf " "
set $tmp = $tmp - 1
end
set $depth = $depth + 1
if $ce->ce_flags & 0x80
____print_inh_iface $ce
else
____print_inh_class $ce
end
printf " {\n"
end
while $depth != 0
set $tmp = $depth
while $tmp != 1
printf " "
set $tmp = $tmp - 1
end
printf "}\n"
set $depth = $depth - 1
end
end
define print_pi
set $pi = (zend_property_info *)$arg0
set $initial_offset = ((uint32_t)(zend_uintptr_t)(&((zend_object*)0)->properties_table[(0)]))
set $ptr_to_val = (zval*)((char*)$pi->ce->default_properties_table + $pi->offset - $initial_offset)
printf "[%p] {\n", $pi
printf " offset = %p\n", $pi->offset
printf " ce = [%p] %s\n", $pi->ce, $pi->ce->name->val
printf " flags = 0x%x (", $pi->flags
if $pi->flags & 0x100
printf "ZEND_ACC_PUBLIC"
else
if $pi->flags & 0x200
printf "ZEND_ACC_PROTECTED"
else
if $pi->flags & 0x400
printf "ZEND_ACC_PRIVATE"
else
if $pi->flags & 0x800
printf "ZEND_ACC_EARLY_BINDING"
else
if $pi->flags & 0x20000
printf "ZEND_ACC_SHADOW"
end
end
end
end
end
printf ")\n"
printf " name = "
print_zstr $pi->name
printf " default value: "
printzv $ptr_to_val
printf "}\n"
end
document print_pi
Takes a pointer to an object's property and prints the property information
usage: print_pi <ptr>
end
define ____print_str
set $tmp = 0
set $str = $arg0
if $argc > 2
set $maxlen = $arg2
else
set $maxlen = 256
end
printf "\""
while $tmp < $arg1 && $tmp < $maxlen
if $str[$tmp] > 31 && $str[$tmp] < 127
printf "%c", $str[$tmp]
else
printf "\\%o", $str[$tmp]
end
set $tmp = $tmp + 1
end
if $tmp != $arg1
printf "..."
end
printf "\""
end
define printzn
____executor_globals
set $ind = 0
set $znode = $arg0
if $znode->op_type == 1
set $optype = "IS_CONST"
end
if $znode->op_type == 2
if $znode->op_type == 2
set $optype = "IS_TMP_VAR"
end
if $znode->op_type == 4
if $znode->op_type == 4
set $optype = "IS_VAR"
end
if $znode->op_type == 8
set $optype = "IS_UNUSED"
end
printf "[%p] %s", $znode, $optype
printf "[0x%08x] %s", $znode, $optype
if $znode->op_type == 1
printf ": "
____printzv &$znode->u.constant 0
____printzv &$znode->u.constant
end
if $znode->op_type == 2
printf ": "
set $tvar = (union _temp_variable *)((char *)$eg.current_execute_data->Ts + $znode->u.var)
____printzv ((union _temp_variable *)$tvar)->tmp_var 0
set $tvar = (union _temp_variable *)((char *)executor_globals.current_execute_data->Ts + $znode->u.var)
____printzv ((union _temp_variable *)$tvar)->tmp_var
end
if $znode->op_type == 4
printf ": "
set $tvar = (union _temp_variable *)((char *)$eg.current_execute_data->Ts + $znode->u.var)
____printzv *$tvar->var.ptr_ptr 0
set $tvar = (union _temp_variable *)((char *)executor_globals.current_execute_data->Ts + $znode->u.var)
____printzv *$tvar->var.ptr_ptr
end
if $znode->op_type == 8
printf "\n"
@@ -574,11 +194,11 @@ end
document printzn
print type and content of znode.
usage: printzn &opline->op1
usage: printzn &opline->op1
end
define printzops
printf "op1 => "
printf "op1 => "
printzn &execute_data->opline.op1
printf "op2 => "
printzn &execute_data->opline.op2
@@ -590,56 +210,76 @@ document printzops
dump operands of the current opline
end
define print_zstr
set $zstr = (zend_string *)$arg0
if $argc == 2
set $maxlen = $arg1
define zmemcheck
set $p = alloc_globals.head
set $stat = "?"
set $total_size = 0
if $arg0 != 0
set $not_found = 1
else
set $maxlen = $zstr->len
set $not_found = 0
end
printf "string(%d) ", $zstr->len
____print_str $zstr->val $zstr->len $maxlen
printf "\n"
end
document print_zstr
print the length and contents of a zend string
usage: print_zstr <ptr> [max length]
end
define zbacktrace
____executor_globals
dump_bt $eg.current_execute_data
end
document zbacktrace
prints backtrace.
This command is almost a short cut for
> (gdb) ____executor_globals
> (gdb) dump_bt $eg.current_execute_data
end
define lookup_root
set $found = 0
if gc_globals->roots
set $current = gc_globals->roots->next
printf "looking ref %p in roots\n", $arg0
while $current != &gc_globals->roots
if $current->ref == $arg0
set $found = $current
break
printf " block size status file:line\n"
printf "-------------------------------------------------------------------------------\n"
while $p
set $aptr = $p + sizeof(struct _zend_mem_header) + sizeof(align_test)
if $arg0 == 0 || (void *)$aptr == (void *)$arg0
if $p->magic == 0x7312f8dc
set $stat = "OK"
end
if $p->magic == 0x99954317
set $stat = "FREED"
end
if $p->magic == 0xfb8277dc
set $stat = "CACHED"
end
set $filename = strrchr($p->filename, '/')
if !$filename
set $filename = $p->filename
else
set $filename = $filename + 1
end
printf " 0x%08x ", $aptr
if $p->size == sizeof(struct _zval_struct) && ((struct _zval_struct *)$aptr)->type >= 0 && ((struct _zval_struct *)$aptr)->type < 10
printf "ZVAL?(%-2d) ", $p->size
else
printf "%-9d ", $p->size
end
set $total_size = $total_size + $p->size
printf "%-06s %s:%d", $stat, $filename, $p->lineno
if $p->orig_filename
set $orig_filename = strrchr($p->orig_filename, '/')
if !$orig_filename
set $orig_filename = $p->orig_filename
else
set $orig_filename = $orig_filename + 1
end
printf " <= %s:%d\n", $orig_filename, $p->orig_lineno
else
printf "\n"
end
if $arg0 != 0
set $p = 0
set $not_found = 0
else
set $p = $p->pNext
end
set $current = $current->next
end
if $found != 0
printf "found root %p\n", $found
else
printf "not found\n"
set $p = $p->pNext
end
end
if $not_found
printf "no such block that begins at 0x%08x.\n", $aptr
end
if $arg0 == 0
printf "-------------------------------------------------------------------------------\n"
printf " total: %d bytes\n", $total_size
end
end
document lookup_root
lookup a refcounted in root
usage: lookup_root [ptr].
document zmemcheck
show status of a memory block.
usage: zmemcheck [ptr].
if ptr is 0, all blocks will be listed.
end
-19
View File
@@ -1,19 +0,0 @@
# Replace $Id$ strings with 40-character hexadecimal blob object name.
/ext/ext_skel.php ident
/ext/phar/phar/pharcommand.inc ident
/ext/dba/libinifile/inifile.c ident
/ext/dba/libflatfile/flatfile.c ident
/ext/dba/libcdb/cdb_make.c ident
/ext/dba/libcdb/cdb.c ident
/run-tests.php ident
# A custom merge driver to avoid automatic merges. These are manually merged.
# See https://wiki.php.net/vcs/gitfaq
/NEWS merge=NEWS
/UPGRADING merge=NEWS
/UPGRADING.INTERNALS merge=NEWS
# Enable commit diffs for binary PHP test files. Some PHP test files include
# special characters, such as ASCII control characters. Git recognizes these as
# binary and wouldn't generate diffs.
*.phpt diff
-285
View File
@@ -1,285 +0,0 @@
# These files are generated during building or development and are intentionally
# untracked to ignore by Git. For other development environment specific files,
# such as editor configuration, a good practice is to exclude them using the
# .git/info/exclude in the cloned repository or a global .gitignore file.
# ------------------------------------------------------------------------------
# Common files ignored across the repository
# ------------------------------------------------------------------------------
# Backup copies created by various editors or development tools
*~
# Patches downloaded to patch files or to apply open source contributions
*.patch
# Swap files created by editors and tools to indicate a locked file
*.swp
# Various temporary generated files
*.tmp
# ------------------------------------------------------------------------------
# Generated by the PHP build system
# ------------------------------------------------------------------------------
# Archive library containing .o files, generated during build process
*.a
# Libtool library files generated during build process
*.la
# Directories created by Libtool for storing generated library files
.libs/
# Library object files generated during build process
*.lo
# Temporary library object files generated by compiler and libtool due to failure
*.loT
# Standard object files generated during build process
*.o
# Cache directories created by Autoconf tools
autom4te.cache/
# Cache file(s) generated by Autoconf's configure when run as `configure -C`
config.cache
# A log file(s) generated by Autoconf during *nix build system
config.log
# Helper(s) generated by *nix build system to save the last configure command
config.nice
# Generated by Autoconf's configure script for instantiating templates
config.status
# Main *nix build system configuration script(s) generated by Autoconf
configure
# Generated by `./configure` when test programs create temporary files
confdefs.h
conftest*
# Generated by configure scripts on all systems
/main/internal_functions.c
/main/internal_functions_cli.c
# The Libtool script(s) generated by the *nix build system
libtool
# Makefile(s) generated from Makefile fragment templates by `./configure`
Makefile
Makefile.fragments
Makefile.objects
# Directories for shared object files and headers generated by `./configure`
include/
libs/
modules/
# Used by build/gen_stub.php
build/PHP-Parser-*
# ------------------------------------------------------------------------------
# Configuration headers generated by the PHP build system
# ------------------------------------------------------------------------------
config.h
config.h.in
/ext/date/lib/timelib_config.h
/main/build-defs.h
/main/php_config.h.in
/main/php_config.h
/Zend/zend_config.h
# ------------------------------------------------------------------------------
# Manual (man 1 and 8) pages generated from templates for *nix alike systems
# ------------------------------------------------------------------------------
/ext/phar/phar.1
/ext/phar/phar.phar.1
/sapi/cgi/php-cgi.1
/sapi/cli/php.1
/sapi/fpm/php-fpm.1
/sapi/fpm/php-fpm.8
/sapi/phpdbg/phpdbg.1
/scripts/man1/*.1
# ------------------------------------------------------------------------------
# SAPIs specific ignores
# ------------------------------------------------------------------------------
/sapi/apache2handler/libphp.module
/sapi/fpm/fpm/php-cgi
/sapi/fpm/init.d.php-fpm
/sapi/fpm/php-fpm.conf
/sapi/fpm/php-fpm.service
/sapi/fpm/status.html
/sapi/fpm/www.conf
# ------------------------------------------------------------------------------
# Executable binaries and scripts generated during the build process
# ------------------------------------------------------------------------------
/ext/phar/phar.phar
/ext/phar/phar.php
/pear/install-pear-nozlib.phar
/sapi/cgi/php-cgi
/sapi/fpm/php-fpm
/sapi/phpdbg/phpdbg
/scripts/php-config
/scripts/phpize
php
# ------------------------------------------------------------------------------
# Lexer files generated by re2c
# ------------------------------------------------------------------------------
/ext/json/json_scanner.c
/ext/json/php_json_scanner_defs.h
/ext/pdo/pdo_sql_parser.c
/ext/phar/phar_path_check.c
/ext/standard/url_scanner_ex.c
/ext/standard/var_unserializer.c
/sapi/phpdbg/phpdbg_lexer.c
/Zend/zend_ini_scanner.c
/Zend/zend_ini_scanner_defs.h
/Zend/zend_language_scanner.c
/Zend/zend_language_scanner_defs.h
# ------------------------------------------------------------------------------
# PHP parser files generated by bison during the build process
# ------------------------------------------------------------------------------
/ext/json/json_parser.tab.h
/ext/json/json_parser.tab.c
/sapi/phpdbg/phpdbg_parser.c
/sapi/phpdbg/phpdbg_parser.h
/sapi/phpdbg/phpdbg_parser.output
/Zend/zend_ini_parser.c
/Zend/zend_ini_parser.h
/Zend/zend_ini_parser.output
/Zend/zend_language_parser.c
/Zend/zend_language_parser.h
/Zend/zend_language_parser.output
# ------------------------------------------------------------------------------
# Extensions files
# ------------------------------------------------------------------------------
# Miscellaneous extensions files
/ext/opcache/jit/zend_jit_x86.c
/ext/opcache/minilua
# Generated by `cd ext/name && phpize && ./configure`
/ext/*/build/
/ext/*/configure.ac
/ext/*/run-tests.php
# ------------------------------------------------------------------------------
# Generated by Windows build system
# ------------------------------------------------------------------------------
# Generated by `/buildconf.bat`
/configure.bat
/configure.js
# Generated by `/configure.(bat|js)` (architecture dependent)
/config.nice.bat
# NTS debug build x86
/Debug/
# ZTS debug build x86
/Debug_TS/
# NTS build x86
/Release/
# ZTS build x86
/Release_TS/
# Generated by x64 compiler, includes Debug, Debug_TS, Release, Release_TS
/x64/
# Miscellaneous files generated by Windows build system
/main/config.w32.h
/win32/build/deplister.exe
/win32/build/deplister.obj
/win32/*.aps
/win32/*.positions
/win32/*.suo
/win32/ext
/win32/syslog.reg
/win32/wsyslog.h
# Standard object files generated by Visual Studio
*.obj
# ------------------------------------------------------------------------------
# Tests
# ------------------------------------------------------------------------------
# Generated by `./run-tests.php` upon failure
**/tests/**/*.diff
**/tests/**/*.out*
**/tests/**/*.php
**/tests/**/*.exp
**/tests/**/*.log
**/tests/**/*.sh
# Generated by some test cases
**/tests/**/*.db
# Microsoft Access database created for passing to tests
/ext/pdo_odbc/tests/*.mdb
# Files generated by `./run-tests.php -m` when checking for memory leaks
**/tests/**/*.mem
# Test results generated by `./run-tests.php`
php_test_results_*.txt
# Temporary test information generated by `./run-tests.php`
/run-test-info.php
# Temporary POST data placeholder files generated by `./run-tests.php`
phpt.*
# Temporary PHP INI configuration file(s) for tests, generated by `make test`
tmp-php.ini
# ------------------------------------------------------------------------------
# Generated by GCC's gcov and LCOV via build/Makefile.gcov and gcov.php.net
# ------------------------------------------------------------------------------
*.gcda
*.gcno
/gcovr.xml
/gcovr_html/
/lcov_html/
/php_lcov.info
# ------------------------------------------------------------------------------
# Archives generated during the PHP release process
# ------------------------------------------------------------------------------
/*.tar.gz
/*.tar.bz2
/*.tar.xz
/*.tar.gz.asc
/*.tar.bz2.asc
/*.tar.xz.asc
# ------------------------------------------------------------------------------
# Generated by `./configure --enable-dtrace` for using DTrace framework
# ------------------------------------------------------------------------------
/ext/oci8/oci8_dtrace_gen.h
/ext/oci8/oci8_dtrace_gen.h.bak
/Zend/zend_dtrace_gen.h
/Zend/zend_dtrace_gen.h.bak
# ------------------------------------------------------------------------------
# Special cases to invert previous ignore patterns
# ------------------------------------------------------------------------------
!/ext/bcmath/libbcmath/src/config.h
!/ext/fileinfo/libmagic/config.h
!/ext/fileinfo/libmagic.patch
!/ext/fileinfo/magicdata.patch
!/ext/pcre/pcre2lib/config.h
!/win32/build/Makefile
-98
View File
@@ -1,98 +0,0 @@
git:
quiet: true
dist: bionic
language: c
os: linux
addons:
apt:
packages:
- locales
- language-pack-de
- re2c
- ccache
- mysql-server
- libaspell-dev
- libbz2-dev
- libcurl4-gnutls-dev
- libenchant-dev
- libfreetype6-dev
- libgmp-dev
- libicu-dev
- libjpeg-dev
- libkrb5-dev
- libonig-dev
- libpng-dev
- libpq-dev
- libpspell-dev
- libsasl2-dev
- libsqlite3-dev
- libsodium-dev
- libtidy-dev
- libwebp-dev
- libxml2-dev
- libxpm-dev
- libxslt1-dev
- libzip-dev
services:
- mysql
- postgresql
notifications:
email:
on_failure: change
irc:
template:
- "%{repository}#%{build_number} (%{branch} - %{commit} : %{author}): %{message} - Change view : %{compare_url} - Build details : %{build_url}"
channels:
- "irc.efnet.org#php.pecl"
on_success: change
on_failure: always
cache:
apt: true
ccache: true
env:
global:
- MYSQL_TEST_HOST=127.0.0.1
- MYSQL_TEST_USER=travis
- PDO_MYSQL_TEST_DSN="mysql:host=127.0.0.1;dbname=test"
- PDO_MYSQL_TEST_USER=travis
- PDO_MYSQL_TEST_PASS=
- PDO_MYSQL_TEST_HOST=127.0.0.1
- PDO_PGSQL_TEST_DSN="pgsql:host=localhost port=5432 dbname=test user=postgres password="
- REPORT_EXIT_STATUS=1
jobs:
include:
- env: ENABLE_ZTS=1 ENABLE_DEBUG=1 SKIP_IO_CAPTURE_TESTS=1 ARM64=1
arch: arm64
if: type = cron
- env: ENABLE_ZTS=1 ENABLE_DEBUG=1 SKIP_IO_CAPTURE_TESTS=1 S390X=1
arch: s390x
if: type = cron
before_script:
- ccache --version
- ccache --zero-stats
- export USE_CCACHE=1
# Enable IPv6
- sudo sh -c 'echo 0 > /proc/sys/net/ipv6/conf/all/disable_ipv6'
# Compile PHP
- travis_wait ./travis/compile.sh
# Setup Extensions
- ./travis/setup-mysql.sh
- ./travis/setup-pgsql.sh
# Run PHPs run-tests.php
script:
# ARM64 CI reports nproc=32, which is excessive.
- if [ -z "$ARM64" ]; then export JOBS=$(nproc); else export JOBS=16; fi
- ./sapi/cli/php run-tests.php -P -d extension=`pwd`/modules/zend_test.so $(if [ $ENABLE_DEBUG == 0 ]; then echo "-d opcache.enable_cli=1 -d opcache.protect_memory=1 -d opcache.jit_buffer_size=16M -d zend_extension=`pwd`/modules/opcache.so"; fi) -g "FAIL,XFAIL,BORK,WARN,LEAK,SKIP" --offline --show-diff --show-slow 1000 --set-timeout 120 -j$JOBS
- sapi/cli/php -d extension_dir=`pwd`/modules -r 'dl("zend_test");'
after_success:
- ccache --show-stats
+294
View File
@@ -0,0 +1,294 @@
PHP Coding Standards
====================
This file lists several standards that any programmer, adding or changing
code in PHP, should follow. Since this file was added at a very late
stage of the development of PHP v3.0, the code base does not (yet) fully
follow it, but it's going in that general direction. Since we are now
well into the version 4 releases, many sections have been recoded to use
these rules.
Code Implementation
-------------------
[0] Document your code in source files and the manual. [tm]
[1] Functions that are given pointers to resources should not free them
For instance, function int mail(char *to, char *from) should NOT free
to and/or from.
Exceptions:
- The function's designated behavior is freeing that resource. E.g. efree()
- The function is given a boolean argument, that controls whether or not
the function may free its arguments (if true - the function must free its
arguments, if false - it must not)
- Low-level parser routines, that are tightly integrated with the token
cache and the bison code for minimum memory copying overhead.
[2] Functions that are tightly integrated with other functions within the
same module, and rely on each other non-trivial behavior, should be
documented as such and declared 'static'. They should be avoided if
possible.
[3] Use definitions and macros whenever possible, so that constants have
meaningful names and can be easily manipulated. The only exceptions
to this rule are 0 and 1, when used as false and true (respectively).
Any other use of a numeric constant to specify different behavior
or actions should be done through a #define.
[4] When writing functions that deal with strings, be sure to remember
that PHP holds the length property of each string, and that it
shouldn't be calculated with strlen(). Write your functions in a such
a way so that they'll take advantage of the length property, both
for efficiency and in order for them to be binary-safe.
Functions that change strings and obtain their new lengths while
doing so, should return that new length, so it doesn't have to be
recalculated with strlen() (e.g. php_addslashes())
[5] Use php_error_docref() group of functions to report any errors/warnings
during code execution. Use descriptive error messages, and try to avoid
using identical error strings for different stages of an error. For
example, if in order to obtain a URL you have to parse the URL, connect,
and retreive the text, assuming something can go wrong at each of these
stages, don't report an error "Unable to get URL" on all of them, but
instead, write something like "Unable to parse URL", "Unable to connect
to URL server" and "Unable to fetch URL text", respectively.
It has been silently agreed to prefix every php_error() message with the
name of the current function if applicable:
php_error(E_WHATEVER, "%s(): Desc.", get_active_function_name(TSRMLS_C));
This can be done automatically using php_error_docref(). The first
parameter, docref, is either NULL or the URL of a page describing the
error in detail. In most cases you will pass NULL, to generate the URL
from the name of the function being executed:
php_error_docref(NULL TSRMLS_CC, E_WHATEVER, "Desc.");
If you pass a URL, it can either be a full URL beginning with "http://":
php_error_docref("http://externalsite.tld/page.ext#error"
TSRMLS_CC, E_WHATEVER, "Desc.");
Or the name of a manual page without file extension, but with an optional
target anchor. Or simply the anchor within the manual page of the current
function. When using function names you must replace '_' by '-':
php_error_docref("function.ext-func#error" TSRMLS_CC, E_WHATEVER, "Desc.");
To display one or two important parameters after the function name, use
php_error_docref1() or php_error_docref2(). For example, file functions
should display the name of the file opened:
php_error_docref1("function.fopen" TSRMLS_CC, filename,
E_WHATEVER, "Desc.");
php_error_docref2("function.fopen" TSRMLS_CC, filename, openmode,
E_WHATEVER, "Desc.");
Fixing ("unifying") existing php_error() message is a good thing [tm].
[6] NEVER USE strncat(). If you're absolutely sure you know what you're doing,
check its man page again, and only then, consider using it, and even then,
try avoiding it.
[7] Use PHP_* macros in the PHP source, and ZEND_* macros in the Zend
part of the source. Although the PHP_* macro's are mostly aliased to the
ZEND_* macros it gives a better understanding on what kind of macro you're
calling.
[8] Use assert(). assert.h is included in php.h if it is available. Not only
does good assertion catch bugs, but it also helps with code readability.
- Do not use assert for error handling. Use assert only for the
condition that must be always true.
- Do not use assignments in assert conditions. If you assign inside an
assert condition, you risk an elusive bug that would be very difficult
to spot in a debug build, due to the side effect of the assignment.
Function calls in assert conditions may also cause this problem, if
they modify one of their arguments or global variables.
[9] When commenting out code using a #if statement, do NOT use 0 only. Instead
use "<cvs username here>_0". For example, #if FOO_0, where FOO is your
cvs user foo. This allows easier tracking of why code was commented out,
especially in bundled libraries.
[10] Do not define functions that are not available. For instance, if a
library is missing a function, do not define the PHP version of the
function, and do not raise a run-time error about the function not
existing. End users should use function_exists() to test for the
existence of a function
[11] Prefer emalloc(), efree(), estrdup(), etc. to their standard C library
counterparts. These functions implement an internal "safety-net"
mechanism that ensures the deallocation of any unfreed memory at the
end of a request. They also provide useful allocation and overflow
information while running in debug mode.
In almost all cases, memory returned to the engine must be allocated
using emalloc().
The use of malloc() should be limited to cases where a third-party
library may need to control or free the memory, or when the memory in
question needs to survive between multiple requests.
Naming Conventions
------------------
[1] Function names for user-level functions should be enclosed with in
the PHP_FUNCTION() macro. They should be in lowercase, with words
underscore delimited, with care taken to minimize the letter count.
Abbreviations should not be used when they greatly decrease the
readability of the function name itself.
Good:
'mcrypt_enc_self_test'
'mysql_list_fields'
Ok:
'mcrypt_module_get_algo_supported_key_sizes'
(could be 'mcrypt_mod_get_algo_sup_key_sizes'?)
'get_html_translation_table'
(could be 'html_get_trans_table'?)
Bad:
'hw_GetObjectByQueryCollObj'
'pg_setclientencoding'
'jf_n_s_i'
[2] If they are part of a "parent set" of functions, that parent should
be included in the user function name, and should be clearly related
to the parent program or function family. This should be in the form
of parent_*.
A family of 'foo' functions, for example:
Good:
'foo_select_bar'
'foo_insert_baz'
'foo_delete_baz'
Bad:
'fooselect_bar'
'fooinsertbaz'
'delete_foo_baz'
[3] Function names used by user functions should be prefixed
with "_php_", and followed by a word or an underscore-delimited list of
words, in lowercase letters, that describes the function. If applicable,
they should be declared 'static'.
[4] Variable names must be meaningful. One letter variable names must be
avoided, except for places where the variable has no real meaning or
a trivial meaning (e.g. for (i=0; i<100; i++) ...).
[5] Variable names should be in lowercase. Use underscores to separate
between words.
Syntax and indentation
----------------------
[1] Never use C++ style comments (i.e. // comment). Always use C-style
comments instead. PHP is written in C, and is aimed at compiling
under any ANSI-C compliant compiler. Even though many compilers
accept C++-style comments in C code, you have to ensure that your
code would compile with other compilers as well.
The only exception to this rule is code that is Win32-specific,
because the Win32 port is MS-Visual C++ specific, and this compiler
is known to accept C++-style comments in C code.
[2] Use K&R-style. Of course, we can't and don't want to
force anybody to use a style he or she is not used to, but,
at the very least, when you write code that goes into the core
of PHP or one of its standard modules, please maintain the K&R
style. This applies to just about everything, starting with
indentation and comment styles and up to function declaration
syntax.
(see also http://www.tuxedo.org/~esr/jargon/html/entry/indent-style.html)
[3] Be generous with whitespace and braces. Always prefer:
if (foo) {
bar;
}
to:
if(foo)bar;
Keep one empty line between the variable declaration section and
the statements in a block, as well as between logical statement
groups in a block. Maintain at least one empty line between
two functions, preferably two.
[4] When indenting, use the tab character. A tab is expected to represent
four spaces. It is important to maintain consistency in indenture so
that definitions, comments, and control structures line up correctly.
Documentation and Folding Hooks
-------------------------------
In order to make sure that the online documentation stays in line with
the code, each user-level function should have its user-level function
prototype before it along with a brief one-line description of what the
function does. It would look like this:
/* {{{ proto int abs(int number)
Returns the absolute value of the number */
PHP_FUNCTION(abs)
{
...
}
/* }}} */
The {{{ symbols are the default folding symbols for the folding mode in
Emacs and vim (set fdm=marker). Folding is very useful when dealing with
large files because you can scroll through the file quickly and just unfold
the function you wish to work on. The }}} at the end of each function marks
the end of the fold, and should be on a separate line.
The "proto" keyword there is just a helper for the doc/genfuncsummary script
which generates a full function summary. Having this keyword in front of the
function prototypes allows us to put folds elsewhere in the code without
messing up the function summary.
Optional arguments are written like this:
/* {{{ proto object imap_header(int stream_id, int msg_no [, int from_length [, int subject_length [, string default_host]]])
Returns a header object with the defined parameters */
And yes, please keep the prototype on a single line, even if that line
is massive.
New and Experimental Functions
-----------------------------------
To reduce the problems normally associated with the first public
implementation of a new set of functions, it has been suggested
that the first implementation include a file labeled 'EXPERIMENTAL'
in the function directory, and that the functions follow the
standard prefixing conventions during their initial implementation.
The file labelled 'EXPERIMENTAL' should include the following
information:
Any authoring information (known bugs, future directions of the module).
Ongoing status notes which may not be appropriate for CVS comments.
Aliases & Legacy Documentation
-----------------------------------
You may also have some deprecated aliases with close to duplicate
names, for example, somedb_select_result and somedb_selectresult. For
documentation purposes, these will only be documented by the most
current name, with the aliases listed in the documentation for
the parent function. For ease of reference, user-functions with
completely different names, that alias to the same function (such as
highlight_file and show_source), will be separately documented. The
proto should still be included, describing which function is aliased.
Backwards compatible functions and names should be maintained as long
as the code can be reasonably be kept as part of the codebase. See
/phpdoc/README for more information on documentation.
-320
View File
@@ -1,320 +0,0 @@
# PHP coding standards
This file lists several standards that any programmer adding or changing code in
PHP should follow. Since this file was added at a very late stage of the
development of PHP v3.0, the code base does not fully follow it, but new
features are going in that general direction. Many sections have been recoded to
use these rules.
## Code implementation
1. Document your code in source files and the manual. (tm)
2. Functions that are given pointers to resources should not free them.
For instance, `function int mail(char *to, char *from)` should NOT free to
and/or from.
Exceptions:
* The function's designated behavior is freeing that resource. E.g.
`efree()`
* The function is given a boolean argument, that controls whether or not the
function may free its arguments (if true - the function must free its
arguments, if false - it must not)
* Low-level parser routines, that are tightly integrated with the token
cache and the bison code for minimum memory copying overhead.
3. Functions that are tightly integrated with other functions within the same
module, and rely on each other non-trivial behavior, should be documented as
such and declared `static`. They should be avoided if possible.
4. Use definitions and macros whenever possible, so that constants have
meaningful names and can be easily manipulated. The only exceptions to this
rule are 0 and 1, when used as `false` and `true` (respectively). Any other
use of a numeric constant to specify different behavior or actions should be
done through a `#define`.
5. When writing functions that deal with strings, be sure to remember that PHP
holds the length property of each string, and that it shouldn't be
calculated with `strlen()`. Write your functions in such a way so that
they'll take advantage of the length property, both for efficiency and in
order for them to be binary-safe. Functions that change strings and obtain
their new lengths while doing so, should return that new length, so it
doesn't have to be recalculated with `strlen()` (e.g. `php_addslashes()`).
6. NEVER USE `strncat()`. If you're absolutely sure you know what you're doing,
check its man page again, and only then, consider using it, and even then,
try avoiding it.
7. Use `PHP_*` macros in the PHP source, and `ZEND_*` macros in the Zend part of
the source. Although the `PHP_*` macros are mostly aliased to the `ZEND_*`
macros it gives a better understanding on what kind of macro you're calling.
8. When commenting out code using a `#if` statement, do NOT use `0` only.
Instead use `"<git username here>_0"`. For example, `#if FOO_0`, where `FOO`
is your git user `foo`. This allows easier tracking of why code was
commented out, especially in bundled libraries.
9. Do not define functions that are not available. For instance, if a library is
missing a function, do not define the PHP version of the function, and do
not raise a run-time error about the function not existing. End users should
use `function_exists()` to test for the existence of a function.
10. Prefer `emalloc()`, `efree()`, `estrdup()`, etc. to their standard C library
counterparts. These functions implement an internal "safety-net" mechanism
that ensures the deallocation of any unfreed memory at the end of a request.
They also provide useful allocation and overflow information while running
in debug mode.
In almost all cases, memory returned to the engine must be allocated using
`emalloc()`.
The use of `malloc()` should be limited to cases where a third-party library
may need to control or free the memory, or when the memory in question needs
to survive between multiple requests.
## User functions/methods naming conventions
1. Function names for user-level functions should be enclosed with in the
`PHP_FUNCTION()` macro. They should be in lowercase, with words underscore
delimited, with care taken to minimize the letter count. Abbreviations
should not be used when they greatly decrease the readability of the
function name itself:
Good:
```php
str_word_count
array_key_exists
```
Ok:
```php
date_interval_create_from_date_string
// Could be 'date_intvl_create_from_date_str'?
get_html_translation_table()
// Could be 'html_get_trans_table'?
```
Bad:
```php
hw_GetObjectByQueryCollObj
pg_setclientencoding
jf_n_s_i
```
2. If they are part of a "parent set" of functions, that parent should be
included in the user function name, and should be clearly related to the
parent program or function family. This should be in the form of `parent_*`:
A family of `foo` functions, for example:
Good:
```php
foo_select_bar
foo_insert_baz
foo_delete_baz
```
Bad:
```php
fooselect_bar
fooinsertbaz
delete_foo_baz
```
3. Function names used by user functions should be prefixed with `_php_`, and
followed by a word or an underscore-delimited list of words, in lowercase
letters, that describes the function. If applicable, they should be declared
`static`.
4. Variable names must be meaningful. One letter variable names must be avoided,
except for places where the variable has no real meaning or a trivial
meaning (e.g. `for (i=0; i<100; i++) ...`).
5. Variable names should be in lowercase. Use underscores to separate between
words.
6. Method names follow the *studlyCaps* (also referred to as *bumpy case* or
*camel caps*) naming convention, with care taken to minimize the letter
count. The initial letter of the name is lowercase, and each letter that
starts a new `word` is capitalized:
Good:
```php
connect()
getData()
buildSomeWidget()
```
Bad:
```php
get_Data()
buildsomewidget()
getI()
```
7. Class names should be descriptive nouns in *PascalCase* and as short as
possible. Each word in the class name should start with a capital letter,
without underscore delimiters. The class name should be prefixed with the
name of the "parent set" (e.g. the name of the extension) if no namespaces
are used. Abbreviations and acronyms as well as initialisms should be
avoided wherever possible, unless they are much more widely used than the
long form (e.g. HTTP or URL). Abbreviations start with a capital letter
followed by lowercase letters, whereas acronyms and initialisms are written
according to their standard notation. Usage of acronyms and initialisms is
not allowed if they are not widely adopted and recognized as such.
Good:
```php
Curl
CurlResponse
HTTPStatusCode
URL
BTreeMap // B-tree Map
Id // Identifier
ID // Identity Document
Char // Character
Intl // Internationalization
Radar // Radio Detecting and Ranging
```
Bad:
```php
curl
curl_response
HttpStatusCode
Url
BtreeMap
ID // Identifier
CHAR
INTL
RADAR // Radio Detecting and Ranging
```
## Internal function naming conventions
1. Functions that are part of the external API should be named
`php_modulename_function()` to avoid symbol collision. They should be in
lowercase, with words underscore delimited. Exposed API must be defined in
`php_modulename.h`.
```c
PHPAPI char *php_session_create_id(PS_CREATE_SID_ARGS);
```
Unexposed module function should be static and should not be defined in
`php_modulename.h`.
```c
static int php_session_destroy()
```
2. Main module source file must be named `modulename.c`.
3. Header file that is used by other sources must be named `php_modulename.h`.
## Syntax and indentation
1. Never use C++ style comments (i.e. `//` comment). Always use C-style comments
instead. PHP is written in C, and is aimed at compiling under any ANSI-C
compliant compiler. Even though many compilers accept C++-style comments in
C code, you have to ensure that your code would compile with other compilers
as well. The only exception to this rule is code that is Win32-specific,
because the Win32 port is MS-Visual C++ specific, and this compiler is known
to accept C++-style comments in C code.
2. Use K&R-style. Of course, we can't and don't want to force anybody to use a
style he or she is not used to, but, at the very least, when you write code
that goes into the core of PHP or one of its standard modules, please
maintain the K&R style. This applies to just about everything, starting with
indentation and comment styles and up to function declaration syntax. Also
see [Indentstyle](http://www.catb.org/~esr/jargon/html/I/indent-style.html).
3. Be generous with whitespace and braces. Keep one empty line between the
variable declaration section and the statements in a block, as well as
between logical statement groups in a block. Maintain at least one empty
line between two functions, preferably two. Always prefer:
```c
if (foo) {
bar;
}
```
to:
```c
if(foo)bar;
```
4. When indenting, use the tab character. A tab is expected to represent four
spaces. It is important to maintain consistency in indenture so that
definitions, comments, and control structures line up correctly.
5. Preprocessor statements (`#if` and such) MUST start at column one. To indent
preprocessor directives you should put the `#` at the beginning of a line,
followed by any number of whitespace.
## Testing
1. Extensions should be well tested using `*.phpt` tests. Read about that at
[qa.php.net](https://qa.php.net/write-test.php) documentation.
## Folding hooks
Use `{{{` symbols for the folding mode in Emacs and vim (`set fdm=marker`).
Folding is very useful when dealing with large files because you can scroll
through the file quickly and just unfold the function you wish to work on.
The `}}}` at the end of each function marks the end of the fold, and should
be on a separate line.
```c
/* {{{ Returns the absolute value of the number */
PHP_FUNCTION(abs)
{
...
}
/* }}} */
```
## New and experimental functions
To reduce the problems normally associated with the first public implementation
of a new set of functions, it has been suggested that the first implementation
include a file labeled `EXPERIMENTAL` in the function directory, and that the
functions follow the standard prefixing conventions during their initial
implementation.
The file labelled `EXPERIMENTAL` should include the following information:
* Any authoring information (known bugs, future directions of the module).
* Ongoing status notes which may not be appropriate for Git comments.
In general new features should go to PECL or experimental branches until there
are specific reasons for directly adding it to the core distribution.
## Aliases & legacy documentation
You may also have some deprecated aliases with close to duplicate names, for
example, `somedb_select_result` and `somedb_selectresult`. For documentation
purposes, these will only be documented by the most current name, with the
aliases listed in the documentation for the parent function. For ease of
reference, user-functions with completely different names, that alias to the
same function (such as `highlight_file` and `show_source`), will be separately
documented.
Backwards compatible functions and names should be maintained as long as the
code can be reasonably be kept as part of the codebase. See the `README` in the
PHP documentation repository for more information on documentation.
-425
View File
@@ -1,425 +0,0 @@
# Contributing to PHP
Anybody who programs in PHP can be a contributing member of the community that
develops and deploys it; the task of deploying PHP, documentation and associated
websites is a never ending one. With every release, or release candidate comes a
wave of work, which takes a lot of organization and co-ordination.
You don't need any special access to download, build, debug and begin submitting
PHP or PECL code, tests or documentation. Once you've followed this guide and
had several contributions accepted, commit privileges are often quickly granted.
## Index
* [Pull requests](#pull-requests)
* [Filing bugs](#filing-bugs)
* [Feature requests](#feature-requests)
* [Writing tests](#writing-tests)
* [Writing documentation](#writing-documentation)
* [Getting help](#getting-help)
* [PHP source code directory structure](#php-source-code-directory-structure)
* [PHP internals](#php-internals)
* [PECL extensions](#pecl-extensions)
* [Checklist for submitting contribution](#checklist-for-submitting-contribution)
* [What happens after submitting contribution?](#what-happens-after-submitting-contribution)
* [What happens when your contribution is applied?](#what-happens-when-your-contribution-is-applied)
* [Git commit rules](#git-commit-rules)
* [Copyright and license headers](#copyright-and-license-headers)
## Pull requests
PHP welcomes pull requests to [add tests](#writing-tests), fix bugs and to
implement RFCs. Please be sure to include tests as appropriate!
If you are fixing a bug, then please submit your PR against the lowest actively
supported branch of PHP that the bug affects (only green branches on
[the supported version page](https://www.php.net/supported-versions.php) are
supported). For example, at the time of writing, the lowest supported version is
PHP 7.3, which corresponds to the `PHP-7.3` branch in Git. Please also make sure
you add a link to the PR in the bug on [the bug tracker](https://bugs.php.net/).
Pull requests implementing RFCs should be submitted against `master`.
Pull requests should *never* be submitted against `PHP-x.y.z` branches, as these
are only used for release management.
If your pull request exhibits conflicts with the base branch, please resolve
them by using `git rebase` instead of `git merge`.
Fork the official PHP repository and send a pull request. A notification will be
sent to the pull request mailing list. Sending a note to PHP Internals list
(internals@lists.php.net) may help getting more feedback and quicker turnaround.
You can also add pull requests to [bug reports](https://bugs.php.net/).
Read [Git access page](https://www.php.net/git.php) for help on using Git to get
and build PHP source code. We recommend to look at our
[workflow](https://wiki.php.net/vcs/gitworkflow) and our
[FAQ](https://wiki.php.net/vcs/gitfaq).
## Filing bugs
Bugs can be filed on the [PHP bug tracker](https://bugs.php.net/). If this is
the first time you've filed a bug, we suggest reading the
[guide to reporting a bug](https://bugs.php.net/how-to-report.php).
Where possible, please include a self-contained reproduction case!
## Feature requests
Feature requests are generally submitted in the form of
[Requests for Comments (RFC)](https://wiki.php.net/rfc/howto), ideally
accompanied by [pull requests](#pull-requests). You can find the extremely large
list of RFCs that have been previously considered on the
[PHP Wiki](https://wiki.php.net/rfc).
To create a RFC, discuss it with the extension maintainer, and discuss it on the
development mailing list internals@lists.php.net. RFC Wiki accounts can be
requested on https://wiki.php.net/start?do=register. PHP extension maintainers
can be found in the [EXTENSIONS](/EXTENSIONS) file in the PHP source code
repository. Mailing list subscription is explained on the
[mailing lists page](https://www.php.net/mailing-lists.php).
You may also want to read
[The Mysterious PHP RFC Process](https://blogs.oracle.com/opal/entry/the_mysterious_php_rfc_process)
for additional notes on the best way to approach submitting an RFC.
## Writing tests
We love getting new tests! PHP is a huge project and improving code coverage is
a huge win for every PHP user.
[Our QA site includes a page detailing how to write test cases.](https://qa.php.net/write-test.php)
Submitting test scripts helps us to understand what functionality has changed.
It is important for the stability and maintainability of PHP that tests are
comprehensive.
Failure conditions of `zend_parse_parameters`, `ZEND_PARSE_PARAMETERS()` and
similar functions should not be tested. These parameter parsing APIs are already
extensively tested, and additional tests only complicate future modifications.
For newly created tests, a `--CREDITS--` section should no longer be included,
as test authorship is already accurately tracked by Git. If multiple authors
should be credited, the `Co-authored-by` tag in the commit message may be used.
## Writing documentation
There are two ways to contribute to the PHP manual. You can edit the manual and
send patches anonymously via [the online editor](https://edit.php.net/), or you
can check the XML source out from Subversion and edit that and build it
[per the instructions on the documentation site](http://doc.php.net/tutorial/).
Patches created that way should be sent to the
[documentation mailing list](mailto:phpdoc@lists.php.net).
## Getting help
If you are having trouble contributing to PHP, or just want to talk to a human
about what you're working on, you can contact us via the
[internals mailing list](mailto:internals@lists.php.net), or the
[documentation mailing list](mailto:phpdoc@lists.php.net) for documentation
issues.
Although not a formal channel, you can also find a number of core developers on
the #php.pecl channel on [EFnet](http://www.efnet.org/). Similarly, many
documentation writers can be found on #php.doc. Windows development IRC channel
is available at #winphp-dev on FreeNode.
## PHP source code directory structure
PHP source code also includes several files generated during development and
several parts where maintenance is happening upstream in their respective
locations.
```bash
<php-src>/
├─ .git/ # Git configuration and source directory
├─ TSRM/ # Thread Safe Resource Manager
└─ Zend/ # Zend Engine
├─ zend_vm_execute.h # Generated by `Zend/zend_vm_gen.php`
├─ zend_vm_opcodes.c # Generated by `Zend/zend_vm_gen.php`
├─ zend_vm_opcodes.h # Generated by `Zend/zend_vm_gen.php`
└─ ...
├─ appveyor/ # Appveyor CI service files
└─ build/ # *nix build system files
├─ ax_*.m4 # https://github.com/autoconf-archive/autoconf-archive
├─ config.guess # https://git.savannah.gnu.org/cgit/config.git
├─ config.sub # https://git.savannah.gnu.org/cgit/config.git
├─ libtool.m4 # https://git.savannah.gnu.org/cgit/libtool.git
├─ ltmain.sh # https://git.savannah.gnu.org/cgit/libtool.git
├─ shtool # https://www.gnu.org/software/shtool/
└─ ...
├─ docs/ # PHP internals and repository documentation
└─ ext/ # PHP core extensions
└─ bcmath/
├─ libbcmath/ # Forked and maintained in php-src
└─ ...
└─ curl/
├─ sync-constants.php # The curl symbols checker
└─ ...
└─ date/
└─ lib/ # Bundled datetime library https://github.com/derickr/timelib
├─ parse_date.c # Generated by re2c 0.15.3
├─ parse_iso_intervals.c # Generated by re2c 0.15.3
└─ ...
└─ ...
└─ ffi/
├─ ffi_parser.c # Generated by https://github.com/dstogov/llk
└─ ...
└─ fileinfo/
├─ libmagic/ # Modified libmagic https://github.com/file/file
├─ data_file.c # Generated by `ext/fileinfo/create_data_file.php`
├─ libmagic.patch # Modifications patch from upstream libmagic
├─ magicdata.patch # Modifications patch from upstream libmagic
└─ ...
└─ gd/
├─ libgd/ # Bundled and modified GD library https://github.com/libgd/libgd
└─ ...
└─ mbstring/
├─ libmbfl/ # Forked and maintained in php-src
├─ unicode_data.h # Generated by `ext/mbstring/ucgendat/ucgendat.php`
└─ ...
└─ pcre/
├─ pcre2lib/ # https://www.pcre.org/
└─ ...
└─ pdo_mysql/
├─ php_pdo_mysql_sqlstate.h # Generated by `ext/pdo_mysql/get_error_codes.php`
└─ ...
└─ skeleton/ # Skeleton for developing new extensions with `ext/ext_skel.php`
└─ ...
└─ standard/
└─ html_tables/
├─ mappings/ # https://www.unicode.org/Public/MAPPINGS/
└─ ...
├─ credits_ext.h # Generated by `scripts/dev/credits`
├─ credits_sapi.h # Generated by `scripts/dev/credits`
├─ html_tables.h # Generated by `ext/standard/html_tables/html_table_gen.php`
└─ ...
└─ tokenizer/
├─ tokenizer_data.c # Generated by `ext/tokenizer/tokenizer_data_gen.sh`
└─ ...
└─ zend_test # For testing internal APIs. Not needed for regular builds.
└─ ...
└─ zip/ # Bundled https://github.com/pierrejoye/php_zip
└─ ...
└─ ...
└─ main/ # Binding that ties extensions, SAPIs, and engine together
├─ streams/ # Streams layer subsystem
├─ php_version.h # Generated by release managers using `configure`
└─ ...
├─ pear/ # PEAR installation
└─ sapi/ # PHP SAPI modules
└─ cli/
├─ mime_type_map.h # Generated by `sapi/cli/generate_mime_type_map.php`
└─ ...
└─ ...
├─ scripts/ # php-config, phpize and internal development scripts
├─ tests/ # Core features tests
├─ travis/ # Travis CI service files
└─ win32/ # Windows build system files
├─ cp_enc_map.c # Generated by `win32/cp_enc_map_gen.exe`
└─ ...
└─ ...
```
## PHP internals
For information on PHP internal C functions see
[References about Maintaining and Extending PHP](https://wiki.php.net/internals/references).
Various external resources can be found on the web. A standard printed reference
is the book "Extending and Embedding PHP" by Sara Golemon.
## PECL extensions
If you are fixing broken functionality in a [PECL](https://pecl.php.net)
extension then create a bug or identify an existing bug at
[bugs.php.net](https://bugs.php.net). A bug can be used to track the change
progress and prevent your changes getting lost in the PHP mail archives. Some
PECL extensions have their own bug tracker locations and different contributing
procedures.
If your change is large then create a
[Request for Comments (RFC)](https://wiki.php.net/rfc), discuss it with the
extension maintainer, and discuss it on the development mailing list
pecl-dev@lists.php.net depending on the extension. PECL mailing list
subscription is explained on the
[PECL support page](https://pecl.php.net/support.php).
Update any open bugs and add a link to the source of your change. Send the patch
or pointer to the bug to pecl-dev@lists.php.net. Also CC the extension
maintainer. Explain what has been changed by your patch. Test scripts should be
included.
## Checklist for submitting contribution
- Read [Coding standards](/CODING_STANDARDS.md) before you start working.
- Update git source just before running your final `diff` and before testing.
- Add in-line comments and/or have external documentation ready. Use only
`/* */` style comments, not `//`.
- Create test scripts for use with `make test`.
- Run `make test` to check your change doesn't break other features.
- Rebuild PHP with `--enable-debug` which will show some kinds of memory errors
and check the PHP and web server error logs after running your PHP tests.
- Rebuild PHP with `--enable-zts` to check your change compiles and operates
correctly in a thread safe PHP.
- Review the change once more just before submitting it.
## What happens after submitting contribution?
If your change is easy to review and obviously has no side-effects, it might be
committed relatively quickly.
Because PHP is a volunteer-driven effort more complex changes will require
patience on your side. If you do not receive feedback in a few days, consider
bumping. Before doing this think about these questions:
- Did I send the patch to the right mailing list?
- Did I review the mailing list archives to see if these kind of changes had
been discussed before?
- Did I explain my change clearly?
- Is my change too hard to review? Because of what factors?
## What happens when your contribution is applied?
Your name will likely be included in the Git commit log. If your change affects
end users, a brief description and your name might be added to the [NEWS](/NEWS)
file.
## Git commit rules
This section refers to contributors that have Git push access and make commit
changes themselves. We'll assume you're basically familiar with Git, but feel
free to post your questions on the mailing list. Please have a look at the more
detailed [information on Git](https://git-scm.com/).
PHP is developed through the efforts of a large number of people. Collaboration
is a Good Thing(tm), and Git lets us do this. Thus, following some basic rules
with regards to Git usage will:
* Make everybody happier, especially those responsible for maintaining PHP
itself.
* Keep the changes consistently well documented and easily trackable.
* Prevent some of those 'Oops' moments.
* Increase the general level of good will on planet Earth.
Having said that, here are the organizational rules:
1. Respect other people working on the project.
2. Discuss any significant changes on the list before committing and get
confirmation from the release manager for the given branch.
3. Look at [EXTENSIONS](/EXTENSIONS) file to see who is the primary maintainer
of the code you want to contribute to.
4. If you "strongly disagree" about something another person did, don't start
fighting publicly - take it up in private email.
5. If you don't know how to do something, ask first!
6. Test your changes before committing them. We mean it. Really. To do so use
`make test`.
7. For development use the `--enable-debug` switch to avoid memory leaks and the
`--enable-zts` switch to ensure your code handles TSRM correctly and doesn't
break for those who need that.
Currently we have the following branches in use:
| Branch | |
| --------- | --------- |
| master | Active development branch for PHP 8.0, which is open for backwards incompatible changes and major internal API changes. |
| PHP-7.4 | Is used to release the PHP 7.4.x series. This is a current stable version and is open for bugfixes only. |
| PHP-7.3 | Is used to release the PHP 7.3.x series. This is a current stable version and is open for bugfixes only. |
| PHP-7.2 | Is used to release the PHP 7.2.x series. This is an old stable version and is open for security fixes only. |
| PHP-7.1 | This branch is closed. |
| PHP-7.0 | This branch is closed. |
| PHP-5.6 | This branch is closed. |
| PHP-5.5 | This branch is closed. |
| PHP-5.4 | This branch is closed. |
| PHP-5.3 | This branch is closed. |
| PHP-5.2 | This branch is closed. |
| PHP-5.1 | This branch is closed. |
| PHP-4.4 | This branch is closed. |
| PHP-X.Y.Z | These branches are used for the release managers for tagging the releases, hence they are closed to the general public. |
The next few rules are more of a technical nature:
1. All non-security bugfix changes should first go to the lowest bugfix branch
(i.e. 7.3) and then get merged up to all other branches. All security fixes
should go to the lowest security fixes branch (i.e 7.2). If a change is not
needed for later branches (i.e. fixes for features which were dropped from
later branches) an empty merge should be done.
2. All news updates intended for public viewing, such as new features, bug
fixes, improvements, etc., should go into the NEWS file of *any stable
release* version with the given change. In other words, news about a bug fix
which went into PHP-5.4, PHP-5.5 and master should be noted in both
PHP-5.4/NEWS and PHP-5.5/NEWS but not master, which is not a public released
version yet.
3. Do not commit multiple files and dump all messages in one commit. If you
modified several unrelated files, commit each group separately and provide a
nice commit message for each one. See example below.
4. Do write your commit message in such a way that it makes sense even without
the corresponding diff. One should be able to look at it, and immediately
know what was modified. Definitely include the function name in the message
as shown below.
5. In your commit messages, keep each line shorter than 80 characters. And try
to align your lines vertically, if they wrap. It looks bad otherwise.
6. If you modified a function that is callable from PHP, prepend PHP to the
function name as shown below.
The format of the commit messages is pretty simple.
<max 79 characters short description>\n
\n
<long description, 79 chars per line>
\n
An Example from the git project (commit 2b34e486bc):
pack-objects: Fix compilation with NO_PTHREDS
It looks like commit 99fb6e04 (pack-objects: convert to use parse_options(),
2012-02-01) moved the #ifdef NO_PTHREDS around but hasn't noticed that the
'arg' variable no longer is available.
If you fix some bugs, you should note the bug ID numbers in your commit message.
Bug ID should be prefixed by `#`.
Example:
Fixed bug #14016 (pgsql notice handler double free crash bug.)
When you change the NEWS file for a bug fix, then please keep the bugs sorted in
decreasing order under the fixed version.
You can use [gitweb](https://git.php.net/) to look at PHP Git repository in
various ways.
## Copyright and license headers
New source code files should include the following header block:
```c
/*
+----------------------------------------------------------------------+
| Copyright (c) The PHP Group |
+----------------------------------------------------------------------+
| This source file is subject to version 3.01 of the PHP license, |
| that is bundled with this package in the file LICENSE, and is |
| available through the world-wide-web at the following url: |
| https://www.php.net/license/3_01.txt |
| If you did not receive a copy of the PHP license and are unable to |
| obtain it through the world-wide-web, please send a note to |
| license@php.net so we can mail you a copy immediately. |
+----------------------------------------------------------------------+
| Author: |
+----------------------------------------------------------------------+
*/
```
Thank you for contributing to PHP!
+2
View File
@@ -0,0 +1,2 @@
For the list of people who've put work into PHP, please see
http://www.php.net/credits.php
+34690
View File
File diff suppressed because it is too large. Load diff
BIN
View File
Binary file not shown.
BIN
View File
Binary file not shown.
BIN
View File
Binary file not shown.
+307 -296
View File
@@ -3,6 +3,7 @@
Maintenance legend
------------------
Supported: Someone is actually paid to look after this.
Maintained: Someone actually looks after it.
Odd Fixes: It has a maintainer but they don't have time to do
much other than throw the odd patch in. See below.
@@ -25,207 +26,181 @@ Status legend
== Server APIs ==
-------------------------------------------------------------------------------
EXTENSION: activescript
COMMENT: See http://pecl.php.net/package/PHPScript
-------------------------------------------------------------------------------
EXTENSION: aolserver
MAINTENANCE: Unknown
STATUS: Unknown
-------------------------------------------------------------------------------
EXTENSION: apache
PRIMARY MAINTAINER: Rasmus Lerdorf <rasmus@php.net>
MAINTENANCE: Maintained
STATUS: Working
-------------------------------------------------------------------------------
EXTENSION: apache2filter
PRIMARY MAINTAINER: Aaron Bannert <aaron@php.net>
MAINTENANCE: Maintained
STATUS: Experimental
-------------------------------------------------------------------------------
EXTENSION: apache2handler
PRIMARY MAINTAINER: Aaron Bannert <aaron@php.net>, Ilia Alshanetsky <iliaa@php.net>
MAINTENANCE: Maintained
STATUS: Working
-------------------------------------------------------------------------------
EXTENSION: caudium
MAINTENANCE: Unknown
STATUS: Unknown
-------------------------------------------------------------------------------
EXTENSION: cgi
MAINTENANCE: Unknown
STATUS: Working
-------------------------------------------------------------------------------
EXTENSION: cli
PRIMARY MAINTAINER: Marcus Börger <helly@php.net>, Edin Kadribasic <edink@php.net>
MAINTENANCE: Xinchen Hui <laruence@php.net> (2013 - 2020)
MAINTENANCE: Unknown
STATUS: Working
SINCE: 4.3.0
-------------------------------------------------------------------------------
EXTENSION: embed
PRIMARY MAINTAINER: Edin Kadribasic <edink@php.net>
MAINTENANCE: Maintained
STATUS: Working
-------------------------------------------------------------------------------
EXTENSION: fpm
PRIMARY MAINTAINER: Jakub Zelenka <bukka@php.net>
MAINTENANCE: Maintained
STATUS: Working
SINCE: 5.3.3
-------------------------------------------------------------------------------
EXTENSION: litespeed
PRIMARY MAINTAINER: George Wang <gwang@php.net>
MAINTENANCE: Maintained
STATUS: Working
SINCE: 5.3
-------------------------------------------------------------------------------
EXTENSION: phpdbg
PRIMARY MAINTAINER: Joe Watkins <krakjoe@php.net>, Bob Weinand <bwoebi@php.net>
EXTENSION: isapi
MAINTENANCE: Unknown
STATUS: 5.6
STATUS: Working
-------------------------------------------------------------------------------
EXTENSION: nsapi
PRIMARY MAINTAINER: Uwe Schindler <thetaphi@php.net>
MAINTENANCE: Maintained
STATUS: Working
-------------------------------------------------------------------------------
EXTENSION: phttpd
MAINTENANCE: Unknown
STATUS: Unknown
-------------------------------------------------------------------------------
EXTENSION: pi3web
MAINTENANCE: Unknown
STATUS: Unknown
-------------------------------------------------------------------------------
EXTENSION: roxen
MAINTENANCE: Unknown
STATUS: Unknown
-------------------------------------------------------------------------------
EXTENSION: servlet
PRIMARY MAINTAINER: Sam Ruby <rubys@php.net>
MAINTENANCE: Maintained
STATUS: Working
-------------------------------------------------------------------------------
EXTENSION: thttpd
MAINTENANCE: Unknown
STATUS: Unknown
-------------------------------------------------------------------------------
EXTENSION: tux
MAINTENANCE: Unknown
STATUS: Unknown
-------------------------------------------------------------------------------
EXTENSION: webjames
PRIMARY MAINTAINER: Alex Waugh <alexwaugh@php.net>
MAINTENANCE: Maintained
STATUS: Experimental
-------------------------------------------------------------------------------
== Database extensions ==
-------------------------------------------------------------------------------
EXTENSION: db
PRIMARY MAINTAINER: Unknown
MAINTENANCE: Unknown
STATUS: Unknown
-------------------------------------------------------------------------------
EXTENSION: dba
PRIMARY MAINTAINER: Marcus Börger <helly@php.net> (2002 - 2007)
Christopher Jones <sixd@php.net> (2008 - 2013)
Pierre-Alain Joye <pajoye@php.net> (2011 - 2011)
PRIMARY MAINTAINER: Marcus Börger <helly@php.net>
MAINTENANCE: Maintained
STATUS: Working
COMMENT: DBM abstraction for db2, db3, db4, dbm, ndbm, gdbm, ini
-------------------------------------------------------------------------------
EXTENSION: mysqli
PRIMARY MAINTAINER: Georg Richter <georg@php.net> (2003 - 2006)
Andrey Hristov <andrey@php.net> (2003 - 2016)
Johannes Schlüter <johannes@php.net> (2008 - 2014)
Ulf Wendel <uw@php.net> (2007 - 2013)
MAINTENANCE: Maintained
EXTENSION: dbase
PRIMARY MAINTAINER: Jim Winstead <jimw@php.net>
MAINTENANCE: Odd Fixes
STATUS: Working
SINCE: 5.0
-------------------------------------------------------------------------------
EXTENSION: mysqlnd
PRIMARY MAINTAINER: Andrey Hristov <andrey@php.net> (2007 - 2017)
Johannes Schlüter <johannes@php.net> (2008 - 2018)
Ulf Wendel <uw@php.net> (2009 - 2011)
EXTENSION: dbx
PRIMARY MAINTAINER: Marc Boeren <mboeren@php.net>
MAINTENANCE: Maintained
STATUS: Working
SINCE: 4.0.6
COMMENT: DB abstraction for odbc, mysql, pgsql, mssql, fbsql and more, see documentation
-------------------------------------------------------------------------------
EXTENSION: fbsql
PRIMARY MAINTAINER: Frank M. Kromann <fmk@php.net>
MAINTENANCE: Unknown
STATUS: Unknown
-------------------------------------------------------------------------------
EXTENSION: informix
PRIMARY MAINTAINER: Danny Heijl <danny@php.net>
MAINTENANCE: Maintained
STATUS: Working
-------------------------------------------------------------------------------
EXTENSION: ingres_ii
PRIMARY MAINTAINER: David Hénot <henot@php.net>
MAINTENANCE: Maintained
STATUS: Experimental
SINCE: 4.0.2
-------------------------------------------------------------------------------
EXTENSION: interbase
PRIMARY MAINTAINER: Jouni Ahto <jah@php.net>, Ard Biesheuvel <abies@php.net>
MAINTENANCE: Odd Fixes
STATUS: Working
-------------------------------------------------------------------------------
EXTENSION: msql
MAINTENANCE: Unknown
STATUS: Working
-------------------------------------------------------------------------------
EXTENSION: mssql
PRIMARY MAINTAINER: Frank M. Kromann <fmk@php.net>
MAINTENANCE: Maintained
STATUS: Working
COMMENT: Tested on phpts and isapi versions
-------------------------------------------------------------------------------
EXTENSION: mysql
PRIMARY MAINTAINER: Zak Greant <zak@php.net>, Georg Richter <georg@php.net>
MAINTENANCE: Maintained
STATUS: Working
SINCE: 5.3
-------------------------------------------------------------------------------
EXTENSION: oci8
PRIMARY MAINTAINER: Christopher Jones <sixd@php.net> (2007 - 2017)
Antony Dovgal <tony2001@php.net> (2003 - 2009)
PRIMARY MAINTAINER: Antony Dovgal <tony2001@php.net>
MAINTENANCE: Maintained
STATUS: Working
-------------------------------------------------------------------------------
EXTENSION: odbc
PRIMARY MAINTAINER: Daniel R. Kalowsky <kalowsky@php.net> (2000 - 2004)
PRIMARY MAINTAINER: Dan Kalowsky <kalowsky@php.net>
MAINTENANCE: Maintained
STATUS: Working
COMMENT: Working
COMMENT: Working
-------------------------------------------------------------------------------
EXTENSION: pdo
PRIMARY MAINTAINER: Ilia Alshanetsky <iliaa@php.net> (2004 - 2011)
Wez Furlong <wez@php.net> (2004 - 2006)
MAINTENANCE: Odd fixes
EXTENSION: oracle
MAINTENANCE: Orphaned
STATUS: Working
SINCE: 5.1
COMMENT: Using the new OCI8 driver is encouraged where possible.
-------------------------------------------------------------------------------
EXTENSION: pdo_dblib
PRIMARY MAINTAINER: Adam Baratz <adambaratz@php.net> (2016 - 2017)
MAINTENANCE: Maintained
STATUS: Working
SINCE: 5.1
-------------------------------------------------------------------------------
EXTENSION: pdo_firebird
PRIMARY MAINTAINER: Lars Westermann <lwe@php.net> (2007 - 2007)
MAINTENANCE: Maintained
STATUS: Working
SINCE: 5.1
-------------------------------------------------------------------------------
EXTENSION: pdo_mysql
PRIMARY MAINTAINER: Ilia Alshanetsky <iliaa@php.net> (2004 - 2010)
Johannes Schlüter <johannes@php.net> (2008 - 2014)
Andrey Hristov <andrey@php.net> (2005 - 2015)
Ulf Wendel <uw@php.net> (2008 - 2012)
MAINTENANCE: Odd fixes
STATUS: Working
SINCE: 5.1
-------------------------------------------------------------------------------
EXTENSION: pdo_odbc
PRIMARY MAINTAINER: Unknown
MAINTENANCE: Odd fixes
STATUS: Working
SINCE: 5.1
-------------------------------------------------------------------------------
EXTENSION: pdo_oci
PRIMARY MAINTAINER: Christopher Jones <sixd@php.net> (2007 - 2017)
MAINTENANCE: Odd fixes
STATUS: Working
SINCE: 5.1
-------------------------------------------------------------------------------
EXTENSION: pdo_pgsql
PRIMARY MAINTAINER: Ilia Alshanetsky <iliaa@php.net> (2004 - 2011)
MAINTENANCE: Odd fixes
STATUS: Working
SINCE: 5.1
-------------------------------------------------------------------------------
EXTENSION: pdo_sqlite
PRIMARY MAINTAINER: Ilia Alshanetsky <iliaa@php.net> (2005 - 2011)
MAINTENANCE: Odd fixes
STATUS: Working
SINCE: 5.1
EXTENSION: ovrimos
MAINTENANCE: Unknown
STATUS: Unknown
-------------------------------------------------------------------------------
EXTENSION: pgsql
PRIMARY MAINTAINER: Marcus Börger <helly@php.net> (2002 - 2007)
Yasuo Ohgaki <yohgaki@php.net> (2001 - 2015)
PRIMARY MAINTAINER: Yasuo Ohgaki <yohgaki@php.net>
MAINTENANCE: Maintained
STATUS: Working
COMMENT: Use PostgreSQL 7.0.x or later. PostgreSQL 6.5.3 or less have fatal bug.
-------------------------------------------------------------------------------
EXTENSION: sqlite3
PRIMARY MAINTAINER: Scott MacVicar <scottmac@php.net> (2008 - 2011)
Christoph M. Becker <cmb@php.net> (2016 - 2020)
MAINTENANCE: Maintained
STATUS: Working
SINCE: 5.3
COMMENT: Integrates SQLite 3 embeddable SQL database engine.
EXTENSION: sybase
MAINTENANCE: Unknown
STATUS: Not Working
-------------------------------------------------------------------------------
== XML extensions ==
-------------------------------------------------------------------------------
EXTENSION: dom
PRIMARY MAINTAINER: Christian Stocker <chregu@php.net> (2003 - 2011)
Rob Richards <rrichards@php.net> (2003 - 2012)
Marcus Börger <helly@php.net> (2003 - 2006)
MAINTENANCE: Maintained
EXTENSION: sybase_ct
MAINTENANCE: Unknown
STATUS: Working
SINCE: 5.0
-------------------------------------------------------------------------------
EXTENSION: simplexml
PRIMARY MAINTAINER: Marcus Börger <helly@php.net> (2003 - 2008)
MAINTENANCE: Maintained
STATUS: Working
SINCE: 5.0
-------------------------------------------------------------------------------
EXTENSION: soap
PRIMARY MAINTAINER: Dmitry Stogov <dmitry@php.net> (2004 - 2018)
MAINTENANCE: Maintained
STATUS: Working
-------------------------------------------------------------------------------
EXTENSION: xml
PRIMARY MAINTAINER: Thies C. Arntzen <thies@thieso.net> (1999 - 2002)
Rob Richards <rrichards@php.net> (2003 - 2013)
MAINTENANCE: Maintained
STATUS: Working
-------------------------------------------------------------------------------
EXTENSION: libxml
PRIMARY MAINTAINER: Rob Richards <rrichards@php.net> (2003 - 2009)
Christian Stocker <chregu@php.net> (2004 - 2011)
MAINTENANCE: Maintained
STATUS: Working
-------------------------------------------------------------------------------
EXTENSION: xmlreader
PRIMARY MAINTAINER: Rob Richards <rrichards@php.net> (2004 - 2010)
Christian Stocker <chregu@php.net> (2004 - 2004)
MAINTENANCE: Maintained
STATUS: Working
-------------------------------------------------------------------------------
EXTENSION: xmlwriter
PRIMARY MAINTAINER: Rob Richards <rrichards@php.net> (2004 - 2010)
Pierre-Alain Joye <pajoye@php.net> (2005-2009)
MAINTENANCE: Maintained
STATUS: Working
-------------------------------------------------------------------------------
EXTENSION: xsl
PRIMARY MAINTAINER: Christian Stocker <chregu@php.net> (2003 - 2011)
Rob Richards <rrichards@php.net> (2003 - 2010)
MAINTENANCE: Maintained
STATUS: Working
SINCE: 5.0
-------------------------------------------------------------------------------
@@ -233,284 +208,320 @@ SINCE: 5.0
-------------------------------------------------------------------------------
EXTENSION: bcmath
PRIMARY MAINTAINER: Andi Gutmans <andi@php.net> (2000 - 2004)
MAINTENANCE: Unknown
STATUS: Working
STATUS: Unknown
-------------------------------------------------------------------------------
EXTENSION: bz2
PRIMARY MAINTAINER: Hartmut Holzgraefe <hholzgra@php.net> (2004 - 2004)
MAINTENANCE: Odd Fixes
STATUS: Working
SINCE: 4.0.3
COMMENT: See http://pecl.php.net/package/bz2
-------------------------------------------------------------------------------
EXTENSION: calendar
PRIMARY MAINTAINER: Hartmut Holzgraefe <hholzgra@php.net> (2000 - 2004)
PRIMARY MAINTAINER: Hartmut Holzgraefe <hholzgra@php.net>
MAINTENANCE: Odd Fixes
STATUS: Working
-------------------------------------------------------------------------------
EXTENSION: com_dotnet
PRIMARY MAINTAINER: Wez Furlong <wez@php.net> (2003 - 2005)
Christoph M. Becker <cmb@php.net> (2018 - 2020)
EXTENSION: com
PRIMARY MAINTAINER: Harald Radi <phanto@php.net>
MAINTENANCE: Maintained
STATUS: Windows
SINCE: 5.0
STATUS: Working
-------------------------------------------------------------------------------
EXTENSION: cpdf
PRIMARY MAINTAINER: Uwe Steinmann <steinm@php.net>
MAINTENANCE: Maintained
STATUS: Working
-------------------------------------------------------------------------------
EXTENSION: crack
COMMENT: See http://pecl.php.net/package/crack
-------------------------------------------------------------------------------
EXTENSION: ctype
PRIMARY MAINTAINER: Hartmut Holzgraefe <hholzgra@php.net> (2000 - 2004)
PRIMARY MAINTAINER: Hartmut Holzgraefe <hholzgra@php.net>
MAINTENANCE: Maintained
STATUS: Working
-------------------------------------------------------------------------------
EXTENSION: curl
PRIMARY MAINTAINER: Sterling Hughes <sterling@php.net> (2000 - 2004)
Ilia Alshanetsky <iliaa@php.net> (2002 - 2011)
Pierrick Charron <pierrick@php.net> (2010 - 2016)
PRIMARY MAINTAINER: Sterling Hughes <sterling@php.net>,Ilia Alshanetsky <iliaa@php.net>
MAINTENANCE: Maintained
STATUS: Working
SINCE: 4.0.2
-------------------------------------------------------------------------------
EXTENSION: date
PRIMARY MAINTAINER: Derick Rethans <derick@php.net> (2005 - 2018)
EXTENSION: cyrus
COMMENT: See http://pecl.php.net/package/cyrus
-------------------------------------------------------------------------------
EXTENSION: dio
PRIMARY MAINTAINER: Sterling Hughes <sterling@php.net>
MAINTENANCE: Orphaned
STATUS: Working
SINCE: 4.0.6
-------------------------------------------------------------------------------
EXTENSION: domxml
PRIMARY MAINTAINER: Uwe Steinmann <steinm@php.net>
MAINTENANCE: Maintained
STATUS: Working
-------------------------------------------------------------------------------
EXTENSION: enchant
PRIMARY MAINTAINER: Unknown
EXTENSION: dotnet
PRIMARY MAINTAINER: Sam Ruby <rubys@php.net>
MAINTENANCE: Maintained
STATUS: Working
SINCE: 5.3
STATUS: Experimental
-------------------------------------------------------------------------------
EXTENSION: exif
PRIMARY MAINTAINER: Kalle Sommer Nielsen <kalle@php.net> (2010 - 2018)
PRIMARY MAINTAINER: Marcus Börger <helly@php.net>
MAINTENANCE: Maintained
STATUS: Working
SINCE: 4.2
-------------------------------------------------------------------------------
EXTENSION: ffi
PRIMARY MAINTAINER: Dmitry Stogov <dmitry@php.net> (2018 - 2019)
EXTENSION: fdf
PRIMARY MAINTAINER: Uwe Steinmann <steinm@php.net>
MAINTENANCE: Maintained
STATUS: Experimental
SINCE: 7.4.0
STATUS: Unknown
-------------------------------------------------------------------------------
EXTENSION: fileinfo
PRIMARY MAINTAINER: Derick Rethans <derick@php.net> (2004 - 2008)
Anatol Belski <ab@php.net> (2012 - 2020)
MAINTENANCE: Maintained
STATUS: Working
SINCE: 5.3
EXTENSION: filepro
MAINTENANCE: Unknown
STATUS: Unknown
-------------------------------------------------------------------------------
EXTENSION: filter
PRIMARY MAINTAINER: Derick Rethans <derick@php.net> (2006 - 2006)
Pierre-Alain Joye <pajoye@php.net> (2006 - 2011)
Ilia Alshanetsky <iliaa@php.net> (2006 - 2011)
MAINTENANCE: Maintained
STATUS: Working
SINCE: 5.2
EXTENSION: fribidi
COMMENT: See http://pecl.php.net/package/fribidi
-------------------------------------------------------------------------------
EXTENSION: ftp
PRIMARY MAINTAINER: Unknown
MAINTENANCE: Odd fixes
PRIMARY MAINTAINER: Stefan Esser <sesser@php.net>
MAINTENANCE: Maintained
STATUS: Working
-------------------------------------------------------------------------------
EXTENSION: gd
PRIMARY MAINTAINER: Pierre-Alain Joye <pajoye@php.net> (2002 - 2016)
Christoph M. Becker <cmb@php.net> (2015 - 2020)
PRIMARY MAINTAINER: Rasmus Lerdorf <rasmus@php.net>
MAINTENANCE: Maintained
STATUS: Working
-------------------------------------------------------------------------------
EXTENSION: gettext
PRIMARY MAINTAINER: Unknown
MAINTENANCE: Unknown
STATUS: Working
-------------------------------------------------------------------------------
EXTENSION: gmp
PRIMARY MAINTAINER: Stanislav Malyshev <stas@php.net> (2000 - 2019)
Antony Dovgal <tony2001@php.net> (2005 - 2010)
Nikita Popov <nikic@php.net> (2013 - 2020)
MAINTENANCE: Maintained
STATUS: Working
MAINTENANCE: Unknown
STATUS: Unknown
SINCE: 4.0.4
-------------------------------------------------------------------------------
EXTENSION: hash
PRIMARY MAINTAINER: Sara Golemon <pollita@php.net> (2005 - 2017)
Mike Wallner <mike@php.net> (2005 - 2013)
Anatol Belski <ab@php.net> (2014 - 2018)
EXTENSION: hwapi
PRIMARY MAINTAINER: Uwe Steinmann <steinm@php.net>
MAINTENANCE: Unknown
STATUS: Unknown
-------------------------------------------------------------------------------
EXTENSION: hyperwave
PRIMARY MAINTAINER: Uwe Steinmann <steinm@php.net>
MAINTENANCE: Maintained
STATUS: Working
SINCE: 5.1.2
-------------------------------------------------------------------------------
EXTENSION: iconv
PRIMARY MAINTAINER: Moriyoshi Koizumi <moriyoshi@php.net> (2002 - 2010)
PRIMARY MAINTAINER: Moriyoshi Koizumi <moriyoshi@php.net>
MAINTENANCE: Maintained
STATUS: Working
-------------------------------------------------------------------------------
EXTENSION: intl
PRIMARY MAINTAINER: Stanislav Malyshev <stas@php.net> (2008 - 2019)
Anatol Belski <ab@php.net> (2017 - 2018)
MAINTENANCE: Maintained
STATUS: Working
SINCE: 5.3
-------------------------------------------------------------------------------
EXTENSION: imap
PRIMARY MAINTAINER: Chuck Hagenbuch <chuck@horde.org> (1999 - 2004)
Ilia Alshanetsky <iliaa@php.net> (2002 - 2010)
Pierre-Alain Joye <pajoye@php.net> (2008 - 2010)
Bishop Bettini <bishop@php.net> (2018 - 2019)
PRIMARY MAINTAINER: Chuck Hagenbuch <chagenbu@php.net>, Ilia Alshanetsky <iliaa@php.net>
MAINTENANCE: Maintained
STATUS: Working
-------------------------------------------------------------------------------
EXTENSION: json
PRIMARY MAINTAINER: Jakub Zelenka <bukka@php.net> (2014 - 2018)
EXTENSION: ircg
PRIMARY MAINTAINER: Sascha Schumann <sas@php.net>
MAINTENANCE: Unknown
STATUS: Unknown
-------------------------------------------------------------------------------
EXTENSION: java
PRIMARY MAINTAINER: Sam Ruby <rubys@php.net>
MAINTENANCE: Maintained
STATUS: Working
SINCE: 5.2
-------------------------------------------------------------------------------
EXTENSION: ldap
PRIMARY MAINTAINER: Stig Venaas <venaas@php.net> (2000 - 2002)
Douglas Goldstein <cardoe@php.net> (2007 - 2007)
Pierre-Alain Joye <pajoye@php.net> (2008 - 2010)
Côme Bernigaud <mcmic@php.net> (2015 - 2017)
PRIMARY MAINTAINER: Stig Venaas <venaas@php.net>
MAINTENANCE: Maintained
STATUS: Working
-------------------------------------------------------------------------------
EXTENSION: mbstring
PRIMARY MAINTAINER: Rui Hirokawa <hirokawa@php.net> (2001 - 2013)
Nikita Popov <nikic@php.net> (2017 - 2020)
PRIMARY MAINTAINER: Rui Hirokawa <hirokawa@php.net>
MAINTENANCE: Maintained
STATUS: Working
-------------------------------------------------------------------------------
EXTENSION: opcache
PRIMARY MAINTAINER: Dmitry Stogov <dmitry@php.net> (2013 - 2018)
Xinchen Hui <laruence@php.net> (2013 - 2020)
Nikita Popov <nikic@php.net> (2016 - 2020)
EXTENSION: mcal
PRIMARY MAINTAINER: Chuck Hagenbuch <chagenbu@php.net>
MAINTENANCE: Odd Fixes
STATUS: Working
-------------------------------------------------------------------------------
EXTENSION: mcrypt
PRIMARY MAINTAINER: Derick Rethans <derick@php.net>
MAINTENANCE: Maintained
STATUS: Working
SINCE: 5.5.0
-------------------------------------------------------------------------------
EXTENSION: mhash
PRIMARY MAINTAINER: Sascha Schumann <sas@php.net>
MAINTENANCE: Maintained
STATUS: Working
-------------------------------------------------------------------------------
EXTENSION: mime_magic
PRIMARY MAINTAINER: Unknown
MAINTENANCE: Unknown
STATUS: Experimental
-------------------------------------------------------------------------------
EXTENSION: ming
PRIMARY MAINTAINER: Frank M. Kromann <fmk@php.net>
MAINTENANCE: Unknown
STATUS: Experimental
-------------------------------------------------------------------------------
EXTENSION: mnogosearch
PRIMARY MAINTAINER: Sergey Kartashoff <gluke@php.net>
MAINTENANCE: Unknown
STATUS: Unknown
-------------------------------------------------------------------------------
EXTENSION: msession
PRIMARY MAINTAINER Mark L. Woodward <mlwmohawk@php.net>
MAINTENANCE: Maintained
STATUS: Working/Experimental
COMMENT: Tested on Linux, should work on other UNIX platforms. Backend server code can compile under Windows.
-------------------------------------------------------------------------------
EXTENSION: notes
PRIMARY MAINTAINER: Unknown
MAINTENANCE: Unknown
STATUS: Unknown
-------------------------------------------------------------------------------
EXTENSION: ncurses
PRIMARY MAINTAINER Ilia Alshanetsky <iliaa@php.net>, Wez Furlong <wez@php.net>, Hartmut Holzgraefe <hholzgra@php.net>, Georg Richter <georg@php.net>
MAINTENANCE: Unknown
STATUS: Experimental
-------------------------------------------------------------------------------
EXTENSION: openssl
PRIMARY MAINTAINER: Wez Furlong <wez@php.net> (2001 - 2006)
Pierre-Alain Joye <pajoye@php.net> (2006 - 2011)
Jakub Zelenka <bukka@php.net> (2015 - 2019)
PRIMARY MAINTAINER: Wez Furlong <wez@php.net>
MAINTENANCE: Maintained
STATUS: Working
STATUS: Experimental
SINCE: 4.0.4
-------------------------------------------------------------------------------
EXTENSION: pcntl
PRIMARY MAINTAINER: Arnaud Le Blanc <lbarnaud@php.net> (2008 - 2010)
EXTENSION: overload
PRIMARY MAINTAINER: Andrei Zmievski <andrei@php.net>
MAINTENANCE: Maintained
STATUS: Working
STATUS: Experimental
-------------------------------------------------------------------------------
EXTENSION: pcntl
MAINTENANCE: Unknown
STATUS: Experimental
-------------------------------------------------------------------------------
EXTENSION: pcre
PRIMARY MAINTAINER: Andrei Zmievski <andrei@php.net> (1999 - 2006)
Nuno Lopes <nlopess@php.net> (2006 - 2009)
PRIMARY MAINTAINER: Andrei Zmievski <andrei@php.net>
MAINTENANCE: Maintained
STATUS: Working
-------------------------------------------------------------------------------
EXTENSION: phar
PRIMARY MAINTAINER: Greg Beaver <cellog@php.net> (2008 - 2009)
Marcus Börger <helly@php.net> (2008 - 2008)
Steph Fox <sfox@php.net> (2008 - 2008)
Bishop Bettini <bishop@php.net> (2018 - 2019)
EXTENSION: pdf
PRIMARY MAINTAINER: Uwe Steinmann <steinm@php.net>
MAINTENANCE: Maintained
STATUS: Working
SINCE: 5.3
-------------------------------------------------------------------------------
EXTENSION: pfpro
PRIMARY MAINTAINER: David Croft <david@php.net>
MAINTENANCE: Maintained
STATUS: Working
SINCE: 4.0.2
-------------------------------------------------------------------------------
EXTENSION: posix
PRIMARY MAINTAINER: Kristian Köhntopp <kris@koehntopp.de> (2000 - 2000)
PRIMARY MAINTAINER: Kristian Köhntopp <kk@php.net>
MAINTENANCE: Maintained
STATUS: Working
-------------------------------------------------------------------------------
EXTENSION: pspell
PRIMARY MAINTAINER: Vlad Krupin <phpdevel@echospace.com> (2000 - 2004)
PRIMARY MAINTAINER: Vlad Krupin <vlad@php.net>
MAINTENANCE: Unknown
STATUS: Working
STATUS: Unknown
SINCE: 4.0.2
-------------------------------------------------------------------------------
EXTENSION: readline
PRIMARY MAINTAINER: Unknown
EXTENSION: qtdom
MAINTENANCE: Unknown
STATUS: Working
STATUS: Experimental
SINCE: 4.0.4
-------------------------------------------------------------------------------
EXTENSION: reflection
PRIMARY MAINTAINER: Marcus Börger <helly@php.net> (2003 - 2009)
Johannes Schlüter <johannes@php.net> (2006 - 2014)
Nikita Popov <nikic@php.net> (2019 - 2020)
EXTENSION: readline
MAINTENANCE: Unknown
STATUS: Unknown
-------------------------------------------------------------------------------
EXTENSION: recode
PRIMARY MAINTAINER: Kristian Köhntopp <kk@php.net>
MAINTENANCE: Maintained
STATUS: Working
-------------------------------------------------------------------------------
EXTENSION: session
PRIMARY MAINTAINER: Sascha Schumann <sascha@schumann.cx> (1999 - 2004)
Ilia Alshanetsky <iliaa@php.net> (2002 - 2012)
PRIMARY MAINTAINER: Sascha Schumann <sas@php.net>, Ilia Alshanetsky <iliaa@php.net>
MAINTENANCE: Maintained
STATUS: Working
-------------------------------------------------------------------------------
EXTENSION: shmop
PRIMARY MAINTAINER: Ilia Alshanetsky <iliaa@php.net> (2002 - 2008)
PRIMARY MAINTAINER: Ilia Alshanetsky <iliaa@php.net>
MAINTENANCE: Maintained
STATUS: Working
STATUS: Experimental
SINCE: 4.0.3
-------------------------------------------------------------------------------
EXTENSION: snmp
PRIMARY MAINTAINER: Boris Lytochkin <lytboris@php.net> (2011 - 2013)
Rasmus Lerdorf <rasmus@php.net> (1999 - 2002)
Pierre-Alain Joye <pajoye@php.net> (2010 - 2011)
MAINTENANCE: Maintained
PRIMARY MAINTAINER: Rasmus Lerdorf <rasmus@php.net>
MAINTENANCE: Odd Fixes
STATUS: Working
-------------------------------------------------------------------------------
EXTENSION: sockets
PRIMARY MAINTAINER: Chris Vandomelen <chrisv@b0rked.dhs.org> (2000 - 2000)
PRIMARY MAINTAINER: Chris Vandomelen <chrisv@php.net>
MAINTENANCE: Maintained
STATUS: Working
STATUS: Experimental
SINCE: 4.0.2
-------------------------------------------------------------------------------
EXTENSION: sodium
PRIMARY MAINTAINER: Frank Denis <jedisct1@php.net> (2017 - 2017)
MAINTENANCE: Maintained
STATUS: Working
SINCE: 7.2.0
-------------------------------------------------------------------------------
EXTENSION: spl
PRIMARY MAINTAINER: Marcus Börger <helly@php.net> (2003 - 2009)
Etienne Kneuss <colder@php.net> (2008 - 2014)
MAINTENANCE: Maintained
STATUS: Working
SINCE: 5.0.0
EXTENSION: swf
PRIMARY MAINTAINER: Sterling Hughes <sterling@php.net>
MAINTENANCE: Orphaned
STATUS: Deprecated (Use the ming swf extension instead)
COMMENT: Only for Unix (won't change)
-------------------------------------------------------------------------------
EXTENSION: sysvmsg
PRIMARY MAINTAINER: Unknown
MAINTENANCE: Unknown
STATUS: Working
STATUS: Experimental
-------------------------------------------------------------------------------
EXTENSION: sysvsem
PRIMARY MAINTAINER: Unknown
MAINTENANCE: Unknown
STATUS: Working
STATUS: Unknown
-------------------------------------------------------------------------------
EXTENSION: sysvshm
PRIMARY MAINTAINER: Unknown
MAINTENANCE: Unknown
STATUS: Working
-------------------------------------------------------------------------------
EXTENSION: tidy
PRIMARY MAINTAINER: John Coggeshall <john@php.net> (2003 - 2006)
Ilia Alshanetsky <iliaa@php.net> (2003 - 2009)
Nuno Lopes <nlopess@php.net> (2006 - 2012)
MAINTENANCE: Maintained
STATUS: Working
-------------------------------------------------------------------------------
EXTENSION: tokenizer
PRIMARY MAINTAINER: Andrei Zmievski <andrei@php.net> (2002 - 2002)
Nikita Popov <nikic@php.net> (2013 - 2020)
PRIMARY MAINTAINER: Andrei Zmievski <andrei@php.net>
MAINTENANCE: Unknown
STATUS: Unknown
-------------------------------------------------------------------------------
EXTENSION: w32api
MAINTENANCE: Unknown
STATUS: Experimental
-------------------------------------------------------------------------------
EXTENSION: wddx
PRIMARY MAINTAINER: Andrei Zmievski <andrei@php.net>
MAINTENANCE: Maintained
STATUS: Working
-------------------------------------------------------------------------------
EXTENSION: xml
PRIMARY MAINTAINER: Thies C. Arntzen <thies@php.net>
MAINTENANCE: Maintained
STATUS: Working
-------------------------------------------------------------------------------
EXTENSION: xmlrpc
MAINTENANCE: Unknown
STATUS: Experimental
-------------------------------------------------------------------------------
EXTENSION: xslt
PRIMARY MAINTAINER: Hartmut Holzgraefe <hholzgra@php.net>
MAINTENANCE: Odd Fixes
STATUS: Working (mostly)
-------------------------------------------------------------------------------
EXTENSION: yaz
COMMENT: See http://pecl.php.net/package/yaz
-------------------------------------------------------------------------------
EXTENSION: yp
MAINTENANCE: Unknown
STATUS: Unknown
-------------------------------------------------------------------------------
EXTENSION: zip
PRIMARY MAINTAINER: Pierre-Alain Joye <pajoye@php.net> (2006 - 2011)
Remi Collet <remi@php.net> (2013-2020)
MAINTENANCE: Maintained
STATUS: Working
COMMENT: See http://pecl.php.net/package/zip
-------------------------------------------------------------------------------
EXTENSION: zlib
PRIMARY MAINTAINER: Stefan Roehrich <sr@linux.de> (1999 - 2003)
PRIMARY MAINTAINER: Stefan Roehrich <sr@php.net>
MAINTENANCE: Maintained
STATUS: Working
-------------------------------------------------------------------------------
+1535
View File
File diff suppressed because it is too large. Load diff
+14 -14
View File
@@ -1,7 +1,7 @@
--------------------------------------------------------------------
--------------------------------------------------------------------
The PHP License, version 3.01
Copyright (c) 1999 - 2021 The PHP Group. All rights reserved.
--------------------------------------------------------------------
Copyright (c) 1999 - 2006 The PHP Group. All rights reserved.
--------------------------------------------------------------------
Redistribution and use in source and binary forms, with or without
modification, is permitted provided that the following conditions
@@ -9,22 +9,22 @@ are met:
1. Redistributions of source code must retain the above copyright
notice, this list of conditions and the following disclaimer.
2. Redistributions in binary form must reproduce the above copyright
notice, this list of conditions and the following disclaimer in
the documentation and/or other materials provided with the
distribution.
3. The name "PHP" must not be used to endorse or promote products
derived from this software without prior written permission. For
written permission, please contact group@php.net.
4. Products derived from this software may not be called "PHP", nor
may "PHP" appear in their name, without prior written permission
from group@php.net. You may indicate that your software works in
conjunction with PHP by saying "Foo for PHP" instead of calling
it "PHP Foo" or "phpfoo"
5. The PHP Group may publish revised and/or new versions of the
license from time to time. Each version will be given a
distinguishing version number.
@@ -41,27 +41,27 @@ are met:
"This product includes PHP software, freely available from
<http://www.php.net/software/>".
THIS SOFTWARE IS PROVIDED BY THE PHP DEVELOPMENT TEAM ``AS IS'' AND
THIS SOFTWARE IS PROVIDED BY THE PHP DEVELOPMENT TEAM ``AS IS'' AND
ANY EXPRESSED OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO,
THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A
THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A
PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE PHP
DEVELOPMENT TEAM OR ITS CONTRIBUTORS BE LIABLE FOR ANY DIRECT,
INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES
(INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR
DEVELOPMENT TEAM OR ITS CONTRIBUTORS BE LIABLE FOR ANY DIRECT,
INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES
(INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR
SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION)
HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT,
STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE)
ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED
OF THE POSSIBILITY OF SUCH DAMAGE.
--------------------------------------------------------------------
--------------------------------------------------------------------
This software consists of voluntary contributions made by many
individuals on behalf of the PHP Group.
The PHP Group can be contacted via Email at group@php.net.
For more information on the PHP Group and the PHP project,
For more information on the PHP Group and the PHP project,
please see <http://www.php.net>.
PHP includes the Zend Engine, freely available at
+23
View File
@@ -0,0 +1,23 @@
#
# Zend
#
$(builddir)/zend_language_scanner.lo: $(builddir)/zend_language_parser.h
$(builddir)/zend_ini_scanner.lo: $(builddir)/zend_ini_parser.h
$(builddir)/zend_language_scanner.c: $(srcdir)/zend_language_scanner.l
$(LEX) -Pzend -S$(srcdir)/flex.skl -o$@ -i $(srcdir)/zend_language_scanner.l
$(builddir)/zend_language_parser.h: $(builddir)/zend_language_parser.c
$(builddir)/zend_language_parser.c: $(srcdir)/zend_language_parser.y
$(YACC) -p zend -v -d $(srcdir)/zend_language_parser.y -o $@
$(builddir)/zend_ini_parser.h: $(builddir)/zend_ini_parser.c
$(builddir)/zend_ini_parser.c: $(srcdir)/zend_ini_parser.y
$(YACC) -p ini_ -v -d $(srcdir)/zend_ini_parser.y -o $@
$(builddir)/zend_ini_scanner.c: $(srcdir)/zend_ini_scanner.l
$(LEX) -Pini_ -S$(srcdir)/flex.skl -o$@ -i $(srcdir)/zend_ini_scanner.l
$(builddir)/zend_indent.lo $(builddir)/zend_highlight.lo $(builddir)/zend_compile.lo: $(builddir)/zend_language_parser.h
+78
View File
@@ -0,0 +1,78 @@
mkinstalldirs = $(top_srcdir)/build/shtool mkdir -p
INSTALL = $(top_srcdir)/build/shtool install -c
INSTALL_DATA = $(INSTALL) -m 644
DEFS = -DPHP_ATOM_INC -I$(top_builddir)/include -I$(top_builddir)/main -I$(top_srcdir)
COMMON_FLAGS = $(DEFS) $(INCLUDES) $(EXTRA_INCLUDES) $(CPPFLAGS) $(PHP_FRAMEWORKPATH)
all: $(all_targets)
@echo
@echo "Build complete."
@echo "(It is safe to ignore warnings about tempnam and tmpnam)."
@echo
build-modules: $(PHP_MODULES)
libphp4.la: $(PHP_GLOBAL_OBJS) $(PHP_SAPI_OBJS)
$(LIBTOOL) --mode=link $(CC) $(CFLAGS) $(EXTRA_CFLAGS) -rpath $(phptempdir) $(EXTRA_LDFLAGS) $(LDFLAGS) $(PHP_RPATHS) $(PHP_GLOBAL_OBJS) $(PHP_SAPI_OBJS) $(EXTRA_LIBS) $(ZEND_EXTRA_LIBS) -o $@
-@$(LIBTOOL) --silent --mode=install cp libphp4.la $(phptempdir)/libphp4.la >/dev/null 2>&1
libs/libphp4.bundle: $(PHP_GLOBAL_OBJS) $(PHP_SAPI_OBJS)
$(CC) $(MH_BUNDLE_FLAGS) $(CFLAGS_CLEAN) $(EXTRA_CFLAGS) $(LDFLAGS) $(EXTRA_LDFLAGS) $(PHP_GLOBAL_OBJS:.lo=.o) $(PHP_SAPI_OBJS:.lo=.o) $(PHP_FRAMEWORKS) $(EXTRA_LIBS) $(ZEND_EXTRA_LIBS) -o $@ && cp $@ libs/libphp4.so
install: $(all_targets) $(install_targets)
install-sapi: $(OVERALL_TARGET)
@echo "Installing PHP SAPI module: $(PHP_SAPI)"
-@$(mkinstalldirs) $(INSTALL_ROOT)$(bindir)
-@if test ! -r $(phptempdir)/libphp4.$(SHLIB_SUFFIX_NAME); then \
for i in 0.0.0 0.0 0; do \
if test -r $(phptempdir)/libphp4.$(SHLIB_SUFFIX_NAME).$$i; then \
$(LN_S) $(phptempdir)/libphp4.$(SHLIB_SUFFIX_NAME).$$i $(phptempdir)/libphp4.$(SHLIB_SUFFIX_NAME); \
break; \
fi; \
done; \
fi
@$(INSTALL_IT)
install-modules: build-modules
@test -d modules && \
$(mkinstalldirs) $(INSTALL_ROOT)$(EXTENSION_DIR)
@echo "Installing shared extensions: $(INSTALL_ROOT)$(EXTENSION_DIR)/"
@rm -f modules/*.la >/dev/null 2>&1
@$(INSTALL) modules/* $(INSTALL_ROOT)$(EXTENSION_DIR)
install-tester:
@echo "Installing regression tester: $(INSTALL_ROOT)$(PEAR_INSTALLDIR)/"
@$(mkinstalldirs) $(INSTALL_ROOT)$(PEAR_INSTALLDIR)
@$(INSTALL) -m 755 $(top_srcdir)/run-tests.php $(INSTALL_ROOT)$(PEAR_INSTALLDIR)
install-su: install-pear install-tester
test:
-@if test -x $(SAPI_CLI_PATH) && test ! -z $(SAPI_CLI_PATH); then \
TEST_PHP_EXECUTABLE=$(top_builddir)/$(SAPI_CLI_PATH) \
TEST_PHP_SRCDIR=$(top_srcdir) \
CC="$(CC)" \
$(top_builddir)/$(SAPI_CLI_PATH) -d 'open_basedir=' -d 'safe_mode=0' -d 'output_buffering=0' $(top_srcdir)/run-tests.php $(TESTS); \
else \
echo "ERROR: Cannot run tests without CLI sapi."; \
fi
clean:
find . -name \*.lo | xargs rm -f
find . -name \*.o | xargs rm -f
find . -name \*.la | xargs rm -f
find . -name \*.a | xargs rm -f
find . -name \*.so | xargs rm -f
find . -name .libs -a -type d|xargs rm -rf
rm -f libphp4.la $(SAPI_CLI_PATH) $(OVERALL_TARGET) modules/* libs/*
distclean: clean
rm -f config.cache config.log config.status Makefile.objects Makefile.fragments libtool main/php_config.h stamp-h php4.spec sapi/apache/libphp4.module buildmk.stamp
egrep define'.*include/php' $(top_srcdir)/configure|sed 's/.*>//'|xargs rm -f
find . -name Makefile | xargs rm -f
.PHONY: all clean install distclean test
.NOEXPORT:
+3877 -770
View File
File diff suppressed because it is too large. Load diff
+122
View File
@@ -0,0 +1,122 @@
This is the first file you should be reading after you get your CVS account.
We'll assume you're basically familiar with CVS, but feel free to post
your questions on the mailing list. Please have a look at
http://cvsbook.red-bean.com/ for more detailed information on CVS.
PHP is developed through the efforts of a large number of people.
Collaboration is a Good Thing(tm), and CVS lets us do this. Thus, following
some basic rules with regards to CVS usage will:
a. Make everybody happier, especially those responsible for maintaining
the CVS itself.
b. Keep the changes consistently well documented and easily trackable.
c. Prevent some of those 'Oops' moments.
d. Increase the general level of good will on planet Earth.
Having said that, here are the organizational rules:
1. Respect other people working on the project.
2. Discuss any significant changes on the list before committing.
3. Look at EXTENSIONS file to see who is the primary maintainer of
the code you want to contribute to.
4. If you "strongly disagree" about something another person did, don't
start fighting publicly - take it up in private email.
5. If you don't know how to do something, ask first!
6. Test your changes before committing them. We mean it. Really.
To do so use "make test".
7. For development use the --enable-maintainer-zts switch to ensure your
code handles TSRM correctly and doesn't break for thos who need that.
Currently we have the following branches in use:
HEAD Will become PHP 6.0. This CVS branch is for active development.
PHP_5_2 Is used to release the PHP 5.2.x series. Only minor feature
enhancements may go in here, but please keep that as infrequent as
possible.
PHP_5_1 Is used to release the PHP 5.1.x series. Only bugfixes are permitted
on this branch (Consult the releasemaster prior to commit).
PHP_4_4 Is used to release the PHP 4.4.x series. Only bugfixes are permitted
on this branch (Consult the releasemaster prior to commit).
PHP_4_3 This branch is closed.
The next few rules are more of a technical nature.
1. DO NOT TOUCH ChangeLog! It is automagically updated from the commit
messages every day. Woe be to those who attempt to mess with it.
2. All news updates intended for public viewing, such as new features,
bug fixes, improvements, etc., should go into the NEWS file.
NB! Lines, starting with @ will go automagically into NEWS file, but
this is NOT recommended, though. Please, add news entries directly to
NEWS file and don't forget to keep them adjusted and sorted.
3. Do not commit multiple file and dump all messages in one commit. If you
modified several unrelated files, commit each group separately and
provide a nice commit message for each one. See example below.
4. Do write your commit message in such a way that it makes sense even
without the corresponding diff. One should be able to look at it, and
immediately know what was modified. Definitely include the function name
in the message as shown below.
5. In your commit messages, keep each line shorter than 80 characters. And
try to align your lines vertically, if they wrap. It looks bad otherwise.
6. If you modified a function that is callable from PHP, prepend PHP to
the function name as shown below.
The format of the commit messages is pretty simple.
Use a - to start a new item in your commit message.
If a line begins with #, it is taken to be a comment and will not appear
in the ChangeLog. Everything else goes into the ChangeLog.
It is important to note that if your comment or news logline spans multiple
lines, you have to put # at the beginning of _every_ such line.
Example. Say you modified two files, datetime.c and string.c. In datetime.c you
added a new format option for the date() function, and in string.c you fixed a
memory leak in php_trim(). Don't commit both of these at once. Commit them
separately and try to make sure your commit messages look something like the
following.
For datetime.c:
- Added new 'K' format modifier to date() for printing out number of days until
New Year's Eve.
For string.c:
- Fixed a memory leak in php_trim() resulting from improper use of zval_dtor().
#- Man, that thing was leaking all over the place!
The # lines will be omitted from the ChangeLog automagically.
If you fix some bugs, you should note the bug ID numbers in your
commit message. Bug ID should be prefixed by "#" for easier access to
bug report when developers are browsing CVS via. LXR or Bonsai.
Example:
Fixed bug #14016 (pgsql notice handler double free crash bug.)
If you don't see your messages in ChangeLog right away, don't worry!
These files are updated once a day, so your stuff will not show up until
somewhat later.
You can use LXR (http://lxr.php.net/) and Bonsai (http://bonsai.php.net/)
to look at PHP CVS repository in various ways.
To receive daily updates to ChangeLog and NEWS, send an empty message to
php-cvs-daily-subscribe@lists.php.net.
Happy hacking,
PHP Team
+39
View File
@@ -0,0 +1,39 @@
Between PHP 4.0.6 and 4.1.0, the Zend module struct changed in a way
that broke both source and binary compatibility. If you are
maintaining a third party extension, here's how to update it:
If this was your old module entry:
zend_module_entry foo_module_entry = {
"foo", /* extension name */
foo_functions, /* extension function list */
NULL, /* extension-wide startup function */
NULL, /* extension-wide shutdown function */
PHP_RINIT(foo), /* per-request startup function */
PHP_RSHUTDOWN(foo), /* per-request shutdown function */
PHP_MINFO(foo), /* information function */
STANDARD_MODULE_PROPERTIES
};
Here's how it should look if you want your code to build with PHP
4.1.0 and up:
zend_module_entry foo_module_entry = {
#if ZEND_MODULE_API_NO >= 20010901
STANDARD_MODULE_HEADER,
#endif
"foo", /* extension name */
foo_functions, /* extension function list */
NULL, /* extension-wide startup function */
NULL, /* extension-wide shutdown function */
PHP_RINIT(foo), /* per-request startup function */
PHP_RSHUTDOWN(foo), /* per-request shutdown function */
PHP_MINFO(foo), /* information function */
#if ZEND_MODULE_API_NO >= 20010901
FOO_VERSION, /* extension version number (string) */
#endif
STANDARD_MODULE_PROPERTIES
};
If you don't care about source compatibility with earlier PHP releases
than 4.1.0, you can drop the #if/#endif lines.
+189
View File
@@ -0,0 +1,189 @@
WHAT IT IS
It's a tool for automatically creating the basic framework for a PHP module
and writing C code handling arguments passed to your functions from a simple
configuration file. See an example at the end of this file.
HOW TO USE IT
Very simple. First, change to the ext/ directory of the PHP 4 sources. If
you just need the basic framework and will be writing all the code in your
functions yourself, you can now do
./ext_skel --extname=module_name
and everything you need is placed in directory module_name.
[ Note that GNU awk is likely required for this script to work. Debian
systems seem to default to using mawk, so you may need to change the
#! line in skeleton/create_stubs to use gawk explicitly. ]
If you don't need to test the existence of any external header files,
libraries or functions in them, the module is already almost ready to be
compiled in PHP. Just remove 3 comments in your_module_name/config.m4,
change back up to PHP sources top directory, and do
./buildconf; ./configure --enable-module_name; make
But if you already have planned the overall scheme of your module, what
functions it will contain, their return types and the arguments they take
(a very good idea) and don't want to bother yourself with creating function
definitions and handling arguments passed yourself, it's time to create a
function definitions file, which you will give as an argument to ext_skel
with option
--proto=filename.
FORMAT OF FUNCTION DEFINITIONS FILE
All the definitions must be on one line. In it's simplest form, it's just
the function name, e.g.
my_function
but then you'll be left with an almost empty function body without any
argument handling.
Arguments are given in parenthesis after the function name, and are of
the form 'argument_type argument_name'. Arguments are separated from each
other with a comma and optional space. Argument_type can be one of int,
bool, double, float, string, array, object or mixed.
An optional argument is separated from the previous by an optional space,
then '[' and of course comma and optional space, like all the other
arguments. You should close a row of optional arguments with same amount of
']'s as there where '['s. Currently, it does not harm if you forget to do it
or there is a wrong amount of ']'s, but this may change in the future.
An additional short description may be added after the parameters.
If present it will be filled into the 'proto' header comments in the stubs
code and the <refpurpose> tag in the XML documentation.
An example:
my_function(int arg1, int arg2 [, int arg3 [, int arg4]]) this is my 1st
Arguments arg3 and arg4 are optional.
If possible, the function definition should also contain it's return type
in front of the definition. It's not actually used for any C code generating
purposes but PHP in-source documentation instead, and as such, very useful.
It can be any of int, double, string, bool, array, object, resource, mixed
or void.
The file must contain nothing else but function definitions, no comments or
empty lines.
OTHER OPTIONS
--no-help
By default, ext_skel creates both comments in the source code and a test
function to help first time module writers to get started and testing
configuring and compiling their module. This option turns off all such things
which may just annoy experienced PHP module coders. Especially useful with
--stubs=file
which will leave out also all module specific stuff and write just function
stubs with function value declarations and passed argument handling, and
function entries and definitions at the end of the file, for copying and
pasting into an already existing module.
--assign-params
--string-lens
By default, function proto 'void foo(string bar)' creates the following:
...
zval **bar;
... (zend_get_parameters_ex() called in the middle...)
convert_to_string_ex(bar);
Specifying both of these options changes the generated code to:
...
zval **bar_arg;
int bar_len;
char *bar = NULL;
... (zend_get_parameters_ex() called in the middle...)
convert_to_string_ex(bar_arg);
bar = Z_STRVAL_PP(bar_arg);
bar_len = Z_STRLEN_PP(bar_arg);
You shouldn't have to ask what happens if you leave --string-lens out. If you
have to, it's questionable whether you should be reading this document.
--with-xml[=file]
Creates the basics for phpdoc .xml file.
--full-xml
Not implemented yet. When or if there will ever be created a framework for
self-contained extensions to use phpdoc system for their documentation, this
option enables it on the created xml file.
CURRENT LIMITATIONS, BUGS AND OTHER ODDITIES
Only arguments of types int, bool, double, float, string and array are
handled. For other types you must write the code yourself. And for type
mixed, it wouldn't even be possible to write anything, because only you
know what to expect.
It can't handle correctly, and probably never will, variable list of
of arguments. (void foo(int bar [, ...])
Don't trust the generated code too much. It tries to be useful in most of
the situations you might encounter, but automatic code generation will never
beat a programmer who knows the real situation at hand. ext_skel is generally
best suited for quickly generating a wrapper for c-library functions you
might want to have available in PHP too.
This program doesn't have a --help option. It has --no-help instead.
EXAMPLE
The following _one_ line
bool my_drawtext(resource image, string text, resource font, int x, int y [, int color])
will create this function definition for you (note that there are a few
question marks to be replaced by you, and you must of course add your own
value definitions too):
/* {{{ proto bool my_drawtext(resource image, string text, resource font, int x, int y[, int color])
*/
PHP_FUNCTION(my_drawtext)
{
zval **image, **text, **font, **x, **y, **color;
int argc;
int image_id = -1;
int font_id = -1;
argc = ZEND_NUM_ARGS();
if (argc < 5 || argc > 6 || zend_get_parameters_ex(argc, &image, &text, &font, &x, &y, &color) == FAILURE) {
WRONG_PARAM_COUNT;
}
ZEND_FETCH_RESOURCE(???, ???, image, image_id, "???", ???_rsrc_id);
ZEND_FETCH_RESOURCE(???, ???, font, font_id, "???", ???_rsrc_id);
switch (argc) {
case 6:
convert_to_long_ex(color);
/* Fall-through. */
case 5:
convert_to_long_ex(y);
convert_to_long_ex(x);
/* font: fetching resources already handled. */
convert_to_string_ex(text);
/* image: fetching resources already handled. */
break;
default:
WRONG_PARAM_COUNT;
}
php_error(E_WARNING, "my_drawtext: not yet implemented");
}
/* }}} */
+127
View File
@@ -0,0 +1,127 @@
New parameter parsing functions
===============================
It should be easier to parse input parameters to an extension function.
Hence, borrowing from Python's example, there are now a set of functions
that given the string of type specifiers, can parse the input parameters
and store the results in the user specified variables. This avoids most
of the IS_* checks and convert_to_* conversions. The functions also
check for the appropriate number of parameters, and try to output
meaningful error messages.
Prototypes
----------
/* Implemented. */
int zend_parse_parameters(int num_args TSRMLS_DC, char *type_spec, ...);
int zend_parse_parameters_ex(int flags, int num_args TSRMLS_DC, char *type_spec, ...);
The zend_parse_parameters() function takes the number of parameters
passed to the extension function, the type specifier string, and the
list of pointers to variables to store the results in. The _ex() version
also takes 'flags' argument -- current only ZEND_PARSE_PARAMS_QUIET can
be used as 'flags' to specify that the function should operate quietly
and not output any error messages.
Both functions return SUCCESS or FAILURE depending on the result.
The auto-conversions are performed as necessary. Arrays, objects, and
resources cannot be auto-converted.
Type specifiers
---------------
l - long
d - double
s - string (with possible null bytes) and its length
b - boolean, stored in zend_bool
r - resource (stored in zval)
a - array
o - object (of any type)
O - object (of specific type, specified by class entry)
z - the actual zval
The following characters also have a meaning in the specifier string:
| - indicates that the remaining parameters are optional, they
should be initialized to default values by the extension since they
will not be touched by the parsing function if they are not
passed to it.
/ - use SEPARATE_ZVAL_IF_NOT_REF() on the parameter it follows
! - the parameter it follows can be of specified type or NULL (only applies
to 'a', 'o', 'O', 'r', and 'z'). If NULL is passed, the results
pointer is set to NULL as well.
Examples
--------
/* Gets a long, a string and its length, and a zval */
long l;
char *s;
int s_len;
zval *param;
if (zend_parse_parameters(ZEND_NUM_ARGS() TSRMLS_CC, "lsz",
&l, &s, &s_len, &param) == FAILURE) {
return;
}
/* Gets an object of class specified by my_ce, and an optional double. */
zval *obj;
double d = 0.5;
zend_class_entry my_ce;
if (zend_parse_parameters(ZEND_NUM_ARGS() TSRMLS_CC, "O|d",
&obj, my_ce, &d) == FAILURE) {
return;
}
/* Gets an object or null, and an array.
If null is passed for object, obj will be set to NULL. */
zval *obj;
zval *arr;
if (zend_parse_parameters(ZEND_NUM_ARGS() TSRMLS_CC, "o!a",
&obj, &arr) == FAILURE) {
return;
}
/* Gets a separated array which can also be null. */
zval *arr;
if (zend_parse_parameters(ZEND_NUM_ARGS() TSRMLS_CC, "a/!",
&arr) == FAILURE) {
return;
}
/* Get only the first three parameters (useful for varargs functions). */
zval *z;
zend_bool b;
zval *r;
if (zend_parse_parameters(3 TSRMLS_CC, "zbr!",
&z, &b, &r) == FAILURE) {
return;
}
/* Get either a set of 3 longs or a string. */
long l1, l2, l3;
char *s;
/*
* The function expects a pointer to a integer in this case, not a long
* or any other type. If you specify a type which is larger
* than a 'int', the upper bits might not be initialized
* properly, leading to random crashes on platforms like
* Tru64 or Linux/Alpha.
*/
int length;
if (zend_parse_parameters_ex(ZEND_PARSE_PARAMS_QUIET, ZEND_NUM_ARGS() TSRMLS_CC,
"lll", &l1, &l2, &l3) == SUCCESS) {
/* manipulate longs */
} else if (zend_parse_parameters_ex(ZEND_PARSE_PARAMS_QUIET, ZEND_NUM_ARGS() TSRMLS_CC,
"s", &s, &length) == SUCCESS) {
/* manipulate string */
} else {
/* output error */
return;
}
+57
View File
@@ -0,0 +1,57 @@
QNX4 Installation Notes
-----------------------
NOTE: General installation instructions are in the INSTALL file
1. To compile and test PHP3 you have to grab, compile and install:
- GNU dbm library or another db library;
- GNU bison (1.25 or later; 1.25 tested);
- GNU flex (any version supporting -o and -P options; 2.5.4 tested);
- GNU diffutils (any version supporting -w option; 2.7 tested);
2. To use CVS version you may need also:
- GNU CVS (1.9 tested);
- GNU autoconf (2.12 tested);
- GNU m4 (1.3 or later preferable; 1.4 tested);
3. To run configure define -lunix in command line:
LDFLAGS=-lunix ./configure
4. To use Sybase SQL Anywhere define ODBC_QNX and CUSTOM_ODBC_LIBS in
command line and run configure with --with-custom-odbc:
CFLAGS=-DODBC_QNX LDFLAGS=-lunix CUSTOM_ODBC_LIBS="-ldblib -lodbc" ./configure --with-custom-odbc=/usr/lib/sqlany50
If you have SQL Anywhere version 5.5.00, then you have to add
CFLAGS=-DSQLANY_BUG
to workaround its SQLFreeEnv() bug. Other versions has not been tested,
so try without this flag first.
5. To build the Apache module, you may have to hardcode an include path for
alloc.h in your Apache base directory:
- APACHE_DIRECTORY/src/httpd.h:
change #include "alloc.h"
to #include "APACHE_DIRECTORY/src/alloc.h"
Unless you want to use system regex library, you have to hardcode also
a path to regex.h:
- APACHE_DIRECTORY/src/conf.h:
change #include <regex.h>
to #include "APACHE_DIRECTORY/src/regex/regex.h"
I don't know so far why this required for QNX, may be it is Watcom
compiler problem.
If you building Apache module with SQL Anywhere support, you'll get
symbol conflict with BOOL. It is defined in Apache (httpd.h) and in
SQL Anywhere (odbc.h). This has nothing to do with PHP, so you have to
fix it yourself someway.
6. With above precautions, it should compile as is and pass regression
tests completely:
make
make check
make install
Don't bother me unless you really sure you made that all but it
still doesn't work.
June 28, 1998
Igor Kovalenko -- owl@infomarket.ru
-642
View File
@@ -1,642 +0,0 @@
1. libmagic (ext/fileinfo) see ext/fileinfo/libmagic/LICENSE
2. libmbfl (ext/mbstring) see ext/mbstring/libmbfl/LICENSE
3. pcre2lib (ext/pcre)
4. ext/standard crypt
5. ext/standard crypt's blowfish implementation
6. ext/standard/rand
7. ext/standard/scanf
8. ext/standard/strnatcmp.c
9. ext/standard/uuencode
10. main/snprintf.c
11. main/strlcat
12. main/strlcpy
13. libgd (ext/gd)
14. ext/phar portions of tar implementations
15. ext/phar/zip.c portion extracted from libzip
16. libbcmath (ext/bcmath) see ext/bcmath/libbcmath/LICENSE
17. ext/mbstring/ucgendat portions based on the ucgendat.c from the OpenLDAP
3. pcre2lib (ext/pcre)
PCRE2 LICENCE
-------------
PCRE2 is a library of functions to support regular expressions whose syntax
and semantics are as close as possible to those of the Perl 5 language.
Releases 10.00 and above of PCRE2 are distributed under the terms of the "BSD"
licence, as specified below, with one exemption for certain binary
redistributions. The documentation for PCRE2, supplied in the "doc" directory,
is distributed under the same terms as the software itself. The data in the
testdata directory is not copyrighted and is in the public domain.
The basic library functions are written in C and are freestanding. Also
included in the distribution is a just-in-time compiler that can be used to
optimize pattern matching. This is an optional feature that can be omitted when
the library is built.
THE BASIC LIBRARY FUNCTIONS
---------------------------
Written by: Philip Hazel
Email local part: ph10
Email domain: cam.ac.uk
University of Cambridge Computing Service,
Cambridge, England.
Copyright (c) 1997-2019 University of Cambridge
All rights reserved.
PCRE2 JUST-IN-TIME COMPILATION SUPPORT
--------------------------------------
Written by: Zoltan Herczeg
Email local part: hzmester
Email domain: freemail.hu
Copyright(c) 2010-2019 Zoltan Herczeg
All rights reserved.
STACK-LESS JUST-IN-TIME COMPILER
--------------------------------
Written by: Zoltan Herczeg
Email local part: hzmester
Email domain: freemail.hu
Copyright(c) 2009-2019 Zoltan Herczeg
All rights reserved.
THE "BSD" LICENCE
-----------------
Redistribution and use in source and binary forms, with or without
modification, are permitted provided that the following conditions are met:
* Redistributions of source code must retain the above copyright notices,
this list of conditions and the following disclaimer.
* Redistributions in binary form must reproduce the above copyright
notices, this list of conditions and the following disclaimer in the
documentation and/or other materials provided with the distribution.
* Neither the name of the University of Cambridge nor the names of any
contributors may be used to endorse or promote products derived from this
software without specific prior written permission.
THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS"
AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE
ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS BE
LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR
CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF
SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS
INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN
CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE)
ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE
POSSIBILITY OF SUCH DAMAGE.
EXEMPTION FOR BINARY LIBRARY-LIKE PACKAGES
------------------------------------------
The second condition in the BSD licence (covering binary redistributions) does
not apply all the way down a chain of software. If binary package A includes
PCRE2, it must respect the condition, but if package B is software that
includes package A, the condition is not imposed on package B unless it uses
PCRE2 independently.
End
4. ext/standard crypt
FreeSec: libcrypt for NetBSD
Copyright (c) 1994 David Burren
All rights reserved.
Redistribution and use in source and binary forms, with or without
modification, are permitted provided that the following conditions
are met:
1. Redistributions of source code must retain the above copyright
notice, this list of conditions and the following disclaimer.
2. Redistributions in binary form must reproduce the above copyright
notice, this list of conditions and the following disclaimer in the
documentation and/or other materials provided with the distribution.
3. Neither the name of the author nor the names of other contributors
may be used to endorse or promote products derived from this software
without specific prior written permission.
THIS SOFTWARE IS PROVIDED BY THE AUTHOR AND CONTRIBUTORS ``AS IS'' AND
ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE
ARE DISCLAIMED. IN NO EVENT SHALL THE AUTHOR OR CONTRIBUTORS BE LIABLE
FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL
DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS
OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION)
HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT
LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY
OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF
SUCH DAMAGE.
5. ext/standard crypt's blowfish implementation
The crypt_blowfish homepage is:
http://www.openwall.com/crypt/
This code comes from John the Ripper password cracker, with reentrant
and crypt(3) interfaces added, but optimizations specific to password
cracking removed.
Written by Solar Designer <solar at openwall.com> in 1998-2011.
No copyright is claimed, and the software is hereby placed in the public
domain. In case this attempt to disclaim copyright and place the software
in the public domain is deemed null and void, then the software is
Copyright (c) 1998-2011 Solar Designer and it is hereby released to the
general public under the following terms:
Redistribution and use in source and binary forms, with or without
modification, are permitted.
There's ABSOLUTELY NO WARRANTY, express or implied.
It is my intent that you should be able to use this on your system,
as part of a software package, or anywhere else to improve security,
ensure compatibility, or for any other purpose. I would appreciate
it if you give credit where it is due and keep your modifications in
the public domain as well, but I don't require that in order to let
you place this code and any modifications you make under a license
of your choice.
This implementation is mostly compatible with OpenBSD's bcrypt.c (prefix
"$2a$") by Niels Provos <provos at citi.umich.edu>, and uses some of his
ideas. The password hashing algorithm was designed by David Mazieres
<dm at lcs.mit.edu>. For more information on the level of compatibility,
please refer to the comments in BF_set_key() and to the crypt(3) man page
included in the crypt_blowfish tarball.
There's a paper on the algorithm that explains its design decisions:
http://www.usenix.org/events/usenix99/provos.html
Some of the tricks in BF_ROUND might be inspired by Eric Young's
Blowfish library (I can't be sure if I would think of something if I
hadn't seen his code).
6. ext/standard/rand
The following php_mt_...() functions are based on a C++ class MTRand by
Richard J. Wagner. For more information see the web page at
http://www-personal.engin.umich.edu/~wagnerr/MersenneTwister.html
Mersenne Twister random number generator -- a C++ class MTRand
Based on code by Makoto Matsumoto, Takuji Nishimura, and Shawn Cokus
Richard J. Wagner v1.0 15 May 2003 rjwagner@writeme.com
The Mersenne Twister is an algorithm for generating random numbers. It
was designed with consideration of the flaws in various other generators.
The period, 2^19937-1, and the order of equidistribution, 623 dimensions,
are far greater. The generator is also fast; it avoids multiplication and
division, and it benefits from caches and pipelines. For more information
see the inventors' web page at http://www.math.keio.ac.jp/~matumoto/emt.html
Reference
M. Matsumoto and T. Nishimura, "Mersenne Twister: A 623-Dimensionally
Equidistributed Uniform Pseudo-Random Number Generator", ACM Transactions on
Modeling and Computer Simulation, Vol. 8, No. 1, January 1998, pp 3-30.
Copyright (C) 1997 - 2002, Makoto Matsumoto and Takuji Nishimura,
Copyright (C) 2000 - 2003, Richard J. Wagner
All rights reserved.
Redistribution and use in source and binary forms, with or without
modification, are permitted provided that the following conditions
are met:
1. Redistributions of source code must retain the above copyright
notice, this list of conditions and the following disclaimer.
2. Redistributions in binary form must reproduce the above copyright
notice, this list of conditions and the following disclaimer in the
documentation and/or other materials provided with the distribution.
3. The names of its contributors may not be used to endorse or promote
products derived from this software without specific prior written
permission.
THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
"AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR
A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR
CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL,
EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO,
PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR
PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF
LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING
NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS
SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
7. ext/standard/scanf
scanf.c --
This file contains the base code which implements sscanf and by extension
fscanf. Original code is from TCL8.3.0 and bears the following copyright:
This software is copyrighted by the Regents of the University of
California, Sun Microsystems, Inc., Scriptics Corporation,
and other parties. The following terms apply to all files associated
with the software unless explicitly disclaimed in individual files.
The authors hereby grant permission to use, copy, modify, distribute,
and license this software and its documentation for any purpose, provided
that existing copyright notices are retained in all copies and that this
notice is included verbatim in any distributions. No written agreement,
license, or royalty fee is required for any of the authorized uses.
Modifications to this software may be copyrighted by their authors
and need not follow the licensing terms described here, provided that
the new terms are clearly indicated on the first page of each file where
they apply.
IN NO EVENT SHALL THE AUTHORS OR DISTRIBUTORS BE LIABLE TO ANY PARTY
FOR DIRECT, INDIRECT, SPECIAL, INCIDENTAL, OR CONSEQUENTIAL DAMAGES
ARISING OUT OF THE USE OF THIS SOFTWARE, ITS DOCUMENTATION, OR ANY
DERIVATIVES THEREOF, EVEN IF THE AUTHORS HAVE BEEN ADVISED OF THE
POSSIBILITY OF SUCH DAMAGE.
THE AUTHORS AND DISTRIBUTORS SPECIFICALLY DISCLAIM ANY WARRANTIES,
INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY,
FITNESS FOR A PARTICULAR PURPOSE, AND NON-INFRINGEMENT. THIS SOFTWARE
IS PROVIDED ON AN "AS IS" BASIS, AND THE AUTHORS AND DISTRIBUTORS HAVE
NO OBLIGATION TO PROVIDE MAINTENANCE, SUPPORT, UPDATES, ENHANCEMENTS, OR
MODIFICATIONS.
GOVERNMENT USE: If you are acquiring this software on behalf of the
U.S. government, the Government shall have only "Restricted Rights"
in the software and related documentation as defined in the Federal
Acquisition Regulations (FARs) in Clause 52.227.19 (c) (2). If you
are acquiring the software on behalf of the Department of Defense, the
software shall be classified as "Commercial Computer Software" and the
Government shall have only "Restricted Rights" as defined in Clause
252.227-7013 (c) (1) of DFARs. Notwithstanding the foregoing, the
authors grant the U.S. Government and others acting in its behalf
permission to use and distribute the software in accordance with the
terms specified in this license.
8. ext/standard/strnatcmp.c
strnatcmp.c -- Perform 'natural order' comparisons of strings in C.
Copyright (C) 2000 by Martin Pool <mbp@humbug.org.au>
This software is provided 'as-is', without any express or implied
warranty. In no event will the authors be held liable for any damages
arising from the use of this software.
Permission is granted to anyone to use this software for any purpose,
including commercial applications, and to alter it and redistribute it
freely, subject to the following restrictions:
1. The origin of this software must not be misrepresented; you must not
claim that you wrote the original software. If you use this software
in a product, an acknowledgment in the product documentation would be
appreciated but is not required.
2. Altered source versions must be plainly marked as such, and must not be
misrepresented as being the original software.
3. This notice may not be removed or altered from any source distribution.
9. ext/standard/uuencode
Portions of this code are based on Berkeley's uuencode/uudecode
implementation.
Copyright (c) 1983, 1993
The Regents of the University of California. All rights reserved.
Redistribution and use in source and binary forms, with or without
modification, are permitted provided that the following conditions
are met:
1. Redistributions of source code must retain the above copyright
notice, this list of conditions and the following disclaimer.
2. Redistributions in binary form must reproduce the above copyright
notice, this list of conditions and the following disclaimer in the
documentation and/or other materials provided with the distribution.
3. All advertising materials mentioning features or use of this software
must display the following acknowledgement:
This product includes software developed by the University of
California, Berkeley and its contributors.
4. Neither the name of the University nor the names of its contributors
may be used to endorse or promote products derived from this software
without specific prior written permission.
THIS SOFTWARE IS PROVIDED BY THE REGENTS AND CONTRIBUTORS ``AS IS'' AND
ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE
ARE DISCLAIMED. IN NO EVENT SHALL THE REGENTS OR CONTRIBUTORS BE LIABLE
FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL
DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS
OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION)
HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT
LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY
OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF
SUCH DAMAGE.
10. main/snprintf.c
Copyright (c) 2002, 2006 Todd C. Miller <Todd.Miller@courtesan.com>
Permission to use, copy, modify, and distribute this software for any
purpose with or without fee is hereby granted, provided that the above
copyright notice and this permission notice appear in all copies.
THE SOFTWARE IS PROVIDED "AS IS" AND THE AUTHOR DISCLAIMS ALL WARRANTIES
WITH REGARD TO THIS SOFTWARE INCLUDING ALL IMPLIED WARRANTIES OF
MERCHANTABILITY AND FITNESS. IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR
ANY SPECIAL, DIRECT, INDIRECT, OR CONSEQUENTIAL DAMAGES OR ANY DAMAGES
WHATSOEVER RESULTING FROM LOSS OF USE, DATA OR PROFITS, WHETHER IN AN
ACTION OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION, ARISING OUT OF
OR IN CONNECTION WITH THE USE OR PERFORMANCE OF THIS SOFTWARE.
Sponsored in part by the Defense Advanced Research Projects
Agency (DARPA) and Air Force Research Laboratory, Air Force
Materiel Command, USAF, under agreement number F39502-99-1-0512.
main/spprintf
Copyright (c) 1995-1998 The Apache Group. All rights reserved.
Redistribution and use in source and binary forms, with or without
modification, are permitted provided that the following conditions
are met:
1. Redistributions of source code must retain the above copyright
notice, this list of conditions and the following disclaimer.
2. Redistributions in binary form must reproduce the above copyright
notice, this list of conditions and the following disclaimer in
the documentation and/or other materials provided with the
distribution.
3. All advertising materials mentioning features or use of this
software must display the following acknowledgment:
"This product includes software developed by the Apache Group
for use in the Apache HTTP server project (http://www.apache.org/)."
4. The names "Apache Server" and "Apache Group" must not be used to
endorse or promote products derived from this software without
prior written permission.
5. Redistributions of any form whatsoever must retain the following
acknowledgment:
"This product includes software developed by the Apache Group
for use in the Apache HTTP server project (http://www.apache.org/)."
THIS SOFTWARE IS PROVIDED BY THE APACHE GROUP ``AS IS'' AND ANY
EXPRESSED OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR
PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE APACHE GROUP OR
ITS CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT
NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES;
LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION)
HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT,
STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE)
ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED
OF THE POSSIBILITY OF SUCH DAMAGE.
====================================================================
This software consists of voluntary contributions made by many
individuals on behalf of the Apache Group and was originally based
on public domain software written at the National Center for
Supercomputing Applications, University of Illinois, Urbana-Champaign.
For more information on the Apache Group and the Apache HTTP server
project, please see <http://www.apache.org/>.
This code is based on, and used with the permission of, the
SIO stdio-replacement strx_* functions by Panos Tsirigotis
<panos@alumni.cs.colorado.edu> for xinetd.
11. main/strlcat
12. main/strlcpy
Copyright (c) 1998 Todd C. Miller <Todd.Miller@courtesan.com>
All rights reserved.
Redistribution and use in source and binary forms, with or without
modification, are permitted provided that the following conditions
are met:
1. Redistributions of source code must retain the above copyright
notice, this list of conditions and the following disclaimer.
2. Redistributions in binary form must reproduce the above copyright
notice, this list of conditions and the following disclaimer in the
documentation and/or other materials provided with the distribution.
3. The name of the author may not be used to endorse or promote products
derived from this software without specific prior written permission.
THIS SOFTWARE IS PROVIDED ``AS IS'' AND ANY EXPRESS OR IMPLIED WARRANTIES,
INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY
AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL
THE AUTHOR BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL,
EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO,
PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS;
OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY,
WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR
OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF
ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
13. libgd (ext/gd)
* Portions copyright 1994, 1995, 1996, 1997, 1998, 1999, 2000, 2001,
2002, 2003, 2004 by Cold Spring Harbor Laboratory. Funded under
Grant P41-RR02188 by the National Institutes of Health.
* Portions copyright 1996, 1997, 1998, 1999, 2000, 2001, 2002, 2003,
2004 by Boutell.Com, Inc.
* Portions relating to GD2 format copyright 1999, 2000, 2001, 2002,
2003, 2004 Philip Warner.
* Portions relating to PNG copyright 1999, 2000, 2001, 2002, 2003,
2004 Greg Roelofs.
* Portions relating to gdttf.c copyright 1999, 2000, 2001, 2002,
2003, 2004 John Ellson (ellson@graphviz.org).
* Portions relating to gdft.c copyright 2001, 2002, 2003, 2004 John
Ellson (ellson@graphviz.org).
* Portions copyright 2000, 2001, 2002, 2003, 2004, 2005, 2006, 2007
Pierre-Alain Joye (pierre@libgd.org).
* Portions relating to JPEG and to color quantization copyright
2000, 2001, 2002, 2003, 2004, Doug Becker and copyright (C) 1994,
1995, 1996, 1997, 1998, 1999, 2000, 2001, 2002, 2003, 2004 Thomas
G. Lane. This software is based in part on the work of the
Independent JPEG Group. See the file README-JPEG.TXT for more
information.
* Portions relating to GIF compression copyright 1989 by Jef
Poskanzer and David Rowley, with modifications for thread safety
by Thomas Boutell.
* Portions relating to GIF decompression copyright 1990, 1991, 1993
by David Koblas, with modifications for thread safety by Thomas
Boutell.
* Portions relating to WBMP copyright 2000, 2001, 2002, 2003, 2004
Maurice Szmurlo and Johan Van den Brande.
* Portions relating to GIF animations copyright 2004 Jaakko Hyvätti
(jaakko.hyvatti@iki.fi)
Permission has been granted to copy, distribute and modify gd in
any context without fee, including a commercial application,
provided that this notice is present in user-accessible supporting
documentation.
This does not affect your ownership of the derived work itself,
and the intent is to assure proper credit for the authors of gd,
not to interfere with your productive use of gd. If you have
questions, ask. "Derived works" includes all programs that utilize
the library. Credit must be given in user-accessible
documentation.
This software is provided "AS IS." The copyright holders disclaim
all warranties, either express or implied, including but not
limited to implied warranties of merchantability and fitness for a
particular purpose, with respect to this code and accompanying
documentation.
Although their code does not appear in the current release, the
authors wish to thank David Koblas, David Rowley, and Hutchison
Avenue Software Corporation for their prior contributions.
END OF COPYRIGHT STATEMENT
14. ext/phar portions of tar implementations
portions of tar implementations in ext/phar - phar_tar_octal() are based on an
implementation by Tim Kientzle from libarchive, licensed with this license:
Copyright (c) 2003-2007 Tim Kientzle
All rights reserved.
Redistribution and use in source and binary forms, with or without
modification, are permitted provided that the following conditions
are met:
1. Redistributions of source code must retain the above copyright
notice, this list of conditions and the following disclaimer.
2. Redistributions in binary form must reproduce the above copyright
notice, this list of conditions and the following disclaimer in the
documentation and/or other materials provided with the distribution.
THIS SOFTWARE IS PROVIDED BY THE AUTHOR(S) ``AS IS'' AND ANY EXPRESS OR
IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES
OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED.
IN NO EVENT SHALL THE AUTHOR(S) BE LIABLE FOR ANY DIRECT, INDIRECT,
INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT
NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,
DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY
THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
(INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF
THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
15. ext/phar/zip.c portion extracted from libzip
zip_dirent.c -- read directory entry (local or central), clean dirent
Copyright (C) 1999, 2003, 2004, 2005 Dieter Baron and Thomas Klausner
This function is part of libzip, a library to manipulate ZIP archives.
The authors can be contacted at <nih@giga.or.at>
Redistribution and use in source and binary forms, with or without
modification, are permitted provided that the following conditions
are met:
1. Redistributions of source code must retain the above copyright
notice, this list of conditions and the following disclaimer.
2. Redistributions in binary form must reproduce the above copyright
notice, this list of conditions and the following disclaimer in
the documentation and/or other materials provided with the
distribution.
3. The names of the authors may not be used to endorse or promote
products derived from this software without specific prior
written permission.
THIS SOFTWARE IS PROVIDED BY THE AUTHORS ``AS IS'' AND ANY EXPRESS
OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED
WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE
ARE DISCLAIMED. IN NO EVENT SHALL THE AUTHORS BE LIABLE FOR ANY
DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL
DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE
GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS
INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER
IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR
OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN
IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
16. ext/mbstring/ucgendat portions based on the ucgendat.c from the OpenLDAP
The OpenLDAP Public License
Version 2.8, 17 August 2003
Redistribution and use of this software and associated documentation
("Software"), with or without modification, are permitted provided
that the following conditions are met:
1. Redistributions in source form must retain copyright statements
and notices,
2. Redistributions in binary form must reproduce applicable copyright
statements and notices, this list of conditions, and the following
disclaimer in the documentation and/or other materials provided
with the distribution, and
3. Redistributions must contain a verbatim copy of this document.
The OpenLDAP Foundation may revise this license from time to time.
Each revision is distinguished by a version number. You may use
this Software under terms of this license revision or under the
terms of any subsequent revision of the license.
THIS SOFTWARE IS PROVIDED BY THE OPENLDAP FOUNDATION AND ITS
CONTRIBUTORS ``AS IS'' AND ANY EXPRESSED OR IMPLIED WARRANTIES,
INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY
AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT
SHALL THE OPENLDAP FOUNDATION, ITS CONTRIBUTORS, OR THE AUTHOR(S)
OR OWNER(S) OF THE SOFTWARE BE LIABLE FOR ANY DIRECT, INDIRECT,
INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING,
BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES;
LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER
CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT
LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN
ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE
POSSIBILITY OF SUCH DAMAGE.
The names of the authors and copyright holders must not be used in
advertising or otherwise to promote the sale, use or other dealing
in this Software without specific, written prior permission. Title
to copyright in this Software shall at all times remain with copyright
holders.
OpenLDAP is a registered trademark of the OpenLDAP Foundation.
Copyright 1999-2003 The OpenLDAP Foundation, Redwood City,
California, USA. All Rights Reserved. Permission to copy and
distribute verbatim copies of this document is granted.
+155
View File
@@ -0,0 +1,155 @@
$Id$
=============================================================================
HOW TO CREATE A SELF-CONTAINED PHP EXTENSION
A self-contained extension can be distributed independently of
the PHP source. To create such an extension, two things are
required:
- Configuration file (config.m4)
- Source code for your module
We will describe now how to create these and how to put things
together.
PREPARING YOUR SYSTEM
While the result will run on any system, a developer's setup needs these
tools:
GNU autoconf
GNU automake
GNU libtool
GNU m4
All of these are available from
ftp://ftp.gnu.org/pub/gnu/
CONVERTING AN EXISTING EXTENSION
Just to show you how easy it is to create a self-contained
extension, we will convert an embedded extension into a
self-contained one. Install PHP and execute the following
commands.
$ mkdir /tmp/newext
$ cd /tmp/newext
You now have an empty directory. We will copy the files from
the mysql extension:
$ cp -rp php-4.0.X/ext/mysql/* .
It is time to finish the module. Run:
$ phpize
You can now ship the contents of the directory - the extension
can live completely on its own.
The user instructions boil down to
$ ./configure \
[--with-php-config=/path/to/php-config] \
[--with-mysql=MYSQL-DIR]
$ make install
The MySQL module will either use the embedded MySQL client
library or the MySQL installation in MYSQL-DIR.
DEFINING THE NEW EXTENSION
Our demo extension is called "foobar".
It consists of two source files "foo.c" and "bar.c"
(and any arbitrary amount of header files, but that is not
important here).
The demo extension does not reference any external
libraries (that is important, because the user does not
need to specify anything).
LTLIBRARY_SOURCES specifies the names of the sources files. You can
name an arbitrary number of source files here.
CREATING THE M4 CONFIGURATION FILE
The m4 configuration can perform additional checks. For a
self-contained extension, you do not need more than a few
macro calls.
------------------------------------------------------------------------------
PHP_ARG_ENABLE(foobar,whether to enable foobar,
[ --enable-foobar Enable foobar])
if test "$PHP_FOOBAR" != "no"; then
PHP_NEW_EXTENSION(foobar, foo.c bar.c, $ext_shared)
fi
------------------------------------------------------------------------------
PHP_ARG_ENABLE will automatically set the correct variables, so
that the extension will be enabled by PHP_NEW_EXTENSION in shared mode.
The first argument of PHP_NEW_EXTENSION describes the name of the
extension. The second names the source-code files. The third passes
$ext_shared which is set by PHP_ARG_ENABLE/WITH to PHP_NEW_EXTENSION.
Please use always PHP_ARG_ENABLE or PHP_ARG_WITH. Even if you do not
plan to distribute your module with PHP, these facilities allow you
to integrate your module easily into the main PHP module framework.
CREATING SOURCE FILES
ext_skel can be of great help when creating the common code for all modules
in PHP for you and also writing basic function definitions and C code for
handling arguments passed to your functions. See README.EXT_SKEL for further
information.
As for the rest, you are currently alone here. There are a lot of existing
modules, use a simple module as a starting point and add your own code.
CREATING THE SELF-CONTAINED EXTENSION
Put config.m4 and the source files into one directory. Then, run phpize
(this is installed during make install by PHP 4.0).
For example, if you configured PHP with --prefix=/php, you would run
$ /php/bin/phpize
This will automatically copy the necessary build files and create
configure from your config.m4.
And that's it. You now have a self-contained extension.
INSTALLING A SELF-CONTAINED EXTENSION
An extension can be installed by running:
$ ./configure \
[--with-php-config=/path/to/php-config]
$ make install
ADDING SHARED MODULE SUPPORT TO A MODULE
In order to be useful, a self-contained extension must be loadable
as a shared module. I will explain now how you can add shared module
support to an existing module called foo.
1. In config.m4, use PHP_ARG_WITH/PHP_ARG_ENABLE. Then you will
automatically be able to use --with-foo=shared[,..] or
--enable-foo=shared[,..].
2. In config.m4, use PHP_NEW_EXTENSION(foo,.., $ext_shared) to enable
building the extension.
3. Add the following lines to your C source file:
#ifdef COMPILE_DL_FOO
ZEND_GET_MODULE(foo)
#endif
+373
View File
@@ -0,0 +1,373 @@
An Overview of the PHP Streams abstraction
==========================================
$Id$
WARNING: some prototypes in this file are out of date.
The information contained here is being integrated into
the PHP manual - stay tuned...
Please send comments to: Wez Furlong <wez@thebrainroom.com>
Why Streams?
============
You may have noticed a shed-load of issock parameters flying around the PHP
code; we don't want them - they are ugly and cumbersome and force you to
special case sockets and files every time you need to work with a "user-level"
PHP file pointer.
Streams take care of that and present the PHP extension coder with an ANSI
stdio-alike API that looks much nicer and can be extended to support non file
based data sources.
Using Streams
=============
Streams use a php_stream* parameter just as ANSI stdio (fread etc.) use a
FILE* parameter.
The main functions are:
PHPAPI size_t php_stream_read(php_stream * stream, char * buf, size_t count);
PHPAPI size_t php_stream_write(php_stream * stream, const char * buf, size_t
count);
PHPAPI size_t php_stream_printf(php_stream * stream TSRMLS_DC,
const char * fmt, ...);
PHPAPI int php_stream_eof(php_stream * stream);
PHPAPI int php_stream_getc(php_stream * stream);
PHPAPI char *php_stream_gets(php_stream * stream, char *buf, size_t maxlen);
PHPAPI int php_stream_close(php_stream * stream);
PHPAPI int php_stream_flush(php_stream * stream);
PHPAPI int php_stream_seek(php_stream * stream, off_t offset, int whence);
PHPAPI off_t php_stream_tell(php_stream * stream);
These (should) behave in the same way as the ANSI stdio functions with similar
names: fread, fwrite, fprintf, feof, fgetc, fgets, fclose, fflush, fseek, ftell.
Opening Streams
===============
In most cases, you should use this API:
PHPAPI php_stream *php_stream_open_wrapper(char *path, char *mode,
int options, char **opened_path TSRMLS_DC);
Where:
path is the file or resource to open.
mode is the stdio compatible mode eg: "wb", "rb" etc.
options is a combination of the following values:
IGNORE_PATH (default) - don't use include path to search for the file
USE_PATH - use include path to search for the file
IGNORE_URL - do not use plugin wrappers
REPORT_ERRORS - show errors in a standard format if something
goes wrong.
STREAM_MUST_SEEK - If you really need to be able to seek the stream
and don't need to be able to write to the original
file/URL, use this option to arrange for the stream
to be copied (if needed) into a stream that can
be seek()ed.
opened_path is used to return the path of the actual file opened,
but if you used STREAM_MUST_SEEK, may not be valid. You are
responsible for efree()ing opened_path. opened_path may be (and usually
is) NULL.
If you need to open a specific stream, or convert standard resources into
streams there are a range of functions to do this defined in php_streams.h.
A brief list of the most commonly used functions:
PHPAPI php_stream *php_stream_fopen_from_file(FILE *file, const char *mode);
Convert a FILE * into a stream.
PHPAPI php_stream *php_stream_fopen_tmpfile(void);
Open a FILE * with tmpfile() and convert into a stream.
PHPAPI php_stream *php_stream_fopen_temporary_file(const char *dir,
const char *pfx, char **opened_path TSRMLS_DC);
Generate a temporary file name and open it.
There are some network enabled relatives in php_network.h:
PHPAPI php_stream *php_stream_sock_open_from_socket(int socket, int persistent);
Convert a socket into a stream.
PHPAPI php_stream *php_stream_sock_open_host(const char *host, unsigned short port,
int socktype, int timeout, int persistent);
Open a connection to a host and return a stream.
PHPAPI php_stream *php_stream_sock_open_unix(const char *path, int persistent,
struct timeval *timeout);
Open a UNIX domain socket.
Stream Utilities
================
If you need to copy some data from one stream to another, you will be please
to know that the streams API provides a standard way to do this:
PHPAPI size_t php_stream_copy_to_stream(php_stream *src,
php_stream *dest, size_t maxlen);
If you want to copy all remaining data from the src stream, pass
PHP_STREAM_COPY_ALL as the maxlen parameter, otherwise maxlen indicates the
number of bytes to copy.
This function will try to use mmap where available to make the copying more
efficient.
If you want to read the contents of a stream into an allocated memory buffer,
you should use:
PHPAPI size_t php_stream_copy_to_mem(php_stream *src, char **buf,
size_t maxlen, int persistent);
This function will set buf to the address of the buffer that it allocated,
which will be maxlen bytes in length, or will be the entire length of the
data remaining on the stream if you set maxlen to PHP_STREAM_COPY_ALL.
The buffer is allocated using pemalloc(); you need to call pefree() to
release the memory when you are done.
As with copy_to_stream, this function will try use mmap where it can.
If you have an existing stream and need to be able to seek() it, you
can use this function to copy the contents into a new stream that can
be seek()ed:
PHPAPI int php_stream_make_seekable(php_stream *origstream, php_stream **newstream);
It returns one of the following values:
#define PHP_STREAM_UNCHANGED 0 /* orig stream was seekable anyway */
#define PHP_STREAM_RELEASED 1 /* newstream should be used; origstream is no longer valid */
#define PHP_STREAM_FAILED 2 /* an error occurred while attempting conversion */
#define PHP_STREAM_CRITICAL 3 /* an error occurred; origstream is in an unknown state; you should close origstream */
make_seekable will always set newstream to be the stream that is valid
if the function succeeds.
When you have finished, remember to close the stream.
NOTE: If you only need to seek forward, there is no need to call this
function, as the php_stream_seek can emulate forward seeking when the
whence parameter is SEEK_CUR.
NOTE: Writing to the stream may not affect the original source, so it
only makes sense to use this for read-only use.
NOTE: If the origstream is network based, this function will block
until the whole contents have been downloaded.
NOTE: Never call this function with an origstream that is referenced
as a resource! It will close the origstream on success, and this
can lead to a crash when the resource is later used/released.
NOTE: If you are opening a stream and need it to be seekable, use the
STREAM_MUST_SEEK option to php_stream_open_wrapper();
Casting Streams
===============
What if your extension needs to access the FILE* of a user level file pointer?
You need to "cast" the stream into a FILE*, and this is how you do it:
FILE * fp;
php_stream * stream; /* already opened */
if (php_stream_cast(stream, PHP_STREAM_AS_STDIO, (void*)&fp, REPORT_ERRORS) == FAILURE) {
RETURN_FALSE;
}
The prototype is:
PHPAPI int php_stream_cast(php_stream * stream, int castas, void ** ret, int
show_err);
The show_err parameter, if non-zero, will cause the function to display an
appropriate error message of type E_WARNING if the cast fails.
castas can be one of the following values:
PHP_STREAM_AS_STDIO - a stdio FILE*
PHP_STREAM_AS_FD - a generic file descriptor
PHP_STREAM_AS_SOCKETD - a socket descriptor
If you ask a socket stream for a FILE*, the abstraction will use fdopen to
create it for you. Be warned that doing so may cause buffered data to be lost
if you mix ANSI stdio calls on the FILE* with php stream calls on the stream.
If your system has the fopencookie function, php streams can synthesize a
FILE* on top of any stream, which is useful for SSL sockets, memory based
streams, data base streams etc. etc.
In situations where this is not desirable, you should query the stream
to see if it naturally supports FILE *. You can use this code snippet
for this purpose:
if (php_stream_is(stream, PHP_STREAM_IS_STDIO)) {
/* can safely cast to FILE* with no adverse side effects */
}
You can use:
PHPAPI int php_stream_can_cast(php_stream * stream, int castas)
to find out if a stream can be cast, without actually performing the cast, so
to check if a stream is a socket you might use:
if (php_stream_can_cast(stream, PHP_STREAM_AS_SOCKETD) == SUCCESS) {
/* it can be a socket */
}
Please note the difference between php_stream_is and php_stream_can_cast;
stream_is tells you if the stream is a particular type of stream, whereas
can_cast tells you if the stream can be forced into the form you request.
The former doesn't change anything, while the later *might* change some
state in the stream.
Stream Internals
================
There are two main structures associated with a stream - the php_stream
itself, which holds some state information (and possibly a buffer) and a
php_stream_ops structure, which holds the "virtual method table" for the
underlying implementation.
The php_streams ops struct consists of pointers to methods that implement
read, write, close, flush, seek, gets and cast operations. Of these, an
implementation need only implement write, read, close and flush. The gets
method is intended to be used for streams if there is an underlying method
that can efficiently behave as fgets. The ops struct also contains a label
for the implementation that will be used when printing error messages - the
stdio implementation has a label of "STDIO" for example.
The idea is that a stream implementation defines a php_stream_ops struct, and
associates it with a php_stream using php_stream_alloc.
As an example, the php_stream_fopen() function looks like this:
PHPAPI php_stream * php_stream_fopen(const char * filename, const char * mode)
{
FILE * fp = fopen(filename, mode);
php_stream * ret;
if (fp) {
ret = php_stream_alloc(&php_stream_stdio_ops, fp, 0, 0, mode);
if (ret)
return ret;
fclose(fp);
}
return NULL;
}
php_stream_stdio_ops is a php_stream_ops structure that can be used to handle
FILE* based streams.
A socket based stream would use code similar to that above to create a stream
to be passed back to fopen_wrapper (or it's yet to be implemented successor).
The prototype for php_stream_alloc is this:
PHPAPI php_stream * php_stream_alloc(php_stream_ops * ops, void * abstract,
size_t bufsize, int persistent, const char * mode)
ops is a pointer to the implementation,
abstract holds implementation specific data that is relevant to this instance
of the stream,
bufsize is the size of the buffer to use - if 0, then buffering at the stream
level will be disabled (recommended for underlying sources that implement
their own buffering - such a FILE*),
persistent controls how the memory is to be allocated - persistently so that
it lasts across requests, or non-persistently so that it is freed at the end
of a request (it uses pemalloc),
mode is the stdio-like mode of operation - php streams places no real meaning
in the mode parameter, except that it checks for a 'w' in the string when
attempting to write (this may change).
The mode parameter is passed on to fdopen/fopencookie when the stream is cast
into a FILE*, so it should be compatible with the mode parameter of fopen().
Writing your own stream implementation
======================================
!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!
RULE #1: when writing your own streams: make sure you have configured PHP with
--enable-debug.
I've taken some great pains to hook into the Zend memory manager to help track
down allocation problems. It will also help you spot incorrect use of the
STREAMS_DC, STREAMS_CC and the semi-private STREAMS_REL_CC macros for function
definitions.
!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!
RULE #2: Please use the stdio stream as a reference; it will help you
understand the semantics of the stream operations, and it will always
be more up to date than these docs :-)
First, you need to figure out what data you need to associate with the
php_stream. For example, you might need a pointer to some memory for memory
based streams, or if you were making a stream to read data from an RDBMS like
MySQL, you might want to store the connection and rowset handles.
The stream has a field called abstract that you can use to hold this data.
If you need to store more than a single field of data, define a structure to
hold it, allocate it (use pemalloc with the persistent flag set
appropriately), and use the abstract pointer to refer to it.
For structured state you might have this:
struct my_state {
MYSQL conn;
MYSQL_RES * result;
};
struct my_state * state = pemalloc(sizeof(struct my_state), persistent);
/* initialize the connection, and run a query, using the fields in state to
* hold the results */
state->result = mysql_use_result(&state->conn);
/* now allocate the stream itself */
stream = php_stream_alloc(&my_ops, state, 0, persistent, "r");
/* now stream->abstract == state */
Once you have that part figured out, you can write your implementation and
define the your own php_stream_ops struct (we called it my_ops in the above
example).
For example, for reading from this weird MySQL stream:
static size_t php_mysqlop_read(php_stream * stream, char * buf, size_t count)
{
struct my_state * state = (struct my_state*)stream->abstract;
if (buf == NULL && count == 0) {
/* in this special case, php_streams is asking if we have reached the
* end of file */
if (... at end of file ...)
return EOF;
else
return 0;
}
/* pull out some data from the stream and put it in buf */
... mysql_fetch_row(state->result) ...
/* we could do something strange, like format the data as XML here,
and place that in the buf, but that brings in some complexities,
such as coping with a buffer size too small to hold the data,
so I won't even go in to how to do that here */
}
Implement the other operations - remember that write, read, close and flush
are all mandatory. The rest are optional. Declare your stream ops struct:
php_stream_ops my_ops = {
php_mysqlop_write, php_mysqlop_read, php_mysqlop_close,
php_mysqlop_flush, NULL, NULL, NULL,
"Strange MySQL example"
}
Thats it!
Take a look at the STDIO implementation in streams.c for more information
about how these operations work.
The main thing to remember is that in your close operation you need to release
and free the resources you allocated for the abstract field. In the case of
the example above, you need to use mysql_free_result on the rowset, close the
connection and then use pefree to dispose of the struct you allocated.
You may read the stream->persistent field to determine if your struct was
allocated in persistent mode or not.
vim:tw=78:et
+127
View File
@@ -0,0 +1,127 @@
Submitting Patch for PHP
========================
This document describes how to submit a patch for PHP. Since you are
reading this document, you are willing to submit a patch for PHP.
Please keep reading! Submitting a patch for PHP is easy. The hard
part is making it acceptable for inclusion into our repository. :-)
How to create patch?
--------------------
We are working with CVS. You need to get CVS source to create a patch
that we accept. Visit http://www.php.net/anoncvs.php to get CVS
source. You can check out older versions, but make sure you get
the default branch (i.e. Do not use -r option when you check out the
CVS source)
Read CODING_STANDARDS file before you start working.
Now you are ready to create a patch. Modify source to fix a bug in PHP or
add a new feature to PHP. After you finished editing, please test your
patch. Read README.TESTING for testing.
After you finish testing your patch, take diff file using
"cvs diff > your.patch" command.
Read README.TESTING for submitting a test script for your patch. This is
not strictly required, but it is preferred to submit a test script along
with your patch. Making new test script is very easy. It also helps us
to understand what you have been fixed or added to PHP.
Tips for creating patch
-----------------------
If you would like to fix multiple bugs. It is easier for us if you
could create 1 patch for 1 bug, but this is not strictly required.
Note though that you might get little response, if your patch is
too hard to review.
If you would like change/add many lines, it is better to ask module
maintainer and/or internals@lists.php.net, or pear-dev@lists.php.net if
you are patching PEAR. Official module maintainers can be found in
EXTENSIONS file in PHP source.
If you are new to CVS (Concurrent Versions System), visit
http://cvshome.org/ for details.
Recommended CVS client settings for creating patch file
------------------------------------------------------
Recommended ~/.cvsrc file setting is:
------
cvs -z3
update -d -P
checkout -P
diff -u
------
diff -u means:
-u Use the unified output format.
With this CVS setting, you don't have to worry about adding/deleting
newlines and spaces.
Check list for submitting patch
-------------------------------
- Did you run "make test" to check if your patch didn't break
other features?
- Did you compile PHP with --enable-debug and check the PHP and
web server error logs when you test your patch?
- Did you build PHP for multi-threaded web servers. (Optional)
- Did you create test script for "make test"? (Recommended)
- Did you check your patch is unified format and it does not
contain white space changes? (If you are not using recommended
cvs setting)
- Did you update CVS source before you take final patch?
- Did you read the patch again?
Where to send your patch?
-------------------------
If you are patching C source, send the patch to internals@lists.php.net.
If you are patching a module, you should also send the patch to the
maintainer. Official module maintainers are listed in EXTENSION file
in source.
If you are patching PEAR, send the patch to pear-dev@lists.php.net.
Please add the prefix "[PATCH]" to your email subject and make sure
to include the patch as a MIME attachment even if it is short.
NOTE: only MIME attachments of type 'text/*' are accepted. The
easiest way to acclomplish this, is to make the extension
'.txt'.
Test scripts should be included in the same email.
Explain what has been fixed/added/changed by your patch.
Finally, add the bug Id(s) which can be closed by your patch, if any.
What happens after you submit your patch
--------------------------------------
If your patch is easy to review and has obviously no side-effects,
it might take up to a few hours until someone commits it.
Because this is a volunteer-driven effort, more complex patches will
require more patience on your side.
If you did not receive any feedback in a few days, please consider
resubmitting the description of your patch, along-side with
these questions:
- Is my patch too hard to review? Because of which factors?
- Should I split it up in multiple parts?
- Are there any unwanted whitespace changes?
What happens when your patch is applied?
----------------------------------------
Your name will be included together with your email address in the CVS
commit log. If your patch affects end-users, a brief description
and your name might be added to the NEWS file.
Thank you for submitting patch for PHP!
+307
View File
@@ -0,0 +1,307 @@
[IMPORTANT NOTICE]
------------------
Do _not_ ask to developers why some or all tests are failed under
your environment! Let us know if you find why it fails. Thank you.
[Testing Basics]
----------------
To execute test scripts, you must build PHP with some SAPI, then you
type "make test" to execute all or some test scripts saved under
"tests" directory under source root directory.
Usage:
make test
"make test" basically executes "run-tests.php" script
under the source root (parallel builds will not work). Therefore you
can execute the script as follows:
TEST_PHP_EXECUTABLE=sapi/cli/php \
sapi/cli/php [-c /path/to/php.ini] run-tests.php [ext/foo/tests/GLOB]
[Which "php" executable "make test" look for]
---------------------------------------------
You must use TEST_PHP_EXECUTABLE environment variable to explicitly
select the php executable to be used to run the tests. That can either
be the CLI or CGI executable.
"make test" executes "run-tests.php" script with "php" binary. Some
test scripts such as session must be executed by CGI SAPI. Therefore,
you must build PHP with CGI SAPI to perform all tests.
NOTE: PHP binary executing "run-tests.php" and php binary used for
executing test scripts may differ. If you use different PHP binary for
executing "run-tests.php" script, you may get errors.
[Which php.ini is used]
-----------------------
"make test" uses the same php.ini file as it would once installed.
The tests have been written to be independent of that php.ini file,
so if you find a test that is affected by a setting, please report
this, so we can address the issue.
[Which test scripts are executed]
---------------------------------
"run-tests.php" ("make test"), without any arguments executes all
test scripts by extracting all directories named "tests"
from the source root and any subdirectories below. If there are files,
which have a "phpt" extension, "run-tests.php" looks at the sections
in these files, determines whether it should run it, by evaluating
the 'SKIP' section. If the test is eligible for execution, the 'FILE'
section is extracted into a ".php" file (with the same name besides
the extension) and gets executed.
When an argument is given or TESTS environment variable is set, the
GLOB is expanded by the shell and any file with extension "*.phpt" is
regarded as a test file.
Tester can easily execute tests selectively with as follows.
Examples:
./sapi/cli/php run-tests.php ext/mbstring/*
./sapi/cli/php run-tests.php ext/mbstring/020.phpt
[Test results]
--------------
Test results are printed to standard output. If there is a failed test,
the "run-tests.php" script saves the result, the expected result and the
code executed to the test script directory. For example, if
ext/myext/tests/myext.phpt fails to pass, the following files are created:
ext/myext/tests/myext.php - actual test file executed
ext/myext/tests/myext.log - log of test execution (L)
ext/myext/tests/myext.exp - expected output (E)
ext/myext/tests/myext.out - output from test script (O)
ext/myext/tests/myext.diff - diff of .out and .exp (D)
Failed tests are always bugs. Either the test is bugged or not considering
factors applying to the tester's environment, or there is a bug in PHP.
If this is a known bug, we strive to provide bug numbers, in either the
test name or the file name. You can check the status of such a bug, by
going to: http://bugs.php.net/12345 where 12345 is the bug number.
For clarity and automated processing, bug numbers are prefixed by a hash
sign '#' in test names and/or test cases are named bug12345.phpt.
NOTE: The files generated by tests can be selected by setting the
environment variable TEST_PHP_LOG_FORMAT. For each file you want to be
generated use the character in brackets as shown above (default is LEOD).
The php file will be generated always.
NOTE: You can set environment variable TEST_PHP_DETAILED to enable
detailed test information.
[Automated testing]
If you like to keep up to speed, with latest developments and quality
assurance, setting the environment variable NO_INTERACTION to 1, will not
prompt the tester for any user input.
Normally, the exit status of "make test" is zero, regardless of the results
of independent tests. Set the environment variable REPORT_EXIT_STATUS to 1,
and "make test" will set the exit status ("$?") to non-zero, when an
individual test has failed.
Example script to be run by cron(1):
========== qa-test.sh =============
#!/bin/sh
CO_DIR=$HOME/cvs/php4
MYMAIL=qa-test@domain.com
TMPDIR=/var/tmp
TODAY=`date +"%Y%m%d"`
# Make sure compilation enviroment is correct
CONFIGURE_OPTS='--disable-all --enable-cli --with-pcre'
export MAKE=gmake
export CC=gcc
# Set test environment
export NO_INTERACTIVITY=1
export REPORT_EXIT_STATUS=1
cd $CO_DIR
cvs update . >>$TMPDIR/phpqatest.$TODAY
./cvsclean ; ./buildconf ; ./configure $CONFIGURE_OPTS ; $MAKE
$MAKE test >>$TMPDIR/phpqatest.$TODAY 2>&1
if test $? -gt 0
then
cat $TMPDIR/phpqatest.$TODAY | mail -s"PHP-QA Test Failed for $TODAY" $MYMAIL
fi
========== end of qa-test.sh =============
NOTE: the exit status of run-tests.php will be 1 when
REPORT_EXIT_STATUS is set. The result of "make test" may be higher
than that. At present, gmake 3.79.1 returns 2, so it is
advised to test for non-zero, rather then a specific value.
[Creating new test files]
-------------------------
Writing test file is very easy if you are used to PHP.
Here is an actual test file from standard module.
===== ext/standard/tests/strings/strtr.phpt =======
--TEST--
strtr() function
--FILE--
<?php
/* Do not change this test it is a REATME.TESTING example. */
$trans = array("hello"=>"hi", "hi"=>"hello", "a"=>"A", "world"=>"planet");
var_dump(strtr("# hi all, I said hello world! #", $trans));
?>
--EXPECT--
string(32) "# hello All, I sAid hi planet! #"
===== ext/standard/tests/strings/strtr.phpt =======
As you can see the file is devided into several sections. Below is a
list of all possible sections:
"--TEST--" is title of the test (required).
"--SKIPIF--" is condition when to skip this test (optional).
"--POST--" is POST variable passed to test script (optional).
"--GET--" is GET variable passed to test script (optional).
"--INI--" each line contains an ini setting e.g. foo=bar (optional).
"--FILE--" is the test script (required).
"--EXPECT--" is the expected output from the test script (required).
"--EXPECTF--" is an alternative of --EXPECT--. The difference is that
this form uses sscanf for output validation (alternative).
"--EXPECTREGEX--" is an alternative of --EXPECT--. This form allows the tester
to specify the result in a regular expression (alternative).
A test must at least contain the sections TEST, FILE and either EXPECT
or EXPECTF. When a test is called run-test.php takes the name from the
TEST section and writes the FILE section into a ".php" file with the
same name as the ".phpt" file. This ".php" file will then be executed
and its output compared to the contents of the EXPECT section. It is a
good idea to generate output with var_dump() calls.
/ext/standard/tests/strings/str_shuffle.phpt is a good example for using
EXPECTF instead of EXPECT. From time to time the algorithm used for shuffle
changed and sometimes the machine used to execute the code has influence
on the result of shuffle. But it always returns a three character string
detectable by %s. Other scan-able forms are %i for integers, %d for numbers
only, %f for floating point values, %c for single characters and %x for
hexadecimal values.
==== /ext/standard/tests/strings/str_shuffle.phpt ===
--TEST--
Testing str_shuffle.
--FILE--
<?php
/* Do not change this test it is a REATME.TESTING example. */
$s = '123';
var_dump(str_shuffle($s));
var_dump($s);
?>
--EXPECTF--
string(3) %s
string(3) "123"
==== end of /ext/standard/tests/strings/str_shuffle.phpt ===
/ext/standard/tests/strings/strings001.phpt is a good example for using
EXPECTREGEX instead of EXPECT. This test also shows that in EXPECTREGEX
some characters need to be escaped since otherwise they would be
interpreted as a regular expression.
==== /ext/standard/tests/strings/strings001.phpt ===
--TEST--
Test whether strstr() and strrchr() are binary safe.
--FILE--
<?php
/* Do not change this test it is a REATME.TESTING example. */
$s = "alabala nica".chr(0)."turska panica";
var_dump(strstr($s, "nic"));
var_dump(strrchr($s," nic"));
?>
--EXPECTREGEX--
string\(18\) \"nica\x00turska panica\"
string\(19\) \" nica\x00turska panica\"
==== end of /ext/standard/tests/strings/strings001.phpt ===
Some tests depend on modules or functions available only in certain versions
or they even require minimum version of php or zend. These tests should be
skipped when the requirement cannot be fullfilled. To achieve this you can
use the SKIPIF section. To tell run-test.php that your test should be skipped
the SKIPIF section must print out the word "skip" followed by a reason why
the test should skip.
==== /ext/exif/tests/exif005.phpt ===
--TEST--
Check for exif_read_data, unusual IFD start
--SKIPIF--
<?php
if (!extension_loaded('exif')) print 'skip exif extension not available';
?>
--FILE--
<?php
/* Do not change this test it is a REATME.TESTING example.
* test5.jpg is a 1*1 image that contains an Exif section with ifd = 00000009h
*/
$image = exif_read_data('./ext/exif/tests/test5.jpg','',true,false);
var_dump($image['IFD0']);
?>
--EXPECT--
array(2) {
["ImageDescription"]=>
string(11) "Ifd00000009"
["DateTime"]=>
string(19) "2002:10:18 20:06:00"
}
==== end of /ext/exif/tests/exif005.phpt ===
Test script and SKIPIF code should be directly written into *.phpt. However,
it is recommended to use include files when more test scripts depend on the
same SKIPIF code or when certain test files need the same values for some
input. But no file used by any test should have one of the following
extensions: ".php", ".log", ".exp", ".out" or ".diff".
Tests should be named according to the following list:
Class: Name: Example:
Tests for bugs bug<bugid>.phpt bug17123.phpt
Tests for functions <functionname>.phpt dba_open.phpt
General tests for extensions <extname><no>.phpt dba3.phpt
When you use an include file for the SKIPIF section it should be named
"skipif.inc" and an include file used in the FILE section of many tests
should be named "test.inc".
NOTE: All tests should run correctly with error_reporting(E_ALL) and
display_errors=1. This is the default when called from run-test.php.
If you have a good reason for lowering the error reporting, use --INI--
section and comment this in your testcode.
NOTE: If your test intentionally generates a PHP warning message use
$php_errormsg variable, which you can then output. This will result
in a consistent error message output across all platforms and PHP
configurations, preventing your test from failing due inconsistencies
in the error message content.
[How to help us]
----------------
If you find bug in PHP, you can submit bug report AND test script
for us. You don't have to write complete script, just give us test
script with following format. Please test the script and make sure
you write the correct ACTUAL OUTPUT and EXPECTED OUTPUT before you
submit.
<?php
/*
Bug #12345
substr() bug. Do not return expected string.
ACTUAL OUTPUT
XYXA
EXPECTED OUTPUT
ABCD
*/
$str = "XYZABCD";
echo substr($str,3,7);
?>
+123
View File
@@ -0,0 +1,123 @@
PHP Build System V5 Overview
- supports Makefile.ins during transition phase
- not-really-portable Makefile includes have been eliminated
- supports separate build directories without VPATH by using
explicit rules only
- does not waste disk-space/CPU-time for building temporary libraries
=> especially noticeable on slower systems
- slow recursive make replaced with one global Makefile
- eases integration of proper dependencies
- adds PHP_DEFINE(what[, value]) which creates a single include-file
per what. This will allow more fine-grained dependencies.
- abandoning the "one library per directory" concept
- improved integration of the CLI
- several new targets
build-modules: builds and copies dynamic modules into modules/
install-cli: installs the CLI only, so that the install-sapi
target does only what its name says
- finally abandoned automake (still requires aclocal at this time)
- changed some configure-time constructs to run at buildconf-time
- upgraded shtool to 1.5.4
- removed $(moduledir) (use EXTENSION_DIR)
The Reason For a New System
It became more and more apparent that there is a severe need
for addressing the portability concerns and improving the chance
that your build is correct (how often have you been told to
"make clean"? When this is done, you won't need to anymore).
If You Build PHP on a Unix System
You, as a user of PHP, will notice no changes. Of course, the build
system will be faster, look better and work smarter.
If You Are Developing PHP
Extension developers:
Makefile.ins are abandoned. The files which are to be compiled
are specified in the config.m4 now using the following macro:
PHP_NEW_EXTENSION(foo, foo.c bar.c baz.cpp, $ext_shared)
E.g. this enables the extension foo which consists of three source-code
modules, two in C and one in C++. And, depending on the user's wishes,
the extension will even be built as a dynamic module.
The full syntax:
PHP_NEW_EXTENSION(extname, sources [, shared [,sapi_class[, extra-cflags]]])
Please have a look at acinclude.m4 for the gory details and meanings
of the other parameters.
And that's basically it for the extension side.
If you previously built sub-libraries for this module, add
the source-code files here as well. If you need to specify
separate include directories, do it this way:
PHP_NEW_EXTENSION(foo, foo.c mylib/bar.c mylib/gregor.c,,,-I@ext_srcdir@/lib)
E.g. this builds the three files which are located relative to the
extension source directory and compiles all three files with the
special include directive (@ext_srcdir@ is automatically replaced).
Now, you need to tell the build system that you want to build files
in a directory called $ext_builddir/lib:
PHP_ADD_BUILD_DIR($ext_builddir/lib)
Make sure to call this after PHP_NEW_EXTENSION, because $ext_builddir
is only set by the latter.
If you have a complex extension, you might to need add special
Make rules. You can do this by calling PHP_ADD_MAKEFILE_FRAGMENT
in your config.m4 after PHP_NEW_EXTENSION.
This will read a file in the source-dir of your extension called
Makefile.frag. In this file, $(builddir) and $(srcdir) will be
replaced by the values which are correct for your extension
and which are again determined by the PHP_NEW_EXTENSION macro.
Make sure to prefix *all* relative paths correctly with either
$(builddir) or $(srcdir). Because the build system does not
change the working directory anymore, we must use either
absolute paths or relative ones to the top build-directory.
Correct prefixing ensures that.
SAPI developers:
Instead of using PHP_SAPI=foo/PHP_BUILD_XYZ, you will need to type
PHP_SELECT_SAPI(name, type, sources.c)
I.e. specify the source-code files as above and also pass the
information regarding how PHP is supposed to be built (shared
module, program, etc).
For example for APXS:
PHP_SELECT_SAPI(apache, shared, sapi_apache.c mod_php4.c php_apache.c)
General info
The foundation for the new system is the flexible handling of
sources and their contexts. With the help of macros you
can define special flags for each source-file, where it is
located, in which target context it can work, etc.
Have a look at the well documented macros
PHP_ADD_SOURCES(_X) in acinclude.m4.
+126
View File
@@ -0,0 +1,126 @@
Using PHP4 with the Zeus Web Server
-----------------------------------
Zeus fully supports running PHP in combination with our
webserver. There are three different interfaces that can be used to
enable PHP:
* CGI
* ISAPI
* FastCGI
Of the three, we recommend using FastCGI, which has been tested and
benchmarked as providing the best performance and reliability.
Full details of how to install PHP are available from our
website, at:
http://support.zeus.com/products/php.html
If you have any problems, please check the support site for more
up-to-date information and advice.
Quick guide to installing FastCGI with Zeus
-------------------------------------------
Step 1 - obtain and install FastCGI development kit.
Grab the package from:
http://www.fastcgi.com/dist/devkit_2.2.0.tar.gz
Extract the package and follow the instructions:
./configure
make
make export
(run the last as root)
This will install to /usr/local/lib/libfcgi.a
and /usr/local/include/*fcgi*
Step 2 - Compile PHP as FastCGI.
Compile as follows:
./configure --with-fastcgi
make
Note that PHP has many options to the configure script -
e.g. --with-mysql. You will probably want to select your usual options
before compiling; the above is just a bare minimum, for illustration.
After compilation finishes, you will be left with an executable
program called 'php'. Copy this into your document root, under a
dedicated FastCGI directory (e.g. $DOCROOT/fcgi-bin/php)
Step 3 - configure Zeus
Four stages:
- enable FastCGI
- configure FastCGI
- setup alias for FastCGI
- setup alias for PHP
1) Using the admin server, go to the 'module configuration' page for
your virtual server, and ensure that 'fastcgi' is enabled (select the
tickbox to the left).
2) While we can run FastCGI's locally, there are known problems with
some OS's (specifically, the communication between web server and
FastCGI happens over a unix domain socket, and some OS's have trouble
sustaining high connection rates over these sockets). So instead, we
are going to set up the PHP FastCGI to run 'remotely' over localhost
(this uses TCP sockets, which do not suffer this problem). Go to the
'fastcgi configuration' page, and under 'add remote fastcgi':
Add Remote FastCGI
Docroot path /fcgi-bin/php
Remote machine localhost:8002
The first entry is where you saved PHP, above.
The second entry is localhost:<any unused port>
We will start the FastCGI listening on this port shortly.
Click 'update' to commit these changes.
3) Go to the path mapping module and add an alias for FastCGI:
Add Alias
Docroot path /fcgi-bin
Filesystem directory /path/to/docroot/fcgi-bin
Alias type fastcgi
Click 'update' to commit these changes
4) Also on the path mapping module, add a handler for PHP:
Add handler
File extension php
Handler /fcgi-bin/php
Click 'update' to commit these changes
Finally restart your virtual server for these changes to take effect.
Step 4 - start PHP as a FastCGI runner
When you start PHP, it will pre-fork a given number of child processes
to handle incoming PHP requests. Each process will handle a given
number of requests before exiting (and being replaced by a newly
forked process). You can control these two parameters by setting the
following environment variables BEFORE starting the FastCGI runner:
PHP_FCGI_CHILDREN - the number of child processes to pre-fork. If not
set, defaults to 8.
PHP_FCGI_MAX_REQUESTS - the number of requests each PHP child process
handles before exiting. If not set, defaults to 500.
To start the FastCGI runner, execute '$ZEUSHOME/web/bin/fcgirunner
8002 $DOCROOT/fcgi-bin/php'. Substitute the appropriate values for
$ZEUSHOME and $DOCROOT; also substitute for 8002 the port you chose,
above.
To stop the runner (e.g. to experiment with the above environment
variables) you will need to manually stop and running PHP
processes. (Use 'ps' and 'kill'). As it is PHP which is forking lots
of children and not the runner, Zeus unfortunately cannot keep track
of what processes are running, sorry. A typical command line may look
like 'ps -efl | grep $DOCROOT/fcgi-bin/php | grep -v grep | awk
'{print $4}' | xargs kill'
-142
View File
@@ -1,142 +0,0 @@
<div align="center">
<a href="https://php.net">
<img
alt="PHP"
src="https://www.php.net/images/logos/new-php-logo.svg"
width="150">
</a>
</div>
# The PHP Interpreter
PHP is a popular general-purpose scripting language that is especially suited to
web development. Fast, flexible and pragmatic, PHP powers everything from your
blog to the most popular websites in the world. PHP is distributed under the
[PHP License v3.01](LICENSE).
[![Build status](https://travis-ci.org/php/php-src.svg?branch=master)](https://travis-ci.org/php/php-src)
[![Build status](https://ci.appveyor.com/api/projects/status/meyur6fviaxgdwdy/branch/master?svg=true)](https://ci.appveyor.com/project/php/php-src)
[![Build Status](https://dev.azure.com/phpazuredevops/php/_apis/build/status/php.php-src?branchName=master)](https://dev.azure.com/phpazuredevops/php/_build/latest?definitionId=1&branchName=master)
[![Fuzzing Status](https://oss-fuzz-build-logs.storage.googleapis.com/badges/php.svg)](https://bugs.chromium.org/p/oss-fuzz/issues/list?sort=-opened&can=1&q=proj:php)
## Documentation
The PHP manual is available at [php.net/docs](https://php.net/docs).
## Installation
### Prebuilt packages and binaries
Prebuilt packages and binaries can be used to get up and running fast with PHP.
For Windows, the PHP binaries can be obtained from
[windows.php.net](https://windows.php.net). After extracting the archive the
`*.exe` files are ready to use.
For other systems, see the [installation chapter](https://php.net/install).
### Building PHP source code
*For Windows, see [Build your own PHP on Windows](https://wiki.php.net/internals/windows/stepbystepbuild_sdk_2).*
For a minimal PHP build from Git, you will need autoconf, bison, and re2c. For
a default build, you will additionally need libxml2 and libsqlite3. On Ubuntu,
you can install these using:
sudo apt install -y pkg-config build-essential autoconf bison re2c \
libxml2-dev libsqlite3-dev
Generate configure:
./buildconf
Configure your build. `--enable-debug` is recommended for development, see
`./configure --help` for a full list of options.
# For development
./configure --enable-debug
# For production
./configure
Build PHP. To speed up the build, specify the maximum number of jobs using `-j`:
make -j4
The number of jobs should usually match the number of available cores, which
can be determined using `nproc`.
## Testing PHP source code
PHP ships with an extensive test suite, the command `make test` is used after
successful compilation of the sources to run this test suite.
It is possible to run tests using multiple cores by setting `-jN` in
`TEST_PHP_ARGS`:
make TEST_PHP_ARGS=-j4 test
Shall run `make test` with a maximum of 4 concurrent jobs: Generally the maximum
number of jobs should not exceed the number of cores available.
The [qa.php.net](https://qa.php.net) site provides more detailed info about
testing and quality assurance.
## Installing PHP built from source
After a successful build (and test), PHP may be installed with:
make install
Depending on your permissions and prefix, `make install` may need super user
permissions.
## PHP extensions
Extensions provide additional functionality on top of PHP. PHP consists of many
essential bundled extensions. Additional extensions can be found in the PHP
Extension Community Library - [PECL](https://pecl.php.net).
## Contributing
The PHP source code is located in the Git repository at
[git.php.net](https://git.php.net). Contributions are most welcome by forking
the [GitHub mirror repository](https://github.com/php/php-src) and sending a
pull request.
Discussions are done on GitHub, but depending on the topic can also be relayed
to the official PHP developer mailing list internals@lists.php.net.
New features require an RFC and must be accepted by the developers. See
[Request for comments - RFC](https://wiki.php.net/rfc) and
[Voting on PHP features](https://wiki.php.net/rfc/voting) for more information
on the process.
Bug fixes **do not** require an RFC but require a bug tracker ticket. Open a
ticket at [bugs.php.net](https://bugs.php.net) and reference the bug id using
`#NNNNNN`.
Fix #55371: get_magic_quotes_gpc() throws deprecation warning
After removing magic quotes, the get_magic_quotes_gpc function caused a
deprecated warning. get_magic_quotes_gpc can be used to detect the
magic_quotes behavior and therefore should not raise a warning at any time.
The patch removes this warning.
Pull requests are not merged directly on GitHub. All PRs will be pulled and
pushed through [git.php.net](https://git.php.net). See
[Git workflow](https://wiki.php.net/vcs/gitworkflow) for more details.
### Guidelines for contributors
See further documents in the repository for more information on how to
contribute:
- [Contributing to PHP](/CONTRIBUTING.md)
- [PHP coding standards](/CODING_STANDARDS.md)
- [Mailinglist rules](/docs/mailinglist-rules.md)
- [PHP release process](/docs/release-process.md)
## Credits
For the list of people who've put work into PHP, please see the
[PHP credits page](https://php.net/credits.php).
+172
View File
@@ -0,0 +1,172 @@
Things to do or at least think about doing in the future. Name in
parenthesis means that person has taken on this project.
Zend
----
For PHP 4.3.0:
* Allow foreach ($array as $k => &$val) syntax. right now we cannot
traverse an array without copying each element.
* Allow foreach ($array as $k => list($a, $b)) syntax for multi
dimensional arrays.
* Look at replacing c-lib call tolower().
* Make hash API functions work with HASH_OF() to save time.
* Allow to set a default value for call-by-reference-parameters.
eg: function hello (&$pallo = NULL) {}
* Disallow function(method) redefinition in class.
For PHP 5.0.0:
* Native large number support (probably with GNU GMP)
* Const'ify APIs. Right now, many functions leave parameters untouched,
but don't declare those as const. This makes interaction with other
interfaces difficult which pass const parameters to us.
global
------
For PHP 4.3.0:
* Add aliases to functions to conform to new naming conventions, e.g.
str_to_upper().
* Make all extensions thread-safe.
* Make everything on the language-level independent of your locale
settings.
* Change PHP error messages, so that they point to pages or sections
in the PHP Manual.
* Make sure that all ZTS globals get destructed. Most ts_allocate_id()
calls should have a dtor entry.
* Activate all extensions by default that don't rely on external
dependencies. (eg ftp) (DONE?)
* on some platforms unimplemented function will just do nothing
(e.g. symlink) they should print a warning or not even be defined!
(DONE ?)
* Use arg_separator.input to implode args in the CGI sapi extension
and arg_separator.input to explode in php_build_argv(). (DONE?)
For PHP 5.0.0
* bundle and use curl lib for fopen wrapper.
* --enable-all in configure. (--enable-shared=max ...)
* make configure print out a summary when it's done (like XEmacs)
* replace standard functions which work on static data with
reentrancy-safe functions (DONE?).
* make SAPI conform to CGI/1.1. Currently, all SAPI modules
define REMOTE_ADDR etc. themselves and reach only various level
of compliance.
* see what functions might need to be changed to use HashPosition, so
that the internal array pointer is not affected.
* Move most extensions and PEAR packages out of the PHP CVS tree,
include them again during release packaging.
Other
* use thread-safe resolver functions (either require BIND 8 or adns).
* implement javadoc based function docs template system.
* provide optional IPv6 support.
* find a better way to implement script timeouts. SIGVTALRM is used
by some POSIX threads implementations (i.e. OpenBSD) and is not
available in ZTS mode.
* Implement flush feature suitable for nested output buffers.
documentation
-------------
* Add remarks in the documentation which functions are not implemented
on win32.
* Add remarks in the documentation which functions are not binary-safe.
* Update curl documentation (DONE?)
* Add developer documentation.
* Add detailed documentation for Java extension.
ext/bz2
-------
* Add an ini directive to specify the size of decompression buffer.
The default 4k is too small for large files and also requires much time
for decompression. 40k is suitable for such files, however it may be too
much under certain environments. There should be appropriate default
settings for the various SAPI modules (e.g. apache and cli).
ext/curl
--------
* Have a warning scheme for when people use unsupported features.
ext/oci8
--------
* All OCIFetch*() functions should return 0 for no more data and false on
error.
* Have a flag that trims trailing spaces from CHAR fields on retrieval.
* Make allow_call_time_pass_reference=Off working.
* For additional todo information, see oci8.c, in ext/oci8
ext/odbc
--------
For PHP 4.3.0:
* update all php_error calls to php_error_docref where valid
* integrate EXPERIMENTAL ODBC update for use in PHP 5.0, use for
testing purposes only.
For PHP 5.0.0
* Activate EXPERIMENTAL ODBC codebase update
ext/pcre
--------
* Allow user to set PCRE_NOTEMPTY, PCRE_ANCHORED at execution time, maybe
ext/pcntl
---------
* Change internal callback handler to use TICKS
* Remove all zend_extension code
* Add object callback support to pcntl_signal()
ext/pgsql
---------
For PHP 4.3.0:
* Add pg_metadata() with metadata cache feature.
* Add pg_convert() to check and convert array value for query.
* Add pg_insert/pg_update/pg_delete/pg_select for simple query.
ext/session
-----------
For PHP 4.3.0:
* session_abort() to abort session. ie: Do not save session data.
* Allow unset($_SESSION) or unset($HTTP_SESSION_VARS) to unset
session vars regardless of register_globals setting.
Other:
* Maybe implement finer-grained session variables that could be
locked individually.
* Write a network-transparent storage back-end with fallover
facilities
* Provide a callback facility which is executed upon encountering
an unknown class name during deserialization
ext/sockets
-----------
* Implement IPv6
* Review/Fix vectors
ext/standard
------------
* Add a version number to data serialized via serialize().
* Possibly modify parsing of GPC data to automatically create arrays if
variable name is seen more than once.
* Implement regex-cache for url-functions.
* stri_replace(). (Andrei)
* Move socket related functions to fsock.c.
* NOT binary safe:
strtok()
basename()
dirname()
strrpos()
ext/wddx
--------
* See if we can support the remaining data types:
dateTime
binary
http://www.wddx.org/WDDX_SDK_10a/7__References/WDDX_DTD.htm
(Andrei)
* implement wddx_packet_as_javascript(). (Andrei)
other cool stuff
----------------
* PVM extension
+112
View File
@@ -0,0 +1,112 @@
This is an overview over existing segfaults in the current PHP source
tree.
Fixed:
mb_convert_encoding (Moriyoshi)
socket_iovec_alloc (Rasmus)
exif_imagetype,exif_thumbnail (Rasmus)
dbase_open (Rasmus)
array_pad (Rasmus)
setlocale (Rasmus)
unregister_tick_function (Rasmus)
bcsub (Rasmus)
str_repeat (Ilia)
imagecopyresized (Ilia)
mhash_keygen_s2k (Ilia)
bundled gd (Ilia)
mb_ereg, mb_ereg_match, mb_eregi, mb_split (Moriyoshi)
xml_parser_create (Moriyoshi)
ob_start (Sascha)
imagecreate/-truecolor (Sascha)
flock (Sascha)
register_shutdown_function (Sascha)
mb_strcut('', [number greater than the length of first arg]) (Moriyoshi)
ext/exif, ext/dba (Marcus)
php_base64_encode (Moriyoshi)
pack (Ilia)
Open:
the dbase extension (1)
socket_select (2)
(1) heap corruption, mostly visible in malloc-related calls. Whether you see
this or not might depend on your libc/compiler. Hard to track down,
because the result of the corruption might be quite delayed.
Reproducable with glibc-2.3/gcc 3.2.2 by:
cat <<X | php do_crash
dbase_add_record
dbase_close
dbase_create
dbase_delete_record
dbase_get_record
dbase_get_record_with_names
dbase_numfields
dbase_numrecords
dbase_open
X
(2) heap corruption, dies in efree()/execute()
Methodology
1. Use a plain PHP_4_3 tree
2. Use the config.nice from ammendment 1.
3. Download the test script from:
<URL:http://schumann.cx/do_crash.txt>
4a. Use the scripts funcparse.awk/genfunclist.sh from phpdoc/scripts
for creating a plain text function list. Feed that list to
the script. Avoid calls like pcntl_fork. Manually remove functions
which take too long to finish/eat up all memory.
4b. For testing a single function, echo the name of the function to
the script like this:
echo dbase_open | php do_crash.txt
Amendment 1.
CFLAGS='-O0 -g' \
'../src/php4/configure' \
'--enable-pcntl' \
'--enable-shmop' \
'--enable-sysvsem' \
'--enable-sysvshm' \
'--enable-wddx' \
'--enable-yp' \
'--enable-filepro' \
'--enable-ftp' \
'--enable-dba' \
'--enable-dbase' \
'--enable-dio' \
'--enable-exif' \
'--enable-mbstring' \
'--enable-mbregex' \
'--enable-sockets' \
'--enable-bcmath' \
'--enable-calendar' \
'--enable-pcntl' \
'--enable-shmop' \
'--enable-sysvsem' \
'--enable-sysvshm' \
'--enable-wddx' \
'--enable-yp' \
'--enable-filepro' \
'--enable-ftp' \
'--enable-dba' \
'--enable-dbase' \
'--enable-dio' \
'--enable-exif' \
'--enable-mbstring' \
'--enable-mbregex' \
'--enable-sockets' \
'--enable-bcmath' \
'--enable-calendar' \
"$@"
+1 -1
View File
@@ -1,4 +1,4 @@
Copyright (c) 1999-2006, Andi Gutmans, Sascha Schumann, Zeev Suraski.
Copyright (c) 1999, 2000, Andi Gutmans, Sascha Schumann, Zeev Suraski.
All rights reserved.
Redistribution and use in source and binary forms, with or without
+6
View File
@@ -0,0 +1,6 @@
## process this file with automake to produce Makefile.am
AUTOMAKE_OPTIONS=foreign
noinst_LTLIBRARIES=libtsrm.la
libtsrm_la_SOURCES = TSRM.c tsrm_strtok_r.c tsrm_virtual_cwd.c
depend:
+2
View File
@@ -0,0 +1,2 @@
- Improve the lock in ts_resource_ex() in order to cover less code.
This can probably be done by more careful hash table access
+217 -364
View File
@@ -2,11 +2,11 @@
+----------------------------------------------------------------------+
| Thread Safe Resource Manager |
+----------------------------------------------------------------------+
| Copyright (c) 1999-2011, Andi Gutmans, Sascha Schumann, Zeev Suraski |
| Copyright (c) 1999, 2000, Andi Gutmans, Sascha Schumann, Zeev Suraski|
| This source file is subject to the TSRM license, that is bundled |
| with this package in the file LICENSE |
+----------------------------------------------------------------------+
| Authors: Zeev Suraski <zeev@php.net> |
| Authors: Zeev Suraski <zeev@zend.com> |
+----------------------------------------------------------------------+
*/
@@ -15,20 +15,13 @@
#ifdef ZTS
#include <stdio.h>
#include <stdarg.h>
#if ZEND_DEBUG
# include <assert.h>
# define TSRM_ASSERT(c) assert(c)
#else
# define TSRM_ASSERT(c)
#if HAVE_STDARG_H
#include <stdarg.h>
#endif
typedef struct _tsrm_tls_entry tsrm_tls_entry;
/* TSRMLS_CACHE_DEFINE; is already done in Zend, this is being always compiled statically. */
TSRMLS_CACHE_EXTERN();
struct _tsrm_tls_entry {
void **storage;
int count;
@@ -41,8 +34,6 @@ typedef struct {
size_t size;
ts_allocate_ctor ctor;
ts_allocate_dtor dtor;
size_t fast_offset;
int done;
} tsrm_resource_type;
@@ -55,17 +46,12 @@ static ts_rsrc_id id_count;
static tsrm_resource_type *resource_types_table=NULL;
static int resource_types_table_size;
/* Reserved space for fast globals access */
static size_t tsrm_reserved_pos = 0;
static size_t tsrm_reserved_size = 0;
static MUTEX_T tsmm_mutex; /* thread-safe memory manager mutex */
static MUTEX_T tsrm_env_mutex; /* tsrm environ mutex */
static MUTEX_T tsmm_mutex; /* thread-safe memory manager mutex */
/* New thread handlers */
static tsrm_thread_begin_func_t tsrm_new_thread_begin_handler = NULL;
static tsrm_thread_end_func_t tsrm_new_thread_end_handler = NULL;
static tsrm_shutdown_func_t tsrm_shutdown_handler = NULL;
static tsrm_thread_begin_func_t tsrm_new_thread_begin_handler;
static tsrm_thread_end_func_t tsrm_new_thread_end_handler;
/* Debug support */
int tsrm_error(int level, const char *format, ...);
@@ -74,7 +60,7 @@ int tsrm_error(int level, const char *format, ...);
static int tsrm_error_level;
static FILE *tsrm_error_file;
#ifdef TSRM_DEBUG
#if TSRM_DEBUG
#define TSRM_ERROR(args) tsrm_error args
#define TSRM_SAFE_RETURN_RSRC(array, offset, range) \
{ \
@@ -102,32 +88,33 @@ static FILE *tsrm_error_file;
}
#endif
#ifdef TSRM_WIN32
static DWORD tls_key;
# define tsrm_tls_set(what) TlsSetValue(tls_key, (void*)(what))
# define tsrm_tls_get() TlsGetValue(tls_key)
#else
#if defined(PTHREADS)
/* Thread local storage */
static pthread_key_t tls_key;
# define tsrm_tls_set(what) pthread_setspecific(tls_key, (void*)(what))
# define tsrm_tls_get() pthread_getspecific(tls_key)
#elif defined(TSRM_ST)
static int tls_key;
#elif defined(TSRM_WIN32)
static DWORD tls_key;
#elif defined(BETHREADS)
static int32 tls_key;
#endif
TSRM_TLS uint8_t in_main_thread = 0;
TSRM_TLS uint8_t is_thread_shutdown = 0;
/* Startup TSRM (call once for the entire process) */
TSRM_API int tsrm_startup(int expected_threads, int expected_resources, int debug_level, const char *debug_filename)
{/*{{{*/
#ifdef TSRM_WIN32
TSRM_API int tsrm_startup(int expected_threads, int expected_resources, int debug_level, char *debug_filename)
{
#if defined(GNUPTH)
pth_init();
#elif defined(PTHREADS)
pthread_key_create( &tls_key, 0 );
#elif defined(TSRM_ST)
st_init();
st_key_create(&tls_key, 0);
#elif defined(TSRM_WIN32)
tls_key = TlsAlloc();
#else
pthread_key_create(&tls_key, 0);
#elif defined(BETHREADS)
tls_key = tls_allocate();
#endif
/* ensure singleton */
in_main_thread = 1;
is_thread_shutdown = 0;
tsrm_error_file = stderr;
tsrm_error_set(debug_level, debug_filename);
tsrm_tls_table_size = expected_threads;
@@ -135,7 +122,6 @@ TSRM_API int tsrm_startup(int expected_threads, int expected_resources, int debu
tsrm_tls_table = (tsrm_tls_entry **) calloc(tsrm_tls_table_size, sizeof(tsrm_tls_entry *));
if (!tsrm_tls_table) {
TSRM_ERROR((TSRM_ERROR_LEVEL_ERROR, "Unable to allocate TLS table"));
is_thread_shutdown = 1;
return 0;
}
id_count=0;
@@ -144,132 +130,79 @@ TSRM_API int tsrm_startup(int expected_threads, int expected_resources, int debu
resource_types_table = (tsrm_resource_type *) calloc(resource_types_table_size, sizeof(tsrm_resource_type));
if (!resource_types_table) {
TSRM_ERROR((TSRM_ERROR_LEVEL_ERROR, "Unable to allocate resource types table"));
is_thread_shutdown = 1;
free(tsrm_tls_table);
tsrm_tls_table = NULL;
return 0;
}
tsmm_mutex = tsrm_mutex_alloc();
tsrm_new_thread_begin_handler = tsrm_new_thread_end_handler = NULL;
TSRM_ERROR((TSRM_ERROR_LEVEL_CORE, "Started up TSRM, %d expected threads, %d expected resources", expected_threads, expected_resources));
tsrm_reserved_pos = 0;
tsrm_reserved_size = 0;
tsrm_env_mutex = tsrm_mutex_alloc();
return 1;
}/*}}}*/
}
/* Shutdown TSRM (call once for the entire process) */
TSRM_API void tsrm_shutdown(void)
{/*{{{*/
{
int i;
if (is_thread_shutdown) {
/* shutdown must only occur once */
return;
}
if (tsrm_tls_table) {
for (i=0; i<tsrm_tls_table_size; i++) {
tsrm_tls_entry *p = tsrm_tls_table[i], *next_p;
is_thread_shutdown = 1;
while (p) {
int j;
if (!in_main_thread) {
/* only the main thread may shutdown tsrm */
return;
}
for (i=0; i<tsrm_tls_table_size; i++) {
tsrm_tls_entry *p = tsrm_tls_table[i], *next_p;
while (p) {
int j;
next_p = p->next;
for (j=0; j<p->count; j++) {
if (p->storage[j]) {
if (resource_types_table && !resource_types_table[j].done && resource_types_table[j].dtor) {
resource_types_table[j].dtor(p->storage[j]);
}
if (!resource_types_table[j].fast_offset) {
free(p->storage[j]);
next_p = p->next;
for (j=0; j<p->count; j++) {
/* Disabled - calling dtors in tsrm_shutdown makes
modules registering TSRM ids to crash, if they have
dtors, since the module is unloaded before tsrm_shutdown
is called. Can be re-enabled after tsrm_free_id is
implemented.
if (resource_types_table && resource_types_table[j].dtor) {
resource_types_table[j].dtor(p->storage[j], &p->storage);
}
*/
free(p->storage[j]);
}
free(p->storage);
free(p);
p = next_p;
}
free(p->storage);
free(p);
p = next_p;
}
free(tsrm_tls_table);
tsrm_tls_table = NULL;
}
if (resource_types_table) {
free(resource_types_table);
resource_types_table=NULL;
}
free(tsrm_tls_table);
free(resource_types_table);
tsrm_mutex_free(tsmm_mutex);
tsrm_mutex_free(tsrm_env_mutex);
tsmm_mutex = NULL;
TSRM_ERROR((TSRM_ERROR_LEVEL_CORE, "Shutdown TSRM"));
if (tsrm_error_file!=stderr) {
fclose(tsrm_error_file);
}
#ifdef TSRM_WIN32
TlsFree(tls_key);
#else
#if defined(GNUPTH)
pth_kill();
#elif defined(PTHREADS)
pthread_setspecific(tls_key, 0);
pthread_key_delete(tls_key);
#elif defined(TSRM_WIN32)
TlsFree(tls_key);
#endif
if (tsrm_shutdown_handler) {
tsrm_shutdown_handler();
}
tsrm_new_thread_begin_handler = NULL;
tsrm_new_thread_end_handler = NULL;
tsrm_shutdown_handler = NULL;
tsrm_reserved_pos = 0;
tsrm_reserved_size = 0;
}/*}}}*/
/* {{{ */
/* environ lock api */
TSRM_API void tsrm_env_lock(void) {
tsrm_mutex_lock(tsrm_env_mutex);
}
TSRM_API void tsrm_env_unlock(void) {
tsrm_mutex_unlock(tsrm_env_mutex);
} /* }}} */
/* enlarge the arrays for the already active threads */
static void tsrm_update_active_threads(void)
{/*{{{*/
int i;
for (i=0; i<tsrm_tls_table_size; i++) {
tsrm_tls_entry *p = tsrm_tls_table[i];
while (p) {
if (p->count < id_count) {
int j;
p->storage = (void *) realloc(p->storage, sizeof(void *)*id_count);
for (j=p->count; j<id_count; j++) {
if (resource_types_table[j].fast_offset) {
p->storage[j] = (void *) (((char*)p) + resource_types_table[j].fast_offset);
} else {
p->storage[j] = (void *) malloc(resource_types_table[j].size);
}
if (resource_types_table[j].ctor) {
resource_types_table[j].ctor(p->storage[j]);
}
}
p->count = id_count;
}
p = p->next;
}
}
}/*}}}*/
/* allocates a new thread-safe-resource id */
TSRM_API ts_rsrc_id ts_allocate_id(ts_rsrc_id *rsrc_id, size_t size, ts_allocate_ctor ctor, ts_allocate_dtor dtor)
{/*{{{*/
{
int i;
TSRM_ERROR((TSRM_ERROR_LEVEL_CORE, "Obtaining a new resource id, %d bytes", size));
tsrm_mutex_lock(tsmm_mutex);
@@ -280,148 +213,110 @@ TSRM_API ts_rsrc_id ts_allocate_id(ts_rsrc_id *rsrc_id, size_t size, ts_allocate
/* store the new resource type in the resource sizes table */
if (resource_types_table_size < id_count) {
tsrm_resource_type *_tmp;
_tmp = (tsrm_resource_type *) realloc(resource_types_table, sizeof(tsrm_resource_type)*id_count);
if (!_tmp) {
resource_types_table = (tsrm_resource_type *) realloc(resource_types_table, sizeof(tsrm_resource_type)*id_count);
if (!resource_types_table) {
tsrm_mutex_unlock(tsmm_mutex);
TSRM_ERROR((TSRM_ERROR_LEVEL_ERROR, "Unable to allocate storage for resource"));
*rsrc_id = 0;
return 0;
}
resource_types_table = _tmp;
resource_types_table_size = id_count;
}
resource_types_table[TSRM_UNSHUFFLE_RSRC_ID(*rsrc_id)].size = size;
resource_types_table[TSRM_UNSHUFFLE_RSRC_ID(*rsrc_id)].ctor = ctor;
resource_types_table[TSRM_UNSHUFFLE_RSRC_ID(*rsrc_id)].dtor = dtor;
resource_types_table[TSRM_UNSHUFFLE_RSRC_ID(*rsrc_id)].fast_offset = 0;
resource_types_table[TSRM_UNSHUFFLE_RSRC_ID(*rsrc_id)].done = 0;
tsrm_update_active_threads();
tsrm_mutex_unlock(tsmm_mutex);
/* enlarge the arrays for the already active threads */
for (i=0; i<tsrm_tls_table_size; i++) {
tsrm_tls_entry *p = tsrm_tls_table[i];
TSRM_ERROR((TSRM_ERROR_LEVEL_CORE, "Successfully allocated new resource id %d", *rsrc_id));
return *rsrc_id;
}/*}}}*/
while (p) {
if (p->count < id_count) {
int j;
/* Reserve space for fast thread-safe-resources */
TSRM_API void tsrm_reserve(size_t size)
{/*{{{*/
tsrm_reserved_pos = 0;
tsrm_reserved_size = TSRM_ALIGNED_SIZE(size);
}/*}}}*/
/* allocates a new fast thread-safe-resource id */
TSRM_API ts_rsrc_id ts_allocate_fast_id(ts_rsrc_id *rsrc_id, size_t *offset, size_t size, ts_allocate_ctor ctor, ts_allocate_dtor dtor)
{/*{{{*/
TSRM_ERROR((TSRM_ERROR_LEVEL_CORE, "Obtaining a new fast resource id, %d bytes", size));
tsrm_mutex_lock(tsmm_mutex);
/* obtain a resource id */
*rsrc_id = TSRM_SHUFFLE_RSRC_ID(id_count++);
TSRM_ERROR((TSRM_ERROR_LEVEL_CORE, "Obtained resource id %d", *rsrc_id));
size = TSRM_ALIGNED_SIZE(size);
if (tsrm_reserved_size - tsrm_reserved_pos < size) {
tsrm_mutex_unlock(tsmm_mutex);
TSRM_ERROR((TSRM_ERROR_LEVEL_ERROR, "Unable to allocate space for fast resource"));
*rsrc_id = 0;
*offset = 0;
return 0;
}
*offset = TSRM_ALIGNED_SIZE(sizeof(tsrm_tls_entry)) + tsrm_reserved_pos;
tsrm_reserved_pos += size;
/* store the new resource type in the resource sizes table */
if (resource_types_table_size < id_count) {
tsrm_resource_type *_tmp;
_tmp = (tsrm_resource_type *) realloc(resource_types_table, sizeof(tsrm_resource_type)*id_count);
if (!_tmp) {
tsrm_mutex_unlock(tsmm_mutex);
TSRM_ERROR((TSRM_ERROR_LEVEL_ERROR, "Unable to allocate storage for resource"));
*rsrc_id = 0;
return 0;
p->storage = (void *) realloc(p->storage, sizeof(void *)*id_count);
for (j=p->count; j<id_count; j++) {
p->storage[j] = (void *) malloc(resource_types_table[j].size);
if (resource_types_table[j].ctor) {
resource_types_table[j].ctor(p->storage[j], &p->storage);
}
}
p->count = id_count;
}
p = p->next;
}
resource_types_table = _tmp;
resource_types_table_size = id_count;
}
resource_types_table[TSRM_UNSHUFFLE_RSRC_ID(*rsrc_id)].size = size;
resource_types_table[TSRM_UNSHUFFLE_RSRC_ID(*rsrc_id)].ctor = ctor;
resource_types_table[TSRM_UNSHUFFLE_RSRC_ID(*rsrc_id)].dtor = dtor;
resource_types_table[TSRM_UNSHUFFLE_RSRC_ID(*rsrc_id)].fast_offset = *offset;
resource_types_table[TSRM_UNSHUFFLE_RSRC_ID(*rsrc_id)].done = 0;
tsrm_update_active_threads();
tsrm_mutex_unlock(tsmm_mutex);
TSRM_ERROR((TSRM_ERROR_LEVEL_CORE, "Successfully allocated new resource id %d", *rsrc_id));
return *rsrc_id;
}/*}}}*/
}
static void allocate_new_resource(tsrm_tls_entry **thread_resources_ptr, THREAD_T thread_id)
{/*{{{*/
{
int i;
TSRM_ERROR((TSRM_ERROR_LEVEL_CORE, "Creating data structures for thread %x", thread_id));
(*thread_resources_ptr) = (tsrm_tls_entry *) malloc(TSRM_ALIGNED_SIZE(sizeof(tsrm_tls_entry)) + tsrm_reserved_size);
(*thread_resources_ptr)->storage = NULL;
if (id_count > 0) {
(*thread_resources_ptr)->storage = (void **) malloc(sizeof(void *)*id_count);
}
(*thread_resources_ptr) = (tsrm_tls_entry *) malloc(sizeof(tsrm_tls_entry));
(*thread_resources_ptr)->storage = (void **) malloc(sizeof(void *)*id_count);
(*thread_resources_ptr)->count = id_count;
(*thread_resources_ptr)->thread_id = thread_id;
(*thread_resources_ptr)->next = NULL;
#if defined(PTHREADS)
/* Set thread local storage to this new thread resources structure */
tsrm_tls_set(*thread_resources_ptr);
TSRMLS_CACHE = *thread_resources_ptr;
pthread_setspecific(tls_key, (void *) *thread_resources_ptr);
#elif defined(TSRM_ST)
st_thread_setspecific(tls_key, (void *) *thread_resources_ptr);
#elif defined(TSRM_WIN32)
TlsSetValue(tls_key, (void *) *thread_resources_ptr);
#elif defined(BETHREADS)
tls_set(tls_key, (void*) *thread_resources_ptr);
#endif
if (tsrm_new_thread_begin_handler) {
tsrm_new_thread_begin_handler(thread_id);
tsrm_new_thread_begin_handler(thread_id, &((*thread_resources_ptr)->storage));
}
for (i=0; i<id_count; i++) {
if (resource_types_table[i].done) {
(*thread_resources_ptr)->storage[i] = NULL;
} else {
if (resource_types_table[i].fast_offset) {
(*thread_resources_ptr)->storage[i] = (void *) (((char*)(*thread_resources_ptr)) + resource_types_table[i].fast_offset);
} else {
(*thread_resources_ptr)->storage[i] = (void *) malloc(resource_types_table[i].size);
}
if (resource_types_table[i].ctor) {
resource_types_table[i].ctor((*thread_resources_ptr)->storage[i]);
}
(*thread_resources_ptr)->storage[i] = (void *) malloc(resource_types_table[i].size);
if (resource_types_table[i].ctor) {
resource_types_table[i].ctor((*thread_resources_ptr)->storage[i], &(*thread_resources_ptr)->storage);
}
}
if (tsrm_new_thread_end_handler) {
tsrm_new_thread_end_handler(thread_id);
tsrm_new_thread_end_handler(thread_id, &((*thread_resources_ptr)->storage));
}
tsrm_mutex_unlock(tsmm_mutex);
}/*}}}*/
}
/* fetches the requested resource for the current thread */
TSRM_API void *ts_resource_ex(ts_rsrc_id id, THREAD_T *th_id)
{/*{{{*/
{
THREAD_T thread_id;
int hash_value;
tsrm_tls_entry *thread_resources;
if (!th_id) {
#if defined(PTHREADS)
/* Fast path for looking up the resources for the current
* thread. Its used by just about every call to
* ts_resource_ex(). This avoids the need for a mutex lock
* and our hashtable lookup.
*/
thread_resources = tsrm_tls_get();
thread_resources = pthread_getspecific(tls_key);
#elif defined(TSRM_ST)
thread_resources = st_thread_getspecific(tls_key);
#elif defined(TSRM_WIN32)
thread_resources = TlsGetValue(tls_key);
#elif defined(BETHREADS)
thread_resources = (tsrm_tls_entry*)tls_get(tls_key);
#else
thread_resources = NULL;
#endif
if (thread_resources) {
TSRM_ERROR((TSRM_ERROR_LEVEL_INFO, "Fetching resource id %d for current thread %d", id, (long) thread_resources->thread_id));
/* Read a specific resource from the thread's resources.
@@ -467,20 +362,18 @@ TSRM_API void *ts_resource_ex(ts_rsrc_id id, THREAD_T *th_id)
* changes to the structure as we read it.
*/
TSRM_SAFE_RETURN_RSRC(thread_resources->storage, id, thread_resources->count);
}/*}}}*/
}
/* frees all resources allocated for the current thread */
void ts_free_thread(void)
{/*{{{*/
{
tsrm_tls_entry *thread_resources;
int i;
THREAD_T thread_id = tsrm_thread_id();
int hash_value;
tsrm_tls_entry *last=NULL;
TSRM_ASSERT(!in_main_thread);
tsrm_mutex_lock(tsmm_mutex);
hash_value = THREAD_HASH_OF(thread_id, tsrm_tls_table_size);
thread_resources = tsrm_tls_table[hash_value];
@@ -489,13 +382,11 @@ void ts_free_thread(void)
if (thread_resources->thread_id == thread_id) {
for (i=0; i<thread_resources->count; i++) {
if (resource_types_table[i].dtor) {
resource_types_table[i].dtor(thread_resources->storage[i]);
resource_types_table[i].dtor(thread_resources->storage[i], &thread_resources->storage);
}
}
for (i=0; i<thread_resources->count; i++) {
if (!resource_types_table[i].fast_offset) {
free(thread_resources->storage[i]);
}
free(thread_resources->storage[i]);
}
free(thread_resources->storage);
if (last) {
@@ -503,7 +394,11 @@ void ts_free_thread(void)
} else {
tsrm_tls_table[hash_value] = thread_resources->next;
}
tsrm_tls_set(0);
#if defined(PTHREADS)
pthread_setspecific(tls_key, 0);
#elif defined(TSRM_WIN32)
TlsSetValue(tls_key, 0);
#endif
free(thread_resources);
break;
}
@@ -513,42 +408,15 @@ void ts_free_thread(void)
thread_resources = thread_resources->next;
}
tsrm_mutex_unlock(tsmm_mutex);
}/*}}}*/
}
/* deallocates all occurrences of a given id */
void ts_free_id(ts_rsrc_id id)
{/*{{{*/
int i;
int j = TSRM_UNSHUFFLE_RSRC_ID(id);
{
}
tsrm_mutex_lock(tsmm_mutex);
TSRM_ERROR((TSRM_ERROR_LEVEL_CORE, "Freeing resource id %d", id));
if (tsrm_tls_table) {
for (i=0; i<tsrm_tls_table_size; i++) {
tsrm_tls_entry *p = tsrm_tls_table[i];
while (p) {
if (p->count > j && p->storage[j]) {
if (resource_types_table && resource_types_table[j].dtor) {
resource_types_table[j].dtor(p->storage[j]);
}
if (!resource_types_table[j].fast_offset) {
free(p->storage[j]);
}
p->storage[j] = NULL;
}
p = p->next;
}
}
}
resource_types_table[j].done = 1;
tsrm_mutex_unlock(tsmm_mutex);
TSRM_ERROR((TSRM_ERROR_LEVEL_CORE, "Successfully freed resource id %d", id));
}/*}}}*/
/*
@@ -557,129 +425,161 @@ void ts_free_id(ts_rsrc_id id)
/* Obtain the current thread id */
TSRM_API THREAD_T tsrm_thread_id(void)
{/*{{{*/
{
#ifdef TSRM_WIN32
return GetCurrentThreadId();
#else
#elif defined(GNUPTH)
return pth_self();
#elif defined(PTHREADS)
return pthread_self();
#elif defined(NSAPI)
return systhread_current();
#elif defined(PI3WEB)
return PIThread_getCurrent();
#elif defined(TSRM_ST)
return st_thread_self();
#elif defined(BETHREADS)
return find_thread(NULL);
#endif
}/*}}}*/
}
/* Allocate a mutex */
TSRM_API MUTEX_T tsrm_mutex_alloc(void)
{/*{{{*/
{
MUTEX_T mutexp;
#ifdef TSRM_WIN32
mutexp = malloc(sizeof(CRITICAL_SECTION));
InitializeCriticalSection(mutexp);
#else
#elif defined(GNUPTH)
mutexp = (MUTEX_T) malloc(sizeof(*mutexp));
pth_mutex_init(mutexp);
#elif defined(PTHREADS)
mutexp = (pthread_mutex_t *)malloc(sizeof(pthread_mutex_t));
pthread_mutex_init(mutexp,NULL);
#elif defined(NSAPI)
mutexp = crit_init();
#elif defined(PI3WEB)
mutexp = PIPlatform_allocLocalMutex();
#elif defined(TSRM_ST)
mutexp = st_mutex_new();
#elif defined(BETHREADS)
mutexp = (beos_ben*)malloc(sizeof(beos_ben));
mutexp->ben = 0;
mutexp->sem = create_sem(1, "PHP sempahore");
#endif
#ifdef THR_DEBUG
printf("Mutex created thread: %d\n",mythreadid());
#endif
return( mutexp );
}/*}}}*/
}
/* Free a mutex */
TSRM_API void tsrm_mutex_free(MUTEX_T mutexp)
{/*{{{*/
{
if (mutexp) {
#ifdef TSRM_WIN32
DeleteCriticalSection(mutexp);
free(mutexp);
#else
#elif defined(GNUPTH)
free(mutexp);
#elif defined(PTHREADS)
pthread_mutex_destroy(mutexp);
free(mutexp);
#elif defined(NSAPI)
crit_terminate(mutexp);
#elif defined(PI3WEB)
PISync_delete(mutexp);
#elif defined(TSRM_ST)
st_mutex_destroy(mutexp);
#elif defined(BETHREADS)
delete_sem(mutexp->sem);
free(mutexp);
#endif
}
#ifdef THR_DEBUG
printf("Mutex freed thread: %d\n",mythreadid());
#endif
}/*}}}*/
}
/*
Lock a mutex.
A return value of 0 indicates success
*/
/* Lock a mutex */
TSRM_API int tsrm_mutex_lock(MUTEX_T mutexp)
{/*{{{*/
{
TSRM_ERROR((TSRM_ERROR_LEVEL_INFO, "Mutex locked thread: %ld", tsrm_thread_id()));
#ifdef TSRM_WIN32
EnterCriticalSection(mutexp);
return 0;
#else
return 1;
#elif defined(GNUPTH)
return pth_mutex_acquire(mutexp, 0, NULL);
#elif defined(PTHREADS)
return pthread_mutex_lock(mutexp);
#elif defined(NSAPI)
return crit_enter(mutexp);
#elif defined(PI3WEB)
return PISync_lock(mutexp);
#elif defined(TSRM_ST)
return st_mutex_lock(mutexp);
#elif defined(BETHREADS)
if (atomic_add(&mutexp->ben, 1) != 0)
return acquire_sem(mutexp->sem);
return 0;
#endif
}/*}}}*/
}
/*
Unlock a mutex.
A return value of 0 indicates success
*/
/* Unlock a mutex */
TSRM_API int tsrm_mutex_unlock(MUTEX_T mutexp)
{/*{{{*/
{
TSRM_ERROR((TSRM_ERROR_LEVEL_INFO, "Mutex unlocked thread: %ld", tsrm_thread_id()));
#ifdef TSRM_WIN32
LeaveCriticalSection(mutexp);
return 0;
#else
return 1;
#elif defined(GNUPTH)
return pth_mutex_release(mutexp);
#elif defined(PTHREADS)
return pthread_mutex_unlock(mutexp);
#elif defined(NSAPI)
return crit_exit(mutexp);
#elif defined(PI3WEB)
return PISync_unlock(mutexp);
#elif defined(TSRM_ST)
return st_mutex_unlock(mutexp);
#elif defined(BETHREADS)
if (atomic_add(&mutexp->ben, -1) != 1)
return release_sem(mutexp->sem);
return 0;
#endif
}/*}}}*/
/*
Changes the signal mask of the calling thread
*/
#ifdef HAVE_SIGPROCMASK
TSRM_API int tsrm_sigmask(int how, const sigset_t *set, sigset_t *oldset)
{/*{{{*/
TSRM_ERROR((TSRM_ERROR_LEVEL_INFO, "Changed sigmask in thread: %ld", tsrm_thread_id()));
return pthread_sigmask(how, set, oldset);
}/*}}}*/
#endif
}
TSRM_API void *tsrm_set_new_thread_begin_handler(tsrm_thread_begin_func_t new_thread_begin_handler)
{/*{{{*/
{
void *retval = (void *) tsrm_new_thread_begin_handler;
tsrm_new_thread_begin_handler = new_thread_begin_handler;
return retval;
}/*}}}*/
}
TSRM_API void *tsrm_set_new_thread_end_handler(tsrm_thread_end_func_t new_thread_end_handler)
{/*{{{*/
{
void *retval = (void *) tsrm_new_thread_end_handler;
tsrm_new_thread_end_handler = new_thread_end_handler;
return retval;
}/*}}}*/
}
TSRM_API void *tsrm_set_shutdown_handler(tsrm_shutdown_func_t shutdown_handler)
{/*{{{*/
void *retval = (void *) tsrm_shutdown_handler;
tsrm_shutdown_handler = shutdown_handler;
return retval;
}/*}}}*/
/*
* Debug support
*/
#ifdef TSRM_DEBUG
#if TSRM_DEBUG
int tsrm_error(int level, const char *format, ...)
{/*{{{*/
{
if (level<=tsrm_error_level) {
va_list args;
int size;
@@ -694,15 +594,15 @@ int tsrm_error(int level, const char *format, ...)
} else {
return 0;
}
}/*}}}*/
}
#endif
void tsrm_error_set(int level, const char *debug_filename)
{/*{{{*/
void tsrm_error_set(int level, char *debug_filename)
{
tsrm_error_level = level;
#ifdef TSRM_DEBUG
#if TSRM_DEBUG
if (tsrm_error_file!=stderr) { /* close files opened earlier */
fclose(tsrm_error_file);
}
@@ -716,53 +616,6 @@ void tsrm_error_set(int level, const char *debug_filename)
tsrm_error_file = stderr;
}
#endif
}/*}}}*/
TSRM_API void *tsrm_get_ls_cache(void)
{/*{{{*/
return tsrm_tls_get();
}/*}}}*/
/* Returns offset of tsrm_ls_cache slot from Thread Control Block address */
TSRM_API size_t tsrm_get_ls_cache_tcb_offset(void)
{/*{{{*/
#if defined(__APPLE__) && defined(__x86_64__)
// TODO: Implement support for fast JIT ZTS code ???
return 0;
#elif defined(__x86_64__) && defined(__GNUC__) && !defined(__FreeBSD__)
size_t ret;
asm ("movq _tsrm_ls_cache@gottpoff(%%rip),%0"
: "=r" (ret));
return ret;
#elif defined(__i386__) && defined(__GNUC__) && !defined(__FreeBSD__)
size_t ret;
asm ("leal _tsrm_ls_cache@ntpoff,%0"
: "=r" (ret));
return ret;
#else
return 0;
#endif
}/*}}}*/
TSRM_API uint8_t tsrm_is_main_thread(void)
{/*{{{*/
return in_main_thread;
}/*}}}*/
TSRM_API uint8_t tsrm_is_shutdown(void)
{/*{{{*/
return is_thread_shutdown;
}/*}}}*/
TSRM_API const char *tsrm_api_name(void)
{/*{{{*/
#ifdef TSRM_WIN32
return "Windows Threads";
#else
return "POSIX Threads";
#endif
}/*}}}*/
}
#endif /* ZTS */
+186
View File
@@ -0,0 +1,186 @@
# Microsoft Developer Studio Project File - Name="TSRM" - Package Owner=<4>
# Microsoft Developer Studio Generated Build File, Format Version 6.00
# ** DO NOT EDIT **
# TARGTYPE "Win32 (x86) Static Library" 0x0104
CFG=TSRM - Win32 Debug_TS
!MESSAGE This is not a valid makefile. To build this project using NMAKE,
!MESSAGE use the Export Makefile command and run
!MESSAGE
!MESSAGE NMAKE /f "TSRM.mak".
!MESSAGE
!MESSAGE You can specify a configuration when running NMAKE
!MESSAGE by defining the macro CFG on the command line. For example:
!MESSAGE
!MESSAGE NMAKE /f "TSRM.mak" CFG="TSRM - Win32 Debug_TS"
!MESSAGE
!MESSAGE Possible choices for configuration are:
!MESSAGE
!MESSAGE "TSRM - Win32 Debug_TS" (based on "Win32 (x86) Static Library")
!MESSAGE "TSRM - Win32 Release_TS" (based on "Win32 (x86) Static Library")
!MESSAGE "TSRM - Win32 Release_TS_inline" (based on "Win32 (x86) Static Library")
!MESSAGE "TSRM - Win32 Release_TSDbg" (based on "Win32 (x86) Static Library")
!MESSAGE
# Begin Project
# PROP AllowPerConfigDependencies 0
# PROP Scc_ProjName ""
# PROP Scc_LocalPath ""
CPP=cl.exe
RSC=rc.exe
!IF "$(CFG)" == "TSRM - Win32 Debug_TS"
# PROP BASE Use_MFC 0
# PROP BASE Use_Debug_Libraries 1
# PROP BASE Output_Dir "TSRM___Win32_Debug_TS"
# PROP BASE Intermediate_Dir "TSRM___Win32_Debug_TS"
# PROP BASE Target_Dir ""
# PROP Use_MFC 0
# PROP Use_Debug_Libraries 1
# PROP Output_Dir "Debug_TS"
# PROP Intermediate_Dir "Debug_TS"
# PROP Target_Dir ""
# ADD BASE CPP /nologo /W3 /Gm /GX /ZI /Od /I "C:\Projects\TSRM" /D "WIN32" /D "_DEBUG" /D "_MBCS" /D "_LIB" /YX /FD /GZ /c
# ADD CPP /nologo /MDd /W3 /Gm /GX /ZI /Od /I "." /D "_DEBUG" /D "ZTS" /D "_LIB" /D "TSRM_EXPORTS" /D "WIN32" /D "_MBCS" /D TSRM_DEBUG=1 /YX /FD /GZ /c
# ADD BASE RSC /l 0x40d /d "_DEBUG"
# ADD RSC /l 0x40d /d "_DEBUG"
BSC32=bscmake.exe
# ADD BASE BSC32 /nologo
# ADD BSC32 /nologo
LIB32=link.exe -lib
# ADD BASE LIB32 /nologo
# ADD LIB32 /nologo
!ELSEIF "$(CFG)" == "TSRM - Win32 Release_TS"
# PROP BASE Use_MFC 0
# PROP BASE Use_Debug_Libraries 0
# PROP BASE Output_Dir "TSRM___Win32_Release_TS"
# PROP BASE Intermediate_Dir "TSRM___Win32_Release_TS"
# PROP BASE Target_Dir ""
# PROP Use_MFC 0
# PROP Use_Debug_Libraries 0
# PROP Output_Dir "Release_TS"
# PROP Intermediate_Dir "Release_TS"
# PROP Target_Dir ""
# ADD BASE CPP /nologo /W3 /GX /O2 /D "WIN32" /D "NDEBUG" /D "_MBCS" /D "_LIB" /YX /FD /c
# ADD CPP /nologo /MD /W3 /GX /O2 /I "." /D "NDEBUG" /D "ZTS" /D "_LIB" /D "TSRM_EXPORTS" /D "WIN32" /D "_MBCS" /D TSRM_DEBUG=0 /YX /FD /c
# ADD BASE RSC /l 0x40d /d "NDEBUG"
# ADD RSC /l 0x40d /d "NDEBUG"
BSC32=bscmake.exe
# ADD BASE BSC32 /nologo
# ADD BSC32 /nologo
LIB32=link.exe -lib
# ADD BASE LIB32 /nologo
# ADD LIB32 /nologo
!ELSEIF "$(CFG)" == "TSRM - Win32 Release_TS_inline"
# PROP BASE Use_MFC 0
# PROP BASE Use_Debug_Libraries 0
# PROP BASE Output_Dir "TSRM___Win32_Release_TS_inline"
# PROP BASE Intermediate_Dir "TSRM___Win32_Release_TS_inline"
# PROP BASE Target_Dir ""
# PROP Use_MFC 0
# PROP Use_Debug_Libraries 0
# PROP Output_Dir "Release_TS_inline"
# PROP Intermediate_Dir "Release_TS_inline"
# PROP Target_Dir ""
# ADD BASE CPP /nologo /MD /W3 /GX /O2 /I "." /D "NDEBUG" /D "WIN32" /D "_MBCS" /D "_LIB" /D "TSRM_EXPORTS" /YX /FD /c
# ADD CPP /nologo /MD /W3 /GX /O2 /I "." /D "NDEBUG" /D "ZTS" /D "_LIB" /D "TSRM_EXPORTS" /D "WIN32" /D "_MBCS" /D TSRM_DEBUG=0 /YX /FD /c
# ADD BASE RSC /l 0x40d /d "NDEBUG"
# ADD RSC /l 0x40d /d "NDEBUG"
BSC32=bscmake.exe
# ADD BASE BSC32 /nologo
# ADD BSC32 /nologo
LIB32=link.exe -lib
# ADD BASE LIB32 /nologo
# ADD LIB32 /nologo
!ELSEIF "$(CFG)" == "TSRM - Win32 Release_TSDbg"
# PROP BASE Use_MFC 0
# PROP BASE Use_Debug_Libraries 0
# PROP BASE Output_Dir "TSRM___Win32_Release_TSDbg"
# PROP BASE Intermediate_Dir "TSRM___Win32_Release_TSDbg"
# PROP BASE Target_Dir ""
# PROP Use_MFC 0
# PROP Use_Debug_Libraries 0
# PROP Output_Dir "Release_TSDbg"
# PROP Intermediate_Dir "Release_TSDbg"
# PROP Target_Dir ""
# ADD BASE CPP /nologo /MD /W3 /GX /O2 /I "." /D "NDEBUG" /D "ZTS" /D "_LIB" /D "TSRM_EXPORTS" /D "WIN32" /D "_MBCS" /D TSRM_DEBUG=0 /YX /FD /c
# ADD CPP /nologo /MD /W3 /GX /Zi /Od /I "." /D "NDEBUG" /D "ZTS" /D "_LIB" /D "TSRM_EXPORTS" /D "WIN32" /D "_MBCS" /D TSRM_DEBUG=0 /YX /FD /c
# ADD BASE RSC /l 0x40d /d "NDEBUG"
# ADD RSC /l 0x40d /d "NDEBUG"
BSC32=bscmake.exe
# ADD BASE BSC32 /nologo
# ADD BSC32 /nologo
LIB32=link.exe -lib
# ADD BASE LIB32 /nologo
# ADD LIB32 /nologo
!ENDIF
# Begin Target
# Name "TSRM - Win32 Debug_TS"
# Name "TSRM - Win32 Release_TS"
# Name "TSRM - Win32 Release_TS_inline"
# Name "TSRM - Win32 Release_TSDbg"
# Begin Group "Source Files"
# PROP Default_Filter "cpp;c;cxx;rc;def;r;odl;idl;hpj;bat"
# Begin Source File
SOURCE=.\TSRM.c
# End Source File
# Begin Source File
SOURCE=.\tsrm_strtok_r.c
# End Source File
# Begin Source File
SOURCE=.\tsrm_virtual_cwd.c
# End Source File
# Begin Source File
SOURCE=.\tsrm_win32.c
# End Source File
# End Group
# Begin Group "Header Files"
# PROP Default_Filter "h;hpp;hxx;hm;inl"
# Begin Source File
SOURCE=.\readdir.h
# End Source File
# Begin Source File
SOURCE=.\TSRM.h
# End Source File
# Begin Source File
SOURCE=.\tsrm_config.w32.h
# End Source File
# Begin Source File
SOURCE=.\tsrm_config_common.h
# End Source File
# Begin Source File
SOURCE=.\tsrm_strtok_r.h
# End Source File
# Begin Source File
SOURCE=.\tsrm_virtual_cwd.h
# End Source File
# Begin Source File
SOURCE=.\tsrm_win32.h
# End Source File
# End Group
# End Target
# End Project
+57 -96
View File
@@ -2,58 +2,51 @@
+----------------------------------------------------------------------+
| Thread Safe Resource Manager |
+----------------------------------------------------------------------+
| Copyright (c) 1999-2011, Andi Gutmans, Sascha Schumann, Zeev Suraski |
| Copyright (c) 1999, 2000, Andi Gutmans, Sascha Schumann, Zeev Suraski|
| This source file is subject to the TSRM license, that is bundled |
| with this package in the file LICENSE |
+----------------------------------------------------------------------+
| Authors: Zeev Suraski <zeev@php.net> |
| Authors: Zeev Suraski <zeev@zend.com> |
+----------------------------------------------------------------------+
*/
#ifndef TSRM_H
#define TSRM_H
#if !defined(__CYGWIN__) && defined(WIN32)
# define TSRM_WIN32
# include "Zend/zend_config.w32.h"
#else
# include "main/php_config.h"
/* #ifndef WIN32 */
#if !defined(WIN32)
# include <tsrm_config.h>
#endif
#include "main/php_stdint.h"
#ifdef WIN32
# define TSRM_WIN32
# include "tsrm_config.w32.h"
#endif
#ifdef TSRM_WIN32
# ifdef TSRM_EXPORTS
# define TSRM_API __declspec(dllexport)
# define TSRM_API __declspec(dllexport)
# else
# define TSRM_API __declspec(dllimport)
# define TSRM_API __declspec(dllimport)
# endif
#elif defined(__GNUC__) && __GNUC__ >= 4
# define TSRM_API __attribute__ ((visibility("default")))
#else
# define TSRM_API
#endif
typedef intptr_t tsrm_intptr_t;
typedef uintptr_t tsrm_uintptr_t;
/* Only compile multi-threading functions if we're in ZTS mode */
#ifdef ZTS
#ifdef TSRM_WIN32
# ifndef TSRM_INCLUDE_FULL_WINDOWS_HEADERS
# define WIN32_LEAN_AND_MEAN
# endif
#else
# include <windows.h>
#elif defined(GNUPTH)
# include <pth.h>
#elif defined(PTHREADS)
# include <pthread.h>
#endif
#if SIZEOF_SIZE_T == 4
# define TSRM_ALIGNED_SIZE(size) \
(((size) + INT32_C(15)) & ~INT32_C(15))
#else
# define TSRM_ALIGNED_SIZE(size) \
(((size) + INT64_C(15)) & ~INT64_C(15))
#elif defined(TSRM_ST)
# include <st.h>
#elif defined(BETHREADS)
#include <kernel/OS.h>
#include <TLS.h>
#endif
typedef int ts_rsrc_id;
@@ -62,15 +55,32 @@ typedef int ts_rsrc_id;
#ifdef TSRM_WIN32
# define THREAD_T DWORD
# define MUTEX_T CRITICAL_SECTION *
#else
#elif defined(GNUPTH)
# define THREAD_T pth_t
# define MUTEX_T pth_mutex_t *
#elif defined(PTHREADS)
# define THREAD_T pthread_t
# define MUTEX_T pthread_mutex_t *
#elif defined(NSAPI)
# define THREAD_T SYS_THREAD
# define MUTEX_T CRITICAL
#elif defined(PI3WEB)
# define THREAD_T PIThread *
# define MUTEX_T PISync *
#elif defined(TSRM_ST)
# define THREAD_T st_thread_t
# define MUTEX_T st_mutex_t
#elif defined(BETHREADS)
# define THREAD_T thread_id
typedef struct {
sem_id sem;
int32 ben;
} beos_ben;
# define MUTEX_T beos_ben *
#endif
#include <signal.h>
typedef void (*ts_allocate_ctor)(void *);
typedef void (*ts_allocate_dtor)(void *);
typedef void (*ts_allocate_ctor)(void *, void ***);
typedef void (*ts_allocate_dtor)(void *, void ***);
#define THREAD_HASH_OF(thr,ts) (unsigned long)thr%(unsigned long)ts
@@ -79,20 +89,12 @@ extern "C" {
#endif
/* startup/shutdown */
TSRM_API int tsrm_startup(int expected_threads, int expected_resources, int debug_level, const char *debug_filename);
TSRM_API int tsrm_startup(int expected_threads, int expected_resources, int debug_level, char *debug_filename);
TSRM_API void tsrm_shutdown(void);
/* environ lock API */
TSRM_API void tsrm_env_lock(void);
TSRM_API void tsrm_env_unlock(void);
/* allocates a new thread-safe-resource id */
TSRM_API ts_rsrc_id ts_allocate_id(ts_rsrc_id *rsrc_id, size_t size, ts_allocate_ctor ctor, ts_allocate_dtor dtor);
/* Fast resource in reserved (pre-allocated) space */
TSRM_API void tsrm_reserve(size_t size);
TSRM_API ts_rsrc_id ts_allocate_fast_id(ts_rsrc_id *rsrc_id, size_t *offset, size_t size, ts_allocate_ctor ctor, ts_allocate_dtor dtor);
/* fetches the requested resource for the current thread */
TSRM_API void *ts_resource_ex(ts_rsrc_id id, THREAD_T *th_id);
#define ts_resource(id) ts_resource_ex(id, NULL)
@@ -109,13 +111,12 @@ TSRM_API void ts_free_id(ts_rsrc_id id);
#define TSRM_ERROR_LEVEL_CORE 2
#define TSRM_ERROR_LEVEL_INFO 3
typedef void (*tsrm_thread_begin_func_t)(THREAD_T thread_id);
typedef void (*tsrm_thread_end_func_t)(THREAD_T thread_id);
typedef void (*tsrm_shutdown_func_t)(void);
typedef void (*tsrm_thread_begin_func_t)(THREAD_T thread_id, void ***tsrm_ls);
typedef void (*tsrm_thread_end_func_t)(THREAD_T thread_id, void ***tsrm_ls);
TSRM_API int tsrm_error(int level, const char *format, ...);
TSRM_API void tsrm_error_set(int level, const char *debug_filename);
TSRM_API void tsrm_error_set(int level, char *debug_filename);
/* utility functions */
TSRM_API THREAD_T tsrm_thread_id(void);
@@ -123,54 +124,19 @@ TSRM_API MUTEX_T tsrm_mutex_alloc(void);
TSRM_API void tsrm_mutex_free(MUTEX_T mutexp);
TSRM_API int tsrm_mutex_lock(MUTEX_T mutexp);
TSRM_API int tsrm_mutex_unlock(MUTEX_T mutexp);
#ifdef HAVE_SIGPROCMASK
TSRM_API int tsrm_sigmask(int how, const sigset_t *set, sigset_t *oldset);
#endif
TSRM_API void *tsrm_set_new_thread_begin_handler(tsrm_thread_begin_func_t new_thread_begin_handler);
TSRM_API void *tsrm_set_new_thread_end_handler(tsrm_thread_end_func_t new_thread_end_handler);
TSRM_API void *tsrm_set_shutdown_handler(tsrm_shutdown_func_t shutdown_handler);
TSRM_API void *tsrm_get_ls_cache(void);
TSRM_API size_t tsrm_get_ls_cache_tcb_offset(void);
TSRM_API uint8_t tsrm_is_main_thread(void);
TSRM_API uint8_t tsrm_is_shutdown(void);
TSRM_API const char *tsrm_api_name(void);
#ifdef TSRM_WIN32
# define TSRM_TLS __declspec(thread)
#else
# define TSRM_TLS __thread
#endif
#ifndef __has_attribute
# define __has_attribute(x) 0
#endif
#if !__has_attribute(tls_model) || defined(__FreeBSD__)
# define TSRM_TLS_MODEL_ATTR
#elif __PIC__
# define TSRM_TLS_MODEL_ATTR __attribute__((tls_model("initial-exec")))
#else
# define TSRM_TLS_MODEL_ATTR __attribute__((tls_model("local-exec")))
#endif
#define TSRM_SHUFFLE_RSRC_ID(rsrc_id) ((rsrc_id)+1)
#define TSRM_UNSHUFFLE_RSRC_ID(rsrc_id) ((rsrc_id)-1)
#define TSRMG(id, type, element) (TSRMG_BULK(id, type)->element)
#define TSRMG_BULK(id, type) ((type) (*((void ***) tsrm_get_ls_cache()))[TSRM_UNSHUFFLE_RSRC_ID(id)])
#define TSRMG_FAST(offset, type, element) (TSRMG_FAST_BULK(offset, type)->element)
#define TSRMG_FAST_BULK(offset, type) ((type) (((char*) tsrm_get_ls_cache())+(offset)))
#define TSRMG_STATIC(id, type, element) (TSRMG_BULK_STATIC(id, type)->element)
#define TSRMG_BULK_STATIC(id, type) ((type) (*((void ***) TSRMLS_CACHE))[TSRM_UNSHUFFLE_RSRC_ID(id)])
#define TSRMG_FAST_STATIC(offset, type, element) (TSRMG_FAST_BULK_STATIC(offset, type)->element)
#define TSRMG_FAST_BULK_STATIC(offset, type) ((type) (((char*) TSRMLS_CACHE)+(offset)))
#define TSRMLS_CACHE_EXTERN() extern TSRM_TLS void *TSRMLS_CACHE TSRM_TLS_MODEL_ATTR;
#define TSRMLS_CACHE_DEFINE() TSRM_TLS void *TSRMLS_CACHE TSRM_TLS_MODEL_ATTR = NULL;
#define TSRMLS_CACHE_UPDATE() TSRMLS_CACHE = tsrm_get_ls_cache()
#define TSRMLS_CACHE _tsrm_ls_cache
#define TSRMLS_FETCH() void ***tsrm_ls = (void ***) ts_resource_ex(0, NULL)
#define TSRMG(id, type, element) (((type) (*((void ***) tsrm_ls))[TSRM_UNSHUFFLE_RSRC_ID(id)])->element)
#define TSRMLS_D void ***tsrm_ls
#define TSRMLS_DC , TSRMLS_D
#define TSRMLS_C tsrm_ls
#define TSRMLS_CC , TSRMLS_C
#ifdef __cplusplus
}
@@ -178,16 +144,11 @@ TSRM_API const char *tsrm_api_name(void);
#else /* non ZTS */
#define tsrm_env_lock()
#define tsrm_env_unlock()
#define TSRMG_STATIC(id, type, element)
#define TSRMLS_CACHE_EXTERN()
#define TSRMLS_CACHE_DEFINE()
#define TSRMLS_CACHE_UPDATE()
#define TSRMLS_CACHE
#define TSRM_TLS
#define TSRMLS_FETCH()
#define TSRMLS_D void
#define TSRMLS_DC
#define TSRMLS_C
#define TSRMLS_CC
#endif /* ZTS */
+1
View File
@@ -0,0 +1 @@
#undef PTHREADS
+5
View File
@@ -0,0 +1,5 @@
AC_DEFUN([AM_SET_LIBTOOL_VARIABLE],[
LIBTOOL='$(SHELL) $(top_builddir)/libtool $1'
])
+43
View File
@@ -0,0 +1,43 @@
# Makefile to generate build tools
#
# Standard usage:
# make -f build.mk
#
# Written by Sascha Schumann
#
# $Id$
LT_TARGETS = ltmain.sh ltconfig
config_h_in = tsrm_config.h.in
makefile_am_files = Makefile.am
makefile_in_files = $(makefile_am_files:.am=.in)
makefile_files = $(makefile_am_files:e.am=e)
targets = $(makefile_in_files) $(LT_TARGETS) configure $(config_h_in)
all: $(targets)
clean:
rm -f $(targets)
$(LT_TARGETS):
rm -f $(LT_TARGETS)
libtoolize --automake $(AMFLAGS) -f
$(makefile_in_files): $(makefile_am_files)
automake -a -i $(AMFLAGS) $(makefile_files)
aclocal.m4: configure.in acinclude.m4
aclocal
$(config_h_in): configure.in acconfig.h
# explicitly remove target since autoheader does not seem to work
# correctly otherwise (timestamps are not updated)
@rm -f $@
autoheader
configure: aclocal.m4 configure.in
autoconf
Executable
+33
View File
@@ -0,0 +1,33 @@
#!/bin/sh
case "$1" in
--copy)
automake_flags=--copy
shift
;;
esac
libtoolize --force --automake $automake_flags
mv aclocal.m4 aclocal.m4.old 2>/dev/null
aclocal
if cmp aclocal.m4.old aclocal.m4 > /dev/null 2>&1; then
echo "buildconf: keeping ${1}aclocal.m4"
mv aclocal.m4.old aclocal.m4
else
echo "buildconf: created or modified ${1}aclocal.m4"
fi
autoheader
automake --add-missing --include-deps $automake_flags
mv configure configure.old 2>/dev/null
autoconf
if cmp configure.old configure > /dev/null 2>&1; then
echo "buildconf: keeping ${1}configure"
mv configure.old configure
else
echo "buildconf: created or modified ${1}configure"
fi
-4
View File
@@ -1,4 +0,0 @@
// vim:ft=javascript
ADD_SOURCES("TSRM", "TSRM.c tsrm_win32.c");
ADD_FLAG("CFLAGS_BD_TSRM", "/D ZEND_ENABLE_STATIC_TSRMLS_CACHE=1");
+31
View File
@@ -0,0 +1,31 @@
dnl $Id$
dnl
dnl Minimalistic configure.in for TSRM.
dnl
AC_INIT(TSRM.c)
AM_INIT_AUTOMAKE(TSRM, 1.0, nodefine)
AM_CONFIG_HEADER(tsrm_config.h)
sinclude(tsrm.m4)
TSRM_BASIC_CHECKS
TSRM_THREADS_CHECKS
AM_PROG_LIBTOOL
if test "$enable_debug" != "yes"; then
AM_SET_LIBTOOL_VARIABLE([--silent])
fi
dnl TSRM_PTHREAD
AC_CHECK_HEADERS(
utime.h \
dirent.h \
stdarg.h \
alloca.h \
unistd.h \
limits.h
)
AC_OUTPUT(Makefile)
+44
View File
@@ -0,0 +1,44 @@
#ifndef READDIR_H
#define READDIR_H
/*
* Structures and types used to implement opendir/readdir/closedir
* on Windows 95/NT.
*/
#include <io.h>
#include <stdio.h>
#include <stdlib.h>
#include <sys/types.h>
/* struct dirent - same as Unix */
struct dirent {
long d_ino; /* inode (always 1 in WIN32) */
off_t d_off; /* offset to this dirent */
unsigned short d_reclen; /* length of d_name */
char d_name[_MAX_FNAME + 1]; /* filename (null terminated) */
};
/* typedef DIR - not the same as Unix */
typedef struct {
long handle; /* _findfirst/_findnext handle */
short offset; /* offset into directory */
short finished; /* 1 if there are not more files */
struct _finddata_t fileinfo; /* from _findfirst/_findnext */
char *dir; /* the dir we are reading */
struct dirent dent; /* the dirent to return */
} DIR;
/* Function prototypes */
DIR *opendir(const char *);
struct dirent *readdir(DIR *);
int readdir_r(DIR *, struct dirent *, struct dirent **);
int closedir(DIR *);
void rewinddir(DIR *);
#endif /* READDIR_H */
+69 -36
View File
@@ -1,17 +1,17 @@
dnl Copyright (c) 1999, 2000 Sascha Schumann. All rights reserved.
dnl
dnl
dnl Redistribution and use in source and binary forms, with or without
dnl modification, are permitted provided that the following conditions
dnl are met:
dnl
dnl
dnl 1. Redistributions of source code must retain the above copyright
dnl notice, this list of conditions and the following disclaimer.
dnl
dnl
dnl 2. Redistributions in binary form must reproduce the above copyright
dnl notice, this list of conditions and the following disclaimer in
dnl the documentation and/or other materials provided with the
dnl distribution.
dnl
dnl
dnl THIS SOFTWARE IS PROVIDED BY SASCHA SCHUMANN ``AS IS'' AND ANY
dnl EXPRESSED OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
dnl IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR
@@ -28,7 +28,7 @@ dnl OF THE POSSIBILITY OF SUCH DAMAGE.
dnl
dnl PTHREADS_FLAGS
dnl
dnl Set some magic defines to achieve POSIX threads conformance.
dnl Set some magic defines to achieve POSIX threads conformance
dnl
AC_DEFUN([PTHREADS_FLAGS],[
if test -z "$host_alias" && test -n "$host"; then
@@ -52,20 +52,21 @@ AC_DEFUN([PTHREADS_FLAGS],[
PTHREAD_FLAGS=-D_REENTRANT;;
*sco*)
PTHREAD_FLAGS=-D_REENTRANT;;
dnl Solves sigwait() problem, creates problems with u_long etc.
dnl PTHREAD_FLAGS="-D_REENTRANT -D_XOPEN_SOURCE=500 -D_POSIX_C_SOURCE=199506 -D_XOPEN_SOURCE_EXTENDED=1";;
esac
if test -n "$PTHREAD_FLAGS"; then
CPPFLAGS="$CPPFLAGS $PTHREAD_FLAGS"
fi
])
])dnl
dnl
dnl PTHREADS_CHECK_COMPILE
dnl
dnl Check whether the current setup can use POSIX threads calls.
dnl Check whether the current setup can use POSIX threads calls
dnl
AC_DEFUN([PTHREADS_CHECK_COMPILE], [
AC_LINK_IFELSE([ AC_LANG_SOURCE([
AC_TRY_RUN( [
#include <pthread.h>
#include <stddef.h>
@@ -79,17 +80,23 @@ int main() {
int data = 1;
pthread_mutexattr_init(&mattr);
return pthread_create(&thd, NULL, thread_routine, &data);
} ]) ], [
pthreads_checked=yes
} ], [
pthreads_working=yes
], [
pthreads_checked=no
]
) ] )
pthreads_working=no
], [
dnl For cross compiling running this test is of no use. NetWare supports pthreads
pthreads_working=no
case $host_alias in
*netware*)
pthreads_working=yes
esac
]
) ] )dnl
dnl
dnl PTHREADS_CHECK
dnl PTHREADS_CHECK()
dnl
dnl Try to find a way to enable POSIX threads.
dnl Try to find a way to enable POSIX threads
dnl
dnl Magic flags
dnl -kthread gcc (FreeBSD)
@@ -97,36 +104,49 @@ dnl -Kthread UDK cc (UnixWare)
dnl -mt WorkShop cc (Solaris)
dnl -mthreads gcc (AIX)
dnl -pthread gcc (Linux, FreeBSD, NetBSD, OpenBSD)
dnl -pthreads gcc (Solaris)
dnl -pthreads gcc (Solaris)
dnl -qthreaded AIX cc V5
dnl -threads gcc (HP-UX)
dnl
AC_DEFUN([PTHREADS_CHECK],[
AC_CACHE_CHECK(for pthreads_cflags,ac_cv_pthreads_cflags,[
ac_cv_pthreads_cflags=
if test "$pthreads_working" != "yes"; then
for flag in -kthread -pthread -pthreads -mthreads -Kthread -threads -mt -qthreaded; do
ac_save=$CFLAGS
CFLAGS="$CFLAGS $flag"
PTHREADS_CHECK_COMPILE
CFLAGS=$ac_save
if test "$pthreads_checked" = "yes"; then
ac_cv_pthreads_cflags=$flag
break
fi
done
if test "$beos_threads" = "1"; then
pthreads_working="yes"
ac_cv_pthreads_cflags=""
else
save_CFLAGS=$CFLAGS
save_LIBS=$LIBS
PTHREADS_ASSIGN_VARS
PTHREADS_CHECK_COMPILE
LIBS=$save_LIBS
CFLAGS=$save_CFLAGS
AC_CACHE_CHECK(for pthreads_cflags,ac_cv_pthreads_cflags,[
ac_cv_pthreads_cflags=
if test "$pthreads_working" != "yes"; then
for flag in -kthread -pthread -pthreads -mthreads -Kthread -threads -mt -qthreaded; do
ac_save=$CFLAGS
CFLAGS="$CFLAGS $flag"
PTHREADS_CHECK_COMPILE
CFLAGS=$ac_save
if test "$pthreads_working" = "yes"; then
ac_cv_pthreads_cflags=$flag
break
fi
done
fi
fi
])
AC_CACHE_CHECK(for pthreads_lib, ac_cv_pthreads_lib,[
ac_cv_pthreads_lib=
if test "$pthreads_working" != "yes"; then
for lib in pthread pthreads c_r; do
for lib in pthread pthreads c_r; do
ac_save=$LIBS
LIBS="$LIBS -l$lib"
PTHREADS_CHECK_COMPILE
LIBS=$ac_save
if test "$pthreads_checked" = "yes"; then
if test "$pthreads_working" = "yes"; then
ac_cv_pthreads_lib=$lib
break
fi
@@ -134,7 +154,20 @@ if test "$pthreads_working" != "yes"; then
fi
])
if test "x$ac_cv_pthreads_cflags" != "x" -o "x$ac_cv_pthreads_lib" != "x"; then
pthreads_working="yes"
if test "$pthreads_working" = "yes"; then
threads_result="POSIX-Threads found"
else
threads_result="POSIX-Threads not found"
fi
])
])dnl
dnl
dnl
AC_DEFUN([PTHREADS_ASSIGN_VARS],[
if test -n "$ac_cv_pthreads_lib"; then
LIBS="$LIBS -l$ac_cv_pthreads_lib"
fi
if test -n "$ac_cv_pthreads_cflags"; then
CFLAGS="$CFLAGS $ac_cv_pthreads_cflags"
fi
])dnl
+123 -11
View File
@@ -1,17 +1,129 @@
dnl This file contains TSRM specific autoconf macros.
dnl
dnl TSRM_CHECK_PTHREADS
dnl
AC_DEFUN([TSRM_CHECK_PTHREADS],[
PTHREADS_CHECK
dnl TSRM_CHECK_GCC_ARG(ARG, ACTION-IF-FOUND, ACTION-IF-NOT_FOUND)
AC_DEFUN([TSRM_CHECK_GCC_ARG],[
gcc_arg_name=[ac_cv_gcc_arg]translit($1,A-Z-,a-z_)
AC_CACHE_CHECK([whether $CC supports $1], [ac_cv_gcc_arg]translit($1,A-Z-,a-z_), [
echo 'void somefunc() { };' > conftest.c
cmd='$CC $1 -c conftest.c'
if eval $cmd 2>&1 | egrep -e $1 >/dev/null ; then
ac_result=no
else
ac_result=yes
fi
eval $gcc_arg_name=$ac_result
rm -f conftest.*
])
if eval test "\$$gcc_arg_name" = "yes"; then
$2
else
:
$3
fi
])
if test "$pthreads_working" != "yes"; then
AC_MSG_ERROR(Your system seems to lack POSIX threads.)
AC_DEFUN([TSRM_BASIC_CHECKS],[
AC_REQUIRE([AC_PROG_CC])dnl
dnl AC_REQUIRE([AM_PROG_CC_STDC])dnl
AC_REQUIRE([AC_PROG_CC_C_O])dnl
AC_REQUIRE([AC_PROG_RANLIB])dnl
AC_CHECK_HEADERS(stdarg.h)
])
AC_DEFUN([TSRM_CHECK_PTH],[
AC_MSG_CHECKING(for GNU Pth)
PTH_PREFIX="`$1 --prefix`"
if test -z "$PTH_PREFIX"; then
AC_MSG_RESULT(Please check your Pth installation)
fi
AC_DEFINE(PTHREADS, 1, Whether to use Pthreads)
CPPFLAGS="$CPPFLAGS `$1 --cflags`"
LDFLAGS="$LDFLAGS `$1 --ldflags`"
LIBS="$LIBS `$1 --libs`"
AC_DEFINE(GNUPTH, 1, [Whether you use GNU Pth])
AC_MSG_RESULT(yes - installed in $PTH_PREFIX)
])
AC_DEFUN([TSRM_CHECK_ST],[
if test -r "$1/include/st.h"; then
CPPFLAGS="$CPPFLAGS -I$1/include"
LDFLAGS="$LDFLAGS -L$1/lib"
elif test -r "$1/st.h"; then
CPPFLAGS="$CPPFLAGS -I$1"
LDFLAGS="$LDFLAGS -L$1"
fi
AC_CHECK_HEADERS(st.h,[],[
AC_MSG_ERROR([Sorry[,] I was unable to locate the State Threads header file. Please specify the prefix using --with-tsrm-st=/prefix])
])
LIBS="$LIBS -lst"
AC_MSG_CHECKING(for SGI's State Threads)
AC_MSG_RESULT(yes)
AC_DEFINE(TSRM_ST, 1, [ ])
])
sinclude(threads.m4)
sinclude(TSRM/threads.m4)
AC_DEFUN([TSRM_CHECK_PTHREADS],[
PTHREADS_CHECK
if test "$beos_threads" = "1"; then
AC_DEFINE(BETHREADS, 1, Whether to use native BeOS threads)
else
if test "$pthreads_working" != "yes"; then
AC_MSG_ERROR(Your system seems to lack POSIX threads.)
fi
AC_DEFINE(PTHREADS, 1, Whether to use Pthreads)
AC_MSG_CHECKING(for POSIX threads)
AC_MSG_RESULT(yes)
fi
])
AC_DEFUN([TSRM_THREADS_CHECKS],[
dnl For the thread implementations, we always use --with-*
dnl to maintain consistency
AC_ARG_WITH(tsrm-pth,
[ --with-tsrm-pth[=pth-config]
Use GNU Pth.],[
TSRM_PTH=$withval
],[
TSRM_PTH=no
])
AC_ARG_WITH(tsrm-st,
[ --with-tsrm-st Use SGI's State Threads],[
TSRM_ST=$withval
],[
TSRM_ST=no
])
AC_ARG_WITH(tsrm-pthreads,
[ --with-tsrm-pthreads Use POSIX threads (default)],[
TSRM_PTHREADS=$withval
],[
TSRM_PTHREADS=yes
])
test "$TSRM_PTH" = "yes" && TSRM_PTH=pth-config
if test "$TSRM_PTH" != "no"; then
TSRM_CHECK_PTH($TSRM_PTH)
elif test "$TSRM_ST" != "no"; then
TSRM_CHECK_ST($TSRM_ST)
elif test "$TSRM_PTHREADS" != "no"; then
TSRM_CHECK_PTHREADS
fi
AC_MSG_CHECKING(for POSIX threads)
AC_MSG_RESULT(yes)
])
+9
View File
@@ -0,0 +1,9 @@
#ifndef TSRM_CONFIG_NW_H
#define TSRM_CONFIG_NW_H
#define HAVE_UTIME 1
/* Though we have alloca(), this seems to be causing some problem with the stack pointer -- hence not using it */
/* #define HAVE_ALLOCA 1 */
#endif
+20
View File
@@ -0,0 +1,20 @@
#ifndef TSRM_CONFIG_W32_H
#define TSRM_CONFIG_W32_H
#define HAVE_UTIME 1
#define HAVE_ALLOCA 1
#define HAVE_REALPATH 1
#include <malloc.h>
#include <stdlib.h>
#include <crtdbg.h>
#undef inline
#ifdef ZEND_WIN32_FORCE_INLINE
# define inline __forceinline
#else
# define inline
#endif
#endif
+60
View File
@@ -0,0 +1,60 @@
#ifndef TSRM_CONFIG_COMMON_H
#define TSRM_CONFIG_COMMON_H
#if WINNT|WIN32
# define TSRM_WIN32
#endif
#ifdef TSRM_WIN32
# include "tsrm_config.w32.h"
#elif defined(NETWARE)
# include "tsrm_config.nw.h"
#else
# include <tsrm_config.h>
# include <sys/param.h>
#endif
#if HAVE_ALLOCA_H && !defined(_ALLOCA_H)
# include <alloca.h>
#endif
/* AIX requires this to be the first thing in the file. */
#ifndef __GNUC__
# ifndef HAVE_ALLOCA_H
# ifdef _AIX
#pragma alloca
# else
# ifndef alloca /* predefined by HP cc +Olibcalls */
char *alloca ();
# endif
# endif
# endif
#endif
#if HAVE_UNISTD_H
#include <unistd.h>
#endif
#if HAVE_LIMITS_H
#include <limits.h>
#endif
#ifndef MAXPATHLEN
# ifdef PATH_MAX
# define MAXPATHLEN PATH_MAX
# elif defined(MAX_PATH)
# define MAXPATHLEN MAX_PATH
# else
# define MAXPATHLEN 256
# endif
#endif
#if (HAVE_ALLOCA || (defined (__GNUC__) && __GNUC__ >= 2))
# define tsrm_do_alloca(p) alloca(p)
# define tsrm_free_alloca(p)
#else
# define tsrm_do_alloca(p) malloc(p)
# define tsrm_free_alloca(p) free(p)
#endif
#endif /* TSRM_CONFIG_COMMON_H */
+260
View File
@@ -0,0 +1,260 @@
/*
+----------------------------------------------------------------------+
| PHP Version 4 |
+----------------------------------------------------------------------+
| Copyright (c) 1997-2007 The PHP Group |
+----------------------------------------------------------------------+
| This source file is subject to version 3.01 of the PHP license, |
| that is bundled with this package in the file LICENSE, and is |
| available through the world-wide-web at the following url: |
| http://www.php.net/license/3_01.txt |
| If you did not receive a copy of the PHP license and are unable to |
| obtain it through the world-wide-web, please send a note to |
| license@php.net so we can mail you a copy immediately. |
+----------------------------------------------------------------------+
| Authors: Venkat Raghavan S <rvenkat@novell.com> |
+----------------------------------------------------------------------+
*/
/* $Id$ */
#include <stdlib.h>
#include <stdio.h>
#include <fcntl.h>
#include "TSRM.h"
#ifdef NETWARE
#ifdef USE_MKFIFO
#include <sys/stat.h>
#elif !defined(USE_PIPE_OPEN) /* NXFifoOpen */
#include <nks/fsio.h>
#endif
#include <nks/vm.h>
#include <nks/memory.h>
#include <string.h>
#include "mktemp.h"
/* strtok() call in LibC is abending when used in a different address space -- hence using
PHP's version itself for now : Venkat (30/4/02) */
#include "tsrm_strtok_r.h"
#define tsrm_strtok_r(a,b,c) strtok((a),(b))
#define WHITESPACE " \t"
#define MAX_ARGS 10
TSRM_API FILE* popen(const char *commandline, const char *type)
{
char *command = NULL, *argv[MAX_ARGS] = {'\0'}, **env = NULL;
char *tempName = "sys:/php/temp/phpXXXXXX.tmp";
char *filePath = NULL;
char *ptr = NULL;
int ptrLen = 0, argc = 0, i = 0, envCount = 0, err = 0;
FILE *stream = NULL;
#if defined(USE_PIPE_OPEN) || defined(USE_MKFIFO)
int pipe_handle;
int mode = O_RDONLY;
#else
NXHandle_t pipe_handle;
NXMode_t mode = NX_O_RDONLY;
#endif
NXExecEnvSpec_t envSpec;
NXNameSpec_t nameSpec;
NXVmId_t newVM = 0;
/* Check for validity of input parameters */
if (!commandline || !type)
return NULL;
/* Get temporary file name */
filePath = mktemp(tempName);
/*consoleprintf ("PHP | popen: file path = %s, mode = %s\n", filePath, type);*/
if (!filePath)
return NULL;
/* Set pipe mode according to type -- for now allow only "r" or "w" */
if (strcmp(type, "r") == 0)
#if defined(USE_PIPE_OPEN) || defined(USE_MKFIFO)
mode = O_RDONLY;
#else
mode = NX_O_RDONLY;
#endif
else if (strcmp(type, "w") == 0)
#if defined(USE_PIPE_OPEN) || defined(USE_MKFIFO)
mode = O_WRONLY;
#else
mode = NX_O_WRONLY;
#endif
else
return NULL;
#ifdef USE_PIPE_OPEN
pipe_handle = pipe_open(filePath, mode);
/*consoleprintf ("PHP | popen: pipe_open() returned %d\n", pipe_handle);*/
if (pipe_handle == -1)
return NULL;
#elif defined(USE_MKFIFO)
pipe_handle = mkfifo(filePath, mode);
consoleprintf ("PHP | popen: mkfifo() returned %d\n", pipe_handle);
if (pipe_handle == -1)
return NULL;
#else
/*
- NetWare doesn't require first parameter
- Allowing LibC to choose the buffer size for now
*/
err = NXFifoOpen(0, filePath, mode, 0, &pipe_handle);
/*consoleprintf ("PHP | popen: NXFifoOpen() returned %d\n", err);*/
if (err)
return NULL;
#endif
/* Copy the environment variables in preparation for the spawn call */
envCount = NXGetEnvCount() + 1; /* add one for NULL */
env = (char**)NXMemAlloc(sizeof(char*) * envCount, 0);
if (!env)
return NULL;
err = NXCopyEnv(env, envCount);
consoleprintf ("PHP | popen: NXCopyEnv() returned %d\n", err);
if (err)
{
NXMemFree (env);
return NULL;
}
/* Separate commandline string into words */
consoleprintf ("PHP | popen: commandline = %s\n", commandline);
ptr = tsrm_strtok_r((char*)commandline, WHITESPACE, NULL);
ptrLen = strlen(ptr);
command = (char*)malloc(ptrLen + 1);
if (!command)
{
NXMemFree (env);
return NULL;
}
strcpy (command, ptr);
ptr = tsrm_strtok_r(NULL, WHITESPACE, NULL);
while (ptr && (argc < MAX_ARGS))
{
ptrLen = strlen(ptr);
argv[argc] = (char*)malloc(ptrLen + 1);
if (!argv[argc])
{
NXMemFree (env);
if (command)
free (command);
for (i = 0; i < argc; i++)
{
if (argv[i])
free (argv[i]);
}
return NULL;
}
strcpy (argv[argc], ptr);
argc++;
ptr = tsrm_strtok_r(NULL, WHITESPACE, NULL);
}
consoleprintf ("PHP | popen: commandline string parsed into tokens\n");
/* Setup the execution environment and spawn new process */
envSpec.esFlags = 0; /* Not used */
envSpec.esArgc = argc;
envSpec.esArgv = (void**)argv;
envSpec.esEnv = (void**)env;
envSpec.esStdin.ssType =
envSpec.esStdout.ssType = NX_OBJ_FIFO;
envSpec.esStderr.ssType = NX_OBJ_FILE;
/*
envSpec.esStdin.ssHandle =
envSpec.esStdout.ssHandle =
envSpec.esStderr.ssHandle = -1;
*/
envSpec.esStdin.ssPathCtx =
envSpec.esStdout.ssPathCtx =
envSpec.esStderr.ssPathCtx = NULL;
#if defined(USE_PIPE_OPEN) || defined(USE_MKFIFO)
if (mode == O_RDONLY)
#else
if (mode == NX_O_RDONLY)
#endif
{
envSpec.esStdin.ssPath = filePath;
envSpec.esStdout.ssPath = stdout;
}
else /* Write Only */
{
envSpec.esStdin.ssPath = stdin;
envSpec.esStdout.ssPath = filePath;
}
envSpec.esStderr.ssPath = stdout;
nameSpec.ssType = NX_OBJ_FIFO;
/* nameSpec.ssHandle = 0; */ /* Not used */
nameSpec.ssPathCtx = NULL; /* Not used */
nameSpec.ssPath = argv[0];
consoleprintf ("PHP | popen: environment setup\n");
err = NXVmSpawn(&nameSpec, &envSpec, 0, &newVM);
consoleprintf ("PHP | popen: NXVmSpawn() returned %d\n", err);
if (!err)
/* Get file pointer corresponding to the pipe (file) opened */
stream = fdopen(pipe_handle, type);
/* Clean-up */
if (env)
NXMemFree (env);
if (pipe_handle)
#if defined(USE_PIPE_OPEN) || defined(USE_MKFIFO)
close(pipe_handle);
#else
NXClose(pipe_handle);
#endif
if (command)
free (command);
for (i = 0; i < argc; i++)
{
if (argv[i])
free (argv[i]);
}
consoleprintf ("PHP | popen: all clean-up done, returning...\n");
return stream;
}
TSRM_API int pclose(FILE* stream)
{
int err = 0;
NXHandle_t fd = 0;
/* Get the process associated with this pipe (file) handle and terminate it */
fd = fileno(stream);
NXClose (fd);
err = fclose(stream);
return err;
}
#endif
+28
View File
@@ -0,0 +1,28 @@
/*
+----------------------------------------------------------------------+
| PHP Version 4 |
+----------------------------------------------------------------------+
| Copyright (c) 1997-2007 The PHP Group |
+----------------------------------------------------------------------+
| This source file is subject to version 3.01 of the PHP license, |
| that is bundled with this package in the file LICENSE, and is |
| available through the world-wide-web at the following url: |
| http://www.php.net/license/3_01.txt |
| If you did not receive a copy of the PHP license and are unable to |
| obtain it through the world-wide-web, please send a note to |
| license@php.net so we can mail you a copy immediately. |
+----------------------------------------------------------------------+
| Authors: Venkat Raghavan S <rvenkat@novell.com> |
+----------------------------------------------------------------------+
*/
#ifndef TSRM_NW_H
#define TSRM_NW_H
#include "TSRM.h"
TSRM_API FILE* popen(const char *command, const char *type);
TSRM_API int pclose(FILE* stream);
#endif
+63
View File
@@ -0,0 +1,63 @@
#include <stdio.h>
#include "tsrm_config_common.h"
#include "tsrm_strtok_r.h"
static inline int in_character_class(char ch, const char *delim)
{
while (*delim) {
if (*delim == ch) {
return 1;
}
delim++;
}
return 0;
}
char *tsrm_strtok_r(char *s, const char *delim, char **last)
{
char *token;
if (s == NULL) {
s = *last;
}
while (*s && in_character_class(*s, delim)) {
s++;
}
if (!*s) {
return NULL;
}
token = s;
while (*s && !in_character_class(*s, delim)) {
s++;
}
if (!*s) {
*last = s;
} else {
*s = '\0';
*last = s + 1;
}
return token;
}
#if 0
main()
{
char foo[] = "/foo/bar//\\barbara";
char *last;
char *token;
token = tsrm_strtok_r(foo, "/\\", &last);
while (token) {
printf ("Token = '%s'\n", token);
token = tsrm_strtok_r(NULL, "/\\", &last);
}
return 0;
}
#endif
+6
View File
@@ -0,0 +1,6 @@
#ifndef TSRM_STRTOK_R
#define TSRM_STRTOK_R
char *tsrm_strtok_r(char *s, const char *delim, char **last);
#endif
+898
View File
@@ -0,0 +1,898 @@
/*
+----------------------------------------------------------------------+
| PHP Version 4 |
+----------------------------------------------------------------------+
| Copyright (c) 1997-2007 The PHP Group |
+----------------------------------------------------------------------+
| This source file is subject to version 3.01 of the PHP license, |
| that is bundled with this package in the file LICENSE, and is |
| available through the world-wide-web at the following url: |
| http://www.php.net/license/3_01.txt |
| If you did not receive a copy of the PHP license and are unable to |
| obtain it through the world-wide-web, please send a note to |
| license@php.net so we can mail you a copy immediately. |
+----------------------------------------------------------------------+
| Authors: Andi Gutmans <andi@zend.com> |
| Sascha Schumann <sascha@schumann.cx> |
+----------------------------------------------------------------------+
*/
/* $Id$ */
#include <sys/types.h>
#include <sys/stat.h>
#include <string.h>
#include <stdio.h>
#include <limits.h>
#include <errno.h>
#include <stdlib.h>
#include <fcntl.h>
#include "tsrm_virtual_cwd.h"
#include "tsrm_strtok_r.h"
#ifdef TSRM_WIN32
#include <io.h>
#include "tsrm_win32.h"
#endif
#ifdef NETWARE
#include <fsio.h>
#endif
#ifndef HAVE_REALPATH
#define realpath(x,y) strcpy(y,x)
#endif
#define VIRTUAL_CWD_DEBUG 0
#include "TSRM.h"
/* Only need mutex for popen() in Windows and NetWare, because it doesn't chdir() on UNIX */
#if (defined(TSRM_WIN32) || defined(NETWARE)) && defined(ZTS)
MUTEX_T cwd_mutex;
#endif
#ifdef ZTS
static ts_rsrc_id cwd_globals_id;
#else
static virtual_cwd_globals cwd_globals;
#endif
cwd_state main_cwd_state; /* True global */
#ifndef TSRM_WIN32
#include <unistd.h>
#else
#include <direct.h>
#endif
#ifndef S_ISDIR
#define S_ISDIR(mode) ((mode) & _S_IFDIR)
#endif
#ifndef S_ISREG
#define S_ISREG(mode) ((mode) & _S_IFREG)
#endif
#ifdef TSRM_WIN32
#include <tchar.h>
#define tsrm_strtok_r(a,b,c) _tcstok((a),(b))
#define TOKENIZER_STRING "/\\"
static int php_check_dots(const char *element, int n)
{
while (n-- > 0) if (element[n] != '.') break;
return (n != -1);
}
#define IS_DIRECTORY_UP(element, len) \
(len >= 2 && !php_check_dots(element, len))
#define IS_DIRECTORY_CURRENT(element, len) \
(len == 1 && element[0] == '.')
#elif defined(NETWARE)
/* NetWare has strtok() (in LibC) and allows both slashes in paths, like Windows --
but rest of the stuff is like Unix */
/* strtok() call in LibC is abending when used in a different address space -- hence using
PHP's version itself for now */
/*#define tsrm_strtok_r(a,b,c) strtok((a),(b))*/
#define TOKENIZER_STRING "/\\"
#else
#define TOKENIZER_STRING "/"
#endif
/* default macros */
#ifndef IS_DIRECTORY_UP
#define IS_DIRECTORY_UP(element, len) \
(len == 2 && element[0] == '.' && element[1] == '.')
#endif
#ifndef IS_DIRECTORY_CURRENT
#define IS_DIRECTORY_CURRENT(element, len) \
(len == 1 && element[0] == '.')
#endif
/* define this to check semantics */
#define IS_DIR_OK(s) (1)
#ifndef IS_DIR_OK
#define IS_DIR_OK(state) (php_is_dir_ok(state) == 0)
#endif
#define CWD_STATE_COPY(d, s) \
(d)->cwd_length = (s)->cwd_length; \
(d)->cwd = (char *) malloc((s)->cwd_length+1); \
memcpy((d)->cwd, (s)->cwd, (s)->cwd_length+1);
#define CWD_STATE_FREE(s) \
free((s)->cwd);
static int php_is_dir_ok(const cwd_state *state)
{
struct stat buf;
if (stat(state->cwd, &buf) == 0 && S_ISDIR(buf.st_mode))
return (0);
return (1);
}
static int php_is_file_ok(const cwd_state *state)
{
struct stat buf;
if (stat(state->cwd, &buf) == 0 && S_ISREG(buf.st_mode))
return (0);
return (1);
}
static void cwd_globals_ctor(virtual_cwd_globals *cwd_globals TSRMLS_DC)
{
CWD_STATE_COPY(&cwd_globals->cwd, &main_cwd_state);
}
static void cwd_globals_dtor(virtual_cwd_globals *cwd_globals TSRMLS_DC)
{
CWD_STATE_FREE(&cwd_globals->cwd);
}
static char *tsrm_strndup(const char *s, size_t length)
{
char *p;
p = (char *) malloc(length+1);
if (!p) {
return (char *)NULL;
}
if (length) {
memcpy(p,s,length);
}
p[length]=0;
return p;
}
CWD_API void virtual_cwd_startup(void)
{
char cwd[MAXPATHLEN];
char *result;
#ifdef NETWARE
result = getcwdpath(cwd, NULL, 1);
if(result)
{
char *c=cwd;
while(c = strchr(c, '\\'))
{
*c='/';
++c;
}
}
#else
result = getcwd(cwd, sizeof(cwd));
#endif
if (!result) {
cwd[0] = '\0';
}
main_cwd_state.cwd = strdup(cwd);
main_cwd_state.cwd_length = strlen(cwd);
#ifdef ZTS
ts_allocate_id(&cwd_globals_id, sizeof(virtual_cwd_globals), (ts_allocate_ctor) cwd_globals_ctor, (ts_allocate_dtor) cwd_globals_dtor);
#else
cwd_globals_ctor(&cwd_globals TSRMLS_CC);
#endif
#if (defined(TSRM_WIN32) || defined(NETWARE)) && defined(ZTS)
cwd_mutex = tsrm_mutex_alloc();
#endif
}
CWD_API void virtual_cwd_shutdown(void)
{
#ifndef ZTS
cwd_globals_dtor(&cwd_globals TSRMLS_CC);
#endif
#if (defined(TSRM_WIN32) || defined(NETWARE)) && defined(ZTS)
tsrm_mutex_free(cwd_mutex);
#endif
free(main_cwd_state.cwd); /* Don't use CWD_STATE_FREE because the non global states will probably use emalloc()/efree() */
}
CWD_API char *virtual_getcwd_ex(size_t *length TSRMLS_DC)
{
cwd_state *state;
state = &CWDG(cwd);
if (state->cwd_length == 0) {
char *retval;
*length = 1;
retval = (char *) malloc(2);
retval[0] = DEFAULT_SLASH;
retval[1] = '\0';
return retval;
}
#ifdef TSRM_WIN32
/* If we have something like C: */
if (state->cwd_length == 2 && state->cwd[state->cwd_length-1] == ':') {
char *retval;
*length = state->cwd_length+1;
retval = (char *) malloc(*length+1);
memcpy(retval, state->cwd, *length);
retval[*length-1] = DEFAULT_SLASH;
retval[*length] = '\0';
return retval;
}
#endif
*length = state->cwd_length;
return strdup(state->cwd);
}
/* Same semantics as UNIX getcwd() */
CWD_API char *virtual_getcwd(char *buf, size_t size TSRMLS_DC)
{
size_t length;
char *cwd;
cwd = virtual_getcwd_ex(&length TSRMLS_CC);
if (buf == NULL) {
return cwd;
}
if (length > size-1) {
free(cwd);
errno = ERANGE; /* Is this OK? */
return NULL;
}
memcpy(buf, cwd, length+1);
free(cwd);
return buf;
}
/* Resolve path relatively to state and put the real path into state */
/* returns 0 for ok, 1 for error */
CWD_API int virtual_file_ex(cwd_state *state, const char *path, verify_path_func verify_path, int use_realpath)
{
int path_length = strlen(path);
char *ptr, *path_copy;
char *tok = NULL;
int ptr_length;
cwd_state *old_state;
int ret = 0;
int copy_amount = -1;
char *free_path;
unsigned char is_absolute = 0;
#ifndef TSRM_WIN32
char resolved_path[MAXPATHLEN];
#endif
if (path_length == 0)
return (0);
if (path_length >= MAXPATHLEN)
return (1);
#if !defined(TSRM_WIN32) && !defined(NETWARE)
/* cwd_length can be 0 when getcwd() fails.
* This can happen under solaris when a dir does not have read permissions
* but *does* have execute permissions */
if (IS_ABSOLUTE_PATH(path, path_length) || (state->cwd_length < 1)) {
if (use_realpath) {
if (realpath(path, resolved_path)) {
path = resolved_path;
path_length = strlen(path);
} else {
/* disable for now
return 1; */
}
}
} else { /* Concat current directory with relative path and then run realpath() on it */
char *tmp;
char *ptr;
ptr = tmp = (char *) malloc(state->cwd_length+path_length+sizeof("/"));
if (!tmp) {
return 1;
}
memcpy(ptr, state->cwd, state->cwd_length);
ptr += state->cwd_length;
*ptr++ = DEFAULT_SLASH;
memcpy(ptr, path, path_length);
ptr += path_length;
*ptr = '\0';
if (strlen(tmp) >= MAXPATHLEN) {
free(tmp);
return 1;
}
if (use_realpath) {
if (realpath(tmp, resolved_path)) {
path = resolved_path;
path_length = strlen(path);
} else {
/* disable for now
free(tmp);
return 1; */
}
}
free(tmp);
}
#endif
free_path = path_copy = tsrm_strndup(path, path_length);
old_state = (cwd_state *) malloc(sizeof(cwd_state));
CWD_STATE_COPY(old_state, state);
#if VIRTUAL_CWD_DEBUG
fprintf(stderr,"cwd = %s path = %s\n", state->cwd, path);
#endif
if (IS_ABSOLUTE_PATH(path_copy, path_length)) {
copy_amount = COPY_WHEN_ABSOLUTE(path_copy);
is_absolute = 1;
#ifdef TSRM_WIN32
} else if (IS_UNC_PATH(path_copy, path_length)) {
copy_amount = 2;
is_absolute = 1;
} else if (IS_SLASH(path_copy[0])) {
copy_amount = 2;
#endif
}
if (copy_amount != -1) {
state->cwd = (char *) realloc(state->cwd, copy_amount + 1);
if (copy_amount) {
if (is_absolute) {
memcpy(state->cwd, path_copy, copy_amount);
path_copy += copy_amount;
} else {
memcpy(state->cwd, old_state->cwd, copy_amount);
}
}
state->cwd[copy_amount] = '\0';
state->cwd_length = copy_amount;
}
if (state->cwd_length > 0 || IS_ABSOLUTE_PATH(path, path_length)) {
ptr = tsrm_strtok_r(path_copy, TOKENIZER_STRING, &tok);
while (ptr) {
ptr_length = strlen(ptr);
if (IS_DIRECTORY_UP(ptr, ptr_length)) {
char save;
save = DEFAULT_SLASH;
#define PREVIOUS state->cwd[state->cwd_length - 1]
while (IS_ABSOLUTE_PATH(state->cwd, state->cwd_length) &&
!IS_SLASH(PREVIOUS)) {
save = PREVIOUS;
PREVIOUS = '\0';
state->cwd_length--;
}
if (!IS_ABSOLUTE_PATH(state->cwd, state->cwd_length)) {
state->cwd[state->cwd_length++] = save;
state->cwd[state->cwd_length] = '\0';
} else {
PREVIOUS = '\0';
state->cwd_length--;
}
} else if (!IS_DIRECTORY_CURRENT(ptr, ptr_length)) {
state->cwd = (char *) realloc(state->cwd, state->cwd_length+ptr_length+1+1);
#ifdef TSRM_WIN32
/* Windows 9x will consider C:\\Foo as a network path. Avoid it. */
if ((state->cwd[state->cwd_length-1]!='\\' && state->cwd[state->cwd_length-1]!='/') ||
IsDBCSLeadByte(state->cwd[state->cwd_length-2])) {
state->cwd[state->cwd_length++] = DEFAULT_SLASH;
}
#elif defined(NETWARE)
/*
Below code keeps appending to state->cwd a File system seperator
cases where this appending should not happen is given below,
a) sys: should just be left as it is
b) sys:system should just be left as it is,
Colon is allowed only in the first token as volume names alone can have the : in their names.
Files and Directories cannot have : in their names
So the check goes like this,
For second token and above simply append the DEFAULT_SLASH to the state->cwd.
For first token check for the existence of :
if it exists don't append the DEFAULT_SLASH to the state->cwd.
*/
if(((state->cwd_length == 0) && (strchr(ptr, ':') == NULL)) || (state->cwd_length > 0))
{
state->cwd[state->cwd_length++] = DEFAULT_SLASH;
}
#else
state->cwd[state->cwd_length++] = DEFAULT_SLASH;
#endif
memcpy(&state->cwd[state->cwd_length], ptr, ptr_length+1);
state->cwd_length += ptr_length;
}
ptr = tsrm_strtok_r(NULL, TOKENIZER_STRING, &tok);
}
if (state->cwd_length == COPY_WHEN_ABSOLUTE(state->cwd)) {
state->cwd = (char *) realloc(state->cwd, state->cwd_length+1+1);
state->cwd[state->cwd_length] = DEFAULT_SLASH;
state->cwd[state->cwd_length+1] = '\0';
state->cwd_length++;
}
} else {
state->cwd = (char *) realloc(state->cwd, path_length+1);
memcpy(state->cwd, path, path_length+1);
state->cwd_length = path_length;
}
if (verify_path && verify_path(state)) {
CWD_STATE_FREE(state);
*state = *old_state;
ret = 1;
} else {
CWD_STATE_FREE(old_state);
ret = 0;
}
free(old_state);
free(free_path);
#if VIRTUAL_CWD_DEBUG
fprintf (stderr, "virtual_file_ex() = %s\n",state->cwd);
#endif
return (ret);
}
CWD_API int virtual_chdir(const char *path TSRMLS_DC)
{
return virtual_file_ex(&CWDG(cwd), path, php_is_dir_ok, 1)?-1:0;
}
CWD_API int virtual_chdir_file(const char *path, int (*p_chdir)(const char *path TSRMLS_DC) TSRMLS_DC)
{
int length = strlen(path);
char *temp;
int retval;
if (length == 0) {
return 1; /* Can't cd to empty string */
}
while(--length >= 0 && !IS_SLASH(path[length])) {
}
if (length == -1) {
/* No directory only file name */
errno = ENOENT;
return -1;
}
if (length == COPY_WHEN_ABSOLUTE(path) && IS_ABSOLUTE_PATH(path, length+1)) { /* Also use trailing slash if this is absolute */
length++;
}
temp = (char *) tsrm_do_alloca(length+1);
memcpy(temp, path, length);
temp[length] = 0;
#if VIRTUAL_CWD_DEBUG
fprintf (stderr, "Changing directory to %s\n", temp);
#endif
retval = p_chdir(temp TSRMLS_CC);
tsrm_free_alloca(temp);
return retval;
}
CWD_API char *virtual_realpath(const char *path, char *real_path TSRMLS_DC)
{
cwd_state new_state;
char *retval;
CWD_STATE_COPY(&new_state, &CWDG(cwd));
if (virtual_file_ex(&new_state, path, NULL, 1)==0) {
int len = new_state.cwd_length>MAXPATHLEN-1?MAXPATHLEN-1:new_state.cwd_length;
memcpy(real_path, new_state.cwd, len);
real_path[len] = '\0';
retval = real_path;
} else {
retval = NULL;
}
CWD_STATE_FREE(&new_state);
return retval;
}
CWD_API int virtual_filepath_ex(const char *path, char **filepath, verify_path_func verify_path TSRMLS_DC)
{
cwd_state new_state;
int retval;
CWD_STATE_COPY(&new_state, &CWDG(cwd));
retval = virtual_file_ex(&new_state, path, verify_path, 1);
*filepath = new_state.cwd;
return retval;
}
CWD_API int virtual_filepath(const char *path, char **filepath TSRMLS_DC)
{
return virtual_filepath_ex(path, filepath, php_is_file_ok TSRMLS_CC);
}
CWD_API FILE *virtual_fopen(const char *path, const char *mode TSRMLS_DC)
{
cwd_state new_state;
FILE *f;
if (path[0] == '\0') { /* Fail to open empty path */
return NULL;
}
CWD_STATE_COPY(&new_state, &CWDG(cwd));
virtual_file_ex(&new_state, path, NULL, 1);
f = fopen(new_state.cwd, mode);
CWD_STATE_FREE(&new_state);
return f;
}
#if !defined(TSRM_WIN32)
CWD_API int virtual_access(const char *pathname, int mode TSRMLS_DC)
{
cwd_state new_state;
int ret;
CWD_STATE_COPY(&new_state, &CWDG(cwd));
virtual_file_ex(&new_state, pathname, NULL, 1);
ret = access(new_state.cwd, mode);
CWD_STATE_FREE(&new_state);
return ret;
}
#endif
#if HAVE_UTIME
CWD_API int virtual_utime(const char *filename, struct utimbuf *buf TSRMLS_DC)
{
cwd_state new_state;
int ret;
CWD_STATE_COPY(&new_state, &CWDG(cwd));
virtual_file_ex(&new_state, filename, NULL, 0);
ret = utime(new_state.cwd, buf);
CWD_STATE_FREE(&new_state);
return ret;
}
#endif
CWD_API int virtual_chmod(const char *filename, mode_t mode TSRMLS_DC)
{
cwd_state new_state;
int ret;
CWD_STATE_COPY(&new_state, &CWDG(cwd));
virtual_file_ex(&new_state, filename, NULL, 1);
ret = chmod(new_state.cwd, mode);
CWD_STATE_FREE(&new_state);
return ret;
}
#if !defined(TSRM_WIN32) && !defined(NETWARE)
CWD_API int virtual_chown(const char *filename, uid_t owner, gid_t group TSRMLS_DC)
{
cwd_state new_state;
int ret;
CWD_STATE_COPY(&new_state, &CWDG(cwd));
virtual_file_ex(&new_state, filename, NULL, 0);
ret = chown(new_state.cwd, owner, group);
CWD_STATE_FREE(&new_state);
return ret;
}
#endif
CWD_API int virtual_open(const char *path TSRMLS_DC, int flags, ...)
{
cwd_state new_state;
int f;
CWD_STATE_COPY(&new_state, &CWDG(cwd));
virtual_file_ex(&new_state, path, NULL, 1);
if (flags & O_CREAT) {
mode_t mode;
va_list arg;
va_start(arg, flags);
mode = (mode_t) va_arg(arg, int);
va_end(arg);
f = open(new_state.cwd, flags, mode);
} else {
f = open(new_state.cwd, flags);
}
CWD_STATE_FREE(&new_state);
return f;
}
CWD_API int virtual_creat(const char *path, mode_t mode TSRMLS_DC)
{
cwd_state new_state;
int f;
CWD_STATE_COPY(&new_state, &CWDG(cwd));
virtual_file_ex(&new_state, path, NULL, 1);
f = creat(new_state.cwd, mode);
CWD_STATE_FREE(&new_state);
return f;
}
CWD_API int virtual_rename(char *oldname, char *newname TSRMLS_DC)
{
cwd_state old_state;
cwd_state new_state;
int retval;
CWD_STATE_COPY(&old_state, &CWDG(cwd));
virtual_file_ex(&old_state, oldname, NULL, 0);
oldname = old_state.cwd;
CWD_STATE_COPY(&new_state, &CWDG(cwd));
virtual_file_ex(&new_state, newname, NULL, 0);
newname = new_state.cwd;
retval = rename(oldname, newname);
CWD_STATE_FREE(&old_state);
CWD_STATE_FREE(&new_state);
return retval;
}
CWD_API int virtual_stat(const char *path, struct stat *buf TSRMLS_DC)
{
cwd_state new_state;
int retval;
CWD_STATE_COPY(&new_state, &CWDG(cwd));
if (virtual_file_ex(&new_state, path, NULL, 1)) {
return -1;
}
retval = stat(new_state.cwd, buf);
CWD_STATE_FREE(&new_state);
return retval;
}
#ifndef TSRM_WIN32
CWD_API int virtual_lstat(const char *path, struct stat *buf TSRMLS_DC)
{
cwd_state new_state;
int retval;
CWD_STATE_COPY(&new_state, &CWDG(cwd));
virtual_file_ex(&new_state, path, NULL, 0);
retval = lstat(new_state.cwd, buf);
CWD_STATE_FREE(&new_state);
return retval;
}
#endif
CWD_API int virtual_unlink(const char *path TSRMLS_DC)
{
cwd_state new_state;
int retval;
CWD_STATE_COPY(&new_state, &CWDG(cwd));
virtual_file_ex(&new_state, path, NULL, 0);
retval = unlink(new_state.cwd);
CWD_STATE_FREE(&new_state);
return retval;
}
CWD_API int virtual_mkdir(const char *pathname, mode_t mode TSRMLS_DC)
{
cwd_state new_state;
int retval;
CWD_STATE_COPY(&new_state, &CWDG(cwd));
virtual_file_ex(&new_state, pathname, NULL, 1);
#ifdef TSRM_WIN32
retval = mkdir(new_state.cwd);
#else
retval = mkdir(new_state.cwd, mode);
#endif
CWD_STATE_FREE(&new_state);
return retval;
}
CWD_API int virtual_rmdir(const char *pathname TSRMLS_DC)
{
cwd_state new_state;
int retval;
CWD_STATE_COPY(&new_state, &CWDG(cwd));
virtual_file_ex(&new_state, pathname, NULL, 0);
retval = rmdir(new_state.cwd);
CWD_STATE_FREE(&new_state);
return retval;
}
#ifdef TSRM_WIN32
DIR *opendir(const char *name);
#endif
CWD_API DIR *virtual_opendir(const char *pathname TSRMLS_DC)
{
cwd_state new_state;
DIR *retval;
CWD_STATE_COPY(&new_state, &CWDG(cwd));
virtual_file_ex(&new_state, pathname, NULL, 1);
retval = opendir(new_state.cwd);
CWD_STATE_FREE(&new_state);
return retval;
}
#ifdef TSRM_WIN32
CWD_API FILE *virtual_popen(const char *command, const char *type TSRMLS_DC)
{
return popen_ex(command, type, CWDG(cwd).cwd, NULL);
}
#elif defined(NETWARE)
/* On NetWare, the trick of prepending "cd cwd; " doesn't work so we need to perform
a VCWD_CHDIR() and mutex it
*/
CWD_API FILE *virtual_popen(const char *command, const char *type TSRMLS_DC)
{
char prev_cwd[MAXPATHLEN];
char *getcwd_result;
FILE *retval;
getcwd_result = VCWD_GETCWD(prev_cwd, MAXPATHLEN);
if (!getcwd_result) {
return NULL;
}
#ifdef ZTS
tsrm_mutex_lock(cwd_mutex);
#endif
VCWD_CHDIR(CWDG(cwd).cwd);
retval = popen(command, type);
VCWD_CHDIR(prev_cwd);
#ifdef ZTS
tsrm_mutex_unlock(cwd_mutex);
#endif
return retval;
}
#else /* Unix */
CWD_API FILE *virtual_popen(const char *command, const char *type TSRMLS_DC)
{
int command_length;
int dir_length, extra = 0;
char *command_line;
char *ptr, *dir;
FILE *retval;
command_length = strlen(command);
dir_length = CWDG(cwd).cwd_length;
dir = CWDG(cwd).cwd;
while (dir_length > 0) {
if (*dir == '\'') extra+=3;
dir++;
dir_length--;
}
dir_length = CWDG(cwd).cwd_length;
dir = CWDG(cwd).cwd;
ptr = command_line = (char *) malloc(command_length + sizeof("cd '' ; ") + dir_length +extra+1+1);
if (!command_line) {
return NULL;
}
memcpy(ptr, "cd ", sizeof("cd ")-1);
ptr += sizeof("cd ")-1;
if (CWDG(cwd).cwd_length == 0) {
*ptr++ = DEFAULT_SLASH;
} else {
*ptr++ = '\'';
while (dir_length > 0) {
switch (*dir) {
case '\'':
*ptr++ = '\'';
*ptr++ = '\\';
*ptr++ = '\'';
/* fall-through */
default:
*ptr++ = *dir;
}
dir++;
dir_length--;
}
*ptr++ = '\'';
}
*ptr++ = ' ';
*ptr++ = ';';
*ptr++ = ' ';
memcpy(ptr, command, command_length+1);
retval = popen(command_line, type);
free(command_line);
return retval;
}
#endif
/*
* Local variables:
* tab-width: 4
* c-basic-offset: 4
* End:
*/
+273
View File
@@ -0,0 +1,273 @@
/*
+----------------------------------------------------------------------+
| PHP Version 4 |
+----------------------------------------------------------------------+
| Copyright (c) 1997-2007 The PHP Group |
+----------------------------------------------------------------------+
| This source file is subject to version 3.01 of the PHP license, |
| that is bundled with this package in the file LICENSE, and is |
| available through the world-wide-web at the following url: |
| http://www.php.net/license/3_01.txt |
| If you did not receive a copy of the PHP license and are unable to |
| obtain it through the world-wide-web, please send a note to |
| license@php.net so we can mail you a copy immediately. |
+----------------------------------------------------------------------+
| Authors: Andi Gutmans <andi@zend.com> |
| Sascha Schumann <sascha@schumann.cx> |
+----------------------------------------------------------------------+
*/
/* $Id$ */
#ifndef VIRTUAL_CWD_H
#define VIRTUAL_CWD_H
#include "TSRM.h"
#include "tsrm_config_common.h"
#include <sys/types.h>
#include <sys/stat.h>
#include <ctype.h>
#ifdef HAVE_UTIME_H
#include <utime.h>
#endif
#ifdef HAVE_STDARG_H
#include <stdarg.h>
#endif
#ifndef TSRM_WIN32
#include <unistd.h>
#endif
#if defined(__osf__) || defined(_AIX)
#include <errno.h>
#endif
#ifdef TSRM_WIN32
#include "readdir.h"
#include <sys/utime.h>
/* mode_t isn't defined on Windows */
typedef unsigned short mode_t;
#define DEFAULT_SLASH '\\'
#define DEFAULT_DIR_SEPARATOR ';'
#define IS_SLASH(c) ((c) == '/' || (c) == '\\')
#define IS_SLASH_P(c) (*(c) == '/' || \
(*(c) == '\\' && !IsDBCSLeadByte(*(c-1))))
/* COPY_WHEN_ABSOLUTE also takes path as argument because netware needs it
* to account for volume name that is unique to NetWare absolute paths
*/
#define COPY_WHEN_ABSOLUTE(path) 2
#define IS_UNC_PATH(path, len) \
(len >= 2 && IS_SLASH(path[0]) && IS_SLASH(path[1]))
#define IS_ABSOLUTE_PATH(path, len) \
(len >= 2 && ((isalpha(path[0]) && path[1] == ':') || IS_UNC_PATH(path, len)))
#elif defined(NETWARE)
#ifdef HAVE_DIRENT_H
#include <dirent.h>
#endif
#define DEFAULT_SLASH '/'
#define DEFAULT_DIR_SEPARATOR ';'
#define IS_SLASH(c) ((c) == '/' || (c) == '\\')
#define IS_SLASH_P(c) IS_SLASH(*(c))
/* Colon indicates volume name, either first character should be forward slash or backward slash */
#define IS_ABSOLUTE_PATH(path, len) \
((strchr(path, ':') != NULL) || ((len >= 1) && ((path[0] == '/') || (path[0] == '\\'))))
#else
#ifdef HAVE_DIRENT_H
#include <dirent.h>
#endif
#define DEFAULT_SLASH '/'
#ifdef __riscos__
#define DEFAULT_DIR_SEPARATOR ';'
#else
#define DEFAULT_DIR_SEPARATOR ':'
#endif
#define IS_SLASH(c) ((c) == '/')
#define IS_SLASH_P(c) (*(c) == '/')
#endif
#ifndef COPY_WHEN_ABSOLUTE
#define COPY_WHEN_ABSOLUTE(path) 0
#endif
#ifndef IS_ABSOLUTE_PATH
#define IS_ABSOLUTE_PATH(path, len) \
(IS_SLASH(path[0]))
#endif
#ifdef TSRM_EXPORTS
#define CWD_EXPORTS
#endif
#ifdef TSRM_WIN32
# ifdef CWD_EXPORTS
# define CWD_API __declspec(dllexport)
# else
# define CWD_API __declspec(dllimport)
# endif
#else
#define CWD_API
#endif
typedef struct _cwd_state {
char *cwd;
int cwd_length;
} cwd_state;
typedef int (*verify_path_func)(const cwd_state *);
CWD_API void virtual_cwd_startup(void);
CWD_API void virtual_cwd_shutdown(void);
CWD_API char *virtual_getcwd_ex(size_t *length TSRMLS_DC);
CWD_API char *virtual_getcwd(char *buf, size_t size TSRMLS_DC);
CWD_API int virtual_chdir(const char *path TSRMLS_DC);
CWD_API int virtual_chdir_file(const char *path, int (*p_chdir)(const char *path TSRMLS_DC) TSRMLS_DC);
CWD_API int virtual_filepath(const char *path, char **filepath TSRMLS_DC);
CWD_API int virtual_filepath_ex(const char *path, char **filepath, verify_path_func verify_path TSRMLS_DC);
CWD_API char *virtual_realpath(const char *path, char *real_path TSRMLS_DC);
CWD_API FILE *virtual_fopen(const char *path, const char *mode TSRMLS_DC);
CWD_API int virtual_open(const char *path TSRMLS_DC, int flags, ...);
CWD_API int virtual_creat(const char *path, mode_t mode TSRMLS_DC);
CWD_API int virtual_rename(char *oldname, char *newname TSRMLS_DC);
CWD_API int virtual_stat(const char *path, struct stat *buf TSRMLS_DC);
#if !defined(TSRM_WIN32) && !defined(NETWARE)
CWD_API int virtual_lstat(const char *path, struct stat *buf TSRMLS_DC);
#endif
CWD_API int virtual_unlink(const char *path TSRMLS_DC);
CWD_API int virtual_mkdir(const char *pathname, mode_t mode TSRMLS_DC);
CWD_API int virtual_rmdir(const char *pathname TSRMLS_DC);
CWD_API DIR *virtual_opendir(const char *pathname TSRMLS_DC);
CWD_API FILE *virtual_popen(const char *command, const char *type TSRMLS_DC);
#if !defined(TSRM_WIN32)
CWD_API int virtual_access(const char *pathname, int mode TSRMLS_DC);
#endif
/* On AIX & Tru64 when a file does not exist realpath() returns
* NULL, and sets errno to ENOENT. Unlike in other libc implementations
* the destination is not filled and remains undefined. Therefor, we
* must populate it manually using strcpy as done on systems with no
* realpath() function.
*/
#if defined(__osf__) || defined(_AIX)
static char *php_realpath_hack(char *src, char *dest)
{
char *ret;
if ((ret = realpath(src, dest)) == NULL && errno == ENOENT) {
return strcpy(dest, src);
} else {
return ret;
}
}
#endif
#if HAVE_UTIME
CWD_API int virtual_utime(const char *filename, struct utimbuf *buf TSRMLS_DC);
#endif
CWD_API int virtual_chmod(const char *filename, mode_t mode TSRMLS_DC);
#if !defined(TSRM_WIN32) && !defined(NETWARE)
CWD_API int virtual_chown(const char *filename, uid_t owner, gid_t group TSRMLS_DC);
#endif
CWD_API int virtual_file_ex(cwd_state *state, const char *path, verify_path_func verify_path, int use_realpath);
typedef struct _virtual_cwd_globals {
cwd_state cwd;
} virtual_cwd_globals;
#ifdef ZTS
# define CWDG(v) TSRMG(cwd_globals_id, virtual_cwd_globals *, v)
#else
# define CWDG(v) (cwd_globals.v)
#endif
/* The actual macros to be used in programs using TSRM
* If the program defines VIRTUAL_DIR it will use the
* virtual_* functions
*/
#ifdef VIRTUAL_DIR
#define VCWD_GETCWD(buff, size) virtual_getcwd(buff, size TSRMLS_CC)
#define VCWD_FOPEN(path, mode) virtual_fopen(path, mode TSRMLS_CC)
/* Because open() has two modes, we have to macros to replace it */
#define VCWD_OPEN(path, flags) virtual_open(path TSRMLS_CC, flags)
#define VCWD_OPEN_MODE(path, flags, mode) virtual_open(path TSRMLS_CC, flags, mode)
#define VCWD_CREAT(path, mode) virtual_creat(path, mode TSRMLS_CC)
#define VCWD_CHDIR(path) virtual_chdir(path TSRMLS_CC)
#define VCWD_CHDIR_FILE(path) virtual_chdir_file(path, virtual_chdir TSRMLS_CC)
#define VCWD_GETWD(buf)
#define VCWD_REALPATH(path, real_path) virtual_realpath(path, real_path TSRMLS_CC)
#define VCWD_RENAME(oldname, newname) virtual_rename(oldname, newname TSRMLS_CC)
#define VCWD_STAT(path, buff) virtual_stat(path, buff TSRMLS_CC)
#ifndef TSRM_WIN32
#define VCWD_LSTAT(path, buff) virtual_lstat(path, buff TSRMLS_CC)
#endif
#define VCWD_UNLINK(path) virtual_unlink(path TSRMLS_CC)
#define VCWD_MKDIR(pathname, mode) virtual_mkdir(pathname, mode TSRMLS_CC)
#define VCWD_RMDIR(pathname) virtual_rmdir(pathname TSRMLS_CC)
#define VCWD_OPENDIR(pathname) virtual_opendir(pathname TSRMLS_CC)
#define VCWD_POPEN(command, type) virtual_popen(command, type TSRMLS_CC)
#define VCWD_ACCESS(pathname, mode) virtual_access(pathname, mode TSRMLS_CC)
#if HAVE_UTIME
#define VCWD_UTIME(path, time) virtual_utime(path, time TSRMLS_CC)
#endif
#define VCWD_CHMOD(path, mode) virtual_chmod(path, mode TSRMLS_CC)
#if !defined(TSRM_WIN32) && !defined(NETWARE)
#define VCWD_CHOWN(path, owner, group) virtual_chown(path, owner, group TSRMLS_CC)
#endif
#else
#define VCWD_GETCWD(buff, size) getcwd(buff, size)
#define VCWD_FOPEN(path, mode) fopen(path, mode)
#define VCWD_OPEN(path, flags) open(path, flags)
#define VCWD_OPEN_MODE(path, flags, mode) open(path, flags, mode)
#define VCWD_CREAT(path, mode) creat(path, mode)
#define VCWD_RENAME(oldname, newname) rename(oldname, newname)
#define VCWD_CHDIR(path) chdir(path)
#define VCWD_CHDIR_FILE(path) virtual_chdir_file(path, chdir)
#define VCWD_GETWD(buf) getwd(buf)
#define VCWD_STAT(path, buff) stat(path, buff)
#define VCWD_LSTAT(path, buff) lstat(path, buff)
#define VCWD_UNLINK(path) unlink(path)
#define VCWD_MKDIR(pathname, mode) mkdir(pathname, mode)
#define VCWD_RMDIR(pathname) rmdir(pathname)
#define VCWD_OPENDIR(pathname) opendir(pathname)
#define VCWD_POPEN(command, type) popen(command, type)
#define VCWD_ACCESS(pathname, mode) access(pathname, mode)
#ifdef HAVE_REALPATH
#if defined(__osf__) || defined(_AIX)
#define VCWD_REALPATH(path, real_path) php_realpath_hack(path, real_path)
#else
#define VCWD_REALPATH(path, real_path) realpath(path, real_path)
#endif
#else
#define VCWD_REALPATH(path, real_path) strcpy(real_path, path)
#endif
#if HAVE_UTIME
#define VCWD_UTIME(path, time) utime(path, time)
#endif
#define VCWD_CHMOD(path, mode) chmod(path, mode)
#if !defined(TSRM_WIN32) && !defined(NETWARE)
#define VCWD_CHOWN(path, owner, group) chown(path, owner, group)
#endif
#endif
#endif /* VIRTUAL_CWD_H */
+98 -552
View File
@@ -1,6 +1,8 @@
/*
+----------------------------------------------------------------------+
| Copyright (c) The PHP Group |
| PHP Version 4 |
+----------------------------------------------------------------------+
| Copyright (c) 1997-2007 The PHP Group |
+----------------------------------------------------------------------+
| This source file is subject to version 3.01 of the PHP license, |
| that is bundled with this package in the file LICENSE, and is |
@@ -14,22 +16,18 @@
+----------------------------------------------------------------------+
*/
/* $Id$ */
#include <stdio.h>
#include <fcntl.h>
#include <io.h>
#include <process.h>
#include <time.h>
#include <errno.h>
#define TSRM_INCLUDE_FULL_WINDOWS_HEADERS
#include "SAPI.h"
#include "TSRM.h"
#ifdef TSRM_WIN32
#include <Sddl.h>
#include "tsrm_win32.h"
#include "zend_virtual_cwd.h"
#include "win32/ioutil.h"
#ifdef ZTS
static ts_rsrc_id win32_globals_id;
@@ -37,30 +35,17 @@ static ts_rsrc_id win32_globals_id;
static tsrm_win32_globals win32_globals;
#endif
static void tsrm_win32_ctor(tsrm_win32_globals *globals)
{/*{{{*/
#ifdef ZTS
TSRMLS_CACHE_UPDATE();
#endif
static void tsrm_win32_ctor(tsrm_win32_globals *globals TSRMLS_DC)
{
globals->process = NULL;
globals->shm = NULL;
globals->process_size = 0;
globals->shm_size = 0;
globals->comspec = _strdup("cmd.exe");
globals->comspec = _strdup((GetVersion()<0x80000000)?"cmd.exe":"command.com");
}
/* Set it to INVALID_HANDLE_VALUE
* It will be initialized correctly in tsrm_win32_access or set to
* NULL if no impersonation has been done.
* the impersonated token can't be set here as the impersonation
* will happen later, in fcgi_accept_request (or whatever is the
* SAPI being used).
*/
globals->impersonation_token = INVALID_HANDLE_VALUE;
globals->impersonation_token_sid = NULL;
}/*}}}*/
static void tsrm_win32_dtor(tsrm_win32_globals *globals)
{/*{{{*/
static void tsrm_win32_dtor(tsrm_win32_globals *globals TSRMLS_DC)
{
shm_pair *ptr;
if (globals->process) {
@@ -78,329 +63,56 @@ static void tsrm_win32_dtor(tsrm_win32_globals *globals)
}
free(globals->comspec);
if (globals->impersonation_token && globals->impersonation_token != INVALID_HANDLE_VALUE ) {
CloseHandle(globals->impersonation_token);
}
if (globals->impersonation_token_sid) {
free(globals->impersonation_token_sid);
}
}/*}}}*/
}
TSRM_API void tsrm_win32_startup(void)
{/*{{{*/
{
#ifdef ZTS
ts_allocate_id(&win32_globals_id, sizeof(tsrm_win32_globals), (ts_allocate_ctor)tsrm_win32_ctor, (ts_allocate_ctor)tsrm_win32_dtor);
#else
tsrm_win32_ctor(&win32_globals);
tsrm_win32_ctor(&win32_globals TSRMLS_CC);
#endif
}/*}}}*/
}
TSRM_API void tsrm_win32_shutdown(void)
{/*{{{*/
{
#ifndef ZTS
tsrm_win32_dtor(&win32_globals);
tsrm_win32_dtor(&win32_globals TSRMLS_CC);
#endif
}/*}}}*/
}
const char * tsrm_win32_get_path_sid_key(const char *pathname, size_t pathname_len, size_t *key_len)
{/*{{{*/
PSID pSid = TWG(impersonation_token_sid);
char *ptcSid = NULL;
char *bucket_key = NULL;
size_t ptc_sid_len;
if (!pSid) {
*key_len = pathname_len;
return pathname;
}
if (!ConvertSidToStringSid(pSid, &ptcSid)) {
*key_len = 0;
return NULL;
}
ptc_sid_len = strlen(ptcSid);
*key_len = pathname_len + ptc_sid_len;
bucket_key = (char *)HeapAlloc(GetProcessHeap(), HEAP_ZERO_MEMORY, *key_len + 1);
if (!bucket_key) {
LocalFree(ptcSid);
*key_len = 0;
return NULL;
}
memcpy(bucket_key, ptcSid, ptc_sid_len);
memcpy(bucket_key + ptc_sid_len, pathname, pathname_len + 1);
LocalFree(ptcSid);
return bucket_key;
}/*}}}*/
PSID tsrm_win32_get_token_sid(HANDLE hToken)
{/*{{{*/
DWORD dwLength = 0;
PTOKEN_USER pTokenUser = NULL;
DWORD sid_len;
PSID pResultSid = NULL;
/* Get the actual size of the TokenUser structure */
if (!GetTokenInformation(
hToken, TokenUser, (LPVOID) pTokenUser, 0, &dwLength)) {
if (GetLastError() != ERROR_INSUFFICIENT_BUFFER) {
goto Finished;
}
pTokenUser = (PTOKEN_USER)HeapAlloc(GetProcessHeap(), HEAP_ZERO_MEMORY, dwLength);
if (pTokenUser == NULL) {
goto Finished;
}
}
/* and fetch it now */
if (!GetTokenInformation(
hToken, TokenUser, (LPVOID) pTokenUser, dwLength, &dwLength)) {
goto Finished;
}
sid_len = GetLengthSid(pTokenUser->User.Sid);
/* ConvertSidToStringSid(pTokenUser->User.Sid, &ptcSidOwner); */
pResultSid = malloc(sid_len);
if (!pResultSid) {
goto Finished;
}
if (!CopySid(sid_len, pResultSid, pTokenUser->User.Sid)) {
goto Finished;
}
HeapFree(GetProcessHeap(), 0, (LPVOID)pTokenUser);
return pResultSid;
Finished:
if (pResultSid) {
free(pResultSid);
}
/* Free the buffer for the token groups. */
if (pTokenUser != NULL) {
HeapFree(GetProcessHeap(), 0, (LPVOID)pTokenUser);
}
return NULL;
}/*}}}*/
TSRM_API int tsrm_win32_access(const char *pathname, int mode)
{/*{{{*/
time_t t;
HANDLE thread_token = NULL;
PSID token_sid;
SECURITY_INFORMATION sec_info = OWNER_SECURITY_INFORMATION | GROUP_SECURITY_INFORMATION | DACL_SECURITY_INFORMATION;
GENERIC_MAPPING gen_map = { FILE_GENERIC_READ, FILE_GENERIC_WRITE, FILE_GENERIC_EXECUTE, FILE_ALL_ACCESS };
DWORD priv_set_length = sizeof(PRIVILEGE_SET);
PRIVILEGE_SET privilege_set = {0};
DWORD sec_desc_length = 0, desired_access = 0, granted_access = 0;
BYTE * psec_desc = NULL;
BOOL fAccess = FALSE;
realpath_cache_bucket * bucket = NULL;
char real_path[MAXPATHLEN] = {0};
if(!IS_ABSOLUTE_PATH(pathname, strlen(pathname)+1)) {
if(tsrm_realpath(pathname, real_path) == NULL) {
SET_ERRNO_FROM_WIN32_CODE(ERROR_FILE_NOT_FOUND);
return -1;
}
pathname = real_path;
}
PHP_WIN32_IOUTIL_INIT_W(pathname)
if (!pathw) {
return -1;
}
/* Either access call failed, or the mode was asking for a specific check.*/
int ret = php_win32_ioutil_access_w(pathw, mode);
if (0 > ret || X_OK == mode || F_OK == mode) {
PHP_WIN32_IOUTIL_CLEANUP_W()
return ret;
}
/* Only in NTS when impersonate==1 (aka FastCGI) */
/*
AccessCheck() requires an impersonation token. We first get a primary
token and then create a duplicate impersonation token. The
impersonation token is not actually assigned to the thread, but is
used in the call to AccessCheck. Thus, this function itself never
impersonates, but does use the identity of the thread. If the thread
was impersonating already, this function uses that impersonation context.
*/
if(!OpenThreadToken(GetCurrentThread(), TOKEN_ALL_ACCESS, TRUE, &thread_token)) {
if (GetLastError() == ERROR_NO_TOKEN) {
if (!OpenProcessToken(GetCurrentProcess(), TOKEN_ALL_ACCESS, &thread_token)) {
TWG(impersonation_token) = NULL;
goto Finished;
}
}
}
/* token_sid will be freed in tsrmwin32_dtor */
token_sid = tsrm_win32_get_token_sid(thread_token);
if (!token_sid) {
if (TWG(impersonation_token_sid)) {
free(TWG(impersonation_token_sid));
}
TWG(impersonation_token_sid) = NULL;
goto Finished;
}
/* Different identity, we need a new impersontated token as well */
if (!TWG(impersonation_token_sid) || !EqualSid(token_sid, TWG(impersonation_token_sid))) {
if (TWG(impersonation_token_sid)) {
free(TWG(impersonation_token_sid));
}
TWG(impersonation_token_sid) = token_sid;
/* Duplicate the token as impersonated token */
if (!DuplicateToken(thread_token, SecurityImpersonation, &TWG(impersonation_token))) {
goto Finished;
}
} else {
/* we already have it, free it then */
free(token_sid);
}
if (CWDG(realpath_cache_size_limit)) {
t = time(0);
bucket = realpath_cache_lookup(pathname, strlen(pathname), t);
if(bucket == NULL && !real_path[0]) {
/* We used the pathname directly. Call tsrm_realpath */
/* so that entry is created in realpath cache */
if(tsrm_realpath(pathname, real_path) != NULL) {
pathname = real_path;
bucket = realpath_cache_lookup(pathname, strlen(pathname), t);
PHP_WIN32_IOUTIL_REINIT_W(pathname);
}
}
}
/* Do a full access check because access() will only check read-only attribute */
if(mode == 0 || mode > 6) {
if(bucket != NULL && bucket->is_rvalid) {
fAccess = bucket->is_readable;
goto Finished;
}
desired_access = FILE_GENERIC_READ;
} else if(mode <= 2) {
if(bucket != NULL && bucket->is_wvalid) {
fAccess = bucket->is_writable;
goto Finished;
}
desired_access = FILE_GENERIC_WRITE;
} else if(mode <= 4) {
if(bucket != NULL && bucket->is_rvalid) {
fAccess = bucket->is_readable;
goto Finished;
}
desired_access = FILE_GENERIC_READ|FILE_FLAG_BACKUP_SEMANTICS;
} else { // if(mode <= 6)
if(bucket != NULL && bucket->is_rvalid && bucket->is_wvalid) {
fAccess = bucket->is_readable & bucket->is_writable;
goto Finished;
}
desired_access = FILE_GENERIC_READ | FILE_GENERIC_WRITE;
}
if(TWG(impersonation_token) == NULL) {
goto Finished;
}
/* Get size of security buffer. Call is expected to fail */
if(GetFileSecurityW(pathw, sec_info, NULL, 0, &sec_desc_length)) {
goto Finished;
}
psec_desc = (BYTE *)malloc(sec_desc_length);
if(psec_desc == NULL ||
!GetFileSecurityW(pathw, sec_info, (PSECURITY_DESCRIPTOR)psec_desc, sec_desc_length, &sec_desc_length)) {
goto Finished;
}
MapGenericMask(&desired_access, &gen_map);
if(!AccessCheck((PSECURITY_DESCRIPTOR)psec_desc, TWG(impersonation_token), desired_access, &gen_map, &privilege_set, &priv_set_length, &granted_access, &fAccess)) {
goto Finished_Impersonate;
}
/* Keep the result in realpath_cache */
if(bucket != NULL) {
if(desired_access == (FILE_GENERIC_READ|FILE_FLAG_BACKUP_SEMANTICS)) {
bucket->is_rvalid = 1;
bucket->is_readable = fAccess;
}
else if(desired_access == FILE_GENERIC_WRITE) {
bucket->is_wvalid = 1;
bucket->is_writable = fAccess;
} else if (desired_access == (FILE_GENERIC_READ | FILE_GENERIC_WRITE)) {
bucket->is_rvalid = 1;
bucket->is_readable = fAccess;
bucket->is_wvalid = 1;
bucket->is_writable = fAccess;
}
}
Finished_Impersonate:
if(psec_desc != NULL) {
free(psec_desc);
psec_desc = NULL;
}
Finished:
if(thread_token != NULL) {
CloseHandle(thread_token);
}
PHP_WIN32_IOUTIL_CLEANUP_W()
if(fAccess == FALSE) {
errno = EACCES;
return errno;
} else {
return 0;
}
}/*}}}*/
static process_pair *process_get(FILE *stream)
{/*{{{*/
static process_pair *process_get(FILE *stream TSRMLS_DC)
{
process_pair *ptr;
process_pair *newptr;
for (ptr = TWG(process); ptr < (TWG(process) + TWG(process_size)); ptr++) {
if (ptr->stream == stream) {
break;
}
}
if (ptr < (TWG(process) + TWG(process_size))) {
return ptr;
}
newptr = (process_pair*)realloc((void*)TWG(process), (TWG(process_size)+1)*sizeof(process_pair));
if (newptr == NULL) {
return NULL;
}
TWG(process) = newptr;
ptr = newptr + TWG(process_size);
TWG(process_size)++;
return ptr;
}/*}}}*/
}
static shm_pair *shm_get(key_t key, void *addr)
{/*{{{*/
static shm_pair *shm_get(int key, void *addr)
{
shm_pair *ptr;
shm_pair *newptr;
TSRMLS_FETCH();
for (ptr = TWG(shm); ptr < (TWG(shm) + TWG(shm_size)); ptr++) {
if (!ptr->descriptor) {
continue;
@@ -415,110 +127,61 @@ static shm_pair *shm_get(key_t key, void *addr)
if (ptr < (TWG(shm) + TWG(shm_size))) {
return ptr;
}
newptr = (shm_pair*)realloc((void*)TWG(shm), (TWG(shm_size)+1)*sizeof(shm_pair));
if (newptr == NULL) {
return NULL;
}
TWG(shm) = newptr;
ptr = newptr + TWG(shm_size);
TWG(shm_size)++;
memset(ptr, 0, sizeof(*ptr));
return ptr;
}/*}}}*/
}
static HANDLE dupHandle(HANDLE fh, BOOL inherit)
{/*{{{*/
static HANDLE dupHandle(HANDLE fh, BOOL inherit) {
HANDLE copy, self = GetCurrentProcess();
if (!DuplicateHandle(self, fh, self, &copy, 0, inherit, DUPLICATE_SAME_ACCESS|DUPLICATE_CLOSE_SOURCE)) {
return NULL;
}
return copy;
}/*}}}*/
}
TSRM_API FILE *popen(const char *command, const char *type)
{/*{{{*/
{
return popen_ex(command, type, NULL, NULL);
}/*}}}*/
}
TSRM_API FILE *popen_ex(const char *command, const char *type, const char *cwd, const char *env)
{/*{{{*/
TSRM_API FILE *popen_ex(const char *command, const char *type, const char *cwd, char *env)
{
FILE *stream = NULL;
int fno, type_len, read, mode;
STARTUPINFOW startup;
int fno, str_len = strlen(type), read, mode;
STARTUPINFO startup;
PROCESS_INFORMATION process;
SECURITY_ATTRIBUTES security;
HANDLE in, out;
DWORD dwCreateFlags = 0;
BOOL res;
char *cmd;
process_pair *proc;
char *cmd = NULL;
wchar_t *cmdw = NULL, *cwdw = NULL, *envw = NULL;
char *ptype = (char *)type;
HANDLE thread_token = NULL;
HANDLE token_user = NULL;
BOOL asuser = TRUE;
if (!type) {
return NULL;
}
type_len = (int)strlen(type);
if (type_len < 1 || type_len > 2) {
return NULL;
}
if (ptype[0] != 'r' && ptype[0] != 'w') {
return NULL;
}
if (type_len > 1 && (ptype[1] != 'b' && ptype[1] != 't')) {
return NULL;
}
cmd = (char*)malloc(strlen(command)+strlen(TWG(comspec))+sizeof(" /s /c ")+2);
if (!cmd) {
return NULL;
}
sprintf(cmd, "%s /s /c \"%s\"", TWG(comspec), command);
cmdw = php_win32_cp_any_to_w(cmd);
if (!cmdw) {
free(cmd);
return NULL;
}
if (cwd) {
cwdw = php_win32_ioutil_any_to_w(cwd);
if (!cwdw) {
free(cmd);
free(cmdw);
return NULL;
}
}
TSRMLS_FETCH();
security.nLength = sizeof(SECURITY_ATTRIBUTES);
security.bInheritHandle = TRUE;
security.lpSecurityDescriptor = NULL;
if (!type_len || !CreatePipe(&in, &out, &security, 2048L)) {
free(cmdw);
free(cwdw);
free(cmd);
if (!str_len || !CreatePipe(&in, &out, &security, 2048L)) {
return NULL;
}
memset(&startup, 0, sizeof(STARTUPINFOW));
memset(&startup, 0, sizeof(STARTUPINFO));
memset(&process, 0, sizeof(PROCESS_INFORMATION));
startup.cb = sizeof(STARTUPINFOW);
startup.cb = sizeof(STARTUPINFO);
startup.dwFlags = STARTF_USESTDHANDLES;
startup.hStdError = GetStdHandle(STD_ERROR_HANDLE);
read = (type[0] == 'r') ? TRUE : FALSE;
mode = ((type_len == 2) && (type[1] == 'b')) ? O_BINARY : O_TEXT;
mode = ((str_len == 2) && (type[1] == 'b')) ? O_BINARY : O_TEXT;
if (read) {
in = dupHandle(in, FALSE);
@@ -530,56 +193,21 @@ TSRM_API FILE *popen_ex(const char *command, const char *type, const char *cwd,
startup.hStdOutput = GetStdHandle(STD_OUTPUT_HANDLE);
}
dwCreateFlags = NORMAL_PRIORITY_CLASS;
if (strcmp(sapi_module.name, "cli") != 0) {
dwCreateFlags |= CREATE_NO_WINDOW;
}
/* Get a token with the impersonated user. */
if(OpenThreadToken(GetCurrentThread(), TOKEN_ALL_ACCESS, TRUE, &thread_token)) {
DuplicateTokenEx(thread_token, MAXIMUM_ALLOWED, &security, SecurityImpersonation, TokenPrimary, &token_user);
} else {
DWORD err = GetLastError();
if (err == ERROR_NO_TOKEN) {
asuser = FALSE;
}
}
envw = php_win32_cp_env_any_to_w(env);
if (envw) {
dwCreateFlags |= CREATE_UNICODE_ENVIRONMENT;
} else {
if (env) {
free(cmd);
free(cmdw);
free(cwdw);
return NULL;
}
}
if (asuser) {
res = CreateProcessAsUserW(token_user, NULL, cmdw, &security, &security, security.bInheritHandle, dwCreateFlags, envw, cwdw, &startup, &process);
CloseHandle(token_user);
} else {
res = CreateProcessW(NULL, cmdw, &security, &security, security.bInheritHandle, dwCreateFlags, envw, cwdw, &startup, &process);
}
free(cmd);
free(cmdw);
free(cwdw);
free(envw);
if (!res) {
cmd = (char*)malloc(strlen(command)+strlen(TWG(comspec))+sizeof(" /c "));
sprintf(cmd, "%s /c %s", TWG(comspec), command);
if (!CreateProcess(NULL, cmd, &security, &security, security.bInheritHandle, NORMAL_PRIORITY_CLASS, env, cwd, &startup, &process)) {
return NULL;
}
free(cmd);
CloseHandle(process.hThread);
proc = process_get(NULL);
proc = process_get(NULL TSRMLS_CC);
if (read) {
fno = _open_osfhandle((tsrm_intptr_t)in, _O_RDONLY | mode);
fno = _open_osfhandle((long)in, _O_RDONLY | mode);
CloseHandle(out);
} else {
fno = _open_osfhandle((tsrm_intptr_t)out, _O_WRONLY | mode);
fno = _open_osfhandle((long)out, _O_WRONLY | mode);
CloseHandle(in);
}
@@ -587,19 +215,20 @@ TSRM_API FILE *popen_ex(const char *command, const char *type, const char *cwd,
proc->prochnd = process.hProcess;
proc->stream = stream;
return stream;
}/*}}}*/
}
TSRM_API int pclose(FILE *stream)
{/*{{{*/
{
DWORD termstat = 0;
process_pair *process;
TSRMLS_FETCH();
if ((process = process_get(stream)) == NULL) {
if ((process = process_get(stream TSRMLS_CC)) == NULL) {
return 0;
}
fflush(process->stream);
fclose(process->stream);
fclose(process->stream);
WaitForSingleObject(process->prochnd, INFINITE);
GetExitCodeProcess(process->prochnd, &termstat);
@@ -607,68 +236,45 @@ TSRM_API int pclose(FILE *stream)
CloseHandle(process->prochnd);
return termstat;
}/*}}}*/
}
TSRM_API int shmget(key_t key, size_t size, int flags)
{/*{{{*/
TSRM_API int shmget(int key, int size, int flags)
{
shm_pair *shm;
char shm_segment[26], shm_info[29];
HANDLE shm_handle = NULL, info_handle = NULL;
HANDLE shm_handle, info_handle;
BOOL created = FALSE;
if (key != IPC_PRIVATE) {
snprintf(shm_segment, sizeof(shm_segment), "TSRM_SHM_SEGMENT:%d", key);
snprintf(shm_info, sizeof(shm_info), "TSRM_SHM_DESCRIPTOR:%d", key);
shm_handle = OpenFileMapping(FILE_MAP_ALL_ACCESS, FALSE, shm_segment);
info_handle = OpenFileMapping(FILE_MAP_ALL_ACCESS, FALSE, shm_info);
if (size < 0) {
return -1;
}
if (!shm_handle && !info_handle) {
if (flags & IPC_CREAT) {
#if SIZEOF_SIZE_T == 8
DWORD high = size >> 32;
DWORD low = (DWORD)size;
#else
DWORD high = 0;
DWORD low = size;
#endif
shm_handle = CreateFileMapping(INVALID_HANDLE_VALUE, NULL, PAGE_READWRITE, high, low, key == IPC_PRIVATE ? NULL : shm_segment);
info_handle = CreateFileMapping(INVALID_HANDLE_VALUE, NULL, PAGE_READWRITE, 0, sizeof(shm->descriptor), key == IPC_PRIVATE ? NULL : shm_info);
created = TRUE;
}
if (!shm_handle || !info_handle) {
if (shm_handle) {
CloseHandle(shm_handle);
}
if (info_handle) {
CloseHandle(info_handle);
}
sprintf(shm_segment, "TSRM_SHM_SEGMENT:%d", key);
sprintf(shm_info, "TSRM_SHM_DESCRIPTOR:%d", key);
shm_handle = OpenFileMapping(FILE_MAP_ALL_ACCESS, FALSE, shm_segment);
info_handle = OpenFileMapping(FILE_MAP_ALL_ACCESS, FALSE, shm_info);
if ((!shm_handle && !info_handle)) {
if (flags & IPC_EXCL) {
return -1;
}
} else {
if (flags & IPC_EXCL) {
if (shm_handle) {
CloseHandle(shm_handle);
}
if (info_handle) {
CloseHandle(info_handle);
}
if (flags & IPC_CREAT) {
shm_handle = CreateFileMapping(INVALID_HANDLE_VALUE, NULL, PAGE_READWRITE, 0, size, shm_segment);
info_handle = CreateFileMapping(INVALID_HANDLE_VALUE, NULL, PAGE_READWRITE, 0, sizeof(shm->descriptor), shm_info);
created = TRUE;
}
if ((!shm_handle || !info_handle)) {
return -1;
}
}
shm = shm_get(key, NULL);
if (!shm) {
CloseHandle(shm_handle);
CloseHandle(info_handle);
return -1;
}
shm->segment = shm_handle;
shm->info = info_handle;
shm->descriptor = MapViewOfFileEx(shm->info, FILE_MAP_ALL_ACCESS, 0, 0, 0, NULL);
if (NULL != shm->descriptor && created) {
if (created) {
shm->descriptor->shm_perm.key = key;
shm->descriptor->shm_segsz = size;
shm->descriptor->shm_ctime = time(NULL);
@@ -682,45 +288,36 @@ TSRM_API int shmget(key_t key, size_t size, int flags)
shm->descriptor->shm_perm.mode = shm->descriptor->shm_perm.seq = 0;
}
if (NULL != shm->descriptor && (shm->descriptor->shm_perm.key != key || size > shm->descriptor->shm_segsz)) {
if (NULL != shm->segment) {
CloseHandle(shm->segment);
}
if (shm->descriptor->shm_perm.key != key || size > shm->descriptor->shm_segsz ) {
CloseHandle(shm->segment);
UnmapViewOfFile(shm->descriptor);
CloseHandle(shm->info);
return -1;
}
return key;
}/*}}}*/
}
TSRM_API void *shmat(int key, const void *shmaddr, int flags)
{/*{{{*/
{
shm_pair *shm = shm_get(key, NULL);
if (!shm->segment) {
return (void*)-1;
}
shm->addr = MapViewOfFileEx(shm->segment, FILE_MAP_ALL_ACCESS, 0, 0, 0, NULL);
if (NULL == shm->addr) {
int err = GetLastError();
SET_ERRNO_FROM_WIN32_CODE(err);
return (void*)-1;
}
shm->descriptor->shm_atime = time(NULL);
shm->descriptor->shm_lpid = getpid();
shm->descriptor->shm_nattch++;
shm->addr = MapViewOfFileEx(shm->segment, FILE_MAP_ALL_ACCESS, 0, 0, 0, NULL);
return shm->addr;
}/*}}}*/
}
TSRM_API int shmdt(const void *shmaddr)
{/*{{{*/
{
shm_pair *shm = shm_get(0, (void*)shmaddr);
int ret;
if (!shm->segment) {
return -1;
@@ -730,16 +327,10 @@ TSRM_API int shmdt(const void *shmaddr)
shm->descriptor->shm_lpid = getpid();
shm->descriptor->shm_nattch--;
ret = UnmapViewOfFile(shm->addr) ? 0 : -1;
if (!ret && shm->descriptor->shm_nattch <= 0) {
ret = UnmapViewOfFile(shm->descriptor) ? 0 : -1;
shm->descriptor = NULL;
}
return ret;
}/*}}}*/
return UnmapViewOfFile(shm->addr) ? 0 : -1;
}
TSRM_API int shmctl(int key, int cmd, struct shmid_ds *buf)
{/*{{{*/
TSRM_API int shmctl(int key, int cmd, struct shmid_ds *buf) {
shm_pair *shm = shm_get(key, NULL);
if (!shm->segment) {
@@ -767,59 +358,14 @@ TSRM_API int shmctl(int key, int cmd, struct shmid_ds *buf)
default:
return -1;
}
}/*}}}*/
static zend_always_inline void UnixTimeToFileTime(time_t t, LPFILETIME pft) /* {{{ */
{
// Note that LONGLONG is a 64-bit value
LONGLONG ll;
ll = t * 10000000LL + 116444736000000000LL;
pft->dwLowDateTime = (DWORD)ll;
pft->dwHighDateTime = ll >> 32;
}
/* }}} */
TSRM_API int win32_utime(const char *filename, struct utimbuf *buf) /* {{{ */
TSRM_API char *realpath(char *orig_path, char *buffer)
{
FILETIME mtime, atime;
HANDLE hFile;
PHP_WIN32_IOUTIL_INIT_W(filename)
if (!pathw) {
return -1;
int ret = GetFullPathName(orig_path, _MAX_PATH, buffer, NULL);
if(!ret || ret > _MAX_PATH) {
return NULL;
}
hFile = CreateFileW(pathw, GENERIC_WRITE, FILE_SHARE_WRITE|FILE_SHARE_READ, NULL,
OPEN_ALWAYS, FILE_FLAG_BACKUP_SEMANTICS, NULL);
PHP_WIN32_IOUTIL_CLEANUP_W()
/* OPEN_ALWAYS mode sets the last error to ERROR_ALREADY_EXISTS but
the CreateFile operation succeeds */
if (GetLastError() == ERROR_ALREADY_EXISTS) {
SetLastError(0);
}
if ( hFile == INVALID_HANDLE_VALUE ) {
return -1;
}
if (!buf) {
SYSTEMTIME st;
GetSystemTime(&st);
SystemTimeToFileTime(&st, &mtime);
atime = mtime;
} else {
UnixTimeToFileTime(buf->modtime, &mtime);
UnixTimeToFileTime(buf->actime, &atime);
}
if (!SetFileTime(hFile, NULL, &atime, &mtime)) {
CloseHandle(hFile);
return -1;
}
CloseHandle(hFile);
return 1;
return buffer;
}
/* }}} */
#endif
#endif
+13 -15
View File
@@ -1,6 +1,8 @@
/*
+----------------------------------------------------------------------+
| Copyright (c) The PHP Group |
| PHP Version 4 |
+----------------------------------------------------------------------+
| Copyright (c) 1997-2007 The PHP Group |
+----------------------------------------------------------------------+
| This source file is subject to version 3.01 of the PHP license, |
| that is bundled with this package in the file LICENSE, and is |
@@ -14,16 +16,16 @@
+----------------------------------------------------------------------+
*/
/* $Id$ */
#ifndef TSRM_WIN32_H
#define TSRM_WIN32_H
#include "TSRM.h"
#include <windows.h>
#include <sys/utime.h>
#include "win32/ipc.h"
struct ipc_perm {
key_t key;
int key;
unsigned short uid;
unsigned short gid;
unsigned short cuid;
@@ -34,7 +36,7 @@ struct ipc_perm {
struct shmid_ds {
struct ipc_perm shm_perm;
size_t shm_segsz;
int shm_segsz;
time_t shm_atime;
time_t shm_dtime;
time_t shm_ctime;
@@ -61,13 +63,10 @@ typedef struct {
int process_size;
int shm_size;
char *comspec;
HANDLE impersonation_token;
PSID impersonation_token_sid;
} tsrm_win32_globals;
#ifdef ZTS
# define TWG(v) TSRMG_STATIC(win32_globals_id, tsrm_win32_globals *, v)
TSRMLS_CACHE_EXTERN()
# define TWG(v) TSRMG(win32_globals_id, tsrm_win32_globals *, v)
#else
# define TWG(v) (win32_globals.v)
#endif
@@ -89,19 +88,18 @@ TSRMLS_CACHE_EXTERN()
#define SHM_RND FILE_MAP_WRITE
#define SHM_REMAP FILE_MAP_COPY
const char * tsrm_win32_get_path_sid_key(const char *pathname, size_t pathname_len, size_t *key_len);
TSRM_API void tsrm_win32_startup(void);
TSRM_API void tsrm_win32_shutdown(void);
TSRM_API FILE *popen_ex(const char *command, const char *type, const char *cwd, const char *env);
TSRM_API FILE *popen_ex(const char *command, const char *type, const char *cwd, char *env);
TSRM_API FILE *popen(const char *command, const char *type);
TSRM_API int pclose(FILE *stream);
TSRM_API int tsrm_win32_access(const char *pathname, int mode);
TSRM_API int win32_utime(const char *filename, struct utimbuf *buf);
TSRM_API int shmget(key_t key, size_t size, int flags);
TSRM_API int shmget(int key, int size, int flags);
TSRM_API void *shmat(int key, const void *shmaddr, int flags);
TSRM_API int shmdt(const void *shmaddr);
TSRM_API int shmctl(int key, int cmd, struct shmid_ds *buf);
#endif
TSRM_API char *realpath(char *orig_path, char *buffer);
#endif
-1159
View File
File diff suppressed because it is too large. Load diff
-461
View File
@@ -1,461 +0,0 @@
PHP 8.0 INTERNALS UPGRADE NOTES
1. Internal API changes
a. Object Handlers API
b. ZEND_OVERLOADED_FUNCTION and corresponding call_method() object handler
c. TSRM changes
d. get() and set() object handlers
e. zend_parse_parameters 'L' specifier
f. Arginfo argument types
g. zend_free_op type and should_free argument of zend_get_zval_ptr()
h. zend_value_error()
i. get_closure() object handler
j. compare_objects() and compare() object handlers
k. The 'I' length modifier
l. Some VM instructions switched to IS_TMP_VAR result instead of IS_VAR
m. All internal functions must have arginfo
n. zend_hash_sort compare function and zend_hash_sort signature change
o. cast_object() object handler is now required
p. ARG_COUNT() macro removed
q. GC_COLLECTABLE flag
r. Cannot implement Traversable only
s. zend_fcall_info no_separation flag removed
t. Signature changes
u. Error Notification callbacks to replace zend_error_cb overwrite use-cases
v. Removed Zend APIs
w. Renamed Zend APIs
x. ZEND_EXT_NOP no longer emitted
2. Build system changes
a. Abstract
b. Unix build system changes
c. Windows build system changes
3. Module changes
========================
1. Internal API changes
========================
a. The Object Handlers API was changed to receive zend_object* instead of
zval* and zend_string* instead of zval* for property names. See also
section t for other similar changes.
b. ZEND_OVERLOADED_FUNCTION and corresponding call_method() object handler
were removed. ZEND_INTERNAL_FUNCTION with ZEND_ACC_CALL_VIA_HANDLER and
defined "handler" callback should be used instead. This "handler" callback
should also take care about function cleanup. See ext/zend_test/test.c
for example.
c. The following things have been removed from TSRM:
- TSRMLS_DC
- TSRMLS_D
- TSRMLS_CC
- TSRMLS_C
- TSRMLS_FETCH
- TSRMLS_FETCH_FROM_CTX
- TSRMLS_SET_CTX
- tsrm_new_interpreter_context
- tsrm_set_interpreter_context
- tsrm_free_interpreter_context
- support for GNUPTH, SGI ST, and BETHREADS
d. The get() and set() object handlers have been removed. The get() handler
can generally be replaced with cast_object(). Some uses of set() may be
replaced by do_operation(). If set() was used to overload direct
assignments using "=", then this is no longer supported and the
functionality should be provided in some other way (for example, as
modification of an object property).
e. The zend_parse_parameters 'L' specifier and the Z_PARAM_STRICT_LONG()
family of macros have been removed. Use 'l' and Z_PARAM_LONG() instead,
which, despite the confusing name, actually have stricter input validation.
f. Arginfo argument types for internal functions are no longer checked.
Instead type checks should be performed using the zend_parse_parameters()
or ZEND_PARSE_PARAMETERS_*() APIs.
g. The zend_free_op type and the "should_free" and "type" arguments of
zend_get_zval_ptr() were removed. It's possible to get the old
"should_free" value using the following code:
zval *ret = zend_get_zval_ptr(
opline, opline->op1_type, &opline->op1, execute_data);
zval *should_free = (op_type & (IS_TMP_VAR|IS_VAR)) ? ret : NULL;
h. Added the zend_value_error() function, which is intended to be used
to raise ValueError when inappropriate argument values are passed
to functions.
i. get_closure() object handlers now accept an additional zend_bool parameter
`check_only`. If it is true, the handler is called to check whether the
object is callable; in this case the handler should not throw an exception.
j. compare_objects() handler was removed. Extensions should use compare() object
handler instead and check if both arguments are objects and have the same
compare handler, using ZEND_COMPARE_OBJECTS_FALLBACK() macro.
k. The 'I' length modifier, used to denote 32 and 64bit integer from the custom
snprintf and spprintf implementations has been removed.
Use the ZEND_LONG_FMT, ZEND_ULONG_FMT and ZEND_XLONG_FMT macros defined in
php-src/Zend/zend_long.h
The 'v' format from the custom snprintf and spprintf implementations has
been removed. Use the standard 's' format instead.
l. Some VM instructions switched to IS_TMP_VAR result instead of IS_VAR.
Actually, all assignments (ZEND_ASSIGN, ZEND_ASSIGN_DIM, ZEND_ASSIGN_OBJ,
ZEND_ASSIGN_STATIC_PROP), all compound assignments (ZEND_ASSIGN_OP,
ZEND_ASSIGN_DIM_OP, ZEND_ASSIGN_OBJ_OP, ZEND_ASSIGN_STATIC_PROP_OP) and all
pre increments/decrements (ZEND_PRE_INC, ZEND_PRE_DEC, ZEND_PRE_INC_OBJ
ZEND_PRE_DEC_OBJ, ZEND_PRE_INC_STATIC_PROP ZEND_PRE_DEC_STATIC_PROP).
m. All internal functions and methods are now required to specify arginfo
information, otherwise warnings will be thrown on startup.
n. The zend_hash_sort and zend_hash_minmax APIs now accept a comparison
function with the following signature:
typedef int (*bucket_compare_func_t)(Bucket *a, Bucket *b);
Previously compare_func_t was used, which accepted void pointers.
Furthermore, the return type of zend_hash_sort and zend_ts_hash_sort has
been changed from int to void; these functions always succeed.
o. The cast_object() handler is now required, i.e. must be non-null. You can
indicate that casting is not supported by always returning FAILURE.
p. The ARG_COUNT() macro has been removed use ZEND_NUM_ARGS() instead.
q. GC_COLLECTABLE flag was inverted into GC_NOT_COLLECTABLE.
Assignments to GC_TYPE_INFO() might need to be changed to properly
set the value of the GC_NOT_COLLECTABLE flag.
r. Just for for userland classes, it is no longer allowed to implement only
the Traversable interface. Instead, it is necessary to implement either
Iterator or IteratorAggregate. You can do the latter by implementing
zend_ce_aggregate and providing the following method implementation:
ZEND_METHOD(MyClass, getIterator) {
ZEND_PARSE_PARAMETERS_NONE();
zend_create_internal_iterator_zval(return_value, ZEND_THIS);
}
s. The zend_fcall_info no_separation flag has been removed, and separation is
never allowed. If you wish to pass (or allow passing) arguments by
reference, explicitly create those arguments as references using
ZEND_MAKE_REF. This removal also affects call_user_function_ex(), which
should be replaced by call_user_function().
t. The following ZEND_API function have changed signature:
1. Void in Zend Engine 4.0:
- add_assoc_*()
- add_index_*()
- add_property_*()
- object_init()
- zend_declare_class_constant*()
- zend_declare_property*()
- zend_startup_modules()
- zend_wrong_parameters_none_error()
- zend_fcall_info_argp()
- zend_fcall_info_argv()
- zend_fcall_info_argn()
- zend_startup()
- zend_set_memory_limit()
- pass_two()
- zend_startup_constants()
- zend_shutdown_constants()
- zend_startup_extensions_mechanism()
- zend_startup_extensions()
- zend_register_extension()
- highlight_string()
- zend_ini_startup()
- zend_ini_shutdown()
- zend_ini_global_shutdown()
- zend_ini_deactivate()
- zend_copy_ini_directives()
- zend_prepare_string_for_scanning()
- zend_init_rsrc_list()
- zend_list_close()
- zend_signal()
- zend_sigaction()
- zend_stack_init()
- zend_stack_del_top()
- zend_stack_destroy()
2. Argument int to uint32_t in Zend Engine 4.0:
- _zend_get_parameters_array_ex()
- zend_copy_parameters_array()
- zend_fcall_info_args_save()
- zend_fcall_info_args_restore()
- zend_fcall_info_argp()
- zend_fcall_info_argv()
- zend_fcall_info_argn()
- zend_wrong_parameter*()
- zend_wrong_callback_error()
- zend_parse_arg_class()
3. Argument int to bool in Zend Engine 4.0:
- add_next_index_bool()
- zend_register_class_alias_ex()
- add_assoc_bool_ex()
- add_index_bool()
- zend_fcall_info_args_clear()
- zend_set_local_var()
- zend_set_local_var_str()
- zend_parse_arg_*()
- shutdown_memory_manager()
- zend_memory_usage()
- zend_memory_peak_usage()
- zend_mm_shutdown()
- zend_eval_string*()
- zend_set_timeout()
- _zend_hash_append_ex()
- _zend_hash_append_ptr_ex()
- zend_alter_ini_entry_ex()
- (*zend_encoding_list_parser) typedef
- zend_multibyte_parse_encoding_list()
- zend_safe_address()
- zend_string_tolower_ex()
- zend_string_alloc()
- zend_string_safe_alloc()
- zend_string_init()
- zend_string_dup()
- zend_string_realloc()
- zend_string_extend()
- zend_string_truncate()
- zend_string_safe_realloc()
- zend_string_release_ex()
- zend_ts_hash_merge()
- zend_ts_hash_sort()
4. Argument int to size_t in Zend Engine 4.0:
- zend_set_hash_symbol()
5. Argument zval* to zend_object* in Zend Engine 4.0:
- zend_read_property()
- zend_update_property()
- zend_unset_property()
- zend_call_method()
- zend_objects_clone_obj()
- zend_get_closure_method_def()
- zend_throw_exception_hook()
- zend_throw_exception_internal()
- zend_get_exception_base()
6. Argument zval* to zend_long in Zend Engine 4.0:
- _php_math_longtobase()
7. Return type from int to zend_result in Zend Engine 4.0:
- (*stream_open_function) in _zend_utility_functions
- (*zend_post_startup_cb)
- (*zend_preload_autoload)
- zend_execute_scripts()
- zend_post_startup()
- _zend_get_parameters_array_ex()
- zend_copy_parameters_array()
- zend_parse_parameters()
- zend_parse_parameters_ex()
- zend_parse_method_parameters()
- zend_parse_method_parameters_ex()
- zend_parse_method_parameters()
- zend_register_functions()
- zend_startup_module()
- zend_startup_module_ex()
- zend_register_class_alias_ex()
- zend_disable_function()
- zend_disable_class()
- zend_update_class_constants()
- zend_update_static_property*()
- object_init_ex()
- object_and_properties_init()
- add_index_zval()
- add_next_index_long_*()
- array_set_zval_key()
- _call_user_function_impl()
- zend_fcall_info_*()
- zend_call_function()
- zend_set_hash_symbol()
- zend_delete_global_variable()
- zend_set_local_var()
- zend_set_local_var_str()
- zend_forbid_dynamic_call()
- zend_get_default_from_internal_arg_info()
- zend_try_assign_typed_ref*()
- zend_ast_evaluate()
- zend_startup_builtin_functions()
- do_bind_function()
- do_bind_class()
- zend_unmangle_property_name_ex()
- zend_register_auto_global()
- zend_register_constant()
- zend_exception_error()
- zend_eval_string*()
- zend_undefined_offset_write()
- zend_undefined_index_write()
- zval_update_constant(_ex)()
- zend_load_extension()
- zend_load_extension_handle()
- zend_hash_del(_ind)()
- zend_hash_str_del(_ind)()
- zend_hash_index_del()
- zend_hash_move_forward_ex()
- zend_hash_move_backward_ex()
- zend_hash_get_current_key_ex()
- zend_hash_get_current_key_type_ex()
- zend_symtable_del(_ind)()
- zend_symtable_str_del(_ind)()
- highlight_file()
- zend_do_link_class()
- zend_alter_ini_entry*()
- zend_restore_ini_entry()
- zend_ini_register_displayer()
- zend_ini_open_file_for_scanning()
- zend_ini_prepare_string_for_scanning()
- zend_user_it_valid()
- zend_create_internal_iterator_zval()
- zend_multibyte_set_filter()
- zend_lex_tstring()
- _zend_module_entry module_startup_func, module_shutdown_func,
request_startup_func, request_shutdown_func, and post_deactivate_func function pointers
- (*zend_encoding_list_parser) typedef
- (*zend_encoding_internal_encoding_setter) typedef
- zend_multibyte_set_functions()
- zend_multibyte_set_script_encoding_by_string()
- add_function()
- sub_function()
- mul_function()
- pow_function()
- div_function()
- mod_function()
- boolean_xor_function()
- boolean_not_function()
- bitwise_not_function()
- bitwise_or_function()
- bitwise_and_function()
- bitwise_xor_function()
- shift_left_function()
- shift_right_function()
- concat_function()
- is_equal_function(
- is_identical_function()
- is_not_identical_function()
- is_not_equal_function()
- is_smaller_function()
- is_smaller_or_equal_function(zv
- increment_function()
- decrement_function()
- zend_stream_open()
- zend_stream_fixup()
- zend_ts_hash_del()
- zend_ts_hash_index_del()
8. Return type from int to bool in Zend Engine 4.0:
- zend_make_printable_zval()
- zend_parse_arg_*()
- is_zend_mm()
- is_zend_ptr()
- zend_mm_is_custom_heap()
- (*zend_mm_chunk_truncate_t)
- (*zend_mm_chunk_extend_t)
- zend_bitset_empty()
- zend_is_smart_branch()
- zend_check_arg_send_type()
- zend_verify_const_access()
- zend_gdb_register_code()
- zend_gdb_present()
- _zend_handle_numeric_str(_ex)()
- zend_hash_exists_ind()
- zend_hash_str_exists_ind()
- zend_symtable_exists(_ind)()
- zend_symtable_str_exists()
- (*zend_encoding_lexer_compatibility_checker)
- zend_object_is_true()
- i_zend_is_true()
- zendi_smart_streq()
- zend_stack_is_empty()
- zend_ts_hash_exists()
- zend_ts_hash_index_exists()
9. Argument void to const char* in Zend Engine 4.0:
- zend_get_op_array_extension_handle()
10. Argument zend_extension to const char* in Zend Engine 4.0:
- zend_get_resource_handle()
11. Argument const char * to HMODULE in Zend Engine 4.0:
- php_win32_image_compatible()
12. const char * argument dropped in Zend Engine 4.0:
- php_win32_crt_compatible()
u. Instead of overwriting zend_error_cb extensions with debugging, monitoring
use-cases catching Errors/Exceptions are strongly encouraged to use
the new error observer API instead.
Error observering callbacks are guaranteed to be called regardless of
the users error_reporting setting or userland error handler return values.
Register observer callbacks during MINIT of an extension:
void my_error_observer_cb(int type,
const char *error_filename,
uint32_t error_lineno,
zend_string *message) {
}
zend_observer_error_register(my_error_observer_cb);
v. The following APIs have been removed from the Zend Engine:
- zend_ts_hash_init_ex(), drop the last argument and use zend_ts_hash_init() instead
- zend_hash_init_ex(), drop the last argument and use zend_hash_init() instead
- zval_internal_dtor(), use zval_internal_ptr_dtor() instead
- zval_dtor_func(), use rc_dtor_func() instead
- zval_ptr_dtor_wrapper(), use zval_ptr_dtor() instead
- zval_internal_ptr_dtor_wrapper(), use zval_internal_ptr_dtor() instead
w. The following APIs have been renamed:
- _zend_ts_hash_init() to zend_ts_hash_init()
x. In COMPILE_EXTENDED_STMT mode, a ZEND_EXT_NOP opcode will no longer be
generated at the start of a function. Use the new observer APIs or hook
into zend_execute_ex instead.
========================
2. Build system changes
========================
a. Abstract
1. Symbol HAVE_HASH_EXT is removed and is no longer defined. It should be
considered to have hash extension always available since PHP 7.4.
2. Symbol HAVE_PCRE is removed and is no longer defined. It should be
considered to have pcre extension always available since PHP 7.4.
3. Symbol HAVE_LOCALE_H has been removed and is no longer defined.
4. --disable-inline-optimization (which actually disabled all compiler
optimizations) has been removed. If you wish to build PHP on a host
with extremely constrained memory, and compilation fails with an "out
of memory" message, add "-O0" to CFLAGS.
5. build system and provider are displayed in phpinfo from environment:
- PHP_BUILD_SYSTEM (default is same as PHP_UNAME)
- PHP_BUILD_PROVIDER (no default)
b. Unix build system changes
1. --enable-maintainer-zts is renamed --enable-zts for parity with Windows
and as recognition that ZTS is not a "maintainer" or experimental
feature.
2. The PHP_CHECK_GCC_ARG() m4 macro has been removed in favor of
AX_CHECK_COMPILE_FLAG().
3. The 6th argument of PHP_ADD_SOURCES_X has been removed.
4. The 'special-flags' (3rd) argument of PHP_ADD_SOURCES_X are
now appended instead of prepended to previous compiler flags.
This means compiler flags passed to PHP_NEW_EXTENSION and PHP_ADD_SOURCES
are now appended, this allows to disable compiler flags set by Zend/Zend.m4
(e.g. disable certain compiler flags enabled by -Wextra)
c. Windows build system changes
- The configuration option --enable-crt-debug has been removed. The VC
debug heap can now be enabled for debug builds by setting the environment
variable PHP_WIN32_DEBUG_HEAP to a non-negative number before PHP process
startup.
========================
3. Module changes
========================
-56
View File
@@ -1,56 +0,0 @@
--------------------------------------------------------------------
The Zend Engine License, Version 2.00
Copyright (c) 1999-2006 Zend Technologies Ltd. All rights reserved.
--------------------------------------------------------------------
Redistribution and use in source and binary forms, with or without
modification, is permitted provided that the following conditions
are met:
1. Redistributions of source code must retain the above copyright
notice, this list of conditions and the following disclaimer.
2. Redistributions in binary form must reproduce the above
copyright notice, this list of conditions and the following
disclaimer in the documentation and/or other materials provided
with the distribution.
3. The names "Zend" and "Zend Engine" must not be used to endorse
or promote products derived from this software without prior
permission from Zend Technologies Ltd. For written permission,
please contact license@zend.com.
4. Zend Technologies Ltd. may publish revised and/or new versions
of the license from time to time. Each version will be given a
distinguishing version number.
Once covered code has been published under a particular version
of the license, you may always continue to use it under the
terms of that version. You may also choose to use such covered
code under the terms of any subsequent version of the license
published by Zend Technologies Ltd. No one other than Zend
Technologies Ltd. has the right to modify the terms applicable
to covered code created under this License.
5. Redistributions of any form whatsoever must retain the following
acknowledgment:
"This product includes the Zend Engine, freely available at
http://www.zend.com"
6. All advertising materials mentioning features or use of this
software must display the following acknowledgment:
"The Zend Engine is freely available at http://www.zend.com"
THIS SOFTWARE IS PROVIDED BY ZEND TECHNOLOGIES LTD. ``AS IS'' AND
ANY EXPRESSED OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO,
THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A
PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL ZEND
TECHNOLOGIES LTD. BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF
USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND
ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY,
OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT
OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF
SUCH DAMAGE.
--------------------------------------------------------------------
-37
View File
@@ -1,37 +0,0 @@
#
# Zend
#
$(builddir)/zend_language_scanner.lo: $(srcdir)/zend_language_parser.h
$(builddir)/zend_ini_scanner.lo: $(srcdir)/zend_ini_parser.h
$(srcdir)/zend_language_scanner.c: $(srcdir)/zend_language_scanner.l
@(cd $(top_srcdir); $(RE2C) $(RE2C_FLAGS) --no-generation-date --case-inverted -cbdFt Zend/zend_language_scanner_defs.h -oZend/zend_language_scanner.c Zend/zend_language_scanner.l)
$(srcdir)/zend_language_parser.h: $(srcdir)/zend_language_parser.c
$(srcdir)/zend_language_parser.c: $(srcdir)/zend_language_parser.y
# Tweak zendparse to be exported through ZEND_API. This has to be revisited once
# bison supports foreign skeletons and that bison version is used. Read
# https://git.savannah.gnu.org/cgit/bison.git/tree/data/README.md for more.
@$(YACC) $(YFLAGS) -v -d $(srcdir)/zend_language_parser.y -o $@
@$(SED) -e 's,^int zendparse\(.*\),ZEND_API int zendparse\1,g' < $@ \
> $@.tmp && \
mv $@.tmp $@
@$(SED) -e 's,^int zendparse\(.*\),ZEND_API int zendparse\1,g' < $(srcdir)/zend_language_parser.h \
> $(srcdir)/zend_language_parser.h.tmp && \
mv $(srcdir)/zend_language_parser.h.tmp $(srcdir)/zend_language_parser.h
@nlinit=`echo 'nl="'; echo '"'`; eval "$$nlinit"; \
$(SED) -e "s/^#ifndef YYTOKENTYPE/#include \"zend.h\"\\$${nl}#ifndef YYTOKENTYPE/" < $(srcdir)/zend_language_parser.h \
> $(srcdir)/zend_language_parser.h.tmp && \
mv $(srcdir)/zend_language_parser.h.tmp $(srcdir)/zend_language_parser.h
$(srcdir)/zend_ini_parser.h: $(srcdir)/zend_ini_parser.c
$(srcdir)/zend_ini_parser.c: $(srcdir)/zend_ini_parser.y
$(YACC) $(YFLAGS) -v -d $(srcdir)/zend_ini_parser.y -o $@
$(srcdir)/zend_ini_scanner.c: $(srcdir)/zend_ini_scanner.l
@(cd $(top_srcdir); $(RE2C) $(RE2C_FLAGS) --no-generation-date --case-inverted -cbdFt Zend/zend_ini_scanner_defs.h -oZend/zend_ini_scanner.c Zend/zend_ini_scanner.l)
$(builddir)/zend_highlight.lo $(builddir)/zend_compile.lo: $(srcdir)/zend_language_parser.h
Zend/zend_execute.lo: $(srcdir)/zend_vm_execute.h $(srcdir)/zend_vm_opcodes.h
-139
View File
@@ -1,139 +0,0 @@
# Zend Engine
## Zend memory manager
### General
The goal of the new memory manager (available since PHP 5.2) is to reduce memory
allocation overhead and speedup memory management.
### Debugging
Normal:
```bash
sapi/cli/php -r 'leak();'
```
Zend MM disabled:
```bash
USE_ZEND_ALLOC=0 valgrind --leak-check=full sapi/cli/php -r 'leak();'
```
### Shared extensions
Since PHP 5.3.11 it is possible to prevent shared extensions from unloading so
that valgrind can correctly track the memory leaks in shared extensions. For
this there is the `ZEND_DONT_UNLOAD_MODULES` environment variable. If set, then
`DL_UNLOAD()` is skipped during the shutdown of shared extensions.
## ZEND_VM
`ZEND_VM` architecture allows specializing opcode handlers according to
`op_type` fields and using different execution methods (call threading, switch
threading and direct threading). As a result ZE2 got more than 20% speedup on
raw PHP code execution (with specialized executor and direct threading execution
method). As in most PHP applications raw execution speed isn't the limiting
factor but system calls and database calls are, your mileage with this patch
will vary.
Most parts of the old zend_execute.c go into `zend_vm_def.h`. Here you can find
opcode handlers and helpers. The typical opcode handler template looks like
this:
```c
ZEND_VM_HANDLER(<OPCODE-NUMBER>, <OPCODE>, <OP1_TYPES>, <OP2_TYPES>)
{
<HANDLER'S CODE>
}
```
`<OPCODE-NUMBER>` is a opcode number (0, 1, ...)
`<OPCODE>` is an opcode name (ZEN_NOP, ZEND_ADD, :)
`<OP1_TYPES>` and `<OP2_TYPES>` are masks for allowed operand op_types.
Specializer will generate code only for defined combination of types. You can
use any combination of the following op_types UNUSED, CONST, VAR, TMP and CV
also you can use ANY mask to disable specialization according operand's op_type.
`<HANDLER'S CODE>` is a handler's code itself. For most handlers it stills the
same as in old `zend_execute.c`, but now it uses macros to access opcode
operands and some internal executor data.
You can see the conformity of new macros to old code in the following list:
```c
EXECUTE_DATA
execute_data
ZEND_VM_DISPATCH_TO_HANDLER(<OP>)
return <OP>_helper(ZEND_OPCODE_HANDLER_ARGS_PASSTHRU)
ZEND_VM_DISPATCH_TO_HELPER(<NAME>)
return <NAME>(ZEND_OPCODE_HANDLER_ARGS_PASSTHRU)
ZEND_VM_DISPATCH_TO_HELPER_EX(<NAME>,<PARAM>,<VAL>)
return <NAME>(<VAL>, ZEND_OPCODE_HANDLER_ARGS_PASSTHRU)
ZEND_VM_CONTINUE()
return 0
ZEND_VM_NEXT_OPCODE()
NEXT_OPCODE()
ZEND_VM_SET_OPCODE(<TARGET>
SET_OPCODE(<TARGET>
ZEND_VM_INC_OPCODE()
INC_OPCOD()
ZEND_VM_RETURN_FROM_EXECUTE_LOOP()
RETURN_FROM_EXECUTE_LOOP()
ZEND_VM_C_LABEL(<LABEL>):
<LABEL>:
ZEND_VM_C_GOTO(<LABEL>)
goto <LABEL>
OP<X>_TYPE
opline->op<X>.op_type
GET_OP<X>_ZVAL_PTR(<TYPE>)
get_zval_ptr(&opline->op<X>, EX(Ts), &free_op<X>, <TYPE>)
GET_OP<X>_ZVAL_PTR_PTR(<TYPE>)
get_zval_ptr_ptr(&opline->op<X>, EX(Ts), &free_op<X>, <TYPE>)
GET_OP<X>_OBJ_ZVAL_PTR(<TYPE>)
get_obj_zval_ptr(&opline->op<X>, EX(Ts), &free_op<X>, <TYPE>)
GET_OP<X>_OBJ_ZVAL_PTR_PTR(<TYPE>)
get_obj_zval_ptr_ptr(&opline->op<X>, EX(Ts), &free_op<X>, <TYPE>)
IS_OP<X>_TMP_FREE()
IS_TMP_FREE(free_op<X>)
FREE_OP<X>()
FREE_OP(free_op<X>)
FREE_OP<X>_IF_VAR()
FREE_VAR(free_op<X>)
FREE_OP<X>_VAR_PTR()
FREE_VAR_PTR(free_op<X>)
```
Executor's helpers can be defined without parameters or with one parameter. This
is done with the following constructs:
```c
ZEND_VM_HELPER(<HELPER-NAME>, <OP1_TYPES>, <OP2_TYPES>)
{
<HELPER'S CODE>
}
ZEND_VM_HELPER_EX(<HELPER-NAME>, <OP1_TYPES>, <OP2_TYPES>, <PARAM_SPEC>)
{
<HELPER'S CODE>
}
```
Executor's code is generated by PHP script zend_vm_gen.php it uses
`zend_vm_def.h` and `zend_vm_execute.skl` as input and produces
`zend_vm_opcodes.h` and `zend_vm_execute.h`. The first file is a list of opcode
definitions. It is included from `zend_compile.h`. The second one is an executor
code itself. It is included from `zend_execute.c`.
`zend_vm_gen.php` can produce different kind of executors. You can select
different opcode threading model using `--with-vm-kind=CALL|SWITCH|GOTO`. You
can disable opcode specialization using `--without-specializer`. You can include
or exclude old executor together with specialized one using
`--without-old-executor`. At last you can debug executor using original
`zend_vm_def.h` or generated file `zend_vm_execute.h`. Debugging with original
file requires `--with-lines` option. By default ZE2 uses the following command
to generate executor:
```bash
php zend_vm_gen.php --with-vm-kind=CALL
```
-380
View File
@@ -1,380 +0,0 @@
dnl This file contains Zend specific autoconf macros.
dnl
dnl ZEND_CHECK_FLOAT_PRECISION
dnl
dnl x87 floating point internal precision control checks
dnl See: http://wiki.php.net/rfc/rounding
dnl
AC_DEFUN([ZEND_CHECK_FLOAT_PRECISION],[
AC_MSG_CHECKING([for usable _FPU_SETCW])
AC_LINK_IFELSE([AC_LANG_PROGRAM([[
#include <fpu_control.h>
]],[[
fpu_control_t fpu_oldcw, fpu_cw;
volatile double result;
double a = 2877.0;
volatile double b = 1000000.0;
_FPU_GETCW(fpu_oldcw);
fpu_cw = (fpu_oldcw & ~_FPU_EXTENDED & ~_FPU_SINGLE) | _FPU_DOUBLE;
_FPU_SETCW(fpu_cw);
result = a / b;
_FPU_SETCW(fpu_oldcw);
]])],[ac_cfp_have__fpu_setcw=yes],[ac_cfp_have__fpu_setcw=no])
if test "$ac_cfp_have__fpu_setcw" = "yes" ; then
AC_DEFINE(HAVE__FPU_SETCW, 1, [whether _FPU_SETCW is present and usable])
AC_MSG_RESULT(yes)
else
AC_MSG_RESULT(no)
fi
AC_MSG_CHECKING([for usable fpsetprec])
AC_LINK_IFELSE([AC_LANG_PROGRAM([[
#include <machine/ieeefp.h>
]],[[
fp_prec_t fpu_oldprec;
volatile double result;
double a = 2877.0;
volatile double b = 1000000.0;
fpu_oldprec = fpgetprec();
fpsetprec(FP_PD);
result = a / b;
fpsetprec(fpu_oldprec);
]])], [ac_cfp_have_fpsetprec=yes], [ac_cfp_have_fpsetprec=no])
if test "$ac_cfp_have_fpsetprec" = "yes" ; then
AC_DEFINE(HAVE_FPSETPREC, 1, [whether fpsetprec is present and usable])
AC_MSG_RESULT(yes)
else
AC_MSG_RESULT(no)
fi
AC_MSG_CHECKING([for usable _controlfp])
AC_LINK_IFELSE([AC_LANG_PROGRAM([[
#include <float.h>
]],[[
unsigned int fpu_oldcw;
volatile double result;
double a = 2877.0;
volatile double b = 1000000.0;
fpu_oldcw = _controlfp(0, 0);
_controlfp(_PC_53, _MCW_PC);
result = a / b;
_controlfp(fpu_oldcw, _MCW_PC);
]])], [ac_cfp_have__controlfp=yes], [ac_cfp_have__controlfp=no])
if test "$ac_cfp_have__controlfp" = "yes" ; then
AC_DEFINE(HAVE__CONTROLFP, 1, [whether _controlfp is present usable])
AC_MSG_RESULT(yes)
else
AC_MSG_RESULT(no)
fi
AC_MSG_CHECKING([for usable _controlfp_s])
AC_LINK_IFELSE([AC_LANG_PROGRAM([[
#include <float.h>
]],[[
unsigned int fpu_oldcw, fpu_cw;
volatile double result;
double a = 2877.0;
volatile double b = 1000000.0;
_controlfp_s(&fpu_cw, 0, 0);
fpu_oldcw = fpu_cw;
_controlfp_s(&fpu_cw, _PC_53, _MCW_PC);
result = a / b;
_controlfp_s(&fpu_cw, fpu_oldcw, _MCW_PC);
]])], [ac_cfp_have__controlfp_s=yes], [ac_cfp_have__controlfp_s=no])
if test "$ac_cfp_have__controlfp_s" = "yes" ; then
AC_DEFINE(HAVE__CONTROLFP_S, 1, [whether _controlfp_s is present and usable])
AC_MSG_RESULT(yes)
else
AC_MSG_RESULT(no)
fi
AC_MSG_CHECKING([whether FPU control word can be manipulated by inline assembler])
AC_LINK_IFELSE([AC_LANG_PROGRAM([[
/* nothing */
]],[[
unsigned int oldcw, cw;
volatile double result;
double a = 2877.0;
volatile double b = 1000000.0;
__asm__ __volatile__ ("fnstcw %0" : "=m" (*&oldcw));
cw = (oldcw & ~0x0 & ~0x300) | 0x200;
__asm__ __volatile__ ("fldcw %0" : : "m" (*&cw));
result = a / b;
__asm__ __volatile__ ("fldcw %0" : : "m" (*&oldcw));
]])], [ac_cfp_have_fpu_inline_asm_x86=yes], [ac_cfp_have_fpu_inline_asm_x86=no])
if test "$ac_cfp_have_fpu_inline_asm_x86" = "yes" ; then
AC_DEFINE(HAVE_FPU_INLINE_ASM_X86, 1, [whether FPU control word can be manipulated by inline assembler])
AC_MSG_RESULT(yes)
else
AC_MSG_RESULT(no)
fi
])
dnl
dnl LIBZEND_BASIC_CHECKS
dnl
dnl Basic checks specific for the Zend engine library.
dnl
AC_DEFUN([LIBZEND_BASIC_CHECKS],[
AC_REQUIRE([AC_PROG_CC])
AC_CHECK_HEADERS([cpuid.h])
dnl
dnl LIBZEND_DLSYM_CHECK
dnl
dnl Ugly hack to check if dlsym() requires a leading underscore in symbol name.
dnl
AC_DEFUN([LIBZEND_DLSYM_CHECK],[
AC_MSG_CHECKING([whether dlsym() requires a leading underscore in symbol names])
_LT_AC_TRY_DLOPEN_SELF([
AC_MSG_RESULT(no)
], [
AC_MSG_RESULT(yes)
AC_DEFINE(DLSYM_NEEDS_UNDERSCORE, 1, [Define if dlsym() requires a leading underscore in symbol names. ])
], [
AC_MSG_RESULT(no)
], [])
])
dnl Checks for library functions.
AC_CHECK_FUNCS(getpid kill sigsetjmp)
ZEND_CHECK_FLOAT_PRECISION
dnl Test whether double cast to long preserves least significant bits.
AC_MSG_CHECKING(whether double cast to long preserves least significant bits)
AC_RUN_IFELSE([AC_LANG_SOURCE([[
#include <limits.h>
#include <stdlib.h>
int main()
{
if (sizeof(long) == 4) {
double d = (double) LONG_MIN * LONG_MIN + 2e9;
if ((long) d == 2e9 && (long) -d == -2e9) {
return 0;
}
} else if (sizeof(long) == 8) {
double correct = 18e18 - ((double) LONG_MIN * -2); /* Subtract ULONG_MAX + 1 */
if ((long) 18e18 == correct) { /* On 64-bit, only check between LONG_MAX and ULONG_MAX */
return 0;
}
}
return 1;
}
]])], [
AC_DEFINE([ZEND_DVAL_TO_LVAL_CAST_OK], 1, [Define if double cast to long preserves least significant bits])
AC_MSG_RESULT(yes)
], [
AC_MSG_RESULT(no)
], [
AC_MSG_RESULT(no)
])
])
dnl
dnl LIBZEND_OTHER_CHECKS
dnl
AC_DEFUN([LIBZEND_OTHER_CHECKS],[
AC_MSG_CHECKING(whether to enable thread-safety)
AC_MSG_RESULT($ZEND_ZTS)
AC_MSG_CHECKING(whether to enable Zend debugging)
AC_MSG_RESULT($ZEND_DEBUG)
if test "$ZEND_DEBUG" = "yes"; then
AC_DEFINE(ZEND_DEBUG,1,[ ])
echo " $CFLAGS" | grep ' -g' >/dev/null || DEBUG_CFLAGS="-g"
if test "$CFLAGS" = "-g -O2"; then
CFLAGS=-g
fi
else
AC_DEFINE(ZEND_DEBUG,0,[ ])
fi
test -n "$GCC" && CFLAGS="-Wall -Wextra -Wno-strict-aliasing -Wno-implicit-fallthrough -Wno-unused-parameter -Wno-sign-compare $CFLAGS"
dnl Check if compiler supports -Wno-clobbered (only GCC)
AX_CHECK_COMPILE_FLAG([-Wno-clobbered], CFLAGS="-Wno-clobbered $CFLAGS", , [-Werror])
test -n "$DEBUG_CFLAGS" && CFLAGS="$CFLAGS $DEBUG_CFLAGS"
if test "$ZEND_ZTS" = "yes"; then
AC_DEFINE(ZTS,1,[ ])
CFLAGS="$CFLAGS -DZTS"
fi
AC_C_INLINE
AC_MSG_CHECKING(target system is Darwin)
if echo "$target" | grep "darwin" > /dev/null; then
AC_DEFINE([DARWIN], 1, [Define if the target system is darwin])
AC_MSG_RESULT(yes)
else
AC_MSG_RESULT(no)
fi
dnl Test and set the alignment define for ZEND_MM. This also does the
dnl logarithmic test for ZEND_MM.
AC_MSG_CHECKING(for MM alignment and log values)
AC_RUN_IFELSE([AC_LANG_SOURCE([[
#include <stdio.h>
#include <stdlib.h>
typedef union _mm_align_test {
void *ptr;
double dbl;
long lng;
} mm_align_test;
#if (defined (__GNUC__) && __GNUC__ >= 2)
#define ZEND_MM_ALIGNMENT (__alignof__ (mm_align_test))
#else
#define ZEND_MM_ALIGNMENT (sizeof(mm_align_test))
#endif
int main()
{
int i = ZEND_MM_ALIGNMENT;
int zeros = 0;
FILE *fp;
while (i & ~0x1) {
zeros++;
i = i >> 1;
}
fp = fopen("conftest.zend", "w");
fprintf(fp, "%d %d\n", ZEND_MM_ALIGNMENT, zeros);
fclose(fp);
return 0;
}
]])], [
LIBZEND_MM_ALIGN=`cat conftest.zend | cut -d ' ' -f 1`
LIBZEND_MM_ALIGN_LOG2=`cat conftest.zend | cut -d ' ' -f 2`
AC_DEFINE_UNQUOTED(ZEND_MM_ALIGNMENT, $LIBZEND_MM_ALIGN, [ ])
AC_DEFINE_UNQUOTED(ZEND_MM_ALIGNMENT_LOG2, $LIBZEND_MM_ALIGN_LOG2, [ ])
], [], [
dnl Cross compilation needs something here.
LIBZEND_MM_ALIGN=8
])
AC_MSG_RESULT(done)
AC_CHECK_FUNCS(mremap)
AC_ARG_ENABLE([zend-signals],
[AS_HELP_STRING([--disable-zend-signals],
[whether to enable zend signal handling])],
[ZEND_SIGNALS=$enableval],
[ZEND_SIGNALS=yes])
AC_CHECK_FUNCS([sigaction], [], [
ZEND_SIGNALS=no
])
if test "$ZEND_SIGNALS" = "yes"; then
AC_DEFINE(ZEND_SIGNALS, 1, [Use zend signal handling])
CFLAGS="$CFLAGS -DZEND_SIGNALS"
fi
AC_MSG_CHECKING(whether to enable zend signal handling)
AC_MSG_RESULT($ZEND_SIGNALS)
])
AC_MSG_CHECKING(whether /dev/urandom exists)
if test -r "/dev/urandom" && test -c "/dev/urandom"; then
AC_DEFINE([HAVE_DEV_URANDOM], 1, [Define if the target system has /dev/urandom device])
AC_MSG_RESULT(yes)
else
AC_MSG_RESULT(no)
fi
AC_ARG_ENABLE([gcc-global-regs],
[AS_HELP_STRING([--disable-gcc-global-regs],
[whether to enable GCC global register variables])],
[ZEND_GCC_GLOBAL_REGS=$enableval],
[ZEND_GCC_GLOBAL_REGS=yes])
AC_MSG_CHECKING(for global register variables support)
if test "$ZEND_GCC_GLOBAL_REGS" != "no"; then
AC_COMPILE_IFELSE([AC_LANG_PROGRAM([[
#if defined(__GNUC__)
# define ZEND_GCC_VERSION (__GNUC__ * 1000 + __GNUC_MINOR__)
#else
# define ZEND_GCC_VERSION 0
#endif
#if defined(__GNUC__) && ZEND_GCC_VERSION >= 4008 && defined(i386)
# define ZEND_VM_FP_GLOBAL_REG "%esi"
# define ZEND_VM_IP_GLOBAL_REG "%edi"
#elif defined(__GNUC__) && ZEND_GCC_VERSION >= 4008 && defined(__x86_64__)
# define ZEND_VM_FP_GLOBAL_REG "%r14"
# define ZEND_VM_IP_GLOBAL_REG "%r15"
#elif defined(__GNUC__) && ZEND_GCC_VERSION >= 4008 && defined(__powerpc64__)
# define ZEND_VM_FP_GLOBAL_REG "r28"
# define ZEND_VM_IP_GLOBAL_REG "r29"
#elif defined(__IBMC__) && ZEND_GCC_VERSION >= 4002 && defined(__powerpc64__)
# define ZEND_VM_FP_GLOBAL_REG "r28"
# define ZEND_VM_IP_GLOBAL_REG "r29"
#elif defined(__GNUC__) && ZEND_GCC_VERSION >= 4008 && defined(__aarch64__)
# define ZEND_VM_FP_GLOBAL_REG "x27"
# define ZEND_VM_IP_GLOBAL_REG "x28"
#else
# error "global register variables are not supported"
#endif
typedef int (*opcode_handler_t)(void);
register void *FP __asm__(ZEND_VM_FP_GLOBAL_REG);
register const opcode_handler_t *IP __asm__(ZEND_VM_IP_GLOBAL_REG);
int emu(const opcode_handler_t *ip, void *fp) {
const opcode_handler_t *orig_ip = IP;
void *orig_fp = FP;
IP = ip;
FP = fp;
while ((*ip)());
FP = orig_fp;
IP = orig_ip;
}
]], [[
]])], [
ZEND_GCC_GLOBAL_REGS=yes
], [
ZEND_GCC_GLOBAL_REGS=no
])
fi
if test "$ZEND_GCC_GLOBAL_REGS" = "yes"; then
AC_DEFINE([HAVE_GCC_GLOBAL_REGS], 1, [Define if the target system has support for global register variables])
else
HAVE_GCC_GLOBAL_REGS=no
fi
AC_MSG_RESULT($ZEND_GCC_GLOBAL_REGS)
dnl Check whether __cpuid_count is available.
AC_CACHE_CHECK(whether __cpuid_count is available, ac_cv_cpuid_count_available, [
AC_LINK_IFELSE([AC_LANG_PROGRAM([[
#include <cpuid.h>
]], [[
unsigned eax, ebx, ecx, edx;
__cpuid_count(0, 0, eax, ebx, ecx, edx);
]])], [
ac_cv_cpuid_count_available=yes
], [
ac_cv_cpuid_count_available=no
])])
if test "$ac_cv_cpuid_count_available" = "yes"; then
AC_DEFINE([HAVE_CPUID_COUNT], 1, [whether __cpuid_count is available])
fi
-422
View File
@@ -1,422 +0,0 @@
<?php
if (function_exists("date_default_timezone_set")) {
date_default_timezone_set("UTC");
}
function simple() {
$a = 0;
for ($i = 0; $i < 1000000; $i++)
$a++;
$thisisanotherlongname = 0;
for ($thisisalongname = 0; $thisisalongname < 1000000; $thisisalongname++)
$thisisanotherlongname++;
}
/****/
function simplecall() {
for ($i = 0; $i < 1000000; $i++)
strlen("hallo");
}
/****/
function hallo($a) {
}
function simpleucall() {
for ($i = 0; $i < 1000000; $i++)
hallo("hallo");
}
/****/
function simpleudcall() {
for ($i = 0; $i < 1000000; $i++)
hallo2("hallo");
}
function hallo2($a) {
}
/****/
function mandel() {
$w1=50;
$h1=150;
$recen=-.45;
$imcen=0.0;
$r=0.7;
$s=0; $rec=0; $imc=0; $re=0; $im=0; $re2=0; $im2=0;
$x=0; $y=0; $w2=0; $h2=0; $color=0;
$s=2*$r/$w1;
$w2=40;
$h2=12;
for ($y=0 ; $y<=$w1; $y=$y+1) {
$imc=$s*($y-$h2)+$imcen;
for ($x=0 ; $x<=$h1; $x=$x+1) {
$rec=$s*($x-$w2)+$recen;
$re=$rec;
$im=$imc;
$color=1000;
$re2=$re*$re;
$im2=$im*$im;
while( ((($re2+$im2)<1000000) && $color>0)) {
$im=$re*$im*2+$imc;
$re=$re2-$im2+$rec;
$re2=$re*$re;
$im2=$im*$im;
$color=$color-1;
}
if ( $color==0 ) {
print "_";
} else {
print "#";
}
}
print "<br>";
flush();
}
}
/****/
function mandel2() {
$b = " .:,;!/>)|&IH%*#";
//float r, i, z, Z, t, c, C;
for ($y=30; printf("\n"), $C = $y*0.1 - 1.5, $y--;){
for ($x=0; $c = $x*0.04 - 2, $z=0, $Z=0, $x++ < 75;){
for ($r=$c, $i=$C, $k=0; $t = $z*$z - $Z*$Z + $r, $Z = 2*$z*$Z + $i, $z=$t, $k<5000; $k++)
if ($z*$z + $Z*$Z > 500000) break;
echo $b[$k%16];
}
}
}
/****/
function Ack($m, $n){
if($m == 0) return $n+1;
if($n == 0) return Ack($m-1, 1);
return Ack($m - 1, Ack($m, ($n - 1)));
}
function ackermann($n) {
$r = Ack(3,$n);
print "Ack(3,$n): $r\n";
}
/****/
function ary($n) {
for ($i=0; $i<$n; $i++) {
$X[$i] = $i;
}
for ($i=$n-1; $i>=0; $i--) {
$Y[$i] = $X[$i];
}
$last = $n-1;
print "$Y[$last]\n";
}
/****/
function ary2($n) {
for ($i=0; $i<$n;) {
$X[$i] = $i; ++$i;
$X[$i] = $i; ++$i;
$X[$i] = $i; ++$i;
$X[$i] = $i; ++$i;
$X[$i] = $i; ++$i;
$X[$i] = $i; ++$i;
$X[$i] = $i; ++$i;
$X[$i] = $i; ++$i;
$X[$i] = $i; ++$i;
$X[$i] = $i; ++$i;
}
for ($i=$n-1; $i>=0;) {
$Y[$i] = $X[$i]; --$i;
$Y[$i] = $X[$i]; --$i;
$Y[$i] = $X[$i]; --$i;
$Y[$i] = $X[$i]; --$i;
$Y[$i] = $X[$i]; --$i;
$Y[$i] = $X[$i]; --$i;
$Y[$i] = $X[$i]; --$i;
$Y[$i] = $X[$i]; --$i;
$Y[$i] = $X[$i]; --$i;
$Y[$i] = $X[$i]; --$i;
}
$last = $n-1;
print "$Y[$last]\n";
}
/****/
function ary3($n) {
for ($i=0; $i<$n; $i++) {
$X[$i] = $i + 1;
$Y[$i] = 0;
}
for ($k=0; $k<1000; $k++) {
for ($i=$n-1; $i>=0; $i--) {
$Y[$i] += $X[$i];
}
}
$last = $n-1;
print "$Y[0] $Y[$last]\n";
}
/****/
function fibo_r($n){
return(($n < 2) ? 1 : fibo_r($n - 2) + fibo_r($n - 1));
}
function fibo($n) {
$r = fibo_r($n);
print "$r\n";
}
/****/
function hash1($n) {
for ($i = 1; $i <= $n; $i++) {
$X[dechex($i)] = $i;
}
$c = 0;
for ($i = $n; $i > 0; $i--) {
if ($X[dechex($i)]) { $c++; }
}
print "$c\n";
}
/****/
function hash2($n) {
for ($i = 0; $i < $n; $i++) {
$hash1["foo_$i"] = $i;
$hash2["foo_$i"] = 0;
}
for ($i = $n; $i > 0; $i--) {
foreach($hash1 as $key => $value) $hash2[$key] += $value;
}
$first = "foo_0";
$last = "foo_".($n-1);
print "$hash1[$first] $hash1[$last] $hash2[$first] $hash2[$last]\n";
}
/****/
function gen_random ($n) {
global $LAST;
return( ($n * ($LAST = ($LAST * IA + IC) % IM)) / IM );
}
function heapsort_r($n, &$ra) {
$l = ($n >> 1) + 1;
$ir = $n;
while (1) {
if ($l > 1) {
$rra = $ra[--$l];
} else {
$rra = $ra[$ir];
$ra[$ir] = $ra[1];
if (--$ir == 1) {
$ra[1] = $rra;
return;
}
}
$i = $l;
$j = $l << 1;
while ($j <= $ir) {
if (($j < $ir) && ($ra[$j] < $ra[$j+1])) {
$j++;
}
if ($rra < $ra[$j]) {
$ra[$i] = $ra[$j];
$j += ($i = $j);
} else {
$j = $ir + 1;
}
}
$ra[$i] = $rra;
}
}
function heapsort($N) {
global $LAST;
define("IM", 139968);
define("IA", 3877);
define("IC", 29573);
$LAST = 42;
for ($i=1; $i<=$N; $i++) {
$ary[$i] = gen_random(1);
}
heapsort_r($N, $ary);
printf("%.10f\n", $ary[$N]);
}
/****/
function mkmatrix ($rows, $cols) {
$count = 1;
$mx = array();
for ($i=0; $i<$rows; $i++) {
for ($j=0; $j<$cols; $j++) {
$mx[$i][$j] = $count++;
}
}
return($mx);
}
function mmult ($rows, $cols, $m1, $m2) {
$m3 = array();
for ($i=0; $i<$rows; $i++) {
for ($j=0; $j<$cols; $j++) {
$x = 0;
for ($k=0; $k<$cols; $k++) {
$x += $m1[$i][$k] * $m2[$k][$j];
}
$m3[$i][$j] = $x;
}
}
return($m3);
}
function matrix($n) {
$SIZE = 30;
$m1 = mkmatrix($SIZE, $SIZE);
$m2 = mkmatrix($SIZE, $SIZE);
while ($n--) {
$mm = mmult($SIZE, $SIZE, $m1, $m2);
}
print "{$mm[0][0]} {$mm[2][3]} {$mm[3][2]} {$mm[4][4]}\n";
}
/****/
function nestedloop($n) {
$x = 0;
for ($a=0; $a<$n; $a++)
for ($b=0; $b<$n; $b++)
for ($c=0; $c<$n; $c++)
for ($d=0; $d<$n; $d++)
for ($e=0; $e<$n; $e++)
for ($f=0; $f<$n; $f++)
$x++;
print "$x\n";
}
/****/
function sieve($n) {
$count = 0;
while ($n-- > 0) {
$count = 0;
$flags = range (0,8192);
for ($i=2; $i<8193; $i++) {
if ($flags[$i] > 0) {
for ($k=$i+$i; $k <= 8192; $k+=$i) {
$flags[$k] = 0;
}
$count++;
}
}
}
print "Count: $count\n";
}
/****/
function strcat($n) {
$str = "";
while ($n-- > 0) {
$str .= "hello\n";
}
$len = strlen($str);
print "$len\n";
}
/*****/
function gethrtime()
{
$hrtime = hrtime();
return (($hrtime[0]*1000000000 + $hrtime[1]) / 1000000000);
}
function start_test()
{
ob_start();
return gethrtime();
}
function end_test($start, $name)
{
global $total;
$end = gethrtime();
ob_end_clean();
$total += $end-$start;
$num = number_format($end-$start,3);
$pad = str_repeat(" ", 24-strlen($name)-strlen($num));
echo $name.$pad.$num."\n";
ob_start();
return gethrtime();
}
function total()
{
global $total;
$pad = str_repeat("-", 24);
echo $pad."\n";
$num = number_format($total,3);
$pad = str_repeat(" ", 24-strlen("Total")-strlen($num));
echo "Total".$pad.$num."\n";
}
$t0 = $t = start_test();
simple();
$t = end_test($t, "simple");
simplecall();
$t = end_test($t, "simplecall");
simpleucall();
$t = end_test($t, "simpleucall");
simpleudcall();
$t = end_test($t, "simpleudcall");
mandel();
$t = end_test($t, "mandel");
mandel2();
$t = end_test($t, "mandel2");
ackermann(7);
$t = end_test($t, "ackermann(7)");
ary(50000);
$t = end_test($t, "ary(50000)");
ary2(50000);
$t = end_test($t, "ary2(50000)");
ary3(2000);
$t = end_test($t, "ary3(2000)");
fibo(30);
$t = end_test($t, "fibo(30)");
hash1(50000);
$t = end_test($t, "hash1(50000)");
hash2(500);
$t = end_test($t, "hash2(500)");
heapsort(20000);
$t = end_test($t, "heapsort(20000)");
matrix(20);
$t = end_test($t, "matrix(20)");
nestedloop(12);
$t = end_test($t, "nestedloop(12)");
sieve(30);
$t = end_test($t, "sieve(30)");
strcat(200000);
$t = end_test($t, "strcat(200000)");
total();
?>
-358
View File
@@ -1,358 +0,0 @@
<?php
function hallo() {
}
function simpleucall($n) {
for ($i = 0; $i < $n; $i++)
hallo();
}
function simpleudcall($n) {
for ($i = 0; $i < $n; $i++)
hallo2();
}
function hallo2() {
}
function simpleicall($n) {
for ($i = 0; $i < $n; $i++)
func_num_args();
}
class Foo {
static $a = 0;
public $b = 0;
const TEST = 0;
static function read_static($n) {
for ($i = 0; $i < $n; ++$i) {
$x = self::$a;
}
}
static function write_static($n) {
for ($i = 0; $i < $n; ++$i) {
self::$a = 0;
}
}
static function isset_static($n) {
for ($i = 0; $i < $n; ++$i) {
$x = isset(self::$a);
}
}
static function empty_static($n) {
for ($i = 0; $i < $n; ++$i) {
$x = empty(self::$a);
}
}
static function f() {
}
static function call_static($n) {
for ($i = 0; $i < $n; ++$i) {
self::f();
}
}
function read_prop($n) {
for ($i = 0; $i < $n; ++$i) {
$x = $this->b;
}
}
function write_prop($n) {
for ($i = 0; $i < $n; ++$i) {
$this->b = 0;
}
}
function assign_add_prop($n) {
for ($i = 0; $i < $n; ++$i) {
$this->b += 2;
}
}
function pre_inc_prop($n) {
for ($i = 0; $i < $n; ++$i) {
++$this->b;
}
}
function pre_dec_prop($n) {
for ($i = 0; $i < $n; ++$i) {
--$this->b;
}
}
function post_inc_prop($n) {
for ($i = 0; $i < $n; ++$i) {
$this->b++;
}
}
function post_dec_prop($n) {
for ($i = 0; $i < $n; ++$i) {
$this->b--;
}
}
function isset_prop($n) {
for ($i = 0; $i < $n; ++$i) {
$x = isset($this->b);
}
}
function empty_prop($n) {
for ($i = 0; $i < $n; ++$i) {
$x = empty($this->b);
}
}
function g() {
}
function call($n) {
for ($i = 0; $i < $n; ++$i) {
$this->g();
}
}
function read_const($n) {
for ($i = 0; $i < $n; ++$i) {
$x = $this::TEST;
}
}
}
function read_static($n) {
for ($i = 0; $i < $n; ++$i) {
$x = Foo::$a;
}
}
function write_static($n) {
for ($i = 0; $i < $n; ++$i) {
Foo::$a = 0;
}
}
function isset_static($n) {
for ($i = 0; $i < $n; ++$i) {
$x = isset(Foo::$a);
}
}
function empty_static($n) {
for ($i = 0; $i < $n; ++$i) {
$x = empty(Foo::$a);
}
}
function call_static($n) {
for ($i = 0; $i < $n; ++$i) {
Foo::f();
}
}
function create_object($n) {
for ($i = 0; $i < $n; ++$i) {
$x = new Foo();
}
}
define('TEST', null);
function read_const($n) {
for ($i = 0; $i < $n; ++$i) {
$x = TEST;
}
}
function read_auto_global($n) {
for ($i = 0; $i < $n; ++$i) {
$x = $_GET;
}
}
$g_var = 0;
function read_global_var($n) {
for ($i = 0; $i < $n; ++$i) {
$x = $GLOBALS['g_var'];
}
}
function read_hash($n) {
$hash = array('test' => 0);
for ($i = 0; $i < $n; ++$i) {
$x = $hash['test'];
}
}
function read_str_offset($n) {
$str = "test";
for ($i = 0; $i < $n; ++$i) {
$x = $str[1];
}
}
function issetor($n) {
$val = array(0,1,2,3,4,5,6,7,8,9);
for ($i = 0; $i < $n; ++$i) {
$x = $val ?: null;
}
}
function issetor2($n) {
$f = false; $j = 0;
for ($i = 0; $i < $n; ++$i) {
$x = $f ?: $j + 1;
}
}
function ternary($n) {
$val = array(0,1,2,3,4,5,6,7,8,9);
$f = false;
for ($i = 0; $i < $n; ++$i) {
$x = $f ? null : $val;
}
}
function ternary2($n) {
$f = false; $j = 0;
for ($i = 0; $i < $n; ++$i) {
$x = $f ? $f : $j + 1;
}
}
/*****/
function empty_loop($n) {
for ($i = 0; $i < $n; ++$i) {
}
}
function gethrtime()
{
$hrtime = hrtime();
return (($hrtime[0]*1000000000 + $hrtime[1]) / 1000000000);
}
function start_test()
{
ob_start();
return gethrtime();
}
function end_test($start, $name, $overhead = null)
{
global $total;
global $last_time;
$end = gethrtime();
ob_end_clean();
$last_time = $end-$start;
$total += $last_time;
$num = number_format($last_time,3);
$pad = str_repeat(" ", 24-strlen($name)-strlen($num));
if (is_null($overhead)) {
echo $name.$pad.$num."\n";
} else {
$num2 = number_format($last_time - $overhead,3);
echo $name.$pad.$num." ".$num2."\n";
}
ob_start();
return gethrtime();
}
function total()
{
global $total;
$pad = str_repeat("-", 24);
echo $pad."\n";
$num = number_format($total,3);
$pad = str_repeat(" ", 24-strlen("Total")-strlen($num));
echo "Total".$pad.$num."\n";
}
const N = 5000000;
$t0 = $t = start_test();
empty_loop(N);
$t = end_test($t, 'empty_loop');
$overhead = $last_time;
simpleucall(N);
$t = end_test($t, 'func()', $overhead);
simpleudcall(N);
$t = end_test($t, 'undef_func()', $overhead);
simpleicall(N);
$t = end_test($t, 'int_func()', $overhead);
Foo::read_static(N);
$t = end_test($t, '$x = self::$x', $overhead);
Foo::write_static(N);
$t = end_test($t, 'self::$x = 0', $overhead);
Foo::isset_static(N);
$t = end_test($t, 'isset(self::$x)', $overhead);
Foo::empty_static(N);
$t = end_test($t, 'empty(self::$x)', $overhead);
read_static(N);
$t = end_test($t, '$x = Foo::$x', $overhead);
write_static(N);
$t = end_test($t, 'Foo::$x = 0', $overhead);
isset_static(N);
$t = end_test($t, 'isset(Foo::$x)', $overhead);
empty_static(N);
$t = end_test($t, 'empty(Foo::$x)', $overhead);
Foo::call_static(N);
$t = end_test($t, 'self::f()', $overhead);
call_static(N);
$t = end_test($t, 'Foo::f()', $overhead);
$x = new Foo();
$x->read_prop(N);
$t = end_test($t, '$x = $this->x', $overhead);
$x->write_prop(N);
$t = end_test($t, '$this->x = 0', $overhead);
$x->assign_add_prop(N);
$t = end_test($t, '$this->x += 2', $overhead);
$x->pre_inc_prop(N);
$t = end_test($t, '++$this->x', $overhead);
$x->pre_dec_prop(N);
$t = end_test($t, '--$this->x', $overhead);
$x->post_inc_prop(N);
$t = end_test($t, '$this->x++', $overhead);
$x->post_dec_prop(N);
$t = end_test($t, '$this->x--', $overhead);
$x->isset_prop(N);
$t = end_test($t, 'isset($this->x)', $overhead);
$x->empty_prop(N);
$t = end_test($t, 'empty($this->x)', $overhead);
$x->call(N);
$t = end_test($t, '$this->f()', $overhead);
$x->read_const(N);
$t = end_test($t, '$x = Foo::TEST', $overhead);
create_object(N);
$t = end_test($t, 'new Foo()', $overhead);
read_const(N);
$t = end_test($t, '$x = TEST', $overhead);
read_auto_global(N);
$t = end_test($t, '$x = $_GET', $overhead);
read_global_var(N);
$t = end_test($t, '$x = $GLOBALS[\'v\']', $overhead);
read_hash(N);
$t = end_test($t, '$x = $hash[\'v\']', $overhead);
read_str_offset(N);
$t = end_test($t, '$x = $str[0]', $overhead);
issetor(N);
$t = end_test($t, '$x = $a ?: null', $overhead);
issetor2(N);
$t = end_test($t, '$x = $f ?: tmp', $overhead);
ternary(N);
$t = end_test($t, '$x = $f ? $f : $a', $overhead);
ternary2(N);
$t = end_test($t, '$x = $f ? $f : tmp', $overhead);
total($t0, "Total");
-62
View File
@@ -1,62 +0,0 @@
--TEST--
func_num_args() tests
--FILE--
<?php
function test1() {
var_dump(func_num_args());
}
function test2($a) {
var_dump(func_num_args());
}
function test3($a, $b) {
var_dump(func_num_args());
}
test1();
test2(1);
try {
test2();
} catch (Throwable $e) {
echo "Exception: " . $e->getMessage() . "\n";
}
test3(1,2);
call_user_func("test1");
try {
call_user_func("test3", 1);
} catch (Throwable $e) {
echo "Exception: " . $e->getMessage() . "\n";
}
call_user_func("test3", 1, 2);
class test {
static function test1($a) {
var_dump(func_num_args());
}
}
test::test1(1);
try {
func_num_args();
} catch (Error $exception) {
echo $exception->getMessage() . "\n";
}
echo "Done\n";
?>
--EXPECTF--
int(0)
int(1)
Exception: Too few arguments to function test2(), 0 passed in %s on line %d and exactly 1 expected
int(2)
int(0)
Exception: Too few arguments to function test3(), 1 passed in %s on line %d and exactly 2 expected
int(2)
int(1)
func_num_args() must be called from a function context
Done
-121
View File
@@ -1,121 +0,0 @@
--TEST--
func_get_arg() tests
--FILE--
<?php
function test1() {
try {
var_dump(func_get_arg(-10));
} catch (\ValueError $e) {
echo $e->getMessage() . \PHP_EOL;
}
try {
var_dump(func_get_arg(0));
} catch (\Error $e) {
echo $e->getMessage() . \PHP_EOL;
}
try {
var_dump(func_get_arg(1));
} catch (\Error $e) {
echo $e->getMessage() . \PHP_EOL;
}
}
function test2($a) {
try {
var_dump(func_get_arg(0));
} catch (\Error $e) {
echo $e->getMessage() . \PHP_EOL;
}
try {
var_dump(func_get_arg(1));
} catch (\Error $e) {
echo $e->getMessage() . \PHP_EOL;
}
}
function test3($a, $b) {
try {
var_dump(func_get_arg(0));
} catch (\Error $e) {
echo $e->getMessage() . \PHP_EOL;
}
try {
var_dump(func_get_arg(1));
} catch (\Error $e) {
echo $e->getMessage() . \PHP_EOL;
}
try {
var_dump(func_get_arg(2));
} catch (\Error $e) {
echo $e->getMessage() . \PHP_EOL;
}
}
test1();
test1(10);
test2(1);
try {
test2();
} catch (Throwable $e) {
echo "Exception: " . $e->getMessage() . "\n";
}
test3(1,2);
call_user_func("test1");
try {
call_user_func("test3", 1);
} catch (Throwable $e) {
echo "Exception: " . $e->getMessage() . "\n";
}
call_user_func("test3", 1, 2);
class test {
static function test1($a) {
try {
var_dump(func_get_arg(0));
} catch (\Error $e) {
echo $e->getMessage() . \PHP_EOL;
}
try {
var_dump(func_get_arg(1));
} catch (\Error $e) {
echo $e->getMessage() . \PHP_EOL;
}
}
}
test::test1(1);
try {
var_dump(func_get_arg(1));
} catch (\Error $e) {
echo $e->getMessage() . \PHP_EOL;
}
echo "Done\n";
?>
--EXPECTF--
func_get_arg(): Argument #1 ($position) must be greater than or equal to 0
func_get_arg(): Argument #1 ($position) must be less than the number of the arguments passed to the currently executed function
func_get_arg(): Argument #1 ($position) must be less than the number of the arguments passed to the currently executed function
func_get_arg(): Argument #1 ($position) must be greater than or equal to 0
int(10)
func_get_arg(): Argument #1 ($position) must be less than the number of the arguments passed to the currently executed function
int(1)
func_get_arg(): Argument #1 ($position) must be less than the number of the arguments passed to the currently executed function
Exception: Too few arguments to function test2(), 0 passed in %s002.php on line %d and exactly 1 expected
int(1)
int(2)
func_get_arg(): Argument #1 ($position) must be less than the number of the arguments passed to the currently executed function
func_get_arg(): Argument #1 ($position) must be greater than or equal to 0
func_get_arg(): Argument #1 ($position) must be less than the number of the arguments passed to the currently executed function
func_get_arg(): Argument #1 ($position) must be less than the number of the arguments passed to the currently executed function
Exception: Too few arguments to function test3(), 1 passed in %s on line %d and exactly 2 expected
int(1)
int(2)
func_get_arg(): Argument #1 ($position) must be less than the number of the arguments passed to the currently executed function
int(1)
func_get_arg(): Argument #1 ($position) must be less than the number of the arguments passed to the currently executed function
func_get_arg() cannot be called from the global scope
Done
-82
View File
@@ -1,82 +0,0 @@
--TEST--
func_get_args() tests
--FILE--
<?php
function test1() {
var_dump(func_get_args());
}
function test2($a) {
var_dump(func_get_args());
}
function test3($a, $b) {
var_dump(func_get_args());
}
test1();
test1(10);
test2(1);
try {
test2();
} catch (Throwable $e) {
echo "Exception: " . $e->getMessage() . "\n";
}
test3(1,2);
call_user_func("test1");
try {
call_user_func("test3", 1);
} catch (Throwable $e) {
echo "Exception: " . $e->getMessage() . "\n";
}
call_user_func("test3", 1, 2);
class test {
static function test1($a) {
var_dump(func_get_args());
}
}
test::test1(1);
try {
var_dump(func_get_args());
} catch (\Error $e) {
echo $e->getMessage() . \PHP_EOL;
}
?>
--EXPECTF--
array(0) {
}
array(1) {
[0]=>
int(10)
}
array(1) {
[0]=>
int(1)
}
Exception: Too few arguments to function test2(), 0 passed in %s003.php on line %d and exactly 1 expected
array(2) {
[0]=>
int(1)
[1]=>
int(2)
}
array(0) {
}
Exception: Too few arguments to function test3(), 1 passed in %s003.php on line %d and exactly 2 expected
array(2) {
[0]=>
int(1)
[1]=>
int(2)
}
array(1) {
[0]=>
int(1)
}
func_get_args() cannot be called from the global scope
-22
View File
@@ -1,22 +0,0 @@
--TEST--
strncmp() tests
--FILE--
<?php
var_dump(strncmp("", "", 100));
try {
var_dump(strncmp("aef", "dfsgbdf", -1));
} catch (\ValueError $e) {
echo $e->getMessage() . \PHP_EOL;
}
var_dump(strncmp("fghjkl", "qwer", 0));
var_dump(strncmp("qwerty", "qwerty123", 6));
var_dump(strncmp("qwerty", "qwerty123", 7));
?>
--EXPECT--
int(0)
strncmp(): Argument #3 ($length) must be greater than or equal to 0
int(0)
int(0)
int(-1)
-24
View File
@@ -1,24 +0,0 @@
--TEST--
strcasecmp() tests
--FILE--
<?php
var_dump(strcasecmp("", ""));
var_dump(strcasecmp("aef", "dfsgbdf"));
var_dump(strcasecmp("qwe", "qwer"));
var_dump(strcasecmp("qwerty", "QweRty"));
var_dump(strcasecmp("qwErtY", "qwerty"));
var_dump(strcasecmp("q123", "Q123"));
var_dump(strcasecmp("01", "01"));
echo "Done\n";
?>
--EXPECT--
int(0)
int(-3)
int(-1)
int(0)
int(0)
int(0)
int(0)
Done
-29
View File
@@ -1,29 +0,0 @@
--TEST--
strncasecmp() tests
--FILE--
<?php
try {
var_dump(strncasecmp("", "", -1));
} catch (\ValueError $e) {
echo $e->getMessage() . \PHP_EOL;
}
var_dump(strncasecmp("aef", "dfsgbdf", 0));
var_dump(strncasecmp("aef", "dfsgbdf", 10));
var_dump(strncasecmp("qwe", "qwer", 3));
var_dump(strncasecmp("qwerty", "QweRty", 6));
var_dump(strncasecmp("qwErtY", "qwer", 7));
var_dump(strncasecmp("q123", "Q123", 3));
var_dump(strncasecmp("01", "01", 1000));
?>
--EXPECT--
strncasecmp(): Argument #3 ($length) must be greater than or equal to 0
int(0)
int(-3)
int(0)
int(0)
int(2)
int(0)
int(0)
-49
View File
@@ -1,49 +0,0 @@
--TEST--
define() tests
--FILE--
<?php
try {
var_dump(define(array(1,2,3,4,5), 1));
} catch (TypeError $e) {
echo "TypeError: ", $e->getMessage(), "\n";
}
var_dump(define("TRUE", 1));
var_dump(define(" ", 1));
var_dump(define("[[[", 2));
var_dump(define("test const", 3));
var_dump(define("test const", 3));
var_dump(define("test", array(1)));
var_dump(define("test1", fopen(__FILE__, 'r')));
try {
var_dump(define("test2", new stdclass));
} catch (TypeError $exception) {
echo $exception->getMessage() . "\n";
}
var_dump(constant(" "));
var_dump(constant("[[["));
var_dump(constant("test const"));
echo "Done\n";
?>
--EXPECTF--
TypeError: define(): Argument #1 ($constant_name) must be of type string, array given
Warning: Constant TRUE already defined in %s on line %d
bool(false)
bool(true)
bool(true)
bool(true)
Warning: Constant test const already defined in %s on line %d
bool(false)
bool(true)
bool(true)
define(): Argument #2 ($value) cannot be an object, stdClass given
int(1)
int(2)
int(3)
Done
-55
View File
@@ -1,55 +0,0 @@
--TEST--
get_class() tests
--FILE--
<?php
class foo {
function bar () {
var_dump(get_class());
}
function testNull ()
{
try {
var_dump(get_class(null));
} catch (TypeError $e) {
echo $e->getMessage(), "\n";
}
}
}
class foo2 extends foo {
}
$f1 = new foo;
$f2 = new foo2;
$f1->bar();
$f2->bar();
try {
var_dump(get_class());
} catch (Error $e) {
echo $e->getMessage(), "\n";
}
try {
var_dump(get_class("qwerty"));
} catch (TypeError $e) {
echo $e->getMessage(), "\n";
}
var_dump(get_class($f1));
var_dump(get_class($f2));
$f1->testNull();
echo "Done\n";
?>
--EXPECT--
string(3) "foo"
string(3) "foo"
get_class() without arguments must be called from within a class
get_class(): Argument #1 ($object) must be of type object, string given
string(3) "foo"
string(4) "foo2"
get_class(): Argument #1 ($object) must be of type object, null given
Done
-84
View File
@@ -1,84 +0,0 @@
--TEST--
get_parent_class() tests
--FILE--
<?php
interface i {
function test();
}
class foo implements i {
function test() {
var_dump(get_parent_class());
}
}
class bar extends foo {
function test_bar() {
var_dump(get_parent_class());
}
}
$bar = new bar;
$foo = new foo;
$foo->test();
$bar->test();
$bar->test_bar();
var_dump(get_parent_class($bar));
var_dump(get_parent_class($foo));
var_dump(get_parent_class("bar"));
var_dump(get_parent_class("foo"));
var_dump(get_parent_class("i"));
try {
get_parent_class("");
} catch (TypeError $exception) {
echo $exception->getMessage() . "\n";
}
try {
get_parent_class("[[[[");
} catch (TypeError $exception) {
echo $exception->getMessage() . "\n";
}
try {
get_parent_class(" ");
} catch (TypeError $exception) {
echo $exception->getMessage() . "\n";
}
var_dump(get_parent_class(new stdclass));
try {
get_parent_class(array());
} catch (TypeError $exception) {
echo $exception->getMessage() . "\n";
}
try {
get_parent_class(1);
} catch (TypeError $exception) {
echo $exception->getMessage() . "\n";
}
echo "Done\n";
?>
--EXPECT--
bool(false)
bool(false)
string(3) "foo"
string(3) "foo"
bool(false)
string(3) "foo"
bool(false)
bool(false)
get_parent_class(): Argument #1 ($object_or_class) must be an object or a valid class name, string given
get_parent_class(): Argument #1 ($object_or_class) must be an object or a valid class name, string given
get_parent_class(): Argument #1 ($object_or_class) must be an object or a valid class name, string given
bool(false)
get_parent_class(): Argument #1 ($object_or_class) must be an object or a valid class name, array given
get_parent_class(): Argument #1 ($object_or_class) must be an object or a valid class name, int given
Done
-99
View File
@@ -1,99 +0,0 @@
--TEST--
property_exists() tests
--FILE--
<?php
class foo {
public $pp1 = 1;
private $pp2 = 2;
protected $pp3 = 3;
function bar() {
var_dump(property_exists("foo","pp1"));
var_dump(property_exists("foo","pp2"));
var_dump(property_exists("foo","pp3"));
}
}
class bar extends foo {
function test() {
var_dump(property_exists("foo","pp1"));
var_dump(property_exists("foo","pp2"));
var_dump(property_exists("foo","pp3"));
}
}
var_dump(property_exists("foo","pp1"));
var_dump(property_exists("foo","pp2"));
var_dump(property_exists("foo","pp3"));
var_dump(property_exists("foo","nonexistent"));
var_dump(property_exists("fo","nonexistent"));
var_dump(property_exists("foo",""));
var_dump(property_exists("","test"));
var_dump(property_exists("",""));
$foo = new foo;
var_dump(property_exists($foo,"pp1"));
var_dump(property_exists($foo,"pp2"));
var_dump(property_exists($foo,"pp3"));
var_dump(property_exists($foo,"nonexistent"));
var_dump(property_exists($foo,""));
try {
var_dump(property_exists(array(), "test"));
} catch (\TypeError $e) {
echo $e->getMessage() . \PHP_EOL;
}
try {
var_dump(property_exists(1, "test"));
} catch (\TypeError $e) {
echo $e->getMessage() . \PHP_EOL;
}
try {
var_dump(property_exists(3.14, "test"));
} catch (\TypeError $e) {
echo $e->getMessage() . \PHP_EOL;
}
try {
var_dump(property_exists(true, "test"));
} catch (\TypeError $e) {
echo $e->getMessage() . \PHP_EOL;
}
try {
var_dump(property_exists(null, "test"));
} catch (\TypeError $e) {
echo $e->getMessage() . \PHP_EOL;
}
$foo->bar();
$bar = new bar;
$bar->test();
?>
--EXPECT--
bool(true)
bool(true)
bool(true)
bool(false)
bool(false)
bool(false)
bool(false)
bool(false)
bool(true)
bool(true)
bool(true)
bool(false)
bool(false)
property_exists(): Argument #1 ($object_or_class) must be of type object|string, array given
property_exists(): Argument #1 ($object_or_class) must be of type object|string, int given
property_exists(): Argument #1 ($object_or_class) must be of type object|string, float given
property_exists(): Argument #1 ($object_or_class) must be of type object|string, bool given
property_exists(): Argument #1 ($object_or_class) must be of type object|string, null given
bool(true)
bool(true)
bool(true)
bool(true)
bool(true)
bool(true)
-27
View File
@@ -1,27 +0,0 @@
--TEST--
class_exists() tests
--FILE--
<?php
class foo {
}
var_dump(class_exists("qwerty"));
var_dump(class_exists(""));
var_dump(class_exists("test", false));
var_dump(class_exists("foo", false));
var_dump(class_exists("foo"));
var_dump(class_exists("stdClass", false));
var_dump(class_exists("stdClass"));
echo "Done\n";
?>
--EXPECT--
bool(false)
bool(false)
bool(false)
bool(true)
bool(true)
bool(true)
bool(true)
Done
-27
View File
@@ -1,27 +0,0 @@
--TEST--
interface_exists() tests
--FILE--
<?php
interface foo {
}
var_dump(interface_exists("qwerty"));
var_dump(interface_exists(""));
var_dump(interface_exists("test", false));
var_dump(interface_exists("foo", false));
var_dump(interface_exists("foo"));
var_dump(interface_exists("stdClass", false));
var_dump(interface_exists("stdClass"));
echo "Done\n";
?>
--EXPECT--
bool(false)
bool(false)
bool(false)
bool(true)
bool(true)
bool(false)
bool(false)
Done
-3
View File
@@ -1,3 +0,0 @@
<?php
/* dummy file for 014.phpt */
?>
-42
View File
@@ -1,42 +0,0 @@
--TEST--
get_included_files() tests
--FILE--
<?php
var_dump(get_included_files());
include(__DIR__."/014.inc");
var_dump(get_included_files());
include_once(__DIR__."/014.inc");
var_dump(get_included_files());
include(__DIR__."/014.inc");
var_dump(get_included_files());
echo "Done\n";
?>
--EXPECTF--
array(1) {
[0]=>
string(%d) "%s"
}
array(2) {
[0]=>
string(%d) "%s"
[1]=>
string(%d) "%s"
}
array(2) {
[0]=>
string(%d) "%s"
[1]=>
string(%d) "%s"
}
array(2) {
[0]=>
string(%d) "%s"
[1]=>
string(%d) "%s"
}
Done
-33
View File
@@ -1,33 +0,0 @@
--TEST--
trigger_error() tests
--FILE--
<?php
var_dump(trigger_error("error"));
try {
var_dump(trigger_error("error", -1));
} catch (\ValueError $e) {
echo $e->getMessage() . \PHP_EOL;
}
try {
var_dump(trigger_error("error", 0));
} catch (\ValueError $e) {
echo $e->getMessage() . \PHP_EOL;
}
var_dump(trigger_error("error", E_USER_WARNING));
var_dump(trigger_error("error", E_USER_DEPRECATED));
?>
--EXPECTF--
Notice: error in %s on line %d
bool(true)
trigger_error(): Argument #2 ($error_level) must be one of E_USER_ERROR, E_USER_WARNING, E_USER_NOTICE, or E_USER_DEPRECATED
trigger_error(): Argument #2 ($error_level) must be one of E_USER_ERROR, E_USER_WARNING, E_USER_NOTICE, or E_USER_DEPRECATED
Warning: error in %s on line %d
bool(true)
Deprecated: error in %s on line %d
bool(true)
-12
View File
@@ -1,12 +0,0 @@
--TEST--
isset() with object properties when operating on non-object
--FILE--
<?php
$foo = NULL;
isset($foo->bar->bar);
echo "Done\n";
?>
--EXPECT--
Done
-59
View File
@@ -1,59 +0,0 @@
--TEST--
builtin functions tests
--FILE--
<?php
$fp = fopen(__FILE__, "r");
var_dump(get_resource_type($fp));
fclose($fp);
var_dump(get_resource_type($fp));
var_dump(gettype(get_loaded_extensions()));
var_dump(count(get_loaded_extensions()));
var_dump(gettype(get_loaded_extensions(true)));
var_dump(count(get_loaded_extensions(true)));
define("USER_CONSTANT", "test");
var_dump(gettype(get_defined_constants(true)));
var_dump(gettype(get_defined_constants()));
var_dump(count(get_defined_constants()));
function test () {
}
var_dump(gettype(get_defined_functions()));
var_dump(count(get_defined_functions()));
var_dump(gettype(get_declared_interfaces()));
var_dump(count(get_declared_interfaces()));
var_dump(get_extension_funcs(true));
var_dump(gettype(get_extension_funcs("standard")));
var_dump(count(get_extension_funcs("standard")));
var_dump(gettype(get_extension_funcs("zend")));
var_dump(count(get_extension_funcs("zend")));
echo "Done\n";
?>
--EXPECTF--
string(6) "stream"
string(7) "Unknown"
string(5) "array"
int(%d)
string(5) "array"
int(%d)
string(5) "array"
string(5) "array"
int(%d)
string(5) "array"
int(%d)
string(5) "array"
int(%d)
bool(false)
string(5) "array"
int(%d)
string(5) "array"
int(%d)
Done
-24
View File
@@ -1,24 +0,0 @@
--TEST--
constant() tests
--FILE--
<?php
try {
var_dump(constant(""));
} catch (Error $e) {
echo $e->getMessage(), "\n";
}
define("TEST_CONST", 1);
var_dump(constant("TEST_CONST"));
define("TEST_CONST2", "test");
var_dump(constant("TEST_CONST2"));
echo "Done\n";
?>
--EXPECT--
Undefined constant ""
int(1)
string(4) "test"
Done
-1321
View File
File diff suppressed because it is too large. Load diff
-29
View File
@@ -1,29 +0,0 @@
--TEST--
func_get_arg() invalid usage
--FILE--
<?php
try {
var_dump(func_get_arg(1));
} catch (\Error $e) {
echo $e->getMessage() . \PHP_EOL;
}
function bar() {
var_dump(func_get_arg(1));
}
function foo() {
bar(func_get_arg(1));
}
try {
foo(1,2);
} catch (\Error $e) {
echo $e->getMessage() . \PHP_EOL;
}
?>
--EXPECT--
func_get_arg() cannot be called from the global scope
func_get_arg(): Argument #1 ($position) must be less than the number of the arguments passed to the currently executed function
-37
View File
@@ -1,37 +0,0 @@
--TEST--
?: operator
--FILE--
<?php
var_dump(true ?: false);
var_dump(false ?: true);
var_dump(23 ?: 42);
var_dump(0 ?: "bar");
$a = 23;
$b = 0;
$c = "";
$d = 23.5;
var_dump($a ?: $b);
var_dump($c ?: $d);
var_dump(1 ?: print(2));
$e = array();
$e['e'] = 'e';
$e['e'] = $e['e'] ?: 'e';
print_r($e);
?>
--EXPECT--
bool(true)
bool(true)
int(23)
string(3) "bar"
int(23)
float(23.5)
int(1)
Array
(
[e] => e
)
-25
View File
@@ -1,25 +0,0 @@
--TEST--
Implementing abstracting methods and optional parameters
--FILE--
<?php
abstract class Base
{
abstract function someMethod($param);
}
class Ext extends Base
{
function someMethod($param = "default")
{
echo $param, "\n";
}
}
$a = new Ext();
$a->someMethod("foo");
$a->someMethod();
?>
--EXPECT--
foo
default
-45
View File
@@ -1,45 +0,0 @@
--TEST--
Testing variable variables as function name
--FILE--
<?php
$a = 'ucfirst';
$b = 'a';
print $$b('test');
print "\n";
class bar {
public function a() {
return "bar!";
}
}
class foo {
public function test() {
print "foo!\n";
return new bar;
}
}
function test() {
return new foo;
}
$a = 'test';
$b = 'a';
var_dump($$b()->$$b()->$b());
$a = 'strtoupper';
$b = 'a';
$c = 'b';
$d = 'c';
var_dump($$$$d('foo'));
?>
--EXPECT--
Test
foo!
string(4) "bar!"
string(3) "FOO"
-57
View File
@@ -1,57 +0,0 @@
--TEST--
Testing operations with undefined variable
--FILE--
<?php
var_dump($a[1]);
var_dump($a[$c]);
var_dump($a + 1);
var_dump($a + $b);
var_dump($a++);
var_dump(++$b);
var_dump($a->$b);
var_dump($a->$b);
var_dump($a->$b->{$c[1]});
?>
--EXPECTF--
Warning: Undefined variable $a in %s on line %d
Warning: Trying to access array offset on value of type null in %s on line %d
NULL
Warning: Undefined variable $a in %s on line %d
Warning: Undefined variable $c in %s on line %d
Warning: Trying to access array offset on value of type null in %s on line %d
NULL
Warning: Undefined variable $a in %s on line %d
int(1)
Warning: Undefined variable $a in %s on line %d
Warning: Undefined variable $b in %s on line %d
int(0)
Warning: Undefined variable $a in %s on line %d
NULL
Warning: Undefined variable $b in %s on line %d
int(1)
Warning: Attempt to read property "1" on int in %s on line %d
NULL
Warning: Attempt to read property "1" on int in %s on line %d
NULL
Warning: Undefined variable $c in %s on line %d
Warning: Trying to access array offset on value of type null in %s on line %d
Warning: Attempt to read property "1" on int in %s on line %d
Warning: Attempt to read property "" on null in %s on line %d
NULL
-32
View File
@@ -1,32 +0,0 @@
--TEST--
Testing dynamic calls
--FILE--
<?php
class foo {
static public function a() {
print "ok\n";
}
}
$a = 'a';
$b = 'a';
$class = 'foo';
foo::a();
foo::$a();
foo::$$b();
$class::a();
$class::$a();
$class::$$b();
?>
--EXPECT--
ok
ok
ok
ok
ok
ok
-28
View File
@@ -1,28 +0,0 @@
--TEST--
Trying assign value to property when an object is not returned in a function
--FILE--
<?php
class foo {
public function a() {
}
}
$test = new foo;
$test->a()->a;
print "ok\n";
try {
$test->a()->a = 1;
} catch (Error $e) {
echo $e->getMessage(), "\n";
}
print "ok\n";
?>
--EXPECTF--
Warning: Attempt to read property "a" on null in %s on line %d
ok
Attempt to assign property "a" on null
ok
-22
View File
@@ -1,22 +0,0 @@
--TEST--
Testing dynamic calls using variable variables with curly syntax
--FILE--
<?php
$a = 'b';
$b = 'c';
$c = 'strtoupper';
var_dump(${${$a}}('foo') == 'FOO');
$a = 'b';
$b = 'c';
$c = 'strtoupper';
$strtoupper = 'strtolower';
var_dump(${${++$a}}('FOO') == 'foo');
?>
--EXPECT--
bool(true)
bool(true)
-26
View File
@@ -1,26 +0,0 @@
--TEST--
Testing function call through of array item
--FILE--
<?php
$arr = array('strtoupper', 'strtolower');
$k = 0;
var_dump($arr[0]('foo') == 'FOO');
var_dump($arr[$k]('foo') == 'FOO');
var_dump($arr[++$k]('FOO') == 'foo');
var_dump($arr[++$k]('FOO') == 'foo');
?>
--EXPECTF--
bool(true)
bool(true)
bool(true)
Warning: Undefined array key 2 in %s on line %d
Fatal error: Uncaught Error: Value of type null is not callable in %s:%d
Stack trace:
#0 {main}
thrown in %s on line %d
-51
View File
@@ -1,51 +0,0 @@
--TEST--
Testing assign to property of an object in an array
--FILE--
<?php
$arr = array(new stdClass);
$arr[0]->a = clone $arr[0];
var_dump($arr);
$arr[0]->b = new $arr[0];
var_dump($arr);
$arr[0]->c = $arr[0]->a;
var_dump($arr);
?>
--EXPECT--
array(1) {
[0]=>
object(stdClass)#1 (1) {
["a"]=>
object(stdClass)#2 (0) {
}
}
}
array(1) {
[0]=>
object(stdClass)#1 (2) {
["a"]=>
object(stdClass)#2 (0) {
}
["b"]=>
object(stdClass)#3 (0) {
}
}
}
array(1) {
[0]=>
object(stdClass)#1 (3) {
["a"]=>
object(stdClass)#2 (0) {
}
["b"]=>
object(stdClass)#3 (0) {
}
["c"]=>
object(stdClass)#2 (0) {
}
}
}
-34
View File
@@ -1,34 +0,0 @@
--TEST--
Overriding $this in catch and checking the object properties later.
--FILE--
<?php
class foo {
public $test = 0;
private $test_2 = 1;
protected $test_3 = 2;
public function bar() {
try {
throw new Exception('foo');
} catch (Exception $this) {
var_dump($this);
}
$this->baz();
}
public function baz() {
foreach ($this as $k => $v) {
printf("'%s' => '%s'\n", $k, $v);
}
print "ok\n";
}
}
$test = new foo;
$test->bar();
?>
--EXPECTF--
Fatal error: Cannot re-assign $this in %s030.php on line 11
-11
View File
@@ -1,11 +0,0 @@
--TEST--
Testing array with '[]' passed as argument by value
--FILE--
<?php
function test($var) { }
test($arr[]);
?>
--EXPECTF--
Fatal error: Cannot use [] for reading in %s on line %d
Loaded 100 of 21022 files, more files were not shown because too many files have changed in this diff. Show more