Stephan Jaeger wrote:
I have a problem with german umlauts in Acct-(Multi-)Session-Id. RFC2866 states that the string should be UTF8 encoded which it is. But the sql_escape_func of rlm_sql does not account for utf characters and iterates the string byte by byte. What approach would be best here?
src/lib/print.c contains a function utf8_char. It could be made public, and used to do proper character checks on UTF-8 strings. However, we can't make this functionality the default in the SQL module. I would suggest making it optional in the SQL module: sql { utf8 = yes # ALL characters in ALL tables are utf-8 ... } Then in sql_escape_func(), check for utf8, and use the utf8_char function to skip ahead, instead of doing "str++" Alan DeKok.