diff options
author | Greg Stein <gstein@apache.org> | 2000-04-24 14:00:43 +0200 |
---|---|---|
committer | Greg Stein <gstein@apache.org> | 2000-04-24 14:00:43 +0200 |
commit | c2c13c67c3a3665cf7ad1cca06c23b032dedbbce (patch) | |
tree | 4f579f99ba703114e8d0495fc2e41992b6265af2 /include/util_cfgtree.h | |
parent | handle error messages during building and processing of the configuration. (diff) | |
download | apache2-c2c13c67c3a3665cf7ad1cca06c23b032dedbbce.tar.xz apache2-c2c13c67c3a3665cf7ad1cca06c23b032dedbbce.zip |
clean up cmd_parms: config_file is no longer valid; end_token is bogus;
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
Diffstat (limited to 'include/util_cfgtree.h')
-rw-r--r-- | include/util_cfgtree.h | 8 |
1 files changed, 7 insertions, 1 deletions
diff --git a/include/util_cfgtree.h b/include/util_cfgtree.h index 6a4a2f6f27..d8e5bc8c7d 100644 --- a/include/util_cfgtree.h +++ b/include/util_cfgtree.h @@ -58,10 +58,16 @@ typedef struct ap_directive_t { const char *directive; const char *args; - int line_num; struct ap_directive_t *next; struct ap_directive_t *first_child; struct ap_directive_t *parent; + + void *data; /* directive's module can store add'l data here */ + + /* ### these may go away in the future, but are needed for now */ + const char *filename; + int line_num; + } ap_directive_t; ap_directive_t *ap_add_node(ap_directive_t **parent, ap_directive_t *current, |