Freeradius3 and openrwt 23.05.3 broken?

I've been trying to make freeradius run on a fresh 23.05.3 install, and it seems there's some openssl mismatch:

Available openssl version is 3.0.13:

# opkg search "*ssl*"
ca-bundle - 20230311-1
ca-bundle - 20230311-1
libopenssl-conf - 3.0.13-1
libopenssl-conf - 3.0.13-1
libopenssl-conf - 3.0.13-1
libopenssl3 - 3.0.13-1
libustream-mbedtls20201210 - 2023-02-25-498f6e26-1
openssl-util - 3.0.13-1

But freeradius3 looks for 3.0.0m:

# radiusd -XX
Wed Apr 17 22:18:39 2024 : Debug: Server was built with: 
Wed Apr 17 22:18:39 2024 : Debug:   accounting               : yes
Wed Apr 17 22:18:39 2024 : Debug:   authentication           : yes
Wed Apr 17 22:18:39 2024 : Debug:   ascend-binary-attributes : yes
Wed Apr 17 22:18:39 2024 : Debug:   coa                      : yes
Wed Apr 17 22:18:39 2024 : Debug:   control-socket           : yes
Wed Apr 17 22:18:39 2024 : Debug:   detail                   : yes
Wed Apr 17 22:18:39 2024 : Debug:   dhcp                     : yes
Wed Apr 17 22:18:39 2024 : Debug:   dynamic-clients          : yes
Wed Apr 17 22:18:39 2024 : Debug:   osfc2                    : no
Wed Apr 17 22:18:39 2024 : Debug:   proxy                    : yes
Wed Apr 17 22:18:39 2024 : Debug:   regex-pcre               : no
Wed Apr 17 22:18:39 2024 : Debug:   regex-posix              : yes
Wed Apr 17 22:18:39 2024 : Debug:   regex-posix-extended     : yes
Wed Apr 17 22:18:39 2024 : Debug:   session-management       : yes
Wed Apr 17 22:18:39 2024 : Debug:   stats                    : yes
Wed Apr 17 22:18:39 2024 : Debug:   systemd                  : no
Wed Apr 17 22:18:39 2024 : Debug:   tcp                      : yes
Wed Apr 17 22:18:39 2024 : Debug:   threads                  : yes
Wed Apr 17 22:18:39 2024 : Debug:   tls                      : yes
Wed Apr 17 22:18:39 2024 : Debug:   unlang                   : yes
Wed Apr 17 22:18:39 2024 : Debug:   vmps                     : yes
Wed Apr 17 22:18:39 2024 : Debug:   developer                : no
Wed Apr 17 22:18:39 2024 : Debug: Server core libs:
Wed Apr 17 22:18:39 2024 : Debug:   freeradius-server        : 3.0.26
Wed Apr 17 22:18:39 2024 : Debug:   talloc                   : 2.3.*
Wed Apr 17 22:18:39 2024 : Debug:   ssl                      : 3.0.0m dev
Wed Apr 17 22:18:39 2024 : Debug: Endianness:
Wed Apr 17 22:18:39 2024 : Debug:   big
Wed Apr 17 22:18:39 2024 : Debug: Compilation flags:
Wed Apr 17 22:18:39 2024 : Debug:   cppflags : -isystem /builder/shared-workdir/build/sdk/staging_dir/target-powerpc_464fp_musl/usr/include/ -I/builder/shared-workdir/build/sdk/staging_dir/toolchain-powerpc_464fp_gcc-12.3.0_musl/usr/include -I/builder/shared-workdir/build/sdk/staging_dir/toolchain-powerpc_464fp_gcc-12.3.0_musl/include/fortify -I/builder/shared-workdir/build/sdk/staging_dir/toolchain-powerpc_464fp_gcc-12.3.0_musl/include 
Wed Apr 17 22:18:39 2024 : Debug:   cflags   : -I. -Isrc -include src/freeradius-devel/autoconf.h -include src/freeradius-devel/build.h -include src/freeradius-devel/features.h -include src/freeradius-devel/radpaths.h -fno-strict-aliasing -Wno-date-time -Os -pipe -mcpu=464fp -fno-caller-saves -fno-plt -fhonour-copts -ffile-prefix-map=/builder/shared-workdir/build/sdk/build_dir/target-powerpc_464fp_musl/freeradius-server-3.0.26=freeradius-server-3.0.26 -Wformat -Werror=format-security -fstack-protector -D_FORTIFY_SOURCE=1 -Wl,-z,now -Wl,-z,relro -DHAVE_OPENSSL_RAND_H -Wall -std=c99 -D_GNU_SOURCE -D_REENTRANT -D_POSIX_PTHREAD_SEMANTICS -DOPENSSL_NO_KRB5 -DNDEBUG -DIS_MODULE=1
Wed Apr 17 22:18:39 2024 : Debug:   ldflags  :  -L/builder/shared-workdir/build/sdk/staging_dir/target-powerpc_464fp_musl/usr/lib -Wl,-rpath,/builder/shared-workdir/build/sdk/staging_dir/target-powerpc_464fp_musl/usr/lib -L/builder/shared-workdir/build/sdk/staging_dir/toolchain-powerpc_464fp_gcc-12.3.0_musl/usr/lib -L/builder/shared-workdir/build/sdk/staging_dir/toolchain-powerpc_464fp_gcc-12.3.0_musl/lib -znow -zrelro 
Wed Apr 17 22:18:39 2024 : Debug:   libs     : -lcrypto -lssl -ltalloc -lcap -lresolv -ldl -lpthread -latomic -lcrypto -lssl -lcrypto -lssl -lcrypto -lssl -lcrypto -lssl -lreadline
Wed Apr 17 22:18:39 2024 : Debug:   
Wed Apr 17 22:18:39 2024 : Info: FreeRADIUS Version 3.0.26
Wed Apr 17 22:18:39 2024 : Info: Copyright (C) 1999-2021 The FreeRADIUS server project and contributors
Wed Apr 17 22:18:39 2024 : Info: There is NO warranty; not even for MERCHANTABILITY or FITNESS FOR A
Wed Apr 17 22:18:39 2024 : Info: PARTICULAR PURPOSE
Wed Apr 17 22:18:39 2024 : Info: You may redistribute copies of FreeRADIUS under the terms of the
Wed Apr 17 22:18:39 2024 : Info: GNU General Public License
Wed Apr 17 22:18:39 2024 : Info: For more information about these matters, see the file named COPYRIGHT
Wed Apr 17 22:18:39 2024 : Error: (TLS) Failed loading legacy provider

What should I do? :frowning:

I don't expect that many users to run freeradius, because it's a pain to set up (and those who do, will typically do it on a real server/ general purpose linux, as they're likely going to primarily require it for other authentification (samba/ AD, nss, …) methods as well). Therefore you might be the first to find a bug - and may have to end up fixing it as well.

I did install it on my Linksys E8450 router for testing WPA3 Enterprise, and it does work. Please follow this guide:

https://openwrt.org/docs/guide-user/network/wifi/freeradius

Regarding the failure to load the legacy provider, please install the corresponding package.

root@OpenWrt:~# opkg list-installed | grep legacy
libopenssl-legacy - 3.0.13-1

P.S.

root@OpenWrt:~# opkg list-installed | grep radius
freeradius3 - 3.0.26-3
freeradius3-common - 3.0.26-3
freeradius3-default - 3.0.26-3
freeradius3-democerts - 3.0.26-3
freeradius3-mod-always - 3.0.26-3
freeradius3-mod-attr-filter - 3.0.26-3
freeradius3-mod-chap - 3.0.26-3
freeradius3-mod-detail - 3.0.26-3
freeradius3-mod-digest - 3.0.26-3
freeradius3-mod-eap - 3.0.26-3
freeradius3-mod-eap-gtc - 3.0.26-3
freeradius3-mod-eap-md5 - 3.0.26-3
freeradius3-mod-eap-mschapv2 - 3.0.26-3
freeradius3-mod-eap-peap - 3.0.26-3
freeradius3-mod-eap-pwd - 3.0.26-3
freeradius3-mod-eap-tls - 3.0.26-3
freeradius3-mod-eap-ttls - 3.0.26-3
freeradius3-mod-exec - 3.0.26-3
freeradius3-mod-expiration - 3.0.26-3
freeradius3-mod-expr - 3.0.26-3
freeradius3-mod-files - 3.0.26-3
freeradius3-mod-logintime - 3.0.26-3
freeradius3-mod-mschap - 3.0.26-3
freeradius3-mod-pap - 3.0.26-3
freeradius3-mod-preprocess - 3.0.26-3
freeradius3-mod-radutmp - 3.0.26-3
freeradius3-mod-realm - 3.0.26-3
freeradius3-mod-unix - 3.0.26-3
freeradius3-utils - 3.0.26-3