Feature requests and current limitations in

Herwin Weststrate herwin at quarantainenet.nl
Sat Dec 19 11:45:10 CET 2015


As discussed at 
https://github.com/FreeRADIUS/freeradius-server/issues/1451#issuecomment-164894510, 
I'm currently trying to write a proposal to change the interface of the 
programming language that are currently supported as embedded languages 
within FreeRADIUS. The current list includes Perl, Python and Ruby 
(which should not be used). In the current status rlm_perl is far 
superior in terms of features to the other modules, and also has a 
completely different interface.

My plan is to make a unified interface for these three modules, so they 
all have the same features and behave in the same way. At the moment, 
the biggest limitations that should be removed are the following:

- Make the modules work in the same way, so an example in a language 
can simply be rewritten to another language (rlm_perl is currently the 
most mature and works completely different from rlm_python and rlm_ruby)
- Don't limit the input of rlm_python and rlm_ruby to the request list, 
include other lists (like reply and session-state) as well
- Don't limit the output of rlm_python and rlm_ruby to the reply and 
control list, include others lists (like session-state) as well

Some lesser changes will include:

- Allow random config structures to be passed to the module, as 
rlm_perl now has the "config" option 
<https://github.com/FreeRADIUS/freeradius-server/issues/1451>
- Rewrite rlm_ruby to use mruby 
<https://github.com/FreeRADIUS/freeradius-server/issues/990>
- Fix multithreading in rlm_python 
<https://github.com/FreeRADIUS/freeradius-server/issues/408>
- Strip the extra quotes in rlm_python 
<https://github.com/FreeRADIUS/freeradius-server/issues/1452>
- Lots of minor fixes (e.g. 
<https://github.com/FreeRADIUS/freeradius-server/pull/1459>)

I don't know if anyone here uses one of these modules, or tried using 
one but stopped due to its limitations, but I'm really curious what kind 
of features people would want to see in these modules, or what 
limitations they'd experienced with using them.


Disclaimer: I'll write the proposal for change, will discuss it on the 
mailing lists, and I'll try to implement it too. I have very limited 
experience in writing this kind of code, which means it may be a 
learnful but slow progress. Also, keep in mind that I'm not related to 
the FreeRADIUS project, other than just contributing a pull request 
every now and then: I'm not in a position to decide what comes into the 
code base and what not.

-- 
Herwin Weststrate


More information about the Freeradius-Users mailing list