Hello, I'm currently running into a wall with what should be a simple escaping question. Apologies if this is documented in unlang.5 - I looked but didn't find it there. The thing is that I want to run an authorize_check_query: authorize_check_query = "\ SELECT 1 as id, username, 'Expiration' AS attribute, date_format(stoptime, '\%d \%b \%Y \%H:\%i') AS value, ':=' AS op \ FROM expirationinfo \ WHERE username = '%{SQL-User-Name}' AND starttime <= NOW() ORDER BY value DESC LIMIT 1" The whole thing needs to be a double-quoted string because I want the expansion of %{SQL-User-Name} to happen. However, there is a problem with the part that does date_format. date_format wants literal % characters. The above while FreeRADIUS-syntactically correct does not yield the expected results: the \ characters are coming back as part of the format string of the date_format function in MySql, like "\19 \Jul \2099 \23:\59" But if I omit the \ in front of the % then the FreeRADIUS parser fails on the string because the % is not followed by a valid expansion. Now the unlang manpage tells me that \" leads to a literal " but apparently \% does not lead to a literal %. So the question really is: how do I keep a literal % inside a double-quoted string? Greetings, Stefan Winter -- Stefan WINTER Ingenieur de Recherche Fondation RESTENA - Réseau Téléinformatique de l'Education Nationale et de la Recherche 2, avenue de l'Université L-4365 Esch-sur-Alzette Tel: +352 424409 1 Fax: +352 422473 PGP key updated to 4096 Bit RSA - I will encrypt all mails if the recipient's key is known to me http://pgp.mit.edu:11371/pks/lookup?op=get&search=0xC0DE6A358A39DC66
participants (2)
-
Dom Latter -
Stefan Winter