-
Notifications
You must be signed in to change notification settings - Fork 77
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
Kid.pm loads openssl in an unsafe way on macOS (crashes on Monterey) #404
Comments
Any suggestions for an alternative check would be most welcome, but deleting it isn't an option as that will break for other libraries. |
The fix seems to be to simply use the versioned path: cl-plus-ssl/cl-plus-ssl#115 |
and the versioned path is only required for the system-provided openssl. |
That sounds like something that should be fixed in Net::SSLeay's Makefile.PL, instead of in MakeMaker itself.
How on-brand, taking something that has worked everywhere for years and breaking it 😑 |
Not just Net::SSLeay, e.g. Crypt::OpenSSL::RSA appears to crash, caused by the same issue (reported)
|
@Leont can you please elaborate? I'm having trouble connecting the original submissions back to the original problem.
Sorry, I don't follow. Every other OS is handled in this function by searching the file system in various locations. What's changed with Mac that makes this approach difficult/untenable? |
On recent versions of Mac a lot of system libraries don't actually exist on the filesystem (or at least not in their usual place), but the linker (including dlopen) will pretend they do. The other half of this fix was !18407. |
Did you consider _dyld_shared_cache_contains_path? https://github.com/search?q=org%3Apython+_dyld_shared_cache_contains_path&type=code |
I haven't, I don't think we can use it from MakeMaker anyway as it's a C function |
This change: 8b924f6
which was made made to work a bit later with 21a441d
Seems to be considered as an unsafe way to load openssl on macOS monterey, and crashes perl.
Note that Monterey ships with version 7.34 of this module, so only homebrew and MacPorts users (who install 7.62) are affected:
The text was updated successfully, but these errors were encountered: