Hi,

 

I have found bug in the rlm_perl module on the line 343 (parse & store params for perl function)

Branch: 3.0.x

 

%{perl:param} – does not work

%{perl:param1 param2} – does not work

 

Wrong:

p = fmt;

while ((q = strchr(p, ' '))) {

                XPUSHs(sv_2mortal(newSVpvn(p, p-q)));

 

                p = q + 1;

}

 

Possible solution:

p = fmt;

while ((q = strchr(p, ' '))) {

                XPUSHs(sv_2mortal(newSVpvn(p, q - p)));

 

                p = q + 1;

}

if (strlen(p) > 0) {

                XPUSHs(sv_2mortal(newSVpvn(p, strlen(p))));

}

 

 

 

Peter