On 19.07.2020 23:00, Evgeniy Berdnikov via Exim-users wrote:
> On Sun, Jul 19, 2020 at 08:28:34PM +0200, Marcin Gryszkalis via
Exim-users wrote:
>> select regexp_replace('${quote_mysql:$authenticated_id}',
>> '[^A-Za-z0-9_.-]', '') }}/${tod_logfile}
>>
>> I know I could just use
>>     file = /archive/from-${lookup mysql {
>> select '${quote_mysql:$authenticated_id}'}}/${tod_logfile}
>> but I wanted example which matches proposed "detaint" function.
>
>  Try:
>
>  ${lookup {string} nwildlsearch,ret=key {/run/detaint}\
>         {expr-if-matched}{expr-if-fail}}
>
>  where /run/detaint is file with character filter, in your case it may be
>  a single string with regex ^[\w\.\-]$ or
>
>  ^[A-Za-z0-9_\.\-]+$

As I understand this uses the change mentioned in 4.94-rc0 changes:

"- - An option on all single-key lookups, to return (on a hit)
a de-tainted version of the lookup key rather than the looked-up data."


If so - then I don't really understand why this is any better than
proposed string expansion detaint{$val}{regexp/charlist}...

best regards
-- 
Marcin Gryszkalis, PGP 0xA5DBEEC7 http://fork.pl/gpg.txt

-- 
## List details at https://lists.exim.org/mailman/listinfo/exim-users
## Exim details at http://www.exim.org/
## Please use the Wiki with this list - http://wiki.exim.org/

Reply via email to