feat(deps): Upgrade phpseclib to v3#48183
Conversation
c66f090 to
9ca9c89
Compare
|
Problem with this: |
|
Perhaps https://phpseclib.com/docs/why#phpseclib2_compat |
There was a problem hiding this comment.
Any options on this solution?
Should we keep the "performance" streams with reflection or drop them completely and just use the library streams?
3983f8a to
8b24535
Compare
|
Should document this change, as it breaks at least 2 shipped apps (app_api, nextcloud_announcements) by removing phpseclib 2, and integration_discourse because it ships phpseclib 3 without mozart/namespacing it |
we can add the phpseclib_compat package to add intermediate support for those apps. |
Documenting it now and early should be good enough |
CarlSchwan
left a comment
There was a problem hiding this comment.
I feel like having up to date security relevant dependency is more important than performance
|
@miaulalala thats the wrong comparison, simple put / get will always be faster. We optimize for round trips, so latency needs to be taken into account for the write stream.
Benchmark source: https://gist.github.com/susnux/77ccaaf3b3e7b7779d7f9725ea22eb69 |
Signed-off-by: Ferdinand Thiessen <opensource@fthiessen.de>
Signed-off-by: Josh <josh.t.richards@gmail.com>
Updated RSA key loading to use PSS padding and options. Signed-off-by: Josh <josh.t.richards@gmail.com>
Signed-off-by: Ferdinand Thiessen <opensource@fthiessen.de>
The implementation was using private fields of v2, which are now properly marked as private. So either drop the custom streams or use reflection. Assisted-by: ClaudeCode:claude-opus-4-8 Signed-off-by: Ferdinand Thiessen <opensource@fthiessen.de>
8b24535 to
a7ae6df
Compare
Summary
Updated to v3 - needed to adjust quiet some places.
AI was just used for 3983f8a to help finding a working alternative because the old implementation was using v2 private functions which were not PHP private but just prefixed with
_.In v3 they made them really private so we have two options:
Checklist