Composer Dependency Changed ? Maintainers Checked Pending

User tests: Successful: Unsuccessful:

avatar nikosdion
nikosdion
17 Aug 2022

Pull Request for Issue #38485.

Summary of Changes

Added the BCmath_compat polyfill from the well–known and well–trusted phpSecLib. This library adds a userland (pure PHP) implementation of the BCmath functions used by the third party dependencies of the WebAuthn code for BOTH logging in AND Multi-factor Authentication. If you try to use WebAuthn on a server which has neither the BCmath nor the GMP PHP extensions enabled the polyfill will kick in and let WebAuthn work properly.

Testing Instructions

  • Apply this PR on a Joomla 4.2-dev working copy.
  • Run composer install to update the Composer dependencies.
  • Run the resulting Joomla 4.2 on a server which has neither BCmath nor GMP installed.
  • Set up MFA with WebAuthn for your user account.
  • Log out and log back in.
  • Proceed with the WebAuthn authentication.

Actual result BEFORE applying this Pull Request

You receive the error “Requires GMP or bcmath extension”.

Expected result AFTER applying this Pull Request

Everything works fine.

Documentation Changes Required

In the requirements section for Joomla 4.2 we should add something along the lines of:

  • We recommend enabling one of the PHP extensions BCmath or GMP (they are not required but do increase the performance of the WebAuthn features).
avatar nikosdion nikosdion - open - 17 Aug 2022
avatar nikosdion nikosdion - change - 17 Aug 2022
Status New Pending
avatar joomla-cms-bot joomla-cms-bot - change - 17 Aug 2022
Category External Library Composer Change
avatar nikosdion
nikosdion - comment - 17 Aug 2022

There's one build failure in Drone but it seems it's not coming from this PR.

avatar richard67
richard67 - comment - 17 Aug 2022

There's one build failure in Drone but it seems it's not coming from this PR.

I've restarted it, and this time it worked. Sometimes we have that problem.

avatar HLeithner
HLeithner - comment - 17 Aug 2022

Works for me without bcmath and gmp, funny note I also have to remove libsodium.

avatar roland-d roland-d - change - 17 Aug 2022
Labels Added: Composer Dependency Changed ? Maintainers Checked
avatar roland-d roland-d - change - 17 Aug 2022
Status Pending Fixed in Code Base
Closed_Date 0000-00-00 00:00:00 2022-08-17 18:12:57
Closed_By roland-d
avatar roland-d roland-d - close - 17 Aug 2022
avatar roland-d roland-d - merge - 17 Aug 2022
avatar roland-d
roland-d - comment - 17 Aug 2022

Thanks everybody

Add a Comment

Login with GitHub to post a comment