RTC Composer Dependency Changed PR-4.4-dev Pending

User tests: Successful: Unsuccessful:

avatar SniperSister
SniperSister
11 Mar 2024

Pull Request for Issue #38963 and #42973

Summary of Changes

In #35568 a change was merged into the JHTTP socket driver, increasing the accepted HTTP version for the client from 1.0 to 1.1.

That change introduce the issue described in #38963: HTTP 1.1 defines the chunked transfer mode which is mandatory for all clients implementing HTTP 1.1 - as our socket-based client however does not support chunked responses, a chunked response causes an infinite loop.

Framework implications

Once tested, please also merge joomla-framework/http#54

Testing Instructions

  • Create a socket-based JHTTP request to a server responding with a chunked response, i.e. by using this code block:
    $http = \Joomla\CMS\Http\HttpFactory::getHttp([], 'socket'); $response = $http->get('https://update.joomla.org/cms/root.json');

Actual result BEFORE applying this Pull Request

  • Infinite loop

Expected result AFTER applying this Pull Request

  • Response returned

Link to documentations

Please select:

  • Documentation link for docs.joomla.org:

  • No documentation changes for docs.joomla.org needed

  • Pull Request link for manual.joomla.org:

  • No documentation changes for manual.joomla.org needed

avatar SniperSister SniperSister - open - 11 Mar 2024
avatar SniperSister SniperSister - change - 11 Mar 2024
Status New Pending
avatar joomla-cms-bot joomla-cms-bot - change - 11 Mar 2024
Category Libraries
avatar SniperSister SniperSister - change - 11 Mar 2024
The description was changed
avatar SniperSister SniperSister - edited - 11 Mar 2024
avatar HLeithner HLeithner - test_item - 11 Mar 2024 - Tested successfully
avatar HLeithner
HLeithner - comment - 11 Mar 2024

I have tested this item ✅ successfully on 2668f90

same pr as 43002 which works as expected


This comment was created with the J!Tracker Application at issues.joomla.org/tracker/joomla-cms/43001.

avatar richard67 richard67 - change - 11 Mar 2024
The description was changed
avatar richard67 richard67 - edited - 11 Mar 2024
avatar SniperSister SniperSister - change - 12 Mar 2024
Labels Added: PR-4.4-dev
avatar joomla-cms-bot joomla-cms-bot - change - 12 Mar 2024
Category Libraries External Library Composer Change Libraries
avatar SniperSister
SniperSister - comment - 12 Mar 2024

The updated framework package is now included in this PR

avatar brianteeman
brianteeman - comment - 12 Mar 2024

With php curl not enabled I dont get the infinite loop ?

But I do get the tuf errror

0 No transport driver available.

No. Function Location
1 () JROOT\libraries\vendor\joomla\http\src\HttpFactory.php:40
2 Joomla\Http\HttpFactory->getHttp() JROOT\libraries\src\TUF\TufFetcher.php:74
3 Joomla\CMS\TUF\TufFetcher->__construct() JROOT\libraries\src\Updater\Update.php:540
4 Joomla\CMS\Updater\Update->loadFromTuf() JROOT\administrator\components\com_joomlaupdate\src\Model\UpdateModel.php:324
5 Joomla\Component\Joomlaupdate\Administrator\Model\UpdateModel->getUpdateInformation() JROOT\libraries\src\MVC\View\AbstractView.php:159
6 Joomla\CMS\MVC\View\AbstractView->get() JROOT\administrator\components\com_joomlaupdate\src\View\Joomlaupdate\HtmlView.php:166
7 Joomla\Component\Joomlaupdate\Administrator\View\Joomlaupdate\HtmlView->display() JROOT\administrator\components\com_joomlaupdate\src\Controller\DisplayController.php:88
8 Joomla\Component\Joomlaupdate\Administrator\Controller\DisplayController->display() JROOT\libraries\src\MVC\Controller\BaseController.php:730
9 Joomla\CMS\MVC\Controller\BaseController->execute() JROOT\libraries\src\Dispatcher\ComponentDispatcher.php:143
10 Joomla\CMS\Dispatcher\ComponentDispatcher->dispatch() JROOT\libraries\src\Component\ComponentHelper.php:361
11 Joomla\CMS\Component\ComponentHelper::renderComponent() JROOT\libraries\src\Application\AdministratorApplication.php:150
12 Joomla\CMS\Application\AdministratorApplication->dispatch() JROOT\libraries\src\Application\AdministratorApplication.php:195
13 Joomla\CMS\Application\AdministratorApplication->doExecute() JROOT\libraries\src\Application\CMSApplication.php:306
14 Joomla\CMS\Application\CMSApplication->execute() JROOT\administrator\includes\app.php:58
15 require_once() JROOT\administrator\index.php:32
avatar SniperSister
SniperSister - comment - 12 Mar 2024

@brianteeman the PR fixes the general issue in the driver and allows the TUF updater to work with non-curl transports; the actual change to the updater, that removes the pinning to curl, is still pending in #42900 - do you have these changes in your working copy too?

avatar brianteeman
brianteeman - comment - 12 Mar 2024

No io do not because that PR is for j5 and this PR is for j4

avatar SniperSister
SniperSister - comment - 12 Mar 2024

Ok but the posted stacktrace mentions the TUFFetcher which isn't present in J4 either, so I'm not sure that the actual test setup is that you used to to get that trace?

avatar brianteeman
brianteeman - comment - 12 Mar 2024

maybe ny branch is fubar. will rebuild it again and retest

avatar brianteeman
brianteeman - comment - 12 Mar 2024

SORRY - I checked the wrong site. I applied the pr to one site and checked it on a different site

avatar brianteeman brianteeman - test_item - 12 Mar 2024 - Tested successfully
avatar brianteeman
brianteeman - comment - 12 Mar 2024

I have tested this item ✅ successfully on cf3b95c


This comment was created with the J!Tracker Application at issues.joomla.org/tracker/joomla-cms/43001.

avatar richard67
richard67 - comment - 12 Mar 2024

@HLeithner Could you test again with the included dependency update. Thanks in advance.

avatar HLeithner
HLeithner - comment - 12 Mar 2024

@HLeithner Could you test again with the included dependency update. Thanks in advance.

my test is still valid because I tested it with and without dependency update by accident....

avatar richard67 richard67 - alter_testresult - 12 Mar 2024 - HLeithner: Tested successfully
avatar richard67 richard67 - change - 12 Mar 2024
Status Pending Ready to Commit
avatar richard67
richard67 - comment - 12 Mar 2024

RTC


This comment was created with the J!Tracker Application at issues.joomla.org/tracker/joomla-cms/43001.

avatar MacJoom MacJoom - change - 13 Mar 2024
Status Ready to Commit Fixed in Code Base
Closed_Date 0000-00-00 00:00:00 2024-03-13 18:27:33
Closed_By MacJoom
Labels Added: RTC Composer Dependency Changed
avatar MacJoom MacJoom - close - 13 Mar 2024
avatar MacJoom MacJoom - merge - 13 Mar 2024
avatar MacJoom
MacJoom - comment - 13 Mar 2024

Thank you all!

Add a Comment

Login with GitHub to post a comment