Commit Graph

4402 Commits

Author SHA1 Message Date
George Wang
af1ac753fe Clear secret after use. 2015-12-09 11:37:42 +01:00
George Wang
42789e2b8a Fixed __DIR__ in CLI mode. 2015-12-09 11:37:40 +01:00
George Wang
00ed55005a Bumped SAPI version to 6.9 2015-12-09 00:28:08 -05:00
George Wang
0d84097d44 Added "mod_auth_basic" to apache module list. 2015-12-09 00:27:55 -05:00
George Wang
08080c18f5 Add sanitizing checks for request data. 2015-12-09 00:26:41 -05:00
George Wang
c60d4b9770 Clear secret after use. 2015-12-09 00:26:24 -05:00
George Wang
84fd8ffa2a Fixed __DIR__ in CLI mode. 2015-12-09 00:25:48 -05:00
George Wang
13096a8120 Bumped SAPI version to 6.9 2015-12-09 00:19:18 -05:00
George Wang
9190684a76 Added "mod_auth_basic" to apache module list. 2015-12-09 00:16:16 -05:00
George Wang
59b414e128 Merge branch 'master' of git.php.net:php-src 2015-12-09 00:11:07 -05:00
George Wang
194cd13c2b Fixed __DIR__ in CLI mode. 2015-12-09 00:09:14 -05:00
George Wang
372a839040 Add sanitizing checks for request data. 2015-12-09 00:06:49 -05:00
George Wang
292aa9d6cb Clear secret after use. 2015-12-08 23:43:29 -05:00
Dmitry Stogov
404e003cf1 Delete empty live-ranges 2015-12-09 05:16:30 +03:00
Stanislav Malyshev
be19dbcb84 Fixed bug #70755: fpm_log.c memory leak and buffer overflow 2015-12-08 00:10:07 -08:00
Joe Watkins
03a43d50e1 standard tsrm usage for seven 2015-12-06 14:06:07 +01:00
Joe Watkins
ee704bff78 Merge branch 'master' of https://github.com/php/php-src 2015-12-06 10:04:59 +00:00
Joe Watkins
003c91bd9b standard tsrm usage for seven 2015-12-06 10:04:35 +00:00
Adam Harvey
612b9dc12e Merge branch 'PHP-7.0'
* PHP-7.0:
  Fix bug #71005 (Segfault in php_cli_server_dispatch_router()).
2015-12-01 03:10:04 +00:00
Adam Harvey
91bad929aa Fix bug #71005 (Segfault in php_cli_server_dispatch_router()).
We didn't initialise the retval variable in
php_cli_server_dispatch_router(); let's now initialise it to be
IS_UNDEF, as the following if condition expects.
2015-12-01 03:09:36 +00:00
Lior Kaplan
c1b374554c Merge branch 'PHP-7.0'
* PHP-7.0:
  Fixed bug #61751 (SAPI build problem on AIX: Undefined symbol: php_register_internal_extensions)
2015-11-23 19:02:41 +02:00
Lior Kaplan
9642710a09 Merge branch 'PHP-5.6' into PHP-7.0
* PHP-5.6:
  Fixed bug #61751 (SAPI build problem on AIX: Undefined symbol: php_register_internal_extensions)

 Conflicts:
	sapi/cgi/config9.m4
	sapi/fpm/config.m4
2015-11-23 18:56:13 +02:00
Bob Weinand
9bbdb86ed7 Merge branch 'PHP-7.0' 2015-11-23 17:46:39 +01:00
Bob Weinand
c1189eccae Output stderr on real stderr in phpdbg 2015-11-23 17:46:07 +01:00
Lior Kaplan
d6b78a3511 Fixed bug #61751 (SAPI build problem on AIX: Undefined symbol: php_register_internal_extensions) 2015-11-23 18:40:47 +02:00
Xinchen Hui
58168b48e2 Fixed tests (new opcache will optimize serias echo IS_CONST into one) 2015-11-22 06:49:28 -08:00
George Wang
5bcb7a7019 Fixed runtime php.ini override, ini name length is off by 1. 2015-11-19 17:01:26 -05:00
Xinchen Hui
ae196280bb Revert pushed by mistake
Revert "Revert "Remove assumption that extensions are in ext/ext-name""

This reverts commit 7e47bf1e65.
2015-11-16 18:04:29 +08:00
Xinchen Hui
48325aba87 Merge branch 'master' of git.php.net:/php-src 2015-11-16 17:02:55 +08:00
Reeze Xia
c856b6e0ff Update mime type generator script to keep track of additional mime-types 2015-11-15 20:25:47 +08:00
Thorsten Rinne
04c3fbac37 Added support for CSS/JavaScript source maps
Source maps (http://www.html5rocks.com/en/tutorials/developertools/sourcemaps/) are basically a way to map a combined/minified file back to an unbuilt state. To avoid error messages in Browser DevTools, source map files should be served with the MIME type "application/json"
2015-11-15 20:25:39 +08:00
Reeze Xia
8222b971cd Update mime type generator script to keep track of additional mime-types 2015-11-15 11:08:14 +08:00
Xinchen Hui
90027dd7f6 Merge branch 'master' of https://github.com/thorsten/php-src 2015-11-14 01:56:46 -08:00
Gordon Oheim
0dc8a8cac0 Fix naming
The global section is named "General", but the correct section name is "global". It is "global" in #1313 and also "global" in https://github.com/php/php-src/blob/master/sapi/fpm/php-fpm.conf.in. The commit fixes the naming. However, the proposed change might break any tooling that relies on finding "General" in the output though.
2015-11-13 15:01:10 +01:00
Xinchen Hui
7e47bf1e65 Revert "Remove assumption that extensions are in ext/ext-name"
This reverts commit 82b73fd1e3.

Conflicts:

	build/genif.sh
	build/order_by_dep.awk
2015-11-13 14:27:59 +08:00
Xinchen Hui
f72c7edfa4 Ensure the test fails 2015-11-11 14:55:33 +01:00
Xinchen Hui
9567726978 Merge branch 'PHP-7.0' 2015-11-11 19:51:57 +08:00
Xinchen Hui
88fb6d90c4 Ensure the test fails 2015-11-11 19:51:33 +08:00
Thorsten Rinne
a0d62f08ae Added support for CSS/JavaScript source maps
Source maps (http://www.html5rocks.com/en/tutorials/developertools/sourcemaps/) are basically a way to map a combined/minified file back to an unbuilt state. To avoid error messages in Browser DevTools, source map files should be served with the MIME type "application/json"
2015-11-11 08:34:36 +01:00
Dmitry Stogov
86a96f2cf1 Changed meaning of "op2" for ZEND_FREE, ZEND_FE_FREE, ZEND_FAST_CALL, ZEND_FAST_RET.
Previously it was an instruction number.
Now it's an index in op_array->try_cacth_array[].
2015-11-10 19:13:54 +03:00
Lynn
269674f79d rm duplicate include 2015-11-07 23:01:23 -08:00
Xinchen Hui
948bb4d224 Merge branch 'c9n-patch-1' of https://github.com/c9n/php-src 2015-11-07 23:01:09 -08:00
Anatol Belski
655e266440 Merge branch 'PHP-7.0'
* PHP-7.0:
  update NEWS
  fix decrement_function regarding bug #70863
  Fixed bug #70863 Incorect logic to increment_function for proxy objects
  no more dev ZEND_VERSION
  Add support for IPV6_V6ONLY on sockets

Conflicts:
	Zend/zend.h
2015-11-06 23:10:40 +01:00
Anatol Belski
8155ecba61 Fixed bug #70863 Incorect logic to increment_function for proxy objects 2015-11-06 23:07:16 +01:00
Xinchen Hui
a79a504b6d Merge branch 'PHP-7.0' 2015-11-02 16:43:52 +08:00
Xinchen Hui
d7ff107654 Fixed bug #70540 (sapi/fpm/tests/008.phpt and 016.phpt should be skipped on some platforms) 2015-11-02 16:43:28 +08:00
Xinchen Hui
8dd5e1c2b5 Add test_fpm_conf to skip some tests ranth than mark --xfail-- 2015-11-02 16:42:11 +08:00
Lynn
a4d5accf7d rm duplicate include 2015-10-28 11:21:15 +08:00
Dmitry Stogov
648347536a Merge branch 'PHP-7.0'
* PHP-7.0:
  Fixed incomplete initialization.
2015-10-30 07:16:31 +03:00
Dmitry Stogov
3c5a3e77d4 Fixed incomplete initialization. 2015-10-30 07:15:56 +03:00
Nuno Lopes
36311ee4fd unbreak coverage data: fix #line directives in phpdbg parser 2015-10-24 18:12:24 -04:00
Nuno Lopes
a0665f3a18 unbreak coverage data: fix #line directives in phpdbg parser 2015-10-24 17:45:53 -04:00
Nuno Lopes
b5206970fb unbreak coverage data: fix #line directives in phpdbg parser 2015-10-24 17:45:31 -04:00
Anatol Belski
22af88274b Fix globals initialization in sapi/cgi
Basically backport 8430ec17
2015-10-23 13:56:40 +02:00
ngsw
90d1e9d178 Fix: fold-maker `fpm_event_pre_init()' 2015-10-22 23:21:46 +09:00
Bob Weinand
387b7c7905 Merge branch 'PHP-7.0' 2015-10-20 21:56:20 +02:00
Bob Weinand
2ef327caed Exempt paging from -qrr mode 2015-10-20 21:56:00 +02:00
Felipe Pena
b2466061d5 Merge branch 'PHP-7.0' 2015-10-18 12:10:03 -02:00
Felipe Pena
f231ddddaf - Implemented output paging 2015-10-18 12:08:04 -02:00
Bob Weinand
bcf6012cf4 Merge branch 'PHP-7.0' 2015-10-13 15:51:42 +02:00
Bob Weinand
d398cc9d10 Prevent memcmp() result truncation
This fixes reported issues with sapi/phpdbg/tests/watch_001.phpt
2015-10-13 15:51:23 +02:00
Bob Weinand
6efbfc4caf phpdbg test info_001.phpt was dependent on auto_globals_jit 2015-10-13 14:40:42 +02:00
Bob Weinand
c717d14a8e Merge branch 'PHP-7.0' 2015-10-13 11:30:14 +02:00
Bob Weinand
e85a0aba9b Fix on/off values in phpdbg lexer 2015-10-13 11:29:51 +02:00
Felipe Pena
ffebd5dbf6 - Fixed missing line-break 2015-10-12 09:54:03 -03:00
Bob Weinand
8285731362 Fix parse errors in -rr mode 2015-10-02 12:51:32 +02:00
Bob Weinand
4f90e2ec9d Ensure proper set_exception_handler() handling with exit() inside it 2015-10-02 12:37:40 +02:00
Bob Weinand
0c03ba0ad0 Fixed bug #70614 (incorrect exit code in -rr mode with Exceptions) 2015-10-02 12:37:40 +02:00
Bob Weinand
32337d35cc Do not display memory leaks on fatal 2015-10-02 12:37:40 +02:00
Bob Weinand
6c61286da4 Do not include zend_verify_return_type in executable ops (phpdbg) 2015-10-02 12:37:39 +02:00
Nikita Popov
1287c48082 Fix/improve zpp usage
The ext/interbase changes are done blindly, fingers crossed.

Some of these are bug fixes, some make zpp usage more idiomatic.
2015-10-02 09:35:00 +02:00
Bob Weinand
ba6d193b4c Add NTS/ZTS information to php -v 2015-09-30 12:39:09 +02:00
Anatol Belski
59541795e2 fork test 2015-09-30 11:13:29 +02:00
Anatol Belski
e80306cbe8 fix tests on Windows 2015-09-30 11:13:28 +02:00
Anatol Belski
353d996c9f tweak cgi binary search 2015-09-30 11:13:27 +02:00
Anatol Belski
c82e21619e fix phpdbg's -h switch
The help functionality needs a correct stdout fd, so pre setup it
for the only case.
2015-09-27 15:46:07 +02:00
Bob Weinand
bccac3774b Fixed bug #70531 (-rr should not fallback to interactive mode in phpdbg) 2015-09-23 18:30:13 +02:00
Bob Weinand
4a174ca7e6 Fixed bug #70532 (respect set_exception_handler in phpdbg) 2015-09-23 17:53:29 +02:00
Xinchen Hui
c256649d63 Fixed memleaks in apache2handler 2015-09-23 07:08:51 -07:00
Dmitry Stogov
01ed736827 Don't keep dangling pointers 2015-09-23 16:16:04 +03:00
Xinchen Hui
1d6228b46a Fixed bug #70279 (HTTP Authorization Header is sometimes passed to newer reqeusts) 2015-09-22 15:28:53 +08:00
Xinchen Hui
85eece9c4f Fixed bug #70538 ("php-fpm -i" crashes) 2015-09-21 11:18:37 +08:00
Xinchen Hui
a247c3a27d Fixed bug #70538 ("php-fpm -i" crashes) 2015-09-21 10:55:38 +08:00
Bob Weinand
8f85dc141a Always properly show exit status in phpdbg
Especially when it is only set after main run (e.g. register_shutdown_function)
2015-09-19 18:30:07 +02:00
Bob Weinand
16cde23eb2 Fix oplog... 2015-09-19 17:10:16 +02:00
Bob Weinand
491c62e2aa Apply same fixes for until 2015-09-19 15:19:26 +02:00
Bob Weinand
8eadde40cd Fix leave and finish 2015-09-19 14:57:36 +02:00
Bob Weinand
5b8981f12e Add eventual escaping for phpdbg arguments 2015-09-18 00:50:08 +02:00
Bob Weinand
adcabcc125 Add # delimiter to phpdbg commands 2015-09-17 22:53:10 +02:00
Xinchen Hui
874dc06156 Merge branch 'PHP-5.6' 2015-09-11 13:52:00 +08:00
Xinchen Hui
37d814b84c Add test XFAIL for bug #70470 2015-09-11 13:45:18 +08:00
Dmitry Stogov
c174e4cd73 Change array sorting implementation to avoid two level callbacks system.
Simplify zval comparion API.
2015-09-10 02:51:23 +03:00
Bob Weinand
51272f4217 Fixed bug #70449 (PHP won't compile on 10.4 and 10.5 because of missing constants) 2015-09-07 17:28:29 +02:00
Christoph M. Becker
cc9da62bdb Merge branch 'PHP-5.6'
* PHP-5.6:
  Fix #68291: 404 on urls with '+'

Resolved conflicts:
	sapi/cli/php_cli_server.c
2015-09-05 14:43:19 +02:00
Christoph M. Becker
fd94c92171 Fix #68291: 404 on urls with '+'
URI paths have to be treated according to RFC 3986 by the CLI web server, not
as application/x-www-form-urlencoded.
2015-09-05 14:34:08 +02:00
Joe Watkins
85a511d2c1 fix zend signal and tsrm compat 2015-09-01 09:34:54 +01:00
Bob Weinand
84b608de10 Fix valgrind warning upon displaying lines from eval()ed code in phpdbg 2015-08-31 23:42:15 +02:00
Bob Weinand
54a831829a Respect exit status for -rr option with phpdbg 2015-08-30 20:25:10 +02:00
Xinchen Hui
c359ca8c3d Fixed printing 2015-08-27 11:38:11 +08:00
Bob Weinand
c1e9bd27fe Fix zend_vm_call_opcode_handler (e.g. Generators throwing exceptions) with IP/FP registers 2015-08-26 00:25:25 +01:00
Anatol Belski
7366e29662 fix build, use exported symbol 2015-08-25 10:39:43 +02:00
Bob Weinand
6b3228fda4 Fix oplog with eval()ed code 2015-08-24 12:28:35 +01:00
Bob Weinand
272cccd175 Fix phpdbg_break_next() 2015-08-23 12:07:14 +01:00
Bob Weinand
e9f21a3388 Fix phpdbg_break_next() and add test 2015-08-23 11:58:45 +01:00
Bob Weinand
76e3e99dd6 Fix issues with phpdbg SIGINT handler
Also fix valgrind warnings in allocator when not using mmap()ed memory
2015-08-21 23:36:31 +01:00
Bob Weinand
82b73fd1e3 Remove assumption that extensions are in ext/ext-name
Fixes also a weird ln (symlink) hack for phpdbg
2015-08-21 00:13:02 +02:00
Christoph M. Becker
fc444896af Merge branch 'PHP-5.6'
* PHP-5.6:
  Fix #70264: CLI server directory traversal
2015-08-14 17:18:35 +02:00
Christoph M. Becker
9c805a6cb3 Fix #70264: CLI server directory traversal
On Windows the built-in webserver doesn't prevent directory traversal when
backslashes are used as path component separators. Even though that is not a
security issue (the CLI webserver is meant for testing only), we fix that by
replacing backslashes in the path with slashes on Windows, because backslashes
may be valid characters for file names on other systems, but not on Windows.
2015-08-14 17:05:31 +02:00
Dmitry Stogov
715d5d2855 Get rid of implicit type casting in GC_*() macros in Zend/zend_types.h.
This prevented compilation warnings and disclosed few incorrect usages in Zend/zend_vm_def.h and ext/dom/xpath.c.
Now explicit type casting may be required on call site.
This may break some C extension code, but it shoulfn't be a problem to add explicit casting.
2015-08-13 13:56:29 +03:00
Bob Weinand
c17afbc4f1 Fix valgrind false positives with watchpoints 2015-08-12 10:42:49 +00:00
Christoph M. Becker
48c71cd94b Fix #69487: SAPI may truncate POST data
If SG(request_info).request_body can't be completely written (e.g. due to a
full drive), only parts of the POST data will be available. This patch changes
this, so that SG(request_info).request_body will be reset in this case, and a
warning will be thrown.
2015-08-11 01:32:13 +02:00
wusuopu
72976e2497 Fix #66606: Sets HTTP_CONTENT_TYPE but not CONTENT_TYPE
The patch will store Content-Type header value in both HTTP_CONTENT_TYPE field and CONTENT_TYPE field.
2015-08-09 02:37:16 +02:00
Christoph M. Becker
1b4a80332c added tests for bug #66606 2015-08-09 02:36:58 +02:00
Stanislav Malyshev
54187fa4b9 Merge branch 'PHP-5.5' into PHP-5.6
* PHP-5.5:
  fix test
2015-08-04 16:45:55 -07:00
Stanislav Malyshev
2425f88afd Merge branch 'PHP-5.4' into PHP-5.5
* PHP-5.4:
  fix test
2015-08-04 16:45:32 -07:00
Stanislav Malyshev
da5321013c fix test 2015-08-04 16:45:20 -07:00
Stanislav Malyshev
ed709d5aa0 Merge branch 'PHP-5.5' into PHP-5.6
* PHP-5.5:
  update NEWS
  fix test
  update NEWS
  Fix bug #70019 - limit extracted files to given directory
  Do not do convert_to_* on unserialize, it messes up references
  Fix #69793 - limit what we accept when unserializing exception
  Fixed bug #70169 (Use After Free Vulnerability in unserialize() with SplDoublyLinkedList)
  Fixed bug #70166 - Use After Free Vulnerability in unserialize() with SPLArrayObject
  ignore signatures for packages too
  Fix bug #70168 - Use After Free Vulnerability in unserialize() with SplObjectStorage
  Fixed bug #69892
  Fix bug #70014 - use RAND_bytes instead of deprecated RAND_pseudo_bytes
  Improved fix for Bug #69441
  Fix bug #70068 (Dangling pointer in the unserialization of ArrayObject items)
  Fix bug #70121 (unserialize() could lead to unexpected methods execution / NULL pointer deref)
  Fix bug #70081: check types for SOAP variables

Conflicts:
	ext/soap/php_http.c
	ext/spl/spl_observer.c
2015-08-04 15:29:13 -07:00
Stanislav Malyshev
742c54aecf Merge branch 'PHP-5.4' into PHP-5.5
* PHP-5.4:
  fix test
  update NEWS
2015-08-04 14:46:30 -07:00
Stanislav Malyshev
0a21b5d970 fix test 2015-08-04 14:46:19 -07:00
Bob Weinand
af0d6256d5 Fix [valid] valgrind warnings, add first watchpoints test 2015-07-15 14:22:51 +00:00
Dmitry Stogov
162bf9e802 Reimplemented ability to get debug info (C source file and line number) in phpdbg without hacks and ABI breaks. 2015-08-11 16:33:47 +03:00
Christoph M. Becker
37707b2dd6 Merge branch 'PHP-5.6'
* PHP-5.6:
  Fix #69487: SAPI may truncate POST data
2015-08-11 01:42:25 +02:00
Christoph M. Becker
fc69549593 Merge branch 'PHP-5.6'
* PHP-5.6:
  Fix #66606: Sets HTTP_CONTENT_TYPE but not CONTENT_TYPE
  added tests for bug #66606
2015-08-09 02:51:16 +02:00
Bob Weinand
0c60524190 Fixed bug #70214 (FASYNC possibly not defined) 2015-08-08 15:53:27 +02:00
Stanislav Malyshev
6981bc32be fix test 2015-08-04 16:47:44 -07:00
Stanislav Malyshev
21602ec219 Merge branch 'PHP-5.6'
* PHP-5.6:
  fix test

Conflicts:
	sapi/cli/tests/005.phpt
2015-08-04 16:46:38 -07:00
Stanislav Malyshev
97047e7665 Merge branch 'PHP-5.6'
* PHP-5.6:
  update NEWS
  fix test
  update NEWS
  Fix bug #70019 - limit extracted files to given directory
  Do not do convert_to_* on unserialize, it messes up references
  Fix #69793 - limit what we accept when unserializing exception
  Fixed bug #70169 (Use After Free Vulnerability in unserialize() with SplDoublyLinkedList)
  Fixed bug #70166 - Use After Free Vulnerability in unserialize() with SPLArrayObject
  ignore signatures for packages too
  Fix bug #70168 - Use After Free Vulnerability in unserialize() with SplObjectStorage
  Fixed bug #69892
  Fix bug #70014 - use RAND_bytes instead of deprecated RAND_pseudo_bytes
  Improved fix for Bug #69441
  Fix bug #70068 (Dangling pointer in the unserialization of ArrayObject items)
  Fix bug #70121 (unserialize() could lead to unexpected methods execution / NULL pointer deref)
  Fix bug #70081: check types for SOAP variables

Conflicts:
	Zend/zend_exceptions.c
	ext/date/php_date.c
	ext/openssl/openssl.c
	ext/phar/phar_internal.h
	ext/soap/php_http.c
	ext/spl/spl_array.c
	ext/spl/spl_dllist.c
	ext/spl/spl_observer.c
	ext/standard/tests/serialize/bug69152.phpt
	sapi/cli/tests/005.phpt
2015-08-04 16:14:24 -07:00
Bob Weinand
d0ad621906 Fix further leaks 2015-08-04 01:22:04 +02:00
Bob Weinand
d8fe645db4 Fix valgrind errors in phpdbg
Revert "We cannot safely assume that all op array will be refcount 0 after execution"
This reverts commit b6936adb58.

This change turns out to not have been a clever idea and was causing more weirdness than it helped...
2015-08-04 00:00:10 +02:00
Bob Weinand
b20953118b Fix last invalid read
Also revert debugging run-tests.php changes...
2015-08-03 20:49:41 +02:00
Bob Weinand
b5e16cebda Fix a few valgrind errors in phpdbg 2015-08-03 20:27:46 +02:00
Bob Weinand
34596a3ddd Fix breaking on HANDLE_EXCEPTION (opline_before_exception) 2015-08-03 17:15:40 +02:00
Dmitry Stogov
d28070870c Fixed tests (system dependent numbers are replaced with %d) 2015-08-03 09:53:13 +03:00
Anatol Belski
8e528b2792 fix inconsistent dll linkage 2015-08-02 16:26:48 +02:00
Bob Weinand
06ef2aeca9 Skip shebang line if present 2015-08-01 23:28:55 +02:00
Bob Weinand
351b4e8015 Optimize btree/find_closest a bit 2015-08-01 18:23:00 +02:00
Bob Weinand
624bedcadc Fix tests 2015-07-31 18:22:04 +02:00
Bob Weinand
590c5a7e50 Remove debug instructions (...) 2015-07-31 13:23:45 +02:00
Bob Weinand
36aa92a67d Do not mark automatic return 1; as executable 2015-07-31 02:26:28 +02:00
Bob Weinand
1da4ee25b8 Fix oplog trace with already freed closures 2015-07-31 02:06:03 +02:00
Christoph M. Becker
6855e2f08b Merge branch 'pull-request/1439'
* pull-request/1439:
  fixed broken test
  add new error constant PREG_JIT_STACKLIMIT_ERROR
2015-07-29 18:21:46 +02:00
Bob Weinand
9a312687f0 Fix test execution result with opcache 2015-07-28 02:14:49 +02:00
Bob Weinand
c0e0f1414e Fix phpdbg stepping on CATCH with exception 2015-07-28 00:10:42 +02:00
Bob Weinand
248ebf0df6 Fix: A buf == NULL on filehandle will segfault 2015-07-27 16:57:09 +02:00
Bob Weinand
64f25adb6b Remove -Wunused-result warnings 2015-07-27 15:02:01 +02:00
Christoph M. Becker
6de470e0af fixed broken test 2015-07-26 23:40:48 +02:00
Bob Weinand
70c6a6f624 Fix infinite lexer loop for :\ sequence in phpdbg 2015-07-26 22:57:30 +02:00
Bob Weinand
f5bef4058c Fix bug #70138 (difference between gcc and clang) 2015-07-26 21:49:18 +02:00
Bob Weinand
9e8fec1ef7 Fix leaks from bug #70138 2015-07-26 21:49:18 +02:00
Anatol Belski
c18f5e1edd add NULL check 2015-07-26 20:54:26 +02:00
Bob Weinand
66fd52939b Just always copy the buffer, that makes it much safer
At least compared to conditionally using the mmap()ped input
2015-07-25 19:50:31 +02:00
Bob Weinand
cdde4c51e1 Remove old unused header file 2015-07-25 01:35:29 +02:00
Bob Weinand
e960d3ed2c Fix memory leak with opcache 2015-07-25 01:08:57 +02:00
Bob Weinand
b4c595dd82 Fix op_arrays with opcache 2015-07-25 00:31:05 +02:00
Bob Weinand
cf85985935 Fix print of ZEND_CATCH 2015-07-24 23:40:18 +02:00
Anatol Belski
9bae11d170 Revert "avoid pointer truncation"
This reverts commit 5334d53499.
2015-07-24 22:30:46 +02:00
Anatol Belski
fa4cd519e6 fix printf format 2015-07-24 21:51:30 +02:00
Anatol Belski
5334d53499 avoid pointer truncation 2015-07-24 21:51:29 +02:00
Anatol Belski
05496c7312 fix scope 2015-07-24 21:51:28 +02:00
Bob Weinand
f1698eedce Fix non-debug build 2015-07-24 17:51:46 +02:00
Bob Weinand
76b882f0fc Use relative paths in phpdbg_lexer.c 2015-07-24 17:33:45 +02:00
Bob Weinand
13525328ed Cleanup shutdown, enable proper memory leak displaying
phpdbg should not memory leak...
2015-07-24 17:17:26 +02:00
Bob Weinand
9005b24aed Fix build failure for non-osx *nixes 2015-07-23 14:55:13 +02:00
Bob Weinand
6704d8d421 Fix valgrind warning with sigaction 2015-07-23 14:26:50 +02:00
Bob Weinand
b7e8f65972 Fix printf format issues on 32 bit 2015-07-23 14:23:42 +02:00
Xinchen Hui
3fe35ba80d Make IS_TMP_VAR and IS_VAR differentiable 2015-07-23 11:36:46 +08:00
Bob Weinand
686b9039a6 Fix phpdbg test failure and crash with opcache 2015-07-23 01:03:03 +02:00
Bob Weinand
3cc02533ae Add phpdbg_get_executable() (gets executable ops/lines) 2015-07-22 18:11:35 +02:00
Bob Weinand
d6415ae473 Always lowercase function names for lookup in phpdbg -p 2015-07-22 15:33:44 +02:00
Bob Weinand
264bed40a7 Fix opcode tests which may generate FCALL instead of ICALL 2015-07-22 13:49:28 +02:00
Bob Weinand
0da4a3ec2c Add -e (ZEND_EXT_* generation) option to phpdbg 2015-07-22 13:46:06 +02:00
Xinchen Hui
f56b89b0af Fixed opcodes printing.
-p"function"
-p"class::"
-p"class::method"
2015-07-22 19:13:26 +08:00
Bob Weinand
262d32634b Undefined values may lead to big allocation 2015-07-22 00:02:59 +02:00
Nikita Popov
7c661bd304 Remove FAST_CALL_FROM_CATCH
This was generated for a return from a try block with both a catch
and a finally. However at this point no exception can be active,
because it either didn't exist in the first place or was explicitly
discarded using DISCARD_EXCEPTION.
2015-07-21 21:13:34 +02:00
Bob Weinand
b8534daa31 Exclude opcache from a few opcode related tests 2015-07-21 00:06:34 +02:00
Bob Weinand
80bb4fd45a Fix various Windows issues (e.g. dir separators) 2015-07-20 23:26:45 +02:00
Bob Weinand
7aa2be060c Fix readline/libedit build 2015-07-20 22:45:05 +02:00
Bob Weinand
f0b50963e5 Do not use readline when not having a tty
This is important for e.g. run-tests.php
2015-07-20 21:57:00 +02:00
Bob Weinand
6aadeba213 Add show_unexecuted option to phpdbg_end_oplog() 2015-07-20 20:41:07 +02:00
Bob Weinand
378a05f0de Move phpdbg tests to .phpt mechanism
Also add a few more in-depth tests related to $argv, breakpoints and uncaught exceptions
2015-07-20 18:00:43 +02:00
Bob Weinand
75a3de0cd8 Fix misbehaviors with uncaught exceptions and finally or eval 2015-07-20 18:00:43 +02:00
Bob Weinand
4dc0546a59 Preserve argv consistency over multiple runs 2015-07-20 18:00:43 +02:00
Bob Weinand
acba295088 Fix info vars with refs/indirects 2015-07-20 18:00:43 +02:00
Bob Weinand
22c7c1189a Fix function/method breakpoint case sensitivity issues 2015-07-20 18:00:43 +02:00
Bob Weinand
50e76d951e Always only halt upon first non-recv opcode in a function 2015-07-20 18:00:42 +02:00
Bob Weinand
1f9bba68a9 Make opcode breakpoints work again 2015-07-20 18:00:42 +02:00
Bob Weinand
e3cd0709db Do never clean stdin buffer away 2015-07-20 18:00:42 +02:00
Bob Weinand
dee629c92d Fix use of already freed hashtable (wrong variable) 2015-07-20 18:00:42 +02:00
Bob Weinand
699e641e93 Do not show "Script ended normally" upon forced rerun 2015-07-20 18:00:42 +02:00
Bob Weinand
6435eb8019 Do not display compilation success / normal script end in -rr mode 2015-07-20 18:00:42 +02:00
Nikita Popov
e97cb1427f Remove dead goto label in phpdbg_cmd.c 2015-07-17 16:53:07 +02:00
Nikita Popov
20e5027293 Switch asprintf to spprintf in phpdbg opcode dump
Also use %td where appropriate, a lot of the values are ptrdiff
based.

Fix a leak in phpdbg_frame.c.
2015-07-17 16:53:07 +02:00
Bob Weinand
c13124cc0f Cleanup exception displaying code in phpdbg 2015-07-16 10:28:59 +02:00
Bob Weinand
d25f3819c7 Fix crash on non-debug for phpdbg_end_oplog() 2015-07-15 22:30:12 +02:00
Bob Weinand
50866846c4 We want to track phpdbg bugs in official bug tracker now; updated URL 2015-07-14 08:31:44 +02:00
Bob Weinand
762c6dd666 Show also runtime-bound functions/classes/methods with phpdbg -p 2015-07-14 06:28:53 +02:00
Bob Weinand
07c425cc29 Init variable to NULL before passing to zpp 2015-07-14 01:56:05 +02:00
Bob Weinand
3f10eddd1d Fix weird asm instruction order with gcc by marking as volatile in phpdbg 2015-07-13 14:12:53 +02:00
Nikita Popov
bd72fdca98 Better opcode dump for finally
* Move opcode decode into opline decode, so we can adjust it for
  extended_value.
* Show extended_value and secondary jump ops for FAST_CALL and
  FAST_RET.
2015-07-10 11:39:54 +02:00
Dmitry Stogov
ef1b588f6a Resolve GOTO at compile time and replace it with sequnce of FREE/FE_FREE and JMP. 2015-07-10 04:44:21 +03:00
Dmitry Stogov
549e8c4959 Squashed commit of the following:
commit 03cf871f1576f08b2348c141b209894a7bf17a86
Author: Dmitry Stogov <dmitry@zend.com>
Date:   Fri Jul 10 02:45:31 2015 +0300

    Revert "Fixed bug #62210 (Exceptions can leak temporary variables. As a part of the fix serious refactoring was done. op_array->brk_cont_array was removed, and replaced with more general and speed efficient op_array->T_liveliness. ZEND_GOTO opcode is always replaced by ZEND_JMP at compile time). (Bob, Dmitry, Laruence)"

    This reverts commit 5ee8413259.

commit 285a68227ce3d380e821a24fa389aa5239bd3fe1
Author: Dmitry Stogov <dmitry@zend.com>
Date:   Fri Jul 10 02:45:26 2015 +0300

    Revert "Tuned off dubugging of live ranges"

    This reverts commit 404dc93d35.

commit 93d9d11157301ee2ec99afb6f5744b126d17f637
Author: Dmitry Stogov <dmitry@zend.com>
Date:   Fri Jul 10 02:45:17 2015 +0300

    Revert "Remove loop_var_stack"

    This reverts commit b3a4c05071.

commit ede68ebbc284aec79e3f719f2c8dbf9da6907752
Author: Dmitry Stogov <dmitry@zend.com>
Date:   Fri Jul 10 02:45:12 2015 +0300

    Revert "ZEND_SEPARATE reuses temporaries"

    This reverts commit 1852f538b9.

commit 96d8995dc1f517fb01b481736273767509f76c47
Author: Dmitry Stogov <dmitry@zend.com>
Date:   Fri Jul 10 02:45:10 2015 +0300

    Revert "Add assertion in liveliness computation"

    This reverts commit ed14019e8c.

commit 0649d7bfef152e6cc8e67b922534e9946c634d9c
Author: Dmitry Stogov <dmitry@zend.com>
Date:   Fri Jul 10 02:45:07 2015 +0300

    Revert "Fixed invalid live-range detection"

    This reverts commit 54f367ee2a.

commit dfe8f3851f6b04595eb089323e3492115a59363e
Author: Dmitry Stogov <dmitry@zend.com>
Date:   Fri Jul 10 02:45:04 2015 +0300

    Revert "Add test guaranteeing that loop vars are only freed after potential return type exceptions"

    This reverts commit f5db5a558d.

commit 52a94aad6f48a199358cc07f7e4f56bb73050504
Author: Dmitry Stogov <dmitry@zend.com>
Date:   Fri Jul 10 02:45:01 2015 +0300

    Revert "Fixed exception habdling on "return" statement."

    This reverts commit 17c5315bdf.

commit 6e90ad7331901711e89c2ceb2bcab5023e5cee60
Author: Dmitry Stogov <dmitry@zend.com>
Date:   Fri Jul 10 02:44:58 2015 +0300

    Revert "Fix too early terminated temporary range with break/cont/goto"

    This reverts commit cc876c04b4.

commit 7b766e44b1970e4031f75109c302c07ead2c05cb
Author: Dmitry Stogov <dmitry@zend.com>
Date:   Fri Jul 10 02:44:55 2015 +0300

    Revert "Fixed exception catching on break/continue"

    This reverts commit 8c3f701eeb.
2015-07-10 03:31:52 +03:00
Bob Weinand
3ccc17cee5 Working fix for ctrl+d on readline/libedit 2015-07-08 16:54:41 +02:00
Bob Weinand
7a8ea0f60d Properly exit on EOF on stdin in readline mode 2015-07-07 22:45:34 +02:00
Dmitry Stogov
404dc93d35 Tuned off dubugging of live ranges 2015-07-07 15:43:14 +03:00
Dmitry Stogov
5ee8413259 Fixed bug #62210 (Exceptions can leak temporary variables. As a part of the fix serious refactoring was done. op_array->brk_cont_array was removed, and replaced with more general and speed efficient op_array->T_liveliness. ZEND_GOTO opcode is always replaced by ZEND_JMP at compile time). (Bob, Dmitry, Laruence)
Squashed commit of the following:

commit 38e22106d4
Author: Dmitry Stogov <dmitry@zend.com>
Date:   Tue Jul 7 15:12:19 2015 +0300

    Added NEWS entry

commit 0a355935bf
Author: Dmitry Stogov <dmitry@zend.com>
Date:   Tue Jul 7 15:06:32 2015 +0300

    Inline function, to eliminate repeatable checks

commit d937584f3a
Merge: 0341626 32677f5
Author: Dmitry Stogov <dmitry@zend.com>
Date:   Tue Jul 7 14:35:49 2015 +0300

    Merge branch 'master' into temporary_cleaning

    * master:
      Fixed bug #70006 (cli - function with default arg = STDOUT crash output).
      Fix x86 build
      Fixed use after free on closure_call_leak_with_exception.phpt
      Fixed test

commit 0341626ea9
Merge: 74869fa dec35de
Author: Dmitry Stogov <dmitry@zend.com>
Date:   Tue Jul 7 12:00:53 2015 +0300

    Merge branch 'temporary_cleaning' of https://github.com/laruence/php-src into temporary_cleaning

    * 'temporary_cleaning' of https://github.com/laruence/php-src:
      Fixed checkpoint get
      Fixed crash of invalid pointer derefer
      cleanup

commit 74869fa673
Author: Dmitry Stogov <dmitry@zend.com>
Date:   Tue Jul 7 11:45:34 2015 +0300

    Fixed wrong GOTO resolution

commit dec35ded32
Author: Xinchen Hui <laruence@gmail.com>
Date:   Tue Jul 7 15:58:49 2015 +0800

    Fixed checkpoint get

commit b0f419540a
Author: Dmitry Stogov <dmitry@zend.com>
Date:   Tue Jul 7 10:47:11 2015 +0300

    Fixed crash of invalid pointer derefer (laruence)

commit 7a428d98ca
Author: Dmitry Stogov <dmitry@zend.com>
Date:   Tue Jul 7 10:35:47 2015 +0300

    Fixed identation

commit 9c3a4dce9c
Author: Dmitry Stogov <dmitry@zend.com>
Date:   Tue Jul 7 10:33:52 2015 +0300

    Fixed invalid size

commit 653abc670b
Author: Xinchen Hui <laruence@gmail.com>
Date:   Tue Jul 7 11:29:14 2015 +0800

    Fixed crash of invalid pointer derefer

commit e04500ceda
Author: Xinchen Hui <laruence@gmail.com>
Date:   Tue Jul 7 11:28:26 2015 +0800

    cleanup

commit 34183e1687
Author: Dmitry Stogov <dmitry@zend.com>
Date:   Tue Jul 7 04:49:46 2015 +0300

    op_array->T_liveliness compression

commit 2f6ad84579
Author: Dmitry Stogov <dmitry@zend.com>
Date:   Tue Jul 7 04:44:44 2015 +0300

    White spaces

commit be83f115a3
Author: Dmitry Stogov <dmitry@zend.com>
Date:   Tue Jul 7 04:42:26 2015 +0300

    Identation

commit 1f5084b990
Merge: 91b620d 1adf3df
Author: Dmitry Stogov <dmitry@zend.com>
Date:   Tue Jul 7 04:41:54 2015 +0300

    Merge branch 'master' into temporary_cleaning

    * master:
      Throw TypeError for invalid callback
      Fix crash when exception occurs during nested rope
      Fix crash when exception is thrown during ROPE_END
      Small cleanup in ternary compilation
      move the define to the right place
      fix ext/ldap build
      Rectify information about invalid shift warning being now ArithmeticError

commit 91b620d684
Author: Dmitry Stogov <dmitry@zend.com>
Date:   Tue Jul 7 04:32:04 2015 +0300

    Replace GOTO by FREE/FE_FREE and JMP at compile time

commit 7052e56979
Author: Dmitry Stogov <dmitry@zend.com>
Date:   Tue Jul 7 02:25:08 2015 +0300

    Use zend_regenerate_var_liveliness_info() to regenerate information after pass two.

commit ae72b0dc67
Merge: a81c4bb a919fe8
Author: Dmitry Stogov <dmitry@zend.com>
Date:   Mon Jul 6 21:02:34 2015 +0300

    Merge branch 'master' into temporary_cleaning

    * master:
      Do not display EXT_TYPE_UNUSED in phpdbg opcodes
      Run debug build with opcache on travis

commit a81c4bb8c6
Author: Dmitry Stogov <dmitry@zend.com>
Date:   Mon Jul 6 20:59:34 2015 +0300

    Improved algorithm. It's actually the same algorithm with second loop removed and simpler temporary data structures. The only difference may be in "re-defined" vatriable handling. Now live-range in that case started from the seconnd definition (this must be more safe).

commit 9a16810f7a
Merge: bbfbe47 001ecd3
Author: Dmitry Stogov <dmitry@zend.com>
Date:   Mon Jul 6 17:57:45 2015 +0300

    Merge branch 'master' into temporary_cleaning

    * master:
      Simplify TMP var number decoding (without HashTable)

commit bbfbe470c8
Merge: 0bda4ab 436b01e
Author: Dmitry Stogov <dmitry@zend.com>
Date:   Mon Jul 6 17:02:01 2015 +0300

    Merge branch 'master' into temporary_cleaning

    * master:
      Avoid dangerous optimization
      Fixed JMPZNZ instruction printing
      Attempt at falling back on ldap_find_control for Mac OS

commit 0bda4abea7
Author: Dmitry Stogov <dmitry@zend.com>
Date:   Mon Jul 6 16:05:33 2015 +0300

    Fixed live-range construction for OP_DATA opcode
    Added comments about algorithm assumtions

commit 521ad9df98
Merge: 4398dab a09dcb0
Author: Bob Weinand <bobwei9@hotmail.com>
Date:   Mon Jul 6 14:54:15 2015 +0200

    Merge branch 'master' of https://github.com/php/php-src into temporary_cleaning

commit 4398dab82f
Author: Bob Weinand <bobwei9@hotmail.com>
Date:   Mon Jul 6 13:51:27 2015 +0200

    Add a few phpt tests related to temporary cleaning

commit 739656f83f
Author: Dmitry Stogov <dmitry@zend.com>
Date:   Mon Jul 6 14:28:49 2015 +0300

    Fixed Zend/tests/foreach_004.phpt failure (FE_FETCH shouldn't be included into TMP vatriablr live range)

commit 3df462a2bc
Author: Dmitry Stogov <dmitry@zend.com>
Date:   Mon Jul 6 13:41:02 2015 +0300

    Improve data layout (reduce the op_array structure size on 64-bit systems)

commit 883b73c56e
Author: Dmitry Stogov <dmitry@zend.com>
Date:   Mon Jul 6 13:28:45 2015 +0300

    Removed op_array->brk_cont_array

commit ae5e58b598
Author: Bob Weinand <bobwei9@hotmail.com>
Date:   Mon Jul 6 04:22:58 2015 +0200

    Fix bug with brk_cont variable free / free loop vars via temporary liveliness info

commit b4223ca627
Author: Bob Weinand <bobwei9@hotmail.com>
Date:   Mon Jul 6 04:07:07 2015 +0200

    Fix bugs / cleanup fixes

commit ea33189d22
Author: Xinchen Hui <laruence@gmail.com>
Date:   Sun Jul 5 20:58:38 2015 +0800

    Removed useless TsTop

commit 1dbb007e4a
Merge: 550bbf8 3a8af24
Author: Xinchen Hui <laruence@gmail.com>
Date:   Sat Jul 4 15:06:44 2015 +0800

    Merge branch 'temporary_cleaning' of https://github.com/dstogov/php-src into temporary_cleaning

commit 3a8af24529
Author: Dmitry Stogov <dmitry@zend.com>
Date:   Fri Jul 3 16:15:36 2015 +0300

    More exceptions from regular liveliness analyses (with explanation in comments).
    Mark old "unexplained" exceptions with ???.

commit ba721efa2c
Author: Dmitry Stogov <dmitry@zend.com>
Date:   Fri Jul 3 14:16:09 2015 +0300

    Print list of live temp variables (at least for internal debugging)

commit 8d1f88fe91
Author: Dmitry Stogov <dmitry@zend.com>
Date:   Fri Jul 3 13:31:56 2015 +0300

    Use op_array->T_liveliness to free incomplete ropes and restore error_reporting level on exception

commit 80c1d0d779
Author: Dmitry Stogov <dmitry@zend.com>
Date:   Fri Jul 3 11:05:39 2015 +0300

    Don't keep empty T_liveliness

commit 501ae8aaac
Author: Dmitry Stogov <dmitry@zend.com>
Date:   Thu Jul 2 22:31:48 2015 +0300

    Reverted changes to Zend/zend_arena.h.
    Reuse CG(arena) instead of creating a new one.

commit a4fce36907
Merge: 6ff7246 fd0fcce
Author: Dmitry Stogov <dmitry@zend.com>
Date:   Thu Jul 2 22:01:42 2015 +0300

    Merge branch 'temporary_cleaning' of github.com:bwoebi/php-src into temporary_cleaning

    * 'temporary_cleaning' of github.com:bwoebi/php-src:
      Fix remaining issues with compacted temporaries
      Fix regression from last commit (+1 ?!)
      Fix off-by-one (opcache may remove last ZEND_RETURN)
      Speed algorithm up, more fail safety when reusing temporaries
      Dumb bug in opcode.c (forgot to update Ts[i])
      Fix opcache support
      Exempt ROPE temporaries from freeing
      Hmm, we need temporary info for all the opcodes
      Add opcache support for cleaning in optimization step (Opcache seems to have a few unrelated issues which blow up together with that patch)
      Add proper temporary cleaning upon frame abortion
      Fix arena on small sizes (size < sizeof(zend_arena))

commit fd0fcce811
Author: Bob Weinand <bobwei9@hotmail.com>
Date:   Thu Jul 2 20:00:33 2015 +0200

    Fix remaining issues with compacted temporaries

commit 427dc58bbb
Author: Bob Weinand <bobwei9@hotmail.com>
Date:   Wed Jul 1 22:49:12 2015 +0200

    Fix regression from last commit (+1 ?!)

commit 1adcf56a6e
Author: Bob Weinand <bobwei9@hotmail.com>
Date:   Wed Jul 1 22:17:07 2015 +0200

    Fix off-by-one (opcache may remove last ZEND_RETURN)

commit 25b231b784
Author: Bob Weinand <bobwei9@hotmail.com>
Date:   Wed Jul 1 20:59:24 2015 +0200

    Speed algorithm up, more fail safety when reusing temporaries

commit 22d9d05350
Author: Bob Weinand <bobwei9@hotmail.com>
Date:   Wed Jul 1 16:48:46 2015 +0200

    Dumb bug in opcode.c (forgot to update Ts[i])

commit 6538269bfa
Author: Bob Weinand <bobwei9@hotmail.com>
Date:   Wed Jul 1 13:05:52 2015 +0200

    Fix opcache support

commit 333a7c4a88
Author: Bob Weinand <bobwei9@hotmail.com>
Date:   Sat Jun 27 22:40:21 2015 +0200

    Exempt ROPE temporaries from freeing

commit 02585f7708
Author: Bob Weinand <bobwei9@hotmail.com>
Date:   Fri Jun 26 16:20:55 2015 +0200

    Hmm, we need temporary info for all the opcodes

commit cbcaedbd78
Author: Bob Weinand <bobwei9@hotmail.com>
Date:   Fri Jun 26 01:04:09 2015 +0200

    Add opcache support for cleaning in optimization step
    (Opcache seems to have a few unrelated issues which blow up together with that patch)

commit fef649f406
Author: Bob Weinand <bobwei9@hotmail.com>
Date:   Fri Jun 26 01:02:27 2015 +0200

    Add proper temporary cleaning upon frame abortion

commit 1cec2e7271
Author: Bob Weinand <bobwei9@hotmail.com>
Date:   Thu Jun 25 23:33:21 2015 +0200

    Fix arena on small sizes (size < sizeof(zend_arena))
2015-07-07 15:41:12 +03:00
Xinchen Hui
7af4e6d02d Fixed bug #70006 (cli - function with default arg = STDOUT crash output). 2015-07-07 19:21:02 +08:00
Bob Weinand
a919fe8606 Do not display EXT_TYPE_UNUSED in phpdbg opcodes 2015-07-06 18:05:03 +02:00
Dmitry Stogov
001ecd3198 Simplify TMP var number decoding (without HashTable) 2015-07-06 17:56:48 +03:00
Dmitry Stogov
1a9f4f90da Fixed JMPZNZ instruction printing 2015-07-06 16:30:50 +03:00
Anton Blanchard
275009d0bd http parser code assumes char is signed
A char can be either signed or unsigned, and on PowerPC and ARM it is
unsigned. The following code will always be false on these architectures:

        if (c == -1) goto error;
2015-07-06 10:13:00 +10:00
Aaron Piotrowski
ed1b64877d Switch position of ce in exception ce variable names 2015-07-03 09:45:03 -05:00
Aaron Piotrowski
a812a74c2e Change zend_exception_get_default() to zend_exception_ce 2015-07-03 09:44:48 -05:00
Anatol Belski
3d7343f609 integrate the applink shim in the other bins 2015-07-03 07:11:14 +02:00
Anatol Belski
59444347d1 integrate the openssl applink shim
This fixes ext/openssl/tests/openssl_spki_export.phpt failing
with the no OPENSSL_Applink error. Applink is also an interesting
technique documented in the OpenSSL FAQ
https://www.openssl.org/support/faq.html#PROG2
which allows under circumstances using different OpenSSL binaries
than those a program was linked with.
2015-07-03 07:11:13 +02:00
Dmitry Stogov
7aa7627172 Use ZSTR_ API to access zend_string elements (this is just renaming without semantick changes). 2015-06-30 13:59:27 +03:00
Anatol Belski
a1cf46bb1f remove useless assignment 2015-06-29 07:33:20 +02:00
Anatol Belski
8430ec1788 fix FCGI crash in TS mode
If CGI TS build is used, and there are some hard errors (fe missing
dependency .dll or .so), the core will want to log it. The CGI
log function will want to check whether fcgi_logging is enabled. But,
if this kind of error happens in the extension register phase,
MINIT for the CGI module is most likely wasn't run yet (startup phase).
That will result in accessing uninitialized globals and a crash.
2015-06-29 07:33:19 +02:00
Bob Weinand
b34f9bc2e9 Fix assertion failure with Z_REFCOUNT() in info constants 2015-06-29 03:43:51 +02:00
Bob Weinand
088f589f7d Make backtraces *much* more readable 2015-06-29 02:51:10 +02:00
Bob Weinand
f500471e8c Add yield from to frame leaving instructions 2015-06-29 02:05:33 +02:00
Bob Weinand
5e16722309 Show exception source in phpdbg 2015-06-29 01:41:04 +02:00
Bob Weinand
9f77c44d47 Remove now unneeded step option (-s) 2015-06-29 01:00:12 +02:00
Christoph M. Becker
a7bbc68bac Merge branch 'PHP-5.6'
* PHP-5.6:
  updated NEWS
  Fixed #69655: php -S changes MKCALENDAR request method to MKCOL
2015-06-27 20:05:30 +02:00
Christoph M. Becker
bbe28d3a55 Fixed #69655: php -S changes MKCALENDAR request method to MKCOL
The parsing of the request method in the CLI server has been faulty, so that
several unsupported methods have been recognized as other methods.
2015-06-27 20:02:21 +02:00
Christoph M. Becker
1ec6ff0b49 Merge branch 'PHP-5.6'
* PHP-5.6:
  added skip condition for powershell requirement of test
2015-06-27 15:05:29 +02:00
Christoph M. Becker
b811bb3920 added skip condition for powershell requirement of test 2015-06-27 15:02:52 +02:00
Christoph M. Becker
4e32ecb90a Merge branch 'PHP-5.6'
* PHP-5.6:
  Fix #64878: 304 responses return Content-Type header
2015-06-27 14:35:20 +02:00
Christoph M. Becker
1920ba6f7b Fix #64878: 304 responses return Content-Type header
According to RFC 7232 304 responses should not send a Content-Type header,
so the CLI server should comply.
2015-06-27 14:28:33 +02:00
Bob Weinand
f42cdf83b0 Fix paths issue when fetching .phpdbginit under Windows 2015-06-25 00:36:01 +02:00
Bob Weinand
ab90e55b9e Passing a zend_string * to %s is a bad idea 2015-06-24 15:29:26 +02:00
Dmitry Stogov
f0d2a0e542 Encapsulate FastCGI implementation details.
Previously fcgi_request defined in main/fastcgi.h might be treated differently in different files, because of different behavior of #ifdef TCP_NODELAY. This leaded to stack memory corruption and unpredictable crashes.
2015-06-23 16:27:21 +03:00
George Wang
3a169f6c0d bump API version to 6.8 2015-06-22 23:39:35 -04:00
George Wang
8877feaeec bump API version to 6.8 2015-06-22 23:39:23 -04:00
George Wang
fdb580a5ad bump API version to 6.8 2015-06-22 23:38:38 -04:00
George Wang
2423b0bded bump API version to 6.8 2015-06-22 23:35:21 -04:00
Bob Weinand
29aad0ef45 Add phpdbg userland API to fetch oplog
We may want to add some opcode info later, so that "opcodes" mode is more helpful
2015-06-22 12:58:33 +02:00
Anatol Belski
269acaa363 Merge branch 'pull-request/1284'
* pull-request/1284:
  Rename interface macros
  Fix typo in UPGRADING
  Move definition of Throwable to zend_exceptions.h/c
  Check for zend_ce_throwable instead
  Fix some missed tests
  Add Throwable tests
  Fix previous exception type check
  Updated UPGRADING with RFC link
  Changed AssertionException to AssertionError
  Update exception error messages
  Throwable method signatures.
  Update exception names in tests after formatting changes.
  Merge exception formatting changes.
  Make zend_get_exception_base static.
  Fix a few missed tests.
  Fix handler double copy.
  Updated tests to reflect exception class changes.
  Remodel exceptions based on Throwable interface
2015-06-17 21:55:03 +02:00
Bob Weinand
28756e99be Fix issue with zend_execute_ex replaced by execute_ex upon icall 2015-06-16 23:37:39 +02:00
Bob Weinand
8c4807fe7a Fix infinite loop when running phpdbg via -r(r) 2015-06-16 23:37:39 +02:00
Kalle Sommer Nielsen
4445268281 Fixed bug #69849 (Broken output of apache_request_headers) 2015-06-16 16:11:21 +02:00
Kalle Sommer Nielsen
ab4aae5fd7 Use zend_parse_parameters_none() here 2015-06-16 15:15:27 +02:00
Aaron Piotrowski
110e0a5a2c Merge branch 'master' into throwable-interface
# Conflicts:
#	Zend/zend_language_scanner.c
#	Zend/zend_language_scanner.l
#	ext/simplexml/tests/SimpleXMLElement_xpath.phpt
2015-06-14 18:53:11 -05:00
Bob Weinand
b97944c6d1 Add ZEND_ASSERT_CHECK to phpdbg opcode jump list 2015-06-14 04:45:56 +02:00
George Wang
81ab4b12aa Fixed Buf #68812 Unchecked return value. 2015-06-08 15:47:11 -04:00
George Wang
eb15ec385e Fixed Buf #68812 Unchecked return value. 2015-06-08 15:46:56 -04:00
George Wang
6bb24823d0 Fixed Buf #68812 Unchecked return value. 2015-06-08 15:46:40 -04:00
George Wang
78d1228ef6 Fixed Buf #68812 Unchecked return value. 2015-06-08 15:38:59 -04:00
Stanislav Malyshev
07241bbd70 FIx darwin build 2015-05-31 14:52:08 -07:00
Xinchen Hui
d2649af6b9 Fixed Bug #69733 (PHP fails to build with --enable-phpdbg-debug) 2015-05-31 13:35:01 +08:00
Anatol Belski
d361c72168 removed sapi/nsapi 2015-05-30 09:26:40 +02:00
redfoxli
2ece3ea699 improperlog 2015-05-30 14:37:41 +08:00
Xinchen Hui
c17029315f Fixed sapi/tests (maybe needs some run-test.php people's reviewing) 2015-05-27 17:37:34 +08:00
Xinchen Hui
2b41c04124 Seems useless now 2015-05-27 16:54:32 +08:00
Xinchen Hui
151e52f6eb Fixed the fix in f68dc94aa7 2015-05-27 16:47:15 +08:00
Xinchen Hui
90df7e75e6 Merge branch 'master' into merge-fastcgi
Conflicts:
	sapi/fpm/fpm/fpm_main.c
2015-05-27 16:36:15 +08:00
Reeze Xia
f68dc94aa7 Remove useless cast 2015-05-27 10:45:19 +08:00
Bob Weinand
5bec1490f9 Fix phpdbg class fetch / method opcodes 2015-05-27 00:55:26 +02:00
Reeze Xia
ca31711625 Fixed phpdbg exit unexpected after signal SIGCONT on OS X 2015-05-26 22:04:50 +08:00
Xinchen Hui
4a728227fc Merge branch 'PHP-5.6' 2015-05-26 16:26:23 +08:00
Xinchen Hui
1f077cc4f4 Merge branch 'PHP-5.5' into PHP-5.6 2015-05-26 16:24:39 +08:00
Xinchen Hui
76a290d0be Fixed C89 2015-05-26 16:24:18 +08:00
Anatol Belski
6d582c6a24 added the shared fcgi imp to sapi/cgi
This is yet a workaround, if another part of the source would need
the same object file, it'll end up producing duplicated nmake target.
Some additional implementation is needed so same object files can be
shared between different modules, to handle this situation better.
2015-05-26 09:44:41 +02:00
Xinchen Hui
49b10ee264 Merge branch 'master' into merge-fastcgi 2015-05-26 14:17:21 +08:00
Xinchen Hui
9f1788f00d Only link fastcgi into fpm and cgi 2015-05-26 13:55:39 +08:00
Xinchen Hui
5f753f9e2e Micro optimizations 2015-05-26 11:47:01 +08:00
Anatol Belski
cfadcfc734 cleanup more redundant S_IS* declarations 2015-05-25 18:03:26 +02:00
Xinchen Hui
06483a98d6 Fixed va_list double used 2015-05-25 15:40:32 +08:00
Nikita Popov
a1ef8b418d Improve phpdbg opcode dump
Don't show <unused>, just don't display anything instead.

Dump nums used in op1/op2/result, e.g. for SEND, RECV etc.

Split the switch into three parts, one for each operand.
2015-05-24 20:29:57 +02:00
Xinchen Hui
f20118aa66 Avoid multipy allocating of request env 2015-05-24 01:07:36 +08:00
Xinchen Hui
86de98caba Use weak function for fcgi_log 2015-05-23 19:19:48 +08:00
Xinchen Hui
18cf4e0a8a Fixed fpm-side (tests passes) 2015-05-23 19:01:41 +08:00
Xinchen Hui
fef18f4bea Merge branch 'master' into merge-fastcgi 2015-05-23 10:29:45 +08:00
Xinchen Hui
ba5ecf355f Use logger pointer 2015-05-19 16:34:08 +08:00
Xinchen Hui
e383cb4493 Move fastcgi.c to main 2015-05-19 16:04:35 +08:00
Aaron Piotrowski
5c54bf015d Throwable method signatures. 2015-05-18 14:29:51 -05:00
Aaron Piotrowski
e97d5fab35 Update exception names in tests after formatting changes. 2015-05-17 17:31:43 -05:00
Aaron Piotrowski
fb7206e452 Merge branch 'master' into throwable-interface 2015-05-17 16:15:35 -05:00
Aaron Piotrowski
0eba6f597a Merge branch 'master' into throwable-interface 2015-05-17 12:12:02 -05:00
Nikita Popov
3ae995f03c Tweak uncaught exception message display
This implements a reduced variant of #1226 with just the following
change:

-Fatal error: Uncaught exception 'EngineException' with message 'Call to private method foo::bar() from context ''' in %s:%d
+Fatal error: Uncaught EngineException: Call to private method foo::bar() from context '' in %s:%d

The '' wrapper around messages is very weird if the exception
message itself contains ''. Futhermore having the message wrapped
in '' doesn't work for the "and defined" suffix of
TypeExceptions.
2015-05-17 18:47:06 +02:00
Aaron Piotrowski
434a46612e Fix a few missed tests. 2015-05-16 22:04:16 -05:00
Aaron Piotrowski
64b167d201 Updated tests to reflect exception class changes. 2015-05-16 16:49:14 -05:00
Stanislav Malyshev
2660fb96aa Merge branch 'pull-request/1277'
* pull-request/1277:
  fix typos
2015-05-16 14:20:41 -07:00
Nikita Popov
c9f27ee422 Display EngineExceptions like ordinary exceptions
TypeException stays as-is for now because it uses messages that are
incompatible with the way exception messages are displayed.

closure_038.phpt and a few others now show that we're generating
too many exceptions for compound operations on undefined properties
-- this needs to be fixed in a followup.
2015-05-15 23:40:32 +02:00
Dmitry Stogov
0604df8a82 Fixed phpdbg build 2015-05-14 16:47:22 +03:00
olshevskiy87
8bdec7a248 fix typos
Signed-off-by: olshevskiy87 <olshevskiy87@bk.ru>
2015-05-13 22:28:35 +04:00
Dmitry Stogov
abb616ae20 Merged fastcgi.* reated changes from sapi/cgi 2015-05-13 18:54:41 +03:00
Matthias Breddin
3b6381125c Update www.conf.in 2015-05-12 13:52:49 +02:00
Matthias Breddin
6bd4c3e17d Detailed information about the strftime access.log format
More descriptive usage of a custom timeformat
2015-05-12 13:52:49 +02:00
Mats Lindh
7a57061a1f Add comment about SEARCH HTTP Verb being possible as well 2015-05-12 11:24:27 +02:00
Mats Lindh
b6018144cd Add test for the SEARCH HTTP verb in the CLI HTTP server. 2015-05-12 11:24:27 +02:00
Mats Lindh
98d015c5b7 Add "SEARCH" as supported HTTP verb.
The "SEARCH" HTTP request method is described in RFC5323 as part of
WebDAV, and allows a client to initiate a server side search.
2015-05-12 11:24:27 +02:00
Xinchen Hui
16265a59ac Use explicit type here 2015-05-12 16:35:57 +08:00
Xinchen Hui
81049cdf06 Implemented fpm_trace for PHP7 2015-05-11 11:22:38 +08:00
Xinchen Hui
460e2e6a04 Fixed test in some cases(for more children, needs more time) 2015-05-07 19:25:04 +08:00
Floris Bos
bb19125781 Fix php-fpm.service.in
- Expand file paths.
- Remove obsolete After=syslog.target. Syslog is socket activated nowadays.

Signed-off-by: Floris Bos <bos@je-eigen-domein.nl>
2015-05-01 15:28:55 +02:00
Bob Weinand
49bd5eaabf Print should be in *current* context (stack) 2015-04-25 19:15:08 +02:00
Bob Weinand
a9a6799964 Add line_start/end info to main op_array 2015-04-25 19:10:58 +02:00
Xinchen Hui
af3c72bc80 fixed warning & test pushing 2015-04-22 10:53:49 +08:00
Bob Weinand
0ec3a6ff33 FAST_RET opcode also returns 2015-04-22 01:11:59 +02:00
Bob Weinand
e09a0bfc9e Also consider specific catches when checking for uncaught 2015-04-22 01:08:08 +02:00
Bob Weinand
73d31d44e8 Break on uncaught exceptions in current frame in phpdbg 2015-04-22 01:08:07 +02:00
Bob Weinand
76b1d755fc Fix first frame in backtrace 2015-04-21 22:20:11 +02:00
Bob Weinand
05f896eefd Add next command docs 2015-04-21 19:42:23 +02:00
Xinchen Hui
e121ccaaad Fixed warnings and folder marks mess 2015-04-21 21:53:12 +08:00
Bob Weinand
f83ee6a05d Add next command / Fix recursion/exceptions with u/F/L 2015-04-21 12:31:57 +02:00
Bob Weinand
54018ada7d Adapt test for new format 2015-04-20 21:05:10 +02:00
Bob Weinand
5f10e84208 Shrink phpdbg opcode dump output a bit more 2015-04-20 20:59:13 +02:00
Bob Weinand
61ba269f4c Show full stacktraces for exceptions in phpdbg 2015-04-20 14:12:47 +02:00
Bob Weinand
890212866d Fix uncaught exception in phpdbg 2015-04-20 13:55:09 +02:00
Bob Weinand
5f35e571fa show opcode count 2015-04-20 13:04:56 +02:00
Bob Weinand
1a249bd674 Shorten opline dump lines and show literals 2015-04-20 12:23:11 +02:00
Bob Weinand
31e98386db Provide method to access opcodes via command line argument 2015-04-19 21:54:09 +02:00
Bob Weinand
740c86bcbd Stabilize watchpoints 2015-04-19 12:53:29 +02:00
Dmitry Stogov
ec077328fd Make valgrind happy 2015-04-15 14:20:59 +03:00
Stanislav Malyshev
b3709bfc52 Merge branch 'PHP-5.6'
* PHP-5.6: (27 commits)
  fix non-standard C
  update NEWS
  5.4.41 next
  fix CVE num
  update NEWS
  Fix bug #69441 (Buffer Overflow when parsing tar/zip/phar in phar_set_inode)
  fix test
  fix type in fix for #69085
  fix memory leak & add test
  Fix tests
  fix CVE num
  Fix bug #69337 (php_stream_url_wrap_http_ex() type-confusion vulnerability)
  Fix test
  Additional fix for bug #69324
  More fixes for bug #69152
  Fixed bug #69353 (Missing null byte checks for paths in various PHP extensions)
  Fixed bug #69324 (Buffer Over-read in unserialize when parsing Phar)
  Fixed bug #69316 (Use-after-free in php_curl related to CURLOPT_FILE/_INFILE/_WRITEHEADER)
  Fix bug #68486 and bug #69218 (segfault in apache2handler with apache 2.4)
  Fix bug #68819 (Fileinfo on specific file causes spurious OOM and/or segfault)
  ...

Conflicts:
	Zend/zend_exceptions.c
	ext/curl/interface.c
	ext/dom/document.c
	ext/fileinfo/libmagic/softmagic.c
	ext/gd/gd.c
	ext/hash/hash.c
	ext/pgsql/pgsql.c
	ext/phar/phar.c
	ext/phar/phar_internal.h
	ext/standard/http_fopen_wrapper.c
	ext/standard/link.c
	ext/standard/streamsfuncs.c
	ext/xmlwriter/php_xmlwriter.c
	ext/zlib/zlib.c
2015-04-14 01:28:06 -07:00
Stanislav Malyshev
5776fceb16 Merge branch 'PHP-5.5' into PHP-5.6
* PHP-5.5: (27 commits)
  fix non-standard C
  update NEWS
  5.4.41 next
  fix CVE num
  update NEWS
  Fix bug #69441 (Buffer Overflow when parsing tar/zip/phar in phar_set_inode)
  fix test
  fix type in fix for #69085
  fix memory leak & add test
  Fix tests
  fix CVE num
  Fix bug #69337 (php_stream_url_wrap_http_ex() type-confusion vulnerability)
  Fix test
  Additional fix for bug #69324
  More fixes for bug #69152
  Fixed bug #69353 (Missing null byte checks for paths in various PHP extensions)
  Fixed bug #69324 (Buffer Over-read in unserialize when parsing Phar)
  Fixed bug #69316 (Use-after-free in php_curl related to CURLOPT_FILE/_INFILE/_WRITEHEADER)
  Fix bug #68486 and bug #69218 (segfault in apache2handler with apache 2.4)
  Fix bug #68819 (Fileinfo on specific file causes spurious OOM and/or segfault)
  ...

Conflicts:
	ext/standard/http_fopen_wrapper.c
2015-04-14 01:05:01 -07:00
Stanislav Malyshev
0cb9d75cb6 Merge branch 'PHP-5.4.40' into PHP-5.5.24
* PHP-5.4.40:
  Additional fix for bug #69324
  More fixes for bug #69152
  Fixed bug #69353 (Missing null byte checks for paths in various PHP extensions)
  Fixed bug #69324 (Buffer Over-read in unserialize when parsing Phar)
  Fixed bug #69316 (Use-after-free in php_curl related to CURLOPT_FILE/_INFILE/_WRITEHEADER)
  Fix bug #68486 and bug #69218 (segfault in apache2handler with apache 2.4)
  Fix bug #68819 (Fileinfo on specific file causes spurious OOM and/or segfault)
  Fixed bug #68901 (use after free)
  Fixed bug #68740 (NULL Pointer Dereference)
  Fix bug #66550 (SQLite prepared statement use-after-free)
  Better fix for #68601 for perf 81e9a993f2
  Fix bug #68601 buffer read overflow in gd_gif_in.c
  Revert "Merge branch 'PHP-5.4' of https://git.php.net/repository/php-src into PHP-5.4"
  Fixed bug #69293
  Add ZEND_ARG_CALLABLE_INFO to allow internal function to type hint against callable.
2015-04-11 16:56:12 -07:00
Stanislav Malyshev
809610f5ea Fix bug #68486 and bug #69218 (segfault in apache2handler with apache 2.4) 2015-04-11 16:53:21 -07:00
Kalle Sommer Nielsen
ca0a2e7a3c Drop VC6 support in sapi/apache2handler 2015-03-29 06:37:07 +02:00
Kalle Sommer Nielsen
8153286efe Drop zend_indent() as it was never used, complete or working 2015-03-27 20:04:46 +01:00
Anatol Belski
fc28ae2786 fix test 2015-03-23 22:21:30 +01:00
Stanislav Malyshev
c8aec7665c Merge branch 'pull-request/1182'
* pull-request/1182:
  Treat NetBSD the same as FreeBSD wrt. TCP_INFO usage.
2015-03-22 15:29:38 -07:00
Bob Weinand
278adf99de Fix parent command offsets 2015-03-21 23:19:12 +01:00
Bob Weinand
ea643307db Put info to info and made print always output opcodes 2015-03-21 23:16:53 +01:00
Bob Weinand
2ed0085833 Add phpdbg -h for help 2015-03-21 23:16:53 +01:00
Bob Weinand
97887e3716 Stabilize (simple) watchpoints with IS_INDIRECT/IS_REFERENCE situations 2015-03-21 23:16:53 +01:00
Xinchen Hui
8aa76a5bdd Fixed test 2015-03-21 17:50:50 +08:00
Xinchen Hui
c524dd6d1e Merge branch 'rfc-preg-replace-callback-array' of https://github.com/zxcvdavid/php-src
Conflicts:
	Zend/zend_vm_gen.php
	ext/pcre/php_pcre.c
2015-03-21 14:01:11 +08:00
Anatol Belski
49fdb8a91d fix include 2015-03-19 22:33:14 +01:00
Anatol Belski
d3ab945d9c using zend_stat_t 2015-03-19 22:33:13 +01:00
Havard Eidnes
36e251ade3 Treat NetBSD the same as FreeBSD wrt. TCP_INFO usage. 2015-03-19 09:39:54 +01:00
Anatol Belski
eb5dfedb6b don't expect set/get title symbols are always there 2015-03-18 20:50:54 +01:00
Nikita Popov
e39db5773d Fix phpdbg 2015-03-17 22:59:11 +01:00
Xinchen Hui
50e4033475 Let phpdbg refused to be compiled with no CALL zend vm kind 2015-03-16 17:10:26 +08:00
Lior Kaplan
d79fe57216 Fix copyright years 2015-03-13 11:27:40 +02:00
Lior Kaplan
a4384bd3d4 s/PHP Version 5/PHP Version 7/g
Follow up for d0cb7153
2015-03-13 11:09:42 +02:00
Dmitry Stogov
ae26a51f0f Added API function to call VM opcode handler in a portable way 2015-03-13 11:29:43 +03:00
Wei Dai
25566c67fe Implement preg_replace_callback_array function 2015-03-13 11:52:36 +08:00
Xinchen Hui
f678c14a6c Merge branch 'fixed-build' of https://github.com/zxcvdavid/php-src 2015-03-10 10:31:36 +08:00
Wei Dai
3f3e34040a Fixed compile warnings 2015-03-09 21:25:43 +08:00
Nikita Popov
b0055678bf Fix CLI test and drop some now unnecessary code 2015-03-09 14:09:34 +01:00
Dmitry Stogov
1c94ff0595 Implement engine exceptions
RFC: https://wiki.php.net/rfc/engine_exceptions_for_php7

Pending changes regarding naming of BaseException and whether it
should be an interface.
2015-03-09 14:01:32 +01:00
Reeze Xia
2a2c74997d Now opened_path is a zend_string 2015-03-09 16:12:53 +08:00
Xinchen Hui
96f7a33df6 Temorary fix for phpdbg segfault while use zend_mm_set_custom_handlers 2015-03-09 11:19:05 +08:00
xingxing
1b0d32b350 Add configtest option to fpm init.d script 2015-03-08 22:48:29 +08:00
Xinchen Hui
fd5a756ad4 Revive Zend Signals handler (and fixed bug #61083) 2015-03-05 18:11:22 +08:00
Reeze Xia
c6e415aeb2 Merge branch 'PHP-5.6'
* PHP-5.6:
  Fixed bug #67741 (auto_prepend_file messes up __LINE__)

Conflicts:
	main/main.c
2015-03-03 11:44:52 +08:00
Reeze Xia
4e2c87edb3 Fixed bug #67741 (auto_prepend_file messes up __LINE__)
This also fixes bug #54081
2015-03-03 11:43:23 +08:00
Reeze Xia
34f09b6240 Fixed bug #67741 (auto_prepend_file messes up __LINE__)
This also fixes bug #54081
2015-03-03 11:25:30 +08:00
George Wang
bb491c2de1 Fixed a bug that header value is not terminated by '\0' when accessed through getenv().
Conflicts:
	sapi/litespeed/lsapilib.c
2015-02-25 11:30:33 -05:00