-
Notifications
You must be signed in to change notification settings - Fork 3k
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Add libsodium extension #7827
Comments
For internal reference: D5015855 still need to do the AEAD functions, and there's a few non-technical blockers on getting this public, but that's the primary goal of this. |
All done, including AEAD, but blocked on an error in our GCC5 LTO builds only:
This doesn't make much sense to me as it's a packed struct with fixed-sized members except for size_t, and we're always using the same compiler, so CRYPTO_ALIGN isn't being redefined. Still investigating internally - though @paragonie-scott, @jedisct1 does this look familiar at all? |
Never saw anything like that before, and indeed, it doesn't really make sense in this context :/ |
Thanks; we're leaning towards compiler bug and have a workaround to test on Monday :) |
You rock! |
Another point towards compiler/linker bug: it's an extern "C" struct with no vtable, methods, etc. AIUI the linker shouldn't even know it exists. |
@fredemmott the linker is not what is complaining but rather the compiler during the link stage (LTO). I suspect CRYPTO_ALIGN(64) is defined differently in two Translation units. Or rather you have placed CRYPTO_ALIGN(64) in the wrong location so it applies to the typedef rather than struct name. |
@apinski-cavium's suggestion is what we were going to try, and it works :) will file issue. |
All finished internally, diff open-sourcing it + adding cmake support is up for review :) |
Awesome! |
|
Please file a separate issue for argon2 support in the That said, the libsodium extension does include Argon2 functionality via the sodium_crypto_pwhash* functions. |
Going to be part of php 7.2
Already got substantial parts of this done, just filing this issue for visibility; don't want someone to waste time reimplementing what I've already done :)
The text was updated successfully, but these errors were encountered: