d0223955ace55d49e9d2fcb8c5a5041ff70ac6f7 1642154 |
|
27-Nov-2014 |
jkaluza |
* ap_exr: Add replace(string, from, to) function. |
ad5d19b28d732aa51af79b53dea8ac2d9d363915 1476530 |
|
27-Apr-2013 |
sf |
fix comment |
bf6b5eb3bf3c4a71e6146d4bcd07cf1749dc6d70 1211364 |
|
07-Dec-2011 |
jorton |
* include/: Various doxy markup tweaks. |
8ed293f91e7c2b9866ff024b20c09f7a62b1f640 1204087 |
|
19-Nov-2011 |
sf |
Limit recursion in ap_expr evaluation to avoid unbounded stack usage
* evaluate chains of ||, &&, and string concatenation non-recursively
* limit other types of recursion to 20 levels
* avoid some string copies if concatenating more than 2 strings |
d95a7ac0fe7a06495c3aab5d684b4174f9ab282c 1142164 |
|
02-Jul-2011 |
sf |
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 |
c1ea0100af157a0d4e4a3de323f32dbfac4e5b6e 1128564 |
|
28-May-2011 |
sf |
Add some features to ap_expr for use by mod_include:
* a restricted mode that does not allow to bypass request access restrictions
* new variables DOCUMENT_URI (alias for REQUEST_URI), LAST_MODIFIED
* -A as an alias for -U
* an additional data entry in ap_expr_eval_ctx_t for use by the consumer
* an extensible ap_expr_exec_ctx() API that allows to use that data entry |
79792868b7929def4fa73129c9e7bd575b957b56 1086341 |
|
28-Mar-2011 |
wrowe |
Wrap at 80 |
9160d077717b8137af4fc2f53bd1a5af09c552e5 1044680 |
|
11-Dec-2010 |
sf |
doxygen improvements |
3bd0e50248c06f4a61404a93f9e1acc7f26c8464 1043710 |
|
08-Dec-2010 |
sf |
Fix some doxygen warnings |
68dfc95acc4fde241e0124dd29cdda973bd6ec2c 1042146 |
|
04-Dec-2010 |
sf |
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 |
6b3904b27e9d68c753cdd1fbab9b375eec50fb88 1039900 |
|
28-Nov-2010 |
sf |
- 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 |
1db21ec42c3640e3e0445f4f3ed3e66158d9582c 1039528 |
|
26-Nov-2010 |
sf |
Fix another Windows build issue: Add a wrapper around ap_run_expr_lookup with
the correct calling convention. |
144806982c1764b6bdd45caab786fcd620e9f3b5 1037540 |
|
21-Nov-2010 |
sf |
More ap_expr updates:
- minor bump for ap_expr_exec_re() introduced in r1037504
- actually commit the changes to allow using backreferences in SetEnvIfExpr
- automatically add the correct entries to the Vary-header if the result of
an expression evaluation depends on a request header
(can be turned off by setting the AP_EXPR_FLAGS_DONT_VARY flag)
- set AP_EXPR_FLAGS_DONT_VARY in mod_log_config's conditional logging
- fix various off-by-one errors in req_table_func |
8bc0214116f2225966cf4a806dc183f18e7c3803 1037504 |
|
21-Nov-2010 |
sf |
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 |
8fae12696bce44be9ce4c56888690cad8ac7b8f9 1032073 |
|
06-Nov-2010 |
sf |
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 |
e61ab274672157e823ce68d1b77d86eade1d3dc9 1002415 |
|
29-Sep-2010 |
niq |
Add "IN" operator to expression parser, to evaluate membership of
a list of tokens. Couldn't resist after sf's comment on r1002363!
This means expressions like
<If %{REQUEST_METHOD} IN GET,HEAD,OPTIONS,...>
will work as a drop-in substitute for <Limit>
Also fix off-by-one bug in variable evaluation |
feaca656b298a47325760932c0fbc74600550bcd 1002363 |
|
28-Sep-2010 |
sf |
This is just too easy to not do it: Add an 'expr' authz provider that allows
arbitrary expressions in Require lines.
The main issue I wanted to fix was that the env provider only allows to
check for the existance of an envvar but not the contents. |
8884052e8e3dd8f921e1755844cc1e334eeb4308 795445 |
|
19-Jul-2009 |
niq |
Fix mod_include potential segfault checking backref from unmatched regexp
http://markmail.org/message/jlc7t5edsjujbe37
Patch by rpluem, lars, niq |
24c9d692a9689d4bd19ad881f0de6fd276255768 664173 |
|
07-Jun-2008 |
wrowe |
Declare the callback function NONSTD |
a6eaa6baf8454755ff828a1772e6523672943718 643175 |
|
01-Apr-2008 |
niq |
Remove ap_expr_clone from the API (same day it was added:-) |
a69ee2f93830df6b1270cb9b66ec1a03f6b43640 642971 |
|
31-Mar-2008 |
niq |
Flesh out ap_expr with:
* Re-usable parse trees
* Canonical string parser function (candidate) |
ef6b674389a0fa7791594af79f08283eeeb6dfe0 642631 |
|
29-Mar-2008 |
rpluem |
* Add some doxygen stub / stuff |
caeb59b3f5cdaa3eb600a21a1e11470916b5f9ff 642630 |
|
29-Mar-2008 |
rpluem |
* Prevent multiple "execution" of ap_expr.h contents when included multiple
times and allow it to be included by C++ files. |
f7b130bcb90e84db7538e7ec521d1084963c6671 642629 |
|
29-Mar-2008 |
rpluem |
* For AP_MAX_REG_MATCH we need to ensure that httpd.h is there, otherwise we
fail to compile exports.c |
6c8ca96c03ec294d9f4bddb3cbea14bafda37df9 642596 |
|
29-Mar-2008 |
niq |
Thou shalt not let tabs creep in. |
78a20a6e7ad3a0229900ee54c7d11a65f647b663 642558 |
|
29-Mar-2008 |
niq |
Introduce ap_expr expression parser API |