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
When DSOs are unloaded and re-loaded the old hook pointers may
no longer be valid. This fix eliminates potential segfaults.
git-svn-id: https://svn.apache.org/repos/asf/httpd/httpd/trunk@84828 13f79535-47bb-0310-9956-ffa450edef68
are best described as feature creep. Allows ${ENV} constructs
in the config file. This avoids the need for mod_perl or
m4 cleverness whilst mainting some of the usefullness. It
does not do (of course) multiline things or anything that clever.
Feel free to flame me.
PR:
Obtained from:
Submitted by:
Reviewed by:
git-svn-id: https://svn.apache.org/repos/asf/httpd/httpd/trunk@84765 13f79535-47bb-0310-9956-ffa450edef68
We need to define MODULE_VAR_EXPORT, API_EXPORT, API_VAR_EXPORT, et. al.
in an os specific way and the definitions need to be done as soon as possible
in the include file chain. I choose to use os.h as the preferred mechanism
for doing this (for now anyway) since this is they way it was done for
Apache 1.3. win32/os.h and unix/os.h probably have some Apache private macro
definitions that are being exposed publicly because of this patch. The solution
to this problem is to remove the private definitions from os.h.
git-svn-id: https://svn.apache.org/repos/asf/httpd/httpd/trunk@84551 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
- 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
Reviewed by: Rasmus Lerdorf
- INADDR_NONE is not defined. Supply a replacement
- APACHE_MODULE() used a non-portable shell construct
- inet_addr() needs -lnsl -lsocket. Neccessary checks added
- For POSIX conformance, _POSIX_PTHREAD_SEMANTICS is
required. This fixes i.e. sigwait() problems.
git-svn-id: https://svn.apache.org/repos/asf/httpd/httpd/trunk@84367 13f79535-47bb-0310-9956-ffa450edef68