# Revision 1.35 2013/03/14 22:11:25 customdesigned # Release 0.9.8 # # Revision 1.34 2013/03/09 05:42:14 customdesigned # Make TestBase members private, fix getsymlist misspelling. # # Revision 1.33 2013/03/09 00:25:23 customdesigned # Better untrapped exception message. const char for doc comments. # # Revision 1.32 2013/01/13 01:46:16 customdesigned # Doc updates. # # Revision 1.31 2012/04/12 23:32:50 customdesigned # Replace redundant callback array with macros. If this doesn't break anything, # macros can be eliminated with code changes. # # Revision 1.30 2012/04/12 23:08:06 customdesigned # Support RFC2553 on BSD # # Revision 1.29 2011/06/09 15:45:27 customdesigned # Print callback name for non-int return error. # # Revision 1.28 2011/06/08 23:13:48 customdesigned # Generate special exception when callback return not int. # # Revision 1.27 2009/07/28 21:45:54 customdesigned # Add getversion() to return runtime version. # # Revision 1.26 2009/07/28 21:08:20 customdesigned # Increment del count. # # Revision 1.25 2009/07/28 20:58:55 customdesigned # getdiag method # # Revision 1.24 2009/06/09 01:54:44 customdesigned # Forgot to initialize optional parameter. # # Revision 1.23 2009/05/29 20:44:58 customdesigned # Typo SMFIP_NO constants. # # Revision 1.22 2009/05/29 19:53:36 customdesigned # Typo SMFIS_ALL_OPTS # # Revision 1.21 2009/05/29 19:49:40 customdesigned # Typo calling helo instead of negotiate. # # Revision 1.20 2009/05/29 18:25:59 customdesigned # Null terminate keyword list. # # Revision 1.19 2009/05/28 18:36:42 customdesigned # Support new callbacks, including negotiate # # Revision 1.18 2009/05/21 21:53:05 customdesigned # First cut at support unknown, data, negotiate callbacks. # # Revision 1.17 2009/02/06 04:28:08 customdesigned # Oops! Missing options argument pointer for addrcpt. # # Revision 1.16 2008/12/16 04:21:05 customdesigned # Fedora release # # Revision 1.15 2008/12/13 20:29:56 customdesigned # Split off milter applications. # # Revision 1.14 2008/12/04 19:43:00 customdesigned # Doc updates. # # Revision 1.13 2008/11/23 03:06:47 customdesigned # Milter support for chgfrom. # # Revision 1.12 2008/11/21 20:42:52 customdesigned # Support smfi_chgfrom and smfi_addrcpt_par. # # Revision 1.11 2007/09/25 02:26:29 customdesigned # Update license. # # Revision 1.10 2006/02/12 02:00:42 customdesigned # Resolve FIXME for wrap_close. # # Revision 1.9 2005/12/23 21:46:36 customdesigned # Compile on sendmail-8.12 (ifdef SMFIR_INSHEADER) # # Revision 1.8 2005/10/20 23:23:36 customdesigned # Include smfi_progress is SMFIR_PROGRESS defined # # Revision 1.7 2005/10/20 23:04:46 customdesigned # Add optional idx for position of added header. # # Revision 1.6 2005/07/15 22:18:17 customdesigned # Support callback exception policy # # Revision 1.5 2005/06/24 04:20:07 customdesigned # Report context allocation error. # # Revision 1.4 2005/06/24 04:12:43 customdesigned # Remove unused name argument to generic wrappers. # # Revision 1.3 2005/06/24 03:57:35 customdesigned # Handle close called before connect. # # Revision 1.2 2005/06/02 04:18:55 customdesigned # Update copyright notices after reading article on /. # # Revision 1.1.1.2 2005/05/31 18:09:06 customdesigned # Release 0.7.1 # # Revision 2.31 2004/08/23 02:24:36 stuart # Support setbacklog # # Revision 2.30 2004/08/21 20:29:53 stuart # Support option of 11 lines max for mlreply. # # Revision 2.29 2004/08/21 04:14:29 stuart # mlreply support # # Revision 2.28 2004/08/21 02:45:21 stuart # Don't leak int constants if module unloaded. # # Revision 2.27 2004/04/06 03:19:59 stuart # Release 0.6.8 # # Revision 2.26 2004/03/04 21:43:06 stuart # Fix memory leak by removing unused dynamic template buffer, # thanks again to Alexander Kourakos. # # Revision 2.25 2004/03/01 19:45:03 stuart # Release 0.6.5 # # Revision 2.24 2004/03/01 18:56:50 stuart # Support progress reporting. # # Revision 2.23 2004/03/01 18:36:09 stuart # Plug memory leak. Thanks to Alexander Kourakos. # # Revision 2.22 2003/11/02 03:01:46 stuart # Adjust SMTP error codes after careful reading of standard. # # Revision 2.21 2003/06/24 19:57:04 stuart # Allow removing a python milter callback by setting to None. # # Revision 2.20 2003/02/13 17:08:57 stuart # IPV6 support # # Revision 2.19 2003/02/13 16:58:29 stuart # Support passing None to setreply and chgheader. # # Revision 2.18 2002/12/11 16:44:06 stuart # Support QUARANTINE if supported by libmilter. # # Revision 2.17 2002/04/18 20:20:35 stuart # Fix for NULL hostaddr in connect callback from Jason Erickson. # # Revision 2.16 2001/09/26 13:29:09 stuart # sa_len not supported by linux. # # Revision 2.15 2001/09/25 17:28:40 stuart # Copyrights, documentation, release 0.3.1 # # Revision 2.14 2001/09/25 00:36:57 stuart # Pass hostaddr to python code in format used by standard socket module. # # Revision 2.13 2001/09/24 23:44:55 stuart # Return old callback from setcallback functions. # # Revision 2.12 2001/09/24 20:02:30 stuart # Remove redundant setpriv # # Revision 2.11 2001/09/23 22:26:35 stuart # Update docs. Streamline Milter.py # update testbms.py to reflect actual sendmail behaviour with multiple # messages per connection. # # Revision 2.10 2001/09/22 15:33:42 stuart # More doc comment updates. # # Revision 2.9 2001/09/22 14:52:27 stuart # Actually return retval in _generic_return. # Go over doc comments. # # Revision 2.8 2001/09/22 01:59:32 stuart # Prevent reentrant call of milter_main, which libmilter doesn't support. # # Revision 2.7 2001/09/22 01:47:37 stuart # Forgot to set milter interp. # # Revision 2.6 2001/09/22 01:23:53 stuart # Added proper threading after research in python docs. # # Revision 2.5 2001/09/21 20:08:51 stuart # Release 0.2.3 # # Revision 2.4 2001/09/20 16:18:16 stuart # libmilter checks in_eom state, so we don't have to. # # Revision 2.3 2001/09/19 06:02:33 stuart # Make more stuff static. # # Revision 2.1 2001/09/19 04:24:13 stuart # Use extension type to track context in python. # # Revision 1.4 2001/09/18 18:48:28 stuart # clear private data reference in _clear_context # # Revision 1.3 2001/09/15 04:19:37 stuart # nasty off by 1 mem overwrite bugs in wrap_env # generic_set_callback # # Revision 1.2 2001/09/15 03:15:39 stuart # several bugs fixed, works smoothly # # Revision 1.69 2006/11/04 22:09:39 customdesigned # Another lame DSN heuristic. Block PTR cache poisoning attack. # # Revision 1.68 2006/10/04 03:46:01 customdesigned # Fix defaults. # # Revision 1.67 2006/10/01 01:44:06 customdesigned # case_sensitive_localpart option, more delayed bounce heuristics, # optional smart_alias section. # # Revision 1.66 2006/07/26 16:42:26 customdesigned # Support CBV timeout # # Revision 1.65 2006/06/21 22:22:00 customdesigned # Handle multi-line headers in delayed dsns. # # Revision 1.64 2006/06/21 21:12:04 customdesigned # More delayed reject token headers. # Don't require HELO pass for CBV. # # Revision 1.63 2006/05/21 03:41:44 customdesigned # Fail dsn # # Revision 1.61 2006/05/17 21:28:07 customdesigned # Create GOSSiP record only when connection will procede to DATA. # # Revision 1.60 2006/05/12 16:14:48 customdesigned # Don't require SPF pass for white/black listing mail from trusted relay. # Support localpart wildcard for white and black lists. # # Revision 1.59 2006/04/06 18:14:17 customdesigned # Check whitelist/blacklist even when not checking SPF (e.g. trusted relay). # # Revision 1.58 2006/03/10 20:52:49 customdesigned # Use re to recognize failure DSNs. # # Revision 1.57 2006/03/07 20:50:54 customdesigned # Use signed Message-ID in delayed reject to blacklist senders # # Revision 1.56 2006/02/24 02:12:54 customdesigned # Properly report hard PermError (lax mode fails also) by always setting # perm_error attribute with PermError exception. Improve reporting of # invalid domain PermError. # # Revision 1.55 2006/02/17 05:04:29 customdesigned # Use SRS sign domain list. # Accept but do not use for training whitelisted senders without SPF pass. # Immediate rejection of unsigned bounces. # # Revision 1.54 2006/02/16 02:16:36 customdesigned # User specific SPF receiver policy. # # Revision 1.53 2006/02/12 04:15:01 customdesigned # Remove spf dependency for iniplist # # Revision 1.52 2006/02/12 02:12:08 customdesigned # Use CIDR notation for internal connect list. # # Revision 1.51 2006/02/12 01:13:58 customdesigned # Don't check rcpt user list when signed MFROM. # # Revision 1.50 2006/02/09 20:39:43 customdesigned # Use CIDR notation for trusted_relay iplist # # Revision 1.49 2006/01/30 23:14:48 customdesigned # put back eom condition # # Revision 1.48 2006/01/12 20:31:24 customdesigned # Accelerate training via whitelist and blacklist. # # Revision 1.47 2005/12/29 04:49:10 customdesigned # Do not auto-whitelist autoreplys # # Revision 1.46 2005/12/28 20:17:29 customdesigned # Expire and renew AddrCache entries # # Revision 1.45 2005/12/23 22:34:46 customdesigned # Put guessed result in separate header. # # Revision 1.44 2005/12/23 21:47:07 customdesigned # Move Received-SPF header to top. # # Revision 1.43 2005/12/09 16:54:01 customdesigned # Select neutral DSN template for best_guess # # Revision 1.42 2005/12/01 22:42:32 customdesigned # improve gossip support. # Initialize srs_domain from srs.srs config property. Should probably # always block unsigned DSN when signing all. # # Revision 1.41 2005/12/01 18:59:25 customdesigned # Fix neutral policy. pobox.com -> openspf.org # # Revision 1.40 2005/11/07 21:22:35 customdesigned # GOSSiP support, local database only. # # Revision 1.39 2005/10/31 00:04:58 customdesigned # Simple implementation of trusted_forwarder list. Inefficient for # more than 1 or 2 entries. # # Revision 1.38 2005/10/28 19:36:54 customdesigned # Don't check internal_domains for trusted_relay. # # Revision 1.37 2005/10/28 09:30:49 customdesigned # Do not send quarantine DSN when sender is DSN. # # Revision 1.36 2005/10/23 16:01:29 customdesigned # Consider MAIL FROM a match for supply_sender when a subdomain of From or Sender # # Revision 1.35 2005/10/20 18:47:27 customdesigned # Configure auto_whitelist senders. # # Revision 1.34 2005/10/19 21:07:49 customdesigned # access.db stores keys in lower case # # Revision 1.33 2005/10/19 19:37:50 customdesigned # Train screener on whitelisted messages. # # Revision 1.32 2005/10/14 16:17:31 customdesigned # Auto whitelist refinements. # # Revision 1.31 2005/10/14 01:14:08 customdesigned # Auto whitelist feature. # # Revision 1.30 2005/10/12 16:36:30 customdesigned # Release 0.8.3 # # Revision 1.29 2005/10/11 22:50:07 customdesigned # Always check HELO except for SPF pass, temperror. # # Revision 1.28 2005/10/10 23:50:20 customdesigned # Use logging module to make logging threadsafe (avoid splitting log lines) # # Revision 1.27 2005/10/10 20:15:33 customdesigned # Configure SPF policy via sendmail access file. # # Revision 1.26 2005/10/07 03:23:40 customdesigned # Banned users option. Experimental feature to supply Sender when # missing and MFROM domain doesn't match From. Log cipher bits for # SMTP AUTH. Sketch access file feature. # # Revision 1.25 2005/09/08 03:55:08 customdesigned # Handle perverse MFROM quoting. # # Revision 1.24 2005/08/18 03:36:54 customdesigned # Don't innoculate with SCREENED mail. # # Revision 1.23 2005/08/17 19:35:27 customdesigned # Send DSN before adding message to quarantine. # # Revision 1.22 2005/08/11 22:17:58 customdesigned # Consider SMTP AUTH connections internal. # # Revision 1.21 2005/08/04 21:21:31 customdesigned # Treat fail like softfail for selected (braindead) domains. # Treat mail according to extended processing results, but # report any PermError that would officially result via DSN. # # Revision 1.20 2005/08/02 18:04:35 customdesigned # Keep screened honeypot mail, but optionally discard honeypot only mail. # # Revision 1.19 2005/07/20 03:30:04 customdesigned # Check pydspam version for honeypot, include latest pyspf changes. # # Revision 1.18 2005/07/17 01:25:44 customdesigned # Log as well as use extended result for best guess. # # Revision 1.17 2005/07/15 20:25:36 customdesigned # Use extended results processing for best_guess. # # Revision 1.16 2005/07/14 03:23:33 customdesigned # Make SES package optional. Initial honeypot support. # # Revision 1.15 2005/07/06 04:05:40 customdesigned # Initial SES integration. # # Revision 1.14 2005/07/02 23:27:31 customdesigned # Don't match hostnames for internal connects. # # Revision 1.13 2005/07/01 16:30:24 customdesigned # Always log trusted Received and Received-SPF headers. # # Revision 1.12 2005/06/20 22:35:35 customdesigned # Setreply for rejectvirus. # # Revision 1.11 2005/06/17 02:07:20 customdesigned # Release 0.8.1 # # Revision 1.10 2005/06/16 18:35:51 customdesigned # Ignore HeaderParseError decoding header # # Revision 1.9 2005/06/14 21:55:29 customdesigned # Check internal_domains for outgoing mail. # # Revision 1.8 2005/06/06 18:24:59 customdesigned # Properly log exceptions from pydspam # # Revision 1.7 2005/06/04 19:41:16 customdesigned # Fix bugs from testing RPM # # Revision 1.6 2005/06/03 04:57:05 customdesigned # Organize config reader by section. Create defang section. # # Revision 1.5 2005/06/02 15:00:17 customdesigned # Configure banned extensions. Scan zipfile option with test case. # # Revision 1.4 2005/06/02 04:18:55 customdesigned # Update copyright notices after reading article on /. # # Revision 1.3 2005/06/02 02:09:00 customdesigned # Record timestamp in send_dsn.log # # Revision 1.2 2005/06/02 01:00:36 customdesigned # Support configurable templates for DSNs.