rlm_redis Module -> only "short" Return Values allowed?

tom greisch tom.greisch at yahoo.de
Tue Mar 10 11:06:31 CET 2015

Hi everybody,i have compiled Freeradius Version 2.2.5 on a Debian 8 Testmaschine with experimental modules because i want to use Redis for caching AD User Groups.Redis seems to be very cool for caching AD User Groups because it is so extrem fast! 

My Problem: 
Everything works fine if "only" (about) 1000 Characters are returned. See Example 1. The second Example shows the Result of the Redis Get Request with about 1030 Characters which fails with an error Message (see Example 2)
Man unlang says:a)finally assigned to a variable only 253 characters allowed. -> I do not assign a Variable finally. It is inside of an if condition.b)8000 characters should be allowed as a string length (if not finally assigned). c) Man unlang says also: However, the output of that SQL query should be no more than 253 characters in length <- Is this the Problem?

My Question:1. Is the Error Message a Limitation from Freeradius or is it a limitation from the rlm_redis Module? 

Thank you very much in advance!

=================================================Example 1=================================================+group post-auth {
++? if ("%{redis:GET TESTUSER}" =~ /xxx/)
rlm_redis (redis): Reserving redis socket id: 18
executing GET ...
rlm_redis (redis): Released redis socket id: 18
        expand: %{redis:GET TESTUSER} -> This-Is-A-Very-Long-List-Of-AD-Groups-for-the-User-TESTUSER-about-1000-Characters-xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx
? Evaluating ("%{redis:GET TESTUSER}" =~ /xxx/) -> TRUE
++? if ("%{redis:GET TESTUSER}" =~ /xxx/) -> TRUE
++if ("%{redis:GET TESTUSER}" =~ /xxx/) {
+++update reply {
=================================================Example 2
=================================================+group post-auth {
++? if ("%{redis:GET TESTUSER}" =~ /xxx/)
rlm_redis (redis): Reserving redis socket id: 18
executing GET ...
rlm_redis (redis): Can't write result, insufficient space or unsupported result 
rlm_redis (redis): Released redis socket id: 18
        expand: %{redis:GET TESTUSER} -> 
? Evaluating ("%{redis:GET TESTUSER}" =~ /xxx/) -> FALSE
++? if ("%{redis:GET TESTUSER}" =~ /xxx/) -> FALSE===================================================

More information about the Freeradius-Users mailing list