mirror of
https://git.haproxy.org/git/haproxy.git/
synced 2025-09-24 23:31:40 +02:00
The purpose is to build a descendent parser that will split conditions into expressions made of terms. There are two phases, a parsing phase and an evaluation phase. Strictly speaking it's not required to cut that in two right now, but it's likely that in the future we won't want certain predicates to be evaluated during the parsing (e.g. file system checks or execution of some external commands). The cfg_eval_condition() function is now much simpler, it just tries to parse a single term, and if OK evaluates it, then returns the result. Errors are unchanged and may still be reported during parsing or evaluation. It's worth noting that some invalid expressions such as streq(a,b)zzz continue to parse correctly for now (what remains after the parenthesis is simply ignored as not necessary).