1
0
mirror of https://github.com/apache/httpd.git synced 2026-01-13 21:42:17 +03:00
Commit Graph

11 Commits

Author SHA1 Message Date
Eric Covener
31fa28d314 avoid non-continous ranges in EBCDIC in the scanner, important characters like '{' come
between alphas in IBM1047.

(If you're reading this because you're building 2.4-or-later on z/OS, you'll have to build a new flex
with the system flex and system bison. flex-2.5.35 worked.)



git-svn-id: https://svn.apache.org/repos/asf/httpd/httpd/trunk@1519485 13f79535-47bb-0310-9956-ffa450edef68
2013-09-02 17:55:28 +00:00
Stefan Fritsch
7e127cc393 Properly log flex fatal errors and abort(), instead of the
default of fprintf(stderr, ...) and exit(2)


git-svn-id: https://svn.apache.org/repos/asf/httpd/httpd/trunk@1405770 13f79535-47bb-0310-9956-ffa450edef68
2012-11-05 12:39:03 +00:00
Stefan Fritsch
8281a318cf Do proper length checks in the expression scanner. This allows to remove the
8K length limit for expressions. Strings/Regexs in an expression are still
limited to 8K, though.


git-svn-id: https://svn.apache.org/repos/asf/httpd/httpd/trunk@1157362 13f79535-47bb-0310-9956-ffa450edef68
2011-08-13 09:59:43 +00:00
Stefan Fritsch
46d4791a5d Add string valued expressions to ap_expr, do some API cleanup
- add possibility to have expressions that evaluate to a string and not to
  a boolean value
- modify ap_expr_parse_cmd() interface to support this and make it more
  convenient to use in general
- rename AP_EXPR_FLAGS_* to AP_EXPR_FLAG_* for consistency


git-svn-id: https://svn.apache.org/repos/asf/httpd/httpd/trunk@1142164 13f79535-47bb-0310-9956-ffa450edef68
2011-07-02 07:45:00 +00:00
Stefan Fritsch
b93e49391b Rename ap_expr's typedef names:
ap_expr            ->  ap_expr_t
ap_expr_parse_ctx  ->  ap_expr_parse_ctx_t
ap_expr_eval_ctx   ->  ap_expr_eval_ctx_t
ap_expr_lookup_fn  ->  ap_expr_lookup_fn_t
ap_expr_node_op    ->  ap_expr_node_op_e


git-svn-id: https://svn.apache.org/repos/asf/httpd/httpd/trunk@1042146 13f79535-47bb-0310-9956-ffa450edef68
2010-12-04 11:22:30 +00:00
Stefan Fritsch
e27a3c21e3 - add -ipmatch, -str(c)match, -fnmatch, -R operators to ap_expr
- allow lookup function to pre-parse string constant arguments 
  (used for subnet masks so far)
- various bug fixes for binary operators
- do strdup() for error messages created on the stack to avoid corruption


git-svn-id: https://svn.apache.org/repos/asf/httpd/httpd/trunk@1039900 13f79535-47bb-0310-9956-ffa450edef68
2010-11-28 16:35:14 +00:00
Stefan Fritsch
cf0e2c3a46 Fix some Windows build issues
git-svn-id: https://svn.apache.org/repos/asf/httpd/httpd/trunk@1039204 13f79535-47bb-0310-9956-ffa450edef68
2010-11-25 22:27:17 +00:00
Stefan Fritsch
6ef1911acc ap_expr related fixes/enhancements:
- implement regex backreferences and make them available for setting 
  envvars in SetEnvIfExpr
- implement nested function calls in %-syntax: %{func1:%{func2:arg}} 
- actually implement evaluation of concatenation operator (oops...)
- Fix <If ... > treating an internal error as success


git-svn-id: https://svn.apache.org/repos/asf/httpd/httpd/trunk@1037504 13f79535-47bb-0310-9956-ffa450edef68
2010-11-21 17:22:26 +00:00
Stefan Fritsch
aafd50dec1 Supress generation of unused yy_top_state function, to avoid a compiler
warning. Regenerate the scanner code with flex.


git-svn-id: https://svn.apache.org/repos/asf/httpd/httpd/trunk@1033594 13f79535-47bb-0310-9956-ffa450edef68
2010-11-10 17:22:20 +00:00
Stefan Fritsch
94c5270ab5 More fixes for picky compilers
git-svn-id: https://svn.apache.org/repos/asf/httpd/httpd/trunk@1032268 13f79535-47bb-0310-9956-ffa450edef68
2010-11-07 13:00:00 +00:00
Stefan Fritsch
35cdba6976 Replace ap_expr with a parser derived from mod_ssl's parser. Make mod_ssl use
the new parser. Rework ap_expr's public interface and provide hooks for modules
to add variables and functions.

The Netware and Windows build files still need to be adjusted


git-svn-id: https://svn.apache.org/repos/asf/httpd/httpd/trunk@1032073 13f79535-47bb-0310-9956-ffa450edef68
2010-11-06 14:31:16 +00:00