Skip to content
This repository was archived by the owner on Jul 17, 2024. It is now read-only.

PHP 8.3 support added#31

Merged
weierophinney merged 5 commits intolaminas:3.11.xfrom
glo71317:php8.3_support
Nov 6, 2023
Merged

PHP 8.3 support added#31
weierophinney merged 5 commits intolaminas:3.11.xfrom
glo71317:php8.3_support

Conversation

@glo71317
Copy link
Copy Markdown
Contributor

Q A
Documentation yes/no
Bugfix yes/no
BC Break yes/no
New Feature yes/no
RFC yes/no
QA yes/no

Description

@glo71317
Copy link
Copy Markdown
Contributor Author

It seems some issue with infrastructure,
Screenshot 2023-10-12 at 3 42 06 PM

The error is typically caused by one of the following reasons: An outdated or incompatible version of Node.js or OpenSSL is installed on your system.
@Ocramius Can you please help regarding this how to proceed on this?

@glo17680
Copy link
Copy Markdown

@Ocramius Is there any update on the infrastructure fixes on this PR. Can you please advise ?

@froschdesign
Copy link
Copy Markdown
Member

@glo71317 @glo17680
Please see the following pull requests for more information on this package:

@glo71317
Copy link
Copy Markdown
Contributor Author

glo71317 commented Nov 3, 2023

@glo71317 @glo17680 Please see the following pull requests for more information on this package:

As per above details this PR is irrelevant now right?

Blowfish is no longer supported by some versions of OpenSSL; this patch updates tests that validate factories and the `setAlgorithm()` method to use AES instead as it should be present regardless of version.

Signed-off-by: Matthew Weier O'Phinney <matthew@weierophinney.net>
This patch updates test cases to work with current OpenSSL versions, which have deprecated and/or removed some algorithms, as well as changed requirements for some.

- Use AES instead of Blowfish for tests; guaranteed to be available on both old and new OpenSSL versions.
- Use a MUCH larger prime number in Diffie-Hellman tests (number used is reported in current PHP manual examples)

Signed-off-by: Matthew Weier O'Phinney <matthew@weierophinney.net>
@weierophinney
Copy link
Copy Markdown
Member

I pulled your branch locally, and was able to resolve all test failures:

  • Changing the algorithm used for factory and set*Algorithm() tests to use AES instead of Blowfish (which has been removed from recent editions of OpenSSL).
  • Using a MUCH larger prime for DH tests (I grabbed one from the PHP manual).

It looks like we get failures on PHP 8.0, however; I'll see if I can resolve those.

Updates tests to skip certain algorithms that are unsupported in OpenSSL 3.
Since you can compile PHP against earlier versions of OpenSSL, I took the decision to NOT mark them unsupported completely within the library code.

Signed-off-by: Matthew Weier O'Phinney <matthew@weierophinney.net>
@weierophinney
Copy link
Copy Markdown
Member

Failures on PHP 8 were due to some algorithms being unsupported in OpenSSL 3; I've updated tests to skip those algorithms if that version of the library is present.

Copy link
Copy Markdown
Member

@gsteel gsteel left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

LGTM 👍

@weierophinney weierophinney added this to the 3.11.0 milestone Nov 6, 2023
@weierophinney weierophinney merged commit 098fc61 into laminas:3.11.x Nov 6, 2023
Sign up for free to subscribe to this conversation on GitHub. Already have an account? Sign in.

Projects

No open projects
Status: Done

Development

Successfully merging this pull request may close these issues.

5 participants