summaryrefslogtreecommitdiffstats
path: root/include/util_cfgtree.h
diff options
context:
space:
mode:
authorGreg Stein <gstein@apache.org>2000-04-24 14:00:43 +0200
committerGreg Stein <gstein@apache.org>2000-04-24 14:00:43 +0200
commitc2c13c67c3a3665cf7ad1cca06c23b032dedbbce (patch)
tree4f579f99ba703114e8d0495fc2e41992b6265af2 /include/util_cfgtree.h
parenthandle error messages during building and processing of the configuration. (diff)
downloadapache2-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.h8
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,