remicollet
Repos
462
Followers
444
Following
1

Issue tracker for

265
53

The PHP Interpreter

C
6
7

Mirror of https://git.remirepo.net/cgit/tools/php-rpminfo.git/

C
2
2

Events

Fix #81727: Don't mangle HTTP variable names that clash with ones that have a specific semantic meaning.

(cherry picked from commit 0611be4e82887cee0de6c4cbae320d34eec946ca) (cherry picked from commit 8b300e157e92b0e945ad813d608f076b5323d721) (cherry picked from commit 1201102c5636961c94951b2109eddcb8c3bfd640)

Fix #81726: phar wrapper: DOS when using quine gzip file

The phar wrapper needs to uncompress the file; the uncompressed file might be compressed, so the wrapper implementation loops. This raises potential DOS issues regarding too deep or even infinite recursion (the latter are called compressed file quines[1]). We avoid that by introducing a recursion limit; we choose the somewhat arbitrary limit 3.

This issue has been reported by real_as3617 and gPayl0ad.

[1] https://honno.dev/gzip-quine/

(cherry picked from commit 404e8bdb68350931176a5bdc86fc417b34fb583d) (cherry picked from commit 96fda78bcddd1d793cf2d0ee463dbb49621b577f) (cherry picked from commit d8a9f171c029dd4260544c46d560e67f95f99690)

Fix regression introduced by fixing bug 81726

When a tar phar is created, phar_open_from_fp() is also called, but since the file has just been created, none of the format checks can succeed, so we continue to loop, but must not check again for the format. Therefore, we bring back the old test variable.

Closes GH-9620.

(cherry picked from commit 432bf196d59bcb661fcf9cb7029cea9b43f490af) (cherry picked from commit 535c3f592d020a3a43f4ce3577e505d64297b6e8) (cherry picked from commit 8ba7c1b6dbb0f34ce5087792965648779c12bddb)

Created at 1 day ago

Fix #81727: Don't mangle HTTP variable names that clash with ones that have a specific semantic meaning.

(cherry picked from commit 0611be4e82887cee0de6c4cbae320d34eec946ca) (cherry picked from commit 8b300e157e92b0e945ad813d608f076b5323d721)

Fix #81726: phar wrapper: DOS when using quine gzip file

The phar wrapper needs to uncompress the file; the uncompressed file might be compressed, so the wrapper implementation loops. This raises potential DOS issues regarding too deep or even infinite recursion (the latter are called compressed file quines[1]). We avoid that by introducing a recursion limit; we choose the somewhat arbitrary limit 3.

This issue has been reported by real_as3617 and gPayl0ad.

[1] https://honno.dev/gzip-quine/

(cherry picked from commit 404e8bdb68350931176a5bdc86fc417b34fb583d) (cherry picked from commit 96fda78bcddd1d793cf2d0ee463dbb49621b577f)

Fix regression introduced by fixing bug 81726

When a tar phar is created, phar_open_from_fp() is also called, but since the file has just been created, none of the format checks can succeed, so we continue to loop, but must not check again for the format. Therefore, we bring back the old test variable.

Closes GH-9620.

(cherry picked from commit 432bf196d59bcb661fcf9cb7029cea9b43f490af) (cherry picked from commit 535c3f592d020a3a43f4ce3577e505d64297b6e8)

Created at 1 day ago

Fix regression introduced by fixing bug 81726

When a tar phar is created, phar_open_from_fp() is also called, but since the file has just been created, none of the format checks can succeed, so we continue to loop, but must not check again for the format. Therefore, we bring back the old test variable.

Closes GH-9620.

(cherry picked from commit 432bf196d59bcb661fcf9cb7029cea9b43f490af)

Created at 1 day ago

Fix regression introduced by fixing bug 81726

When a tar phar is created, phar_open_from_fp() is also called, but since the file has just been created, none of the format checks can succeed, so we continue to loop, but must not check again for the format. Therefore, we bring back the old test variable.

Closes GH-9620.

(cherry picked from commit 432bf196d59bcb661fcf9cb7029cea9b43f490af)

Created at 1 day ago

Fix #81727: Don't mangle HTTP variable names that clash with ones that have a specific semantic meaning.

(cherry picked from commit 0611be4e82887cee0de6c4cbae320d34eec946ca) (cherry picked from commit 8b300e157e92b0e945ad813d608f076b5323d721)

Fix #81726: phar wrapper: DOS when using quine gzip file

The phar wrapper needs to uncompress the file; the uncompressed file might be compressed, so the wrapper implementation loops. This raises potential DOS issues regarding too deep or even infinite recursion (the latter are called compressed file quines[1]). We avoid that by introducing a recursion limit; we choose the somewhat arbitrary limit 3.

This issue has been reported by real_as3617 and gPayl0ad.

[1] https://honno.dev/gzip-quine/

(cherry picked from commit 404e8bdb68350931176a5bdc86fc417b34fb583d) (cherry picked from commit 96fda78bcddd1d793cf2d0ee463dbb49621b577f)

Fix regression introduced by fixing bug 81726

When a tar phar is created, phar_open_from_fp() is also called, but since the file has just been created, none of the format checks can succeed, so we continue to loop, but must not check again for the format. Therefore, we bring back the old test variable.

Closes GH-9620.

(cherry picked from commit 432bf196d59bcb661fcf9cb7029cea9b43f490af)

Created at 1 day ago

Fix regression introduced by fixing bug 81726

When a tar phar is created, phar_open_from_fp() is also called, but since the file has just been created, none of the format checks can succeed, so we continue to loop, but must not check again for the format. Therefore, we bring back the old test variable.

Closes GH-9620.

(cherry picked from commit 432bf196d59bcb661fcf9cb7029cea9b43f490af)

Created at 1 day ago

Fix #81727: Don't mangle HTTP variable names that clash with ones that have a specific semantic meaning.

(cherry picked from commit 0611be4e82887cee0de6c4cbae320d34eec946ca) (cherry picked from commit 8b300e157e92b0e945ad813d608f076b5323d721)

Fix #81726: phar wrapper: DOS when using quine gzip file

The phar wrapper needs to uncompress the file; the uncompressed file might be compressed, so the wrapper implementation loops. This raises potential DOS issues regarding too deep or even infinite recursion (the latter are called compressed file quines[1]). We avoid that by introducing a recursion limit; we choose the somewhat arbitrary limit 3.

This issue has been reported by real_as3617 and gPayl0ad.

[1] https://honno.dev/gzip-quine/

(cherry picked from commit 404e8bdb68350931176a5bdc86fc417b34fb583d) (cherry picked from commit 96fda78bcddd1d793cf2d0ee463dbb49621b577f)

Created at 1 day ago

Fix #81727: Don't mangle HTTP variable names that clash with ones that have a specific semantic meaning.

(cherry picked from commit 0611be4e82887cee0de6c4cbae320d34eec946ca) (cherry picked from commit 8b300e157e92b0e945ad813d608f076b5323d721)

Fix #81726: phar wrapper: DOS when using quine gzip file

The phar wrapper needs to uncompress the file; the uncompressed file might be compressed, so the wrapper implementation loops. This raises potential DOS issues regarding too deep or even infinite recursion (the latter are called compressed file quines[1]). We avoid that by introducing a recursion limit; we choose the somewhat arbitrary limit 3.

This issue has been reported by real_as3617 and gPayl0ad.

[1] https://honno.dev/gzip-quine/

(cherry picked from commit 404e8bdb68350931176a5bdc86fc417b34fb583d) (cherry picked from commit 96fda78bcddd1d793cf2d0ee463dbb49621b577f)

Created at 1 day ago

Fix #81726: phar wrapper: DOS when using quine gzip file

The phar wrapper needs to uncompress the file; the uncompressed file might be compressed, so the wrapper implementation loops. This raises potential DOS issues regarding too deep or even infinite recursion (the latter are called compressed file quines[1]). We avoid that by introducing a recursion limit; we choose the somewhat arbitrary limit 3.

This issue has been reported by real_as3617 and gPayl0ad.

[1] https://honno.dev/gzip-quine/

(cherry picked from commit 404e8bdb68350931176a5bdc86fc417b34fb583d)

Created at 1 day ago

Fix #81727: Don't mangle HTTP variable names that clash with ones that have a specific semantic meaning.

(cherry picked from commit 0611be4e82887cee0de6c4cbae320d34eec946ca)

Created at 1 day ago
pull request opened
improved embedded image in HTML allowing src="data:..." format

Allow both <img src="@xxxxxx"> and <img src="data:image/yyy;base64,xxxxx"> newer format

See updated example

Created at 6 days ago
create branch
remicollet create branch issue-embedded
Created at 6 days ago
pull request closed
fix tests on systemd enabled build

Adapt 2 new tests for systemd which add an additional line in log NOTICE: systemd monitor interval set to...

Created at 1 week ago
issue comment
fix tests on systemd enabled build

Replaced by #9588

Created at 1 week ago
issue comment
Rework FPM tests logging for better debugging

I confirm this is ok with systemd build

=====================================================================
Number of tests :   66                61
Tests skipped   :    5 (  7.6%) --------
Tests warned    :    1 (  1.5%) (  1.6%)
Tests failed    :    0 (  0.0%) (  0.0%)
Tests passed    :   60 ( 90.9%) ( 98.4%)
---------------------------------------------------------------------
Time taken      :   14 seconds
=====================================================================

=====================================================================
WARNED TEST SUMMARY
---------------------------------------------------------------------
FPM: Buffered worker output decorated log with multiple continuous messages (stdout/stderr mixed) [sapi/fpm/tests/log-bwd-multiple-msgs-stdout-stderr.phpt] (warn: XFAIL section but test passes)
=====================================================================

Created at 1 week ago
delete branch
remicollet delete branch issue-rand-glob
Created at 1 week ago
issue comment
declare random globals

Thanks all

Squashed and merged as 28a4d7676a3f72bc951198aaff1be65389f36abd

Created at 1 week ago
pull request closed
declare random globals

So other ext can use RANDOM_G macro

Ex: https://github.com/laruence/yar/blob/master/yar_request.c#L37

Created at 1 week ago

declare random globals as public API

Created at 1 week ago

declare random globals as public API

Merge branch 'PHP-8.2'

  • PHP-8.2: declare random globals as public API
Created at 1 week ago
issue comment
Improve string class constant code generation

While this seems OK, why not simply use zend_declare_class_constant_string ? (and avoid these string allocations)

Created at 1 week ago
issue comment
declare random globals

@cmb69 I don't see the problem, PHPAPI is what is used in other ext, and is globally available

https://github.com/php/php-src/blob/PHP-8.2/main/php.h#L58

$ grep 'PHPAPI ZEND_EXTERN_MODULE_GLOBALS' ext/*/*.h 
ext/mysqlnd/mysqlnd.h:PHPAPI ZEND_EXTERN_MODULE_GLOBALS(mysqlnd)
ext/pcre/php_pcre.h:PHPAPI ZEND_EXTERN_MODULE_GLOBALS(pcre)
ext/session/php_session.h:PHPAPI ZEND_EXTERN_MODULE_GLOBALS(ps)
Created at 1 week ago
pull request opened
PHP 8.2

Notice Have to wait for https://github.com/php/php-src/pull/9576

With this changes, still 1 test to fix

=====================================================================
PHP         : /opt/php82/bin/php 
PHP_SAPI    : cli
PHP_VERSION : 8.2.0-dev
ZEND_VERSION: 4.2.0-dev
PHP_OS      : Linux - Linux builder.remirepo.net 5.19.8-100.fc35.x86_64 #1 SMP PREEMPT_DYNAMIC Thu Sep 8 19:23:03 UTC 2022 x86_64
INI actual  : /work/GIT/pecl-and-ext/yar/tmp-php.ini
More .INIs  :  
---------------------------------------------------------------------
PHP         : /opt/php82/bin/php-cgi 
PHP_SAPI    : cgi-fcgi
PHP_VERSION : 8.2.0-dev
ZEND_VERSION: 4.2.0-dev
PHP_OS      : Linux - Linux builder.remirepo.net 5.19.8-100.fc35.x86_64 #1 SMP PREEMPT_DYNAMIC Thu Sep 8 19:23:03 UTC 2022 x86_64
INI actual  : /work/GIT/pecl-and-ext/yar/tmp-php.ini
More .INIs  : 
--------------------------------------------------------------------- 
---------------------------------------------------------------------
PHP         : /opt/php82/bin/phpdbg 
PHP_SAPI    : phpdbg
PHP_VERSION : 8.2.0-dev
ZEND_VERSION: 4.2.0-dev
PHP_OS      : Linux - Linux builder.remirepo.net 5.19.8-100.fc35.x86_64 #1 SMP PREEMPT_DYNAMIC Thu Sep 8 19:23:03 UTC 2022 x86_64
INI actual  : /work/GIT/pecl-and-ext/yar/tmp-php.ini
More .INIs  : 
---------------------------------------------------------------------
CWD         : /work/GIT/pecl-and-ext/yar
Extra dirs  : 
VALGRIND    : Not used
=====================================================================
TIME START 2022-09-19 11:14:39
=====================================================================
PASS Check for yar presence [tests/001.phpt] 
PASS Check for yar server info [tests/002.phpt] 
PASS Check for yar client [tests/003.phpt] 
PASS Check for Yar_Client::setOpt [tests/004.phpt] 
PASS Check for yar client with exception [tests/005.phpt] 
PASS Check for yar concurrent client with exception [tests/006.phpt] 
PASS Check for yar client with output by server [tests/007.phpt] 
PASS Check for yar client with non yar server [tests/008.phpt] 
PASS Check for yar client with 302 response [tests/009.phpt] 
PASS Check for yar debug [tests/010.phpt] 
PASS Check for yar server __auth [tests/011.phpt] 
PASS Check for yar concurrent client with 128 calls [tests/012.phpt] 
PASS Check for yar concurrent client with add call in callback [tests/013.phpt] 
PASS Check for yar concurrent client with loop in callback [tests/014.phpt] 
PASS Check for yar concurrent client with throw exception in callback [tests/015.phpt] 
PASS Check for yar concurrent client with exit in callbacks [tests/016.phpt] 
PASS Check for yar concurrent client with tcp rpc [tests/017.phpt] 
PASS Check for yar server info (comment) [tests/018.phpt] 
PASS Check for yar server info (internal function) [tests/019.phpt] 
PASS Check for yar concurrent client with custom headers [tests/020.phpt] 
PASS Check for YAR_OPT_PERSISTENT [tests/021.phpt] 
PASS Check for YAR_OPT_RESOLVE [tests/022.phpt] 
PASS Check for tcp protcol [tests/023.phpt] 
PASS Check for setopt on tcp [tests/024.phpt] 
PASS Check for TCP RPC Malfromaled response (Huge body length) [tests/025.phpt] 
PASS Check for TCP RPC Malfromaled response (Malformaled error) [tests/026.phpt] 
PASS Check for TCP RPC Malfromaled response (Not enough payload recved) [tests/027.phpt] 
PASS Check for TCP RPC Malfromaled response (body_len too small) [tests/028.phpt] 
PASS Check for TCP RPC Malfromaled response (incomplete header) [tests/029.phpt] 
PASS Check for TCP RPC Exceptions [tests/030.phpt] 
PASS Check for TCP client with server exit [tests/031.phpt] 
PASS Check for yar client with huge request body [tests/032.phpt] 
PASS Check for YAR_OPT_PROXY [tests/033.phpt] 
PASS Check for Yar_Client::__cosntruct with options [tests/034.phpt] 
PASS Check for yar concurrent reset [tests/035.phpt] 
PASS Check for YAR_OPT_PROVIDER/TOKEN on tcp [tests/036.phpt] 
PASS Check for YAR_OPT_PERSISTENT on tcp [tests/037.phpt] 
PASS Check for YAR_OPT_TIMEOUT on tcp [tests/038.phpt] 
PASS Check for debug on TCP [tests/039.phpt] 
PASS Check for YAR_OPT_PACKAGER on curl [tests/040.phpt] 
TEST 41/55 [tests/041.phpt]
========DIFF========
001+ Warning: Yar_Concurrent_Client::loop(): [16] Timeout was reached in /work/GIT/pecl-and-ext/yar/tests/041.php on line 10
001- Warning: Yar_Concurrent_Client::loop(): %rselect|epoll_wait%r timeout '100ms' reached in %s041.php on line %d
002+ 
003+ Warning: Yar_Concurrent_Client::loop(): [16] Timeout was reached in /work/GIT/pecl-and-ext/yar/tests/041.php on line 10
004+ 
005+ Warning: Yar_Concurrent_Client::loop(): [16] Timeout was reached in /work/GIT/pecl-and-ext/yar/tests/041.php on line 10
006+ 
007+ Warning: Yar_Concurrent_Client::loop(): [16] Timeout was reached in /work/GIT/pecl-and-ext/yar/tests/041.php on line 10
008+ 
009+ Warning: Yar_Concurrent_Client::loop(): [16] Timeout was reached in /work/GIT/pecl-and-ext/yar/tests/041.php on line 10
010+ 
011+ Warning: Yar_Concurrent_Client::loop(): [16] Timeout was reached in /work/GIT/pecl-and-ext/yar/tests/041.php on line 10
012+ 
013+ Warning: Yar_Concurrent_Client::loop(): [16] Timeout was reached in /work/GIT/pecl-and-ext/yar/tests/041.php on line 10
014+ 
015+ Warning: Yar_Concurrent_Client::loop(): [16] Timeout was reached in /work/GIT/pecl-and-ext/yar/tests/041.php on line 10
========DONE========
FAIL Check for timeout of yar concurrent calls [tests/041.phpt] 
PASS Check for maximum calls of yar concurrent call [tests/042.phpt] 
PASS Check for yar server __info [tests/043.phpt] 
PASS Check for yar server __info (public visiblity) [tests/045.phpt] 
PASS Check for yar server __auth (public visiblity) [tests/046.phpt] 
PASS Check for yar server __auth (concurrent call) [tests/047.phpt] 
PASS Check for yar.expose_info off [tests/048.phpt] 
PASS Check for yar.content_type [tests/049.phpt] 
PASS Check for yar server __auth (throw exception) [tests/050.phpt] 
PASS Check for yar server __auth (exit) [tests/051.phpt] 
PASS Check for yar server __info (throw exception) [tests/052.phpt] 
PASS Check for yar server __info (return none string) [tests/053.phpt] 
PASS Check for yar server __info (exit) [tests/054.phpt] 
PASS Bug #74867 (segment fault when use yar persistent call twice remote function) [tests/bug74867.phpt] 
PASS ISSUE #172 $provider/$token may not be nullbyte-terminated [tests/issue172.phpt] 
=====================================================================
TIME END 2022-09-19 11:14:42

=====================================================================
TEST RESULT SUMMARY
---------------------------------------------------------------------
Exts skipped    :    0
Exts tested     :   36
---------------------------------------------------------------------

Number of tests :   55                55
Tests skipped   :    0 (  0.0%) --------
Tests warned    :    0 (  0.0%) (  0.0%)
Tests failed    :    1 (  1.8%) (  1.8%)
Tests passed    :   54 ( 98.2%) ( 98.2%)
---------------------------------------------------------------------
Time taken      :    3 seconds
=====================================================================

=====================================================================
FAILED TEST SUMMARY
---------------------------------------------------------------------
Check for timeout of yar concurrent calls [tests/041.phpt]
=====================================================================

Created at 1 week ago
create branch
remicollet create branch issue-php82
Created at 1 week ago

make random globals public

Created at 1 week ago
issue comment
declare random globals

also ping @laruence as this is for yar extension

Created at 1 week ago
pull request opened
declare random globals

So other ext can use RANDOM_G macro

Ex: https://github.com/laruence/yar/blob/master/yar_request.c#L37

Created at 1 week ago
create branch
remicollet create branch issue-rand-glob
Created at 1 week ago

fix build, undefined variable

add missing file, used by tests 019

Merge pull request #152 from remicollet/issue-miss

add missing file, used by tests 019

Msgpack should be required

Merge pull request #151 from remicollet/issue-typo

fix build, undefined variable

Merge branch 'master' of github.com:laruence/yar

Revert previously change to MOD_REQUIRED

preparing 2.1.1

missed phpt

Enable epoll if it's avaliable

Disable epoll (libcurl(c-ares) with epoll is nighmare)

Start refactor epoll

Remove unused vars

Fixed bug Yaf may failed slient libcurl with c-ares and DNS is slow

Enable epoll again

Use curl_multi_timeout

Improved codes

Update README

Added tcp test case

Fixed test

Created at 1 week ago