Wakko Warner wrote:
> IMO the ACL section of exim has sort of evolved into a type of programming
> language.  With that said, what you have stated reminds me of some
> programming techniques that are quite bad.  That is passing data to routines
> using global variables.  You stated this way of programming (Or configuring
> in the exim sense) is less clutter.  At the time that I did this, it was
> quite annoying to use up 3-4 ACL variables so I could pass information
> between ACL statements which lowered the available variables available to
> hold other information.  Granted things have changed and may not be as big a
> deal now.
>
> I still feel that doing something like:
>       warn    acl=some_acl($var1, $var2)
>               or keeping with the exim sense:
>               acl=some_acl{$var1}{$var2}
> would still be preferable to 
>       warn    set $acl_m_var1=$var1
>               set $acl_m_var2=$var2
>               acl=some_acl
>
> $varX are just examples obviously and not valid in a real configuration.
> In my case, these would be just text.  My config has an "acl routine" that
> does database query and may update a table  depending on the "data" passed
> to it and data it gathered from the database.
>
> I have not thought about how data should be returned once the "routine"
> completes.
>
> However, I would agree that this functionality would be a wishlist item and
> something I would not expect to see anytime in the near future.
>
>   

That's what I have in mind. At this point I'm not concerned about 
returning anything but I would think that passing parameters would be 
fairly simple. You just grab the parameters and put them in some 
standard names.

acl=some_acl($var1, $var2)

would be the same as:

set $param1 = $var1
set $param2 = $var2
acl = some_acl

How about it Graeme? You're pretty good that this.



-- 
## List details at http://lists.exim.org/mailman/listinfo/exim-users 
## Exim details at http://www.exim.org/
## Please use the Wiki with this list - http://wiki.exim.org/

Reply via email to