diff options
author | Philip Hazel <ph10@hermes.cam.ac.uk> | 2006-09-19 11:28:44 +0000 |
---|---|---|
committer | Philip Hazel <ph10@hermes.cam.ac.uk> | 2006-09-19 11:28:44 +0000 |
commit | 38a0a95ff69327042421b9ee6982e386175f141b (patch) | |
tree | 30f841f97c161410d550780e3fa3aa47e6afe5b8 /src/exim_monitor | |
parent | d45b1de81aa47cef4ca098a4b2725d855b154162 (diff) |
Apply Jakob Hirsch's patch for arbitrary ACL variable names, tidied up
just a little bit.
Diffstat (limited to 'src/exim_monitor')
-rw-r--r-- | src/exim_monitor/em_globals.c | 7 | ||||
-rw-r--r-- | src/exim_monitor/em_queue.c | 25 |
2 files changed, 27 insertions, 5 deletions
diff --git a/src/exim_monitor/em_globals.c b/src/exim_monitor/em_globals.c index 621d8b207..361ac4e78 100644 --- a/src/exim_monitor/em_globals.c +++ b/src/exim_monitor/em_globals.c @@ -1,4 +1,4 @@ -/* $Cambridge: exim/src/exim_monitor/em_globals.c,v 1.9 2006/02/07 11:18:59 ph10 Exp $ */ +/* $Cambridge: exim/src/exim_monitor/em_globals.c,v 1.10 2006/09/19 11:28:45 ph10 Exp $ */ /************************************************* * Exim Monitor * @@ -117,9 +117,8 @@ that fires up the monitor fishes the value out by using -bP anyway. */ #define SPOOL_DIRECTORY "" #endif - -uschar *acl_var[ACL_CVARS + ACL_MVARS]; - +tree_node *acl_var_c = NULL; +tree_node *acl_var_m = NULL; uschar *active_hostname = NULL; BOOL allow_unqualified_recipient = FALSE; BOOL allow_unqualified_sender = FALSE; diff --git a/src/exim_monitor/em_queue.c b/src/exim_monitor/em_queue.c index ec54116a0..212b15136 100644 --- a/src/exim_monitor/em_queue.c +++ b/src/exim_monitor/em_queue.c @@ -1,4 +1,4 @@ -/* $Cambridge: exim/src/exim_monitor/em_queue.c,v 1.4 2006/02/14 14:26:15 ph10 Exp $ */ +/* $Cambridge: exim/src/exim_monitor/em_queue.c,v 1.5 2006/09/19 11:28:45 ph10 Exp $ */ /************************************************* * Exim Monitor * @@ -125,6 +125,29 @@ store_free(p); /************************************************* +* Set up an ACL variable * +*************************************************/ + +/* The spool_read_header() function calls acl_var_create() when it reads in an +ACL variable. We know that in this case, the variable will be new, not re-used, +so this is a cut-down version, to save including the whole acl.c module (which +would need conditional compilation to cut most of it out). */ + +tree_node * +acl_var_create(uschar *name) +{ +tree_node *node, **root; +root = (name[0] == 'c')? &acl_var_c : &acl_var_m; +node = store_get(sizeof(tree_node) + Ustrlen(name)); +Ustrcpy(node->name, name); +node->data.ptr = NULL; +(void)tree_insertnode(root, node); +return node; +} + + + +/************************************************* * Set up new queue item * *************************************************/ |