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; }
 
  /*

Reply via email to