As discussed at https://github.com/FreeRADIUS/freeradius-server/issues/1451#issuecomment-164..., 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