diff options
| author | Gordon Tetlow <gordon@FreeBSD.org> | 2026-11-09 05:39:08 +0000 |
|---|---|---|
| committer | Gordon Tetlow <gordon@FreeBSD.org> | 2026-11-09 05:40:49 +0000 |
| commit | 769c49de261fbbd1293adab9188e5099516675cf (patch) | |
| tree | 51c1fde68706669a1ebbf2b78a153e276d118d93 /usr.bin/basename/tests/Makefile.depend | |
| parent | 56741ec70e548d9360982e3d7c48c0c6946bc16e (diff) | |
Upstream links every dynamic engine with a version script,
engines/<name>.ld, that exports bind_engine and v_check and makes
everything else local. FreeBSD's engines had no version script, so
they exported every global symbol, including _init and _fini.
loader_attic.so compiles its own copy of crypto/pem/pvkfmt.c and so
also exported 21 of its functions; 14 of them (b2i_*, i2b_*) have the
same names as public libcrypto functions.
Add one Version.map for all engines, the same as upstream's, and use it
from engines/Makefile.inc.
The engines are loaded only with dlopen(), and libcrypto looks up only
bind_engine and v_check, so hiding the other symbols does not affect
any consumer.
Tested via tinderbox: capi.so, devcrypto.so and loader_attic.so link
with --no-undefined-version and export only bind_engine and v_check.
devcrypto lists the same ciphers as before, and loader_attic loads and
reads a PVK RSA key through "openssl storeutl -engine loader_attic".
Reviewed by: ngie
MFC after: 1 week
MFC to: stable/15
Event: FreeBSD Vendor Summit 2026
Differential Revision: https://reviews.freebsd.org/D61273
Diffstat (limited to 'usr.bin/basename/tests/Makefile.depend')
0 files changed, 0 insertions, 0 deletions
