internalise the ap_reg*<->PCRE wrapper:
* configure.in: Add srclib/pcre to the include path.
* include/ap_regex.h: Renamed from include/pcreposix.h. Prefix all
constants with AP_; prefix all functions and types with ap_. Define
AP_DECLARE to nothing if necessary. Remove regcomp error codes.
* include/httpd.h: Include ap_regex.h not pcreposix.h.
(ap_pregcomp, ap_regexec, ap_regfree): s/regex_t/ap_regex_t/.
(ap_regexec, ap_regerror): Prototypes moved to ap_regex.h.
* server/util.c (regex_cleanup, ap_pregcomp, ap_pregsub, ap_pregfree):
Adjust for ap_ prefixed types. (ap_regexec, ap_regerror): Removed.
* server/Makefile.in: Build util_pcre.c.
* server/util_pcre.c: Copied from srclib/pcre/pcreposix.c; remove use
of PCRE-internals to do error mapping; rename types to add AP_/ap_
prefixes as above. Use APR includes. (ap_regerror): Use apr_snprintf.
* srclib/pcre/Makefile.in: Don't build pcreposix.c into libpcre.la.
* modules/*: Update to use new type and constant names.
PR: 27750 (part one)
Submitted by: Andres Salomon <dilinger voxel.net>, Joe Orton
git-svn-id: https://svn.apache.org/repos/asf/httpd/httpd/trunk@153384 13f79535-47bb-0310-9956-ffa450edef68
Instead there's a new optional flag for the Header directive
('always'), which keeps the former ErrorHeader functionality.
The opposite flag to 'always' is 'onsuccess'. So the new directives are written
as:
Header set foo bar
# which is the same as
Header onsuccess set foo bar
# and a subset of
Header always set foo bar
# which is what the ErrorHeader directive did.
Reviewed by: Brad Nicholes
git-svn-id: https://svn.apache.org/repos/asf/httpd/httpd/trunk@103920 13f79535-47bb-0310-9956-ffa450edef68
without the overhead of SSLOptions +StdEnvVars/+ExportCertData; also
ensure that any multi-line envvars are unwrapped onto a single line.
* modules/metadata/mod_headers.c (header_request_ssl_var, unwrap_header,
header_post_config): New functions.
(header_pre_config): Register the 's' tag type.
(register_hooks): Add the post_config hook.
PR: 23223
git-svn-id: https://svn.apache.org/repos/asf/httpd/httpd/trunk@102809 13f79535-47bb-0310-9956-ffa450edef68
arbitrary code before the handlers are invoked.
This resolves an issue with incorrect 304s on If-Modified-Since mod_include
requests since ap_meets_conditions() is not aware that this is a dynamic
request and it is not possible to satisfy 304 for these requests (unless
xbithack full is on, of course). When mod_include runs as a filter, it is
too late to set any flag since the handler is responsible for calling
ap_meets_conditions(), which it should do before generating any data.
If a module doesn't need to run such arbitrary code, it can just pass NULL
as the argument and all is well.
PR: 9673
Reviewed by: Ryan Bloom and others
git-svn-id: https://svn.apache.org/repos/asf/httpd/httpd/trunk@95906 13f79535-47bb-0310-9956-ffa450edef68
expectations of their usage.
The reason that we should make this change now is that we have changed
the implied meaning of AP_FTYPE_HTTP_HEADER - some users of this should
be PROTOCOL while others should be CONTENT_SET. In order to clarify it,
toss all of the bogus names and force the filter writers to make sure
they understand what they are doing.
CONTENT_SET is new (horrible name - change if you have better idea), but
it indicates that it should run between RESOURCE and PROTOCOL.
mod_deflate is the ideal CONTENT_SET filter.
The changed type names are:
CONTENT is now RESOURCE.
HTTP_HEADER is now PROTOCOL. However, most filters that used HTTP_HEADER
may want CONTENT_SET. (Only things like POP and HTTP belong as PROTOCOL.)
MMN bump since all filters need to be recompiled due to filter reordering.
git-svn-id: https://svn.apache.org/repos/asf/httpd/httpd/trunk@93756 13f79535-47bb-0310-9956-ffa450edef68
add, append and set. Use SetEnvIf to set an envar and conditionally
add/append/set headers based on this envar thusly:
SetEnvIf TSMyHeader value HAVE_TSMyHeader
Header add MyHeader "%t %D" env=HAVE_TSMyHeader
If the request contains header "TSMyHeader: value" then header
MyHeader: "t=xxxxxxxxxx D=yyyy" will be sent on the response.
Update mod_headers.html.
git-svn-id: https://svn.apache.org/repos/asf/httpd/httpd/trunk@89271 13f79535-47bb-0310-9956-ffa450edef68
header values. Configure thusly:
Header add MyHeader "%t %D yadda"
%t is the time the request was received relative to CUT since the epoch measured in microseconds.
%D is the time delta from the time the request was received to the time the headers are sent
on the wire. To facilitate parsing the header response, %D results in the string D=xxx and
%t results in the string t=xxx. Thus the config directive above will result in this header
being included in the response:
MyHeader: t=991424704447256 D=3775428 yadda
git-svn-id: https://svn.apache.org/repos/asf/httpd/httpd/trunk@89255 13f79535-47bb-0310-9956-ffa450edef68
add custom headers to inbound requests using the HeaderIn directive
and to responses using the HeaderOut directive. The Header
directive has been deprecated in favor of the HeaderOut directive.
Submitted by: Graham Leggett
Reviewed by: Bill Stoddard
git-svn-id: https://svn.apache.org/repos/asf/httpd/httpd/trunk@89165 13f79535-47bb-0310-9956-ffa450edef68
some type safety. (unfortunately, our old "void*" is type-safe with the
new one, but over time we should be better)
*) Propagate the new type to all appropriate functions.
*) Random cleaning, whitespace, stylistic nits.
git-svn-id: https://svn.apache.org/repos/asf/httpd/httpd/trunk@88225 13f79535-47bb-0310-9956-ffa450edef68