diff options
-rw-r--r-- | ChangeLog | 5 | ||||
-rw-r--r-- | doc/mailfromd.texi | 18 |
2 files changed, 22 insertions, 1 deletions
@@ -7,3 +7,3 @@ * src/gram.y: Implement functions, function calls and new - conditional `validuser' + conditionals `validuser' and `dbmap' * src/lex.l: Likewise @@ -13,2 +13,5 @@ (function_lookup,function_install): New function + (node_type): New type node_type_dbmap + (struct dbmap_node): New data type + (struct node): New member `map'. * src/main.c: Use enum instead of defines for long option codes. diff --git a/doc/mailfromd.texi b/doc/mailfromd.texi index 51be5e3a..b9629c68 100644 --- a/doc/mailfromd.texi +++ b/doc/mailfromd.texi @@ -749,2 +749,20 @@ expressions are implemented: @table @code +@item dbmap @var{file} @var{atom} + @var{file} should be a literal string, @var{atom} an arbitrary +atom which evaluates to a valid string. This conditional returns +@code{true} if the key @var{atom} is present in the @acronym{DBM} file +@var{file}. If @var{atom} contains a @samp{@@} character, only the +part before this character will be used, thus allowing to check emails +against the aliases database: + +@smallexample +@group +if not dbmap "/etc/mail/aliases" $f + @dots{} +fi +@end group +@end smallexample + +Notice that @var{file} must not end in @samp{.db} suffix. + @item hostname @var{atom} |