On Tue, Aug 02, 2005 at 07:14:10PM +0200, Martin Kraemer wrote: > Of course. BTW: do you think case insensitivity for the keywords > is a good idea? I do, but I don't know if it would cause > misinterpretation for some existing config files. Like, when > someone was looking for a string "EQ", will the parser now bail > out because it becomes a keyword?
I saw no discussion about this question. What does everybody think -- should I apply something like the appended patch to allow for a more liberal syntax, e.g. using "AND", "oR" or "In" in the example directive from the docs: SSLRequire ( %{SSL_CIPHER} !~ m/^(EXP|NULL)-/ \ and %{SSL_CLIENT_S_DN_O} eq "Snake Oil, Ltd." \ and %{SSL_CLIENT_S_DN_OU} in {"Staff", "CA", "Dev"} \ and %{TIME_WDAY} >= 1 and %{TIME_WDAY} <= 5 \ and %{TIME_HOUR} >= 8 and %{TIME_HOUR} <= 20 ) \ or %{REMOTE_ADDR} =~ m/^192\.76\.162\.[0-9]+$/ WDYT? Martin -- <[EMAIL PROTECTED]> | Fujitsu Siemens Fon: +49-89-636-46021, FAX: +49-89-636-48332 | 81730 Munich, Germany
Index: ssl_expr_scan.l =================================================================== --- ssl_expr_scan.l (Revision 290101) +++ ssl_expr_scan.l (Arbeitskopie) @@ -152,27 +152,27 @@ /* * Operators */ -"eq" { return T_OP_EQ; } +[Ee][Qq] { return T_OP_EQ; } "==" { return T_OP_EQ; } -"ne" { return T_OP_NE; } +[Nn][Ee] { return T_OP_NE; } "!=" { return T_OP_NE; } -"lt" { return T_OP_LT; } +[Ll][Tt] { return T_OP_LT; } "<" { return T_OP_LT; } -"le" { return T_OP_LE; } +[Ll][Ee] { return T_OP_LE; } "<=" { return T_OP_LE; } -"gt" { return T_OP_GT; } +[Gg][Tt] { return T_OP_GT; } ">" { return T_OP_GT; } -"ge" { return T_OP_GE; } +[Gg][Ee] { return T_OP_GE; } ">=" { return T_OP_GE; } "=~" { return T_OP_REG; } "!~" { return T_OP_NRE; } -"and" { return T_OP_AND; } +[Aa][Nn][Dd] { return T_OP_AND; } "&&" { return T_OP_AND; } -"or" { return T_OP_OR; } +[Oo][Rr] { return T_OP_OR; } "||" { return T_OP_OR; } -"not" { return T_OP_NOT; } +[Nn][Oo][Tt] { return T_OP_NOT; } "!" { return T_OP_NOT; } -"in" { return T_OP_IN; } +[Ii][Nn] { return T_OP_IN; } [Oo][Ii][Dd] { return T_OP_OID; } /*