This is a port of my 1.3 patch which allows error response strings to be
translated from ebcdic to ascii. This bug is triggered by trying to
access a non-existant .gif for example. The content type starts out
being image/gif but is switched by error processing to text/html.
Without this patch, ap_checkconv() is called too early (before the error
processing), so the ebcdic conversion flag gets turned off and the
eventual "404 Not Found" error response is sent to the browser still in
ebcdic. Not very pretty.
Submitted by: Greg Ames
Reviewed by: Jeff Trawick
git-svn-id: https://svn.apache.org/repos/asf/httpd/httpd/trunk@85040 13f79535-47bb-0310-9956-ffa450edef68
pass the first child, rather than expecting the walker to do it.
remove the nasty "static" variable inside ap_walk_config(). it now walks the
tree provided with no worries about bumping up/down levels.
minor refactor between ap_walk_config() and ap_walk_config_sub() to clean up
some logic and clarify the code.
git-svn-id: https://svn.apache.org/repos/asf/httpd/httpd/trunk@85025 13f79535-47bb-0310-9956-ffa450edef68
add directive.
move configfile_t and functions from httpd.h to http_config.h
new signature for ap_build_config() (since config_file removed from cmd_parms)
add "data" to ap_directive_t for future use by modules. add filename.
syntax checking for section-close directives: a section-open must exist,
the section-close must be </FOO>, and the open/close must match.
the file as a whole must be properly balanced (issue errors for each
unmatched section-open).
</FOO> command_rec structures are obsolete. Remove from http_core.c.
do not store </FOO> directives in the config tree.
clean out section-close logic from http_core.c (and old, related comments)
<Limit> and <LimitExcept> must walk their children.
new mechanism in ap_check_cmd_context() for testing enclosure in a
Directory/Location/File: find_parent()
<IfModule> and <IfDefine> must pass cmd->context when walking the children
several places: we had a walk followed by ap_get_module_config(). that
assumed the walk would create a config that we could fetch, which is not
true -- it is possible that the children are all from other modules
(e.g. the <Files> section in httpd.conf-dist has no "core" directives).
using ap_set_config_vectors() ensures we get a structure, and it returns
it to us.
[ note: when we had </Directory> (and friends) in the tree, the config
would get created; removing the directive removed the config; this
was a bitch to track down :-) ]
git-svn-id: https://svn.apache.org/repos/asf/httpd/httpd/trunk@85024 13f79535-47bb-0310-9956-ffa450edef68
add missing return statements, wrap some lines, remove unused vars.
move syntax error reporting and exit(1) back to the right place (to be
fixed in a future pass; the exit() is inappropriate for parsing
.htaccess files).
git-svn-id: https://svn.apache.org/repos/asf/httpd/httpd/trunk@85023 13f79535-47bb-0310-9956-ffa450edef68
ap_canonical_errror() for Unix now maps EWOULDBLOCK to EAGAIN/APR_EAGAIN
when appropriate so that the changes here (as well as bjh's changes from a
few days ago) to call ap_canonical_error() before comparing with EWOULDBLOCK
will work on Unix as well.
git-svn-id: https://svn.apache.org/repos/asf/httpd/httpd/trunk@85019 13f79535-47bb-0310-9956-ffa450edef68
error condition or receiving EOF on the pipe read. This patch
assumes that a read returning APR_SUCCESS with 0 bytes read is equivalent
to an EOF.
Submitted by: Dean Gaudet
Reviewed by: Bill Stoddard
git-svn-id: https://svn.apache.org/repos/asf/httpd/httpd/trunk@84965 13f79535-47bb-0310-9956-ffa450edef68
my production hosts. Still checking and this also
exposes the lack of EBCDIC and the NOT_PROXY change
which is done since 1.3.9
PR:
Obtained from:
Submitted by:
Reviewed by:
git-svn-id: https://svn.apache.org/repos/asf/httpd/httpd/trunk@84785 13f79535-47bb-0310-9956-ffa450edef68
ErrorDocument 201 "Some string without a closing quote
case which is just pure ugly. I am _NOT_ going to be offended
if anyone rolls back this patch OR if anyone suggests to have
an ErrorDocument2 which the proper syntax/semantics.
But I thought lets take my chance whilst everyone is still
recovering from the apachecon.
Dw.
PR:
Obtained from:
Submitted by:
Reviewed by:
git-svn-id: https://svn.apache.org/repos/asf/httpd/httpd/trunk@84764 13f79535-47bb-0310-9956-ffa450edef68
to begin using APR socket API.
Note:
sendfile on Unix side is broken. Need to detect for NULL hdtr. I'll do
it later this week if no one else steps up.
git-svn-id: https://svn.apache.org/repos/asf/httpd/httpd/trunk@84529 13f79535-47bb-0310-9956-ffa450edef68
to understand that he was right. :-) Basically, this makes the modules
use ap_config to test for header file inclusion. This method is not to
be used for larger modules that run autoconf theirselves. Including
ap_config is only valid for modules which rely on Apache to do their
configuration. Currently, this is only the core modules.
git-svn-id: https://svn.apache.org/repos/asf/httpd/httpd/trunk@84497 13f79535-47bb-0310-9956-ffa450edef68
all of the Apache macros that modules don't need access to. This should
have been committed with the modules, but I wasn't paying attention to the
directory I was in when I ran the commit.
Submitted by: Manoj Kasichainula and Ryan Bloom
git-svn-id: https://svn.apache.org/repos/asf/httpd/httpd/trunk@84493 13f79535-47bb-0310-9956-ffa450edef68
protects most, if not all, of the Apache macros. This has been tested on
Linux using all of the Unix MPM's. The biggest push was that Apache's
httpd.h header file can no longer include the ap_config.h file. Most of the
other files include this themselves now.
Submitted by: Ryan Bloom and Manoj Kasichainula
git-svn-id: https://svn.apache.org/repos/asf/httpd/httpd/trunk@84492 13f79535-47bb-0310-9956-ffa450edef68
- ap_time_t is a 64-bit scalar, microseconds since epoch
- ap_exploded_time_t corresponds to struct tm with a few extras
probably broken on anything except linux.
git-svn-id: https://svn.apache.org/repos/asf/httpd/httpd/trunk@84413 13f79535-47bb-0310-9956-ffa450edef68
number of them, but I think there are more time values still in the Apache
code. This works under Linux, but has not been tested anywhere else.
git-svn-id: https://svn.apache.org/repos/asf/httpd/httpd/trunk@84338 13f79535-47bb-0310-9956-ffa450edef68