Mercurial > dnsbl
view src/dnsbl.h @ 83:99049fdc7320
start coding on new config syntax
author | carl |
---|---|
date | Sun, 17 Jul 2005 07:58:34 -0700 |
parents | 81f1e400e8ab |
children | c1280cd3e248 |
line wrap: on
line source
#ifndef dnsbl_include #define dnsbl_include #include "context.h" extern bool debug_syslog; class recorder; class url_scanner; //////////////////////////////////////////////// // mail filter private data, held for us by sendmail // struct mlfiPriv { // connection specific data CONFIG *pc; // global filtering configuration int fd; // to talk to dns resolvers process bool err; // did we get any errors on the resolver socket? int ip; // ip4 address of the smtp client map<DNSBLP, bool> checked; // map of dnsblp to result of (ip listed on that dnsbl) // message specific data char *mailaddr; // envelope from value char *queueid; // sendmail queue id bool authenticated; // client authenticated? if so, suppress all dnsbl checks bool have_whites; // have at least one whitelisted recipient? need to accept content and remove all non-whitelisted recipients if it fails bool only_whites; // every recipient is whitelisted? context_map env_to; // map each non-whitelisted recipient to their filtering context recorder *memory; // memory for the content scanner url_scanner *scanner; // object to handle body scanning char *content_suffix; // content filtering parameters char *content_message; // "" string_set *content_host_ignore; // "" mlfiPriv(); ~mlfiPriv(); void reset(bool final = false); // for a new message void get_fd(); void return_fd(); int my_read(char *buf, int len); int my_write(char *buf, int len); void need_content_filter(char *rcpt, CONTEXT &con); }; void my_syslog(mlfiPriv *priv, char *text); void my_syslog(char *text); #endif