OSSP CVS Repository

ossp - Difference in ossp-pkg/cfg/00TODO versions 1.3 and 1.4
Not logged in
[Honeypot]  [Browse]  [Home]  [Login]  [Reports
[Search]  [Ticket]  [Timeline
  [History

ossp-pkg/cfg/00TODO 1.3 -> 1.4

--- 00TODO       2002/07/05 17:30:23     1.3
+++ 00TODO       2002/07/08 13:45:46     1.4
@@ -1,7 +1,10 @@
 
+- Problem: \x00 oder \x{00} wird zu NUL-terminator -> use ptr+len instead
+- caStr/cpStr durch yyless/yymore??
 - autoconf environment
 - syntax verification
 - command line query tool
+- error checking in scanner?
 
 - newline in error message
 $ ./cfg_test sample2.cfg 
@@ -11,7 +14,72 @@
 - cfg_t
 
 rewrite-uri <regex> <subst> { <rewrite-cond> }
-rewrite-uri ^/(.*) /path/$1 --redirect=permanent "{
+rewrite-uri ^/(.*) /path/$1 --redirect=permanent q{
     %{SOURCE} != "x" 
-}";
+};
+
+
+Directory [--foo=A]
+
+Argument:
+  - type:
+    - keyword ("foo") via name
+    - option ("--foo=BAR") via name & regex
+    - argument ("foo") via regex
+  - amount:
+    - 1    
+    - 0/1  ?
+    - 0..n *
+    - 1..n +
+  - location:
+    - by position
+    - by name
+  - lookup via:
+    - name
+    - position
+    - regex match
+
+foo   * bar
+foo   = bar|quux|...
+foo   (bar baz quux)
+
+foo  ::= bar*         ;   kleene closure
+foo  ::= bar|baz|quux ;   union
+foo  ::= bar baz quux ;   concatenation
+
+foo  ::= {foo;...}    ;   sequence of ...
+foo  ::= (...)        ;   grouping
+foo  ::= "bar"        ;   fixed terminal
+foo  ::= /bar/        ;   regex terminal
+foo  ::= <A>          ;   arbitrary argument
+foo  ::= <O>          ;   arbitrary option
+
+SEQ ::= "{" DIR DIR* "}"
+DIR ::= TOK (" " TOK)* ";"
+TOK ::= ...
+
+SEQ ::= DIR*     SEQ(dir,dir,...)
+DIR ::= TOK+     DIR(tok,tok,...)
+TOK ::= string   "..."
+
+config        ::= SEQ(directory|user|rewrite|access)
+directory     ::= DIR("directory",<O>*,<A>) 
+dir_options   ::= 
+user          ::= DIR("user",/^[a-z]$/)
+rewrite       ::= 
+access        ::= "access" ("allow"|"deny"):action SEQ(access_list):acl
+access_list   ::= m/^!?%{ID}$/
+
+acl           ::= "acl" TOK:name acl_list
+acl_list      ::= SEQ(acl_entry)
+acl_entry     ::= acl_action "from" net-addr:src "to" net-addr:dst 
+acl_action    ::= "allow"|"deny"
+net_addr      ::= net_hostname | net_ipv4addr | net_ipv6addr
+
+sequence all {
+    directive --class 1;
+};
+directive --class 1 "foo" {
+    option "bar" --occur=1
+};
 

CVSTrac 2.0.1