Nikolai Kondrashov wrote:
Still, can you provide more details?
String comparisons were sometimes handled inconsistently. Let's take regular expressions as an example: if (Filter-Id =~ /foo/) { The previous code would print the value of the Filter-Id to a string, and then perform the regex check on the printed string. That meant that certain characters like ", ', etc. which were in the Filter-Id were escaped " --> \", etc. That escaping made it difficult to create a regex which matched. The new behavior is that the regex checks are performed on the Filter-Id string, without any modifications. This means that " is just itself. The good news is that this change should have minimal effect. The example Filter-Id regex above will work the same way, and won't have it's behavior change. The ONLY change is for regexes, string compares, etc. which have embedded quotes, backslashes, etc. in them. Previously, the "special" characters had to be escaped. Now they don't.
As this has potential of breaking user configurations, we (Red Hat) should try to be as specific as possible to help people avoid or quickly fix the issues.
It would also help if RedHat upgraded their version of FreeRADIUS to something other than 2.1.12. That is causing ME problems for support. People keep coming here to complain about issues, because you shipping a version which is 4 years old. It works both ways. If you want us to help you, it would be polite to help us. So far, the only contributions we've seen from RedHat are bugs fixes for the RedHat builds, and complaints that we need to do more work.
Or, if there are particular pieces of changed code which are easy to list, I can try to understand what changed myself.
The git history is publicly available. Alan DeKok.