You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
Ever since the update to openssl 3.x we have been building static openssl
ever so slightly incorrect. Without the `no-module` configuration option
openssl still tries to provide some non-core modules (like the legacy provider)
as a shared library. However luvi has no way to bundle this, and so ever since
the update to openssl 3.x we have been unable to use any of the legacy ciphers
in luvi.
I used the following script to ensure the provided fix actually works for the
legacy provider:
```lua
local openssl = require 'openssl'
print(openssl.errors())
local ctx = openssl.cipher.get('blowfish') -- any cipher provided by legacy works here
print(ctx)
print(ctx:cipher('123', '456', '789'))
```
Before this fix:
```
C06BE223E67B0000:error:12800067:DSO support routines:dlfcn_load:could not load the shared library:crypto/dso/dso_dlfcn.c:118:filename(.../lib64/ossl-modules/legacy.so): .../lib64/ossl-modules/legacy.so: cannot open shared object file: No such file or directory
C06BE223E67B0000:error:12800067:DSO support routines:DSO_load:could not load the shared library:crypto/dso/dso_lib.c:147:
C06BE223E67B0000:error:07880025:common libcrypto routines:provider_init:reason(37):crypto/provider_core.c:950:name=legacy
openssl.evp_cipher: 0x7be623dd52d8
nil unsupported 50856204
```
After this fix:
```
openssl.evp_cipher: 0x7fca1a4d8a98
�r���H�
```
Alongside fixing the static build of openssl, this also fixes the intermittent
issue with lua-openssl triggering the incompatible pointer types error by
silencing the warning, which lua-openssl does internally but only for clang.
0 commit comments