Skip to content
/ openssl Public

Frida (optionally) depends on OpenSSL

License

Apache-2.0, MIT licenses found

Licenses found

Apache-2.0
LICENSE.txt
MIT
LICENSE.build
Notifications You must be signed in to change notification settings

frida/openssl

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

25 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

OpenSSL for Meson

How this works?

TL;DR: this wrap abuses OpenSSL build system within Node.js.

Node.js has OpenSSL built-in with additional scripting around it to generate configs for GYP build system and thus bypass OpenSSL's native build system.

This wrap abuses that feature by replacing bundled OpenSSL with upstream version, patching mentioned mechanism to also generate a bunch of meson.build files for different platforms and uses top-level meson.build to wire everything together.

During installation unmodified Node.js tarball will be downloaded, its bundled OpenSSL will be replaced with upstream version and patched with meson.build files, enabling ability to build OpenSSL with Meson 🎉.

How to update to newer release

First, you may need to install some packages:

sudo dnf install -y nasm perl-FindBin perl-IPC-Cmd perl-Text-Template

Unless Node.js changes the mechanism we abuse above (unlikely, but possible, please check the diff between corresponding versions), generator.sh file can be used.

Just update OpenSSL version in wrap file, update Node.js version in generator.sh file to such that contains matching OpenSSL version bundled with it and run generator.sh from the root of the repository:

subprojects/packagefiles/openssl/generator.sh

Generated files in generated-config directory, after which you can try to build it. create_release.py will run it as part of the release process, so it doesn't need to be included in Git.

Acknowledgement

This OpenSSL port wouldn't be possible without Node.js project under MIT license, whose OpenSSL build system was decomposed and heavily refactored.

About

Frida (optionally) depends on OpenSSL

Resources

License

Apache-2.0, MIT licenses found

Licenses found

Apache-2.0
LICENSE.txt
MIT
LICENSE.build

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published