On 2025-08-10 06:53, Pierre Pronchery wrote:
Hey,
On 10 Aug 2025, at 04:32, Enji Cooper (yaneurabeya) <[email protected]>
wrote:
On Aug 9, 2025, at 7:08 AM, Ian FREISLICH <[email protected]> wrote:
Previously this worked
[brane] /usr/ports # openssl list -providers -provider legacy
Providers:
legacy
name: OpenSSL Legacy Provider
version: 3.0.16
status: active
Since the build last night,
[router] /usr/ports/net/freeradius3 # openssl list -providers -provider legacy
list: unable to load provider legacy
Hint: use -provider-path option or OPENSSL_MODULES environment variable.
10B045DBE7340000:error:12800067:DSO support routines:dlfcn_load:could not load the shared
library:/usr/src/crypto/openssl/crypto/dso/dso_dlfcn.c:118:filename(/usr/lib/ossl-modules/legacy.so):
/usr/lib/ossl-modules/legacy.so: Undefined symbol "ossl_kdf_pvk_functions"
10B045DBE7340000:error:12800067:DSO support routines:DSO_load:could not load
the shared library:/usr/src/crypto/openssl/crypto/dso/dso_lib.c:147:
10B045DBE7340000:error:07880025:common libcrypto
routines:provider_init:reason(37):/usr/src/crypto/openssl/crypto/provider_core.c:1019:name=legacy
and freeradius doesn't start because of this:
[router] /usr/ports/net/freeradius3 # radiusd -fX
FreeRADIUS Version 3.2.7
...
(TLS) Failed loading legacy provider
I haven't yet figured out what part of my EAP configuration needs the legacy
provider. It may be that EAP just needs a working legacy provider because it
looks like the EAP module unconditionally attempts to load the provider and
fails.
It could well be that it does.
Regardless I didn’t mean to break the legacy provider, but it’s
certainly because of the OpenSSL 3.5.1 import. Sorry!
I have pushed a partial fix here, and will keep pushing to that
branch until I get it to work fully again:
https://github.com/khorben/freebsd-src/tree/khorben/openssl-3.5.1-legacy
That fixes this missing symbol, but here's the next error:
[router] ~ # openssl list -providers -provider legacy
list: unable to load provider legacy
Hint: use -provider-path option or OPENSSL_MODULES environment variable.
10B0E52D30440000:error:12800067:DSO support routines:dlfcn_load:could
not load the shared
library:/usr/src/crypto/openssl/crypto/dso/dso_dlfcn.c:118:filename(/usr/lib/ossl-modules/legacy.so):
/usr/lib/ossl-modules/legacy.so: Undefined symbol "ossl_param_find_pidx"
10B0E52D30440000:error:12800067:DSO support routines:DSO_load:could not
load the shared library:/usr/src/crypto/openssl/crypto/dso/dso_lib.c:147:
10B0E52D30440000:error:07880025:common libcrypto
routines:provider_init:reason(37):/usr/src/crypto/openssl/crypto/provider_core.c:1019:name=legacy
Is there a target/directory I can make in that compile will compile just
this? The no clean default on buildworld doesn't seem to work and
compiling everything takes forever.
Ian