Suse 12 sp3 Freeradius rlm_rest module

I am attempting to setup a new RADIUS server in our environment and using 3.0.15(available in the SLES 12 sp3 repos). However, I cannot find the rlm_rest module for FreeRADIUS after installation within the /etc/raddb/mods-available/ directory. Is there a different way that needs to be handled now?

Hi and welcome to the Forum :slight_smile:
AFAIK the SLES (and openSUSE) versions of FreeRadius are built without rlm_rest module.
https://build.opensuse.org/package/show/network/freeradius-server

Thank you.
I guess openSUSE already support rlm_rest in 3.0.21 version.
https://software.opensuse.org/package/freeradius-server

https://build.opensuse.org/package/view_file/network/freeradius-server/freeradius-server.changes?expand=1

Hi
AFAIK, no as I see this in the build logs “–without-rlm_rest”

Thanks you so much.
Last question. Is there a way to add rlm_rest module in Sles 12 sp3?
I am trying to build Auth module in Freeradius. As far as I know there are 3 options. rlm_python , rlm_rest and rlm_perl.
As per one of the stackoverflow thread

"It’s worth mentioning that embedded Python, and python in general is not suited to high performance parallel work loads because of the GiL (Global interpreter lock). You should consider using the native rlm_rest module to post data to your API. "

Considering that I was looking for rlm_rest support in suse 12 sp3.

Hi
You would need to grab the src rpm and rebuild it and enabling the --with-rlm_rest. In saying that that would mean no json support (Is this an issue?). If you can raise a support request, that may be a better option to find out why it’s disabled…

I have tried to replace
%if ! %{with json}
–without-rlm_rest \
%endif
**with **
%if ! %{with json}
–with-rlm_rest \
%endif

But it failed with error
error: Installed (but unpackaged) file(s) found:
/usr/lib64/freeradius/rlm_rest.so
RPM build errors:
Installed (but unpackaged) file(s) found:
/usr/lib64/freeradius/rlm_rest.so

Please suggest.

Hi
Down in the %file list section under # loadable modules you need to rem out and add an extra %;

#%%if %%{with json}
%{_libdir}/freeradius/rlm_rest.so
#%%endif

Thanks for help.
I will try to package again.

As in my product this module will be used for high authentication request (~1 million), I have few questions on available options.

  1. Is that rlm_test C based ?
  2. Can you help me to understand performance wise if there is any preference between rlm_python, rlm_rest, C modules ?
  3. Which option does FreeRadius/SUSE recommend us to use ?

Hi
I have zero experience with Freeradius, you might wish to talk with SUSE support about this as there must be a reason for it to be disabled in the build for both SUSE and openSUSE.

Hi,
I was able to build src package and install it with rest enabled. There was no rest configuration file under mods-available folder after installation. So I had to copy from some other installation. After some configuration in rest and sites-enabled/default file , I am able to post auth request to my server. I am able to get response back from server but not able to process it. In the request body, I send json object. Similarly from server I get respnse as json object.
So I have a question on json support for this module. As I have enabled REST with no json support. How it will affect my reqest and response ?