Commit Graph

329 Commits

Author SHA1 Message Date
Matt Sergeant
9ba9d68f72 check_loop plugin by Keith Ivey
git-svn-id: https://svn.perl.org/qpsmtpd/trunk@438 958fd67b-6ff1-0310-b445-bb7760255be9
2005-06-20 14:56:36 +00:00
John Peacock
4360370e7e A new auth plugin by Gordon Rowell <gordonr@gormand.com.au>
Interfaces with Bruce Guenther's Credential Validation Module (CVM)

 *   plugins/auth/auth_cvm_unix_local
     Only DENY if the credentials were accepted but incorrect (bad password?)


git-svn-id: https://svn.perl.org/qpsmtpd/trunk@432 958fd67b-6ff1-0310-b445-bb7760255be9
2005-06-10 12:11:26 +00:00
John Peacock
8b50b6dd46 Two new plugins from Gordon Rowell <gordonr@gormand.com.au>
*   plugins/check_badrcptto_patterns
     Match bad RCPTO address with regex
 
 *   plugins/check_norelay
     Carve out holes from larger relay blocks


git-svn-id: https://svn.perl.org/qpsmtpd/trunk@431 958fd67b-6ff1-0310-b445-bb7760255be9
2005-06-09 16:36:43 +00:00
John Peacock
662003437d * qpsmtpd-forkserver
Create a single Qpsmtpd::TcpServer object in the parent process and
     then rely on fork to let each child have it's own copy
     
 *   lib/Qpsmtpd/Plugin.pm
     Add new pre-connection and post-connection hooks
     
 *   README.plugins
     Document the above new hooks

 *   lib/Qpsmtpd.pm
     No longer have local value for trace_level() the first time through, which 
     was masking the global value (due to stupid search/replace error).
     Don't call log() from trace_level() since it is only ever called from
     within the varlog() sub when no logging plugin is registered.

 *   plugins/dnsbl
     Config line option to use DENY_DISCONNECT instead of DENY (since any IP
     on a blacklist should not have a chance to send anything for now).
     Add POD to document the new disconnect behavior

 *   lib/Qpsmtpd.pm
     Compatibility changes so test files continue to work
 
 *   t/Test/Qpsmtpd.pm
     Compatibility sub for core subs which call varlog() directly


git-svn-id: https://svn.perl.org/qpsmtpd/trunk@428 958fd67b-6ff1-0310-b445-bb7760255be9
2005-05-25 20:07:58 +00:00
John Peacock
270f9c9a70 * plugins/auth/auth_ldap_bind
Correct DECLINE to DECLINED


git-svn-id: https://svn.perl.org/qpsmtpd/trunk@405 958fd67b-6ff1-0310-b445-bb7760255be9
2005-04-12 20:48:53 +00:00
John Peacock
58ded6369d * lib/Qpsmtpd/Auth.pm
Fix some totally egregious spelling errors
 
 *  plugins/auth/auth_ldap_bind
    New plugin to authenticate against an LDAP database
    Thanks to Elliot Foster <elliotf@gratuitous.net>


git-svn-id: https://svn.perl.org/qpsmtpd/trunk@404 958fd67b-6ff1-0310-b445-bb7760255be9
2005-04-12 19:59:52 +00:00
John Peacock
1be0263025 * plugins/logging/adaptive
Skip empty log lines in both accept and reject case


git-svn-id: https://svn.perl.org/qpsmtpd/trunk@403 958fd67b-6ff1-0310-b445-bb7760255be9
2005-04-06 18:34:02 +00:00
Matt Sergeant
bfe7e6cb63 Flat file auth plugin
git-svn-id: https://svn.perl.org/qpsmtpd/trunk@402 958fd67b-6ff1-0310-b445-bb7760255be9
2005-03-30 20:50:34 +00:00
John Peacock
89fd516d8e Revamp Qpsmtpd::Constants so it is possible to retrieve the text
representation from the numeric (for logging purposes).  Add new logging
plugin, logging/adaptive, which logs at different levels depending on
whether the message was accepted/rejected.
 
 *  lib/Qpsmtpd/Constants.pm
    use hashes for storing return_codes and log_levels
    export accessor methods to retrieve the text representations
 
 *  lib/Qpsmtpd.pm
    Rename log_level() to trace_level() so as to not conflict with the same
    name in Qpsmtpd::Constants.
    Call return_code() to display the text form when logging
 
 *  plugins/logging/adaptive
    Better documentation
    Support named parameters and prefix
    Call return_code() to display the text form when logging
 
 *  plugins/logging/warn
    Include POD

 *  README.logging
    First pass at documenting the logging plugin API

 *  config.sample/loglevel
    New numbering scheme to map directly to syslog levels


git-svn-id: https://svn.perl.org/qpsmtpd/trunk@401 958fd67b-6ff1-0310-b445-bb7760255be9
2005-03-29 20:15:53 +00:00
John Peacock
e331f6b248 Add plugable logging support include sample plugin which replicates the
existing core code.  Add OK hook.

*  lib/Qpsmtpd.pm
   (init_logger): replaced with log_level()
   (load_logging): NEW - load logging plugins without calling log()
   (log_level): NEW - set/get global $LogLevel scalar
   (log): now just a wrapper for varlog(); called only by core code
   (varlog): initializes logging if not already done, calls logging plugins
     in turn and falls back to interal logging unless plugins OK or DECLINED
   (_load_plugins): only display "Loading plugin" when actually loading one
   (run_hooks): load logging plugins without calling log(); add OK hook as
     else of the DENY* case
   (spool_dir): use global $Spool_dir scalar to cache location

*  lib/Qpsmtpd/Plugin.pm
   (%hooks): add "logging" and "ok"
   (register_hook): add local _hook to object cache
   (log): call varlog() with additional parameters hook and plugin_name
     except for logging hook
   (compile): add accessor sub for local _hook scalar

*  lib/Qpsmtpd/SMTP.pm
   (mail, rcpt): change loglevel to LOGALERT instead of LOGWARN for from/to

*  qpsmtpd-forkserver
   (REAPER): use package ::log() instead of warn()
   (main): defer calling log until $plugin_loader has been initialized
   (log): call logging using the $plugin_loader object

*  plugins/logging/warn
   NEW: sample plugin which replicates the core logging functionality

*  plugins/logging/devnull
   NEW: sample plugin which logs nothing (for testing multiple logging
     plugin functionality)

*  config.sample/logging
   sample configuration file for logging plugins

*  plugins/virus/uvscan
   plugins/virus/clamav
   Increase loglevel for non-serious warnings to LOGWARN from LOGERROR


git-svn-id: https://svn.perl.org/qpsmtpd/trunk@398 958fd67b-6ff1-0310-b445-bb7760255be9
2005-03-24 21:16:35 +00:00
Ask Bjørn Hansen
aef508cb7b Don't check the HELO host for rfc-ignorant compliance (maybe this should be an option?)
git-svn-id: https://svn.perl.org/qpsmtpd/trunk@397 958fd67b-6ff1-0310-b445-bb7760255be9
2005-03-24 19:17:46 +00:00
John Peacock
43f39a4538 * plugins/virus/clamdscan
Correctly support alternate domain socket
    Remove a tab that crept in


git-svn-id: https://svn.perl.org/qpsmtpd/trunk@383 958fd67b-6ff1-0310-b445-bb7760255be9
2005-03-04 16:04:59 +00:00
Ask Bjørn Hansen
a44957dc86 fix thinko from the log cleanup
git-svn-id: https://svn.perl.org/qpsmtpd/trunk@381 958fd67b-6ff1-0310-b445-bb7760255be9
2005-03-03 17:28:43 +00:00
Matt Sergeant
43aa207242 Fix all uses of warn() to be $self->log(LOGWARN, ...)
git-svn-id: https://svn.perl.org/qpsmtpd/trunk@380 958fd67b-6ff1-0310-b445-bb7760255be9
2005-03-03 02:37:04 +00:00
John Peacock
167939748c * Changes
Remember (belatedly) to add changes here

*   MANIFEST
    Add all new files to this list

*   plugins/virus/clamdscan
    New AV plugin to directly communicate with clamd daemon


git-svn-id: https://svn.perl.org/qpsmtpd/trunk@378 958fd67b-6ff1-0310-b445-bb7760255be9
2005-03-01 20:11:09 +00:00
John Peacock
889845af24 * plugins/virus/clamav
Scan temporary file directly now that the spooled file includes the
    entire message

*   plugins/virus/bitdefender - John Peacock
    plugins/virus/hbedv - Hanno Hecker
    New AV plugins


git-svn-id: https://svn.perl.org/qpsmtpd/trunk@377 958fd67b-6ff1-0310-b445-bb7760255be9
2005-03-01 19:55:18 +00:00
John Peacock
72eb14dcfb * plugins/virus/clamav
Reword the POD to explain exactly how to chmod the directories to get
    clamdscan to work within the spool directory (Thanks to Robin Bowes)


git-svn-id: https://svn.perl.org/qpsmtpd/trunk@373 958fd67b-6ff1-0310-b445-bb7760255be9
2005-02-25 03:06:22 +00:00
John Peacock
f95c2f8826 * plugins/virus/clamav
Improved documentation for running clamdscan correctly inside the
    qpsmtpd spool directory.

    Change file permissions to permit non-owner external process to access
    files inside spool directory


git-svn-id: https://svn.perl.org/qpsmtpd/trunk@372 958fd67b-6ff1-0310-b445-bb7760255be9
2005-02-24 20:00:23 +00:00
John Peacock
c049917d8e * plugins/virus/clamav
Provide more documentation on using clamdscan
    Provide back_compat option to eliminate warnings in log with old ClamAV
    Use new $self->spool_dir() function instead of homebrew


git-svn-id: https://svn.perl.org/qpsmtpd/trunk@371 958fd67b-6ff1-0310-b445-bb7760255be9
2005-02-24 16:54:02 +00:00
John Peacock
9da2fc7343 Explicitely ignore non-multipart messages for virus scanning
git-svn-id: https://svn.perl.org/qpsmtpd/trunk@370 958fd67b-6ff1-0310-b445-bb7760255be9
2005-02-22 22:01:21 +00:00
Ask Bjørn Hansen
40a1f2fc2a add Gavin's greylisting plugin
git-svn-id: https://svn.perl.org/qpsmtpd/trunk@365 958fd67b-6ff1-0310-b445-bb7760255be9
2005-02-15 21:42:52 +00:00
John Peacock
60cab010f8 * plugins/auth/auth_vpopmail_sql
Handle case where pw_clear_passwd doesn't exists in vpopmail database


git-svn-id: https://svn.perl.org/qpsmtpd/trunk@360 958fd67b-6ff1-0310-b445-bb7760255be9
2005-02-10 14:33:13 +00:00
John Peacock
1d1799feb6 Correct handling for vpopmail built without clear password option
git-svn-id: https://svn.perl.org/qpsmtpd/trunk@358 958fd67b-6ff1-0310-b445-bb7760255be9
2005-01-30 17:24:49 +00:00
John Peacock
c840a1d04f Changes by jpeacock@cpan.org (John Peacock)
o plugins/check_badmailfromto
    - New plugin in the style of check_badmailfrom, which matches a pair
      of FROM/TO and makes it seem like the recipient's address no longer
      exists (but only from the matching sender's point of view).  Useful
      for stalkers and other harassment cases.

o plugins/dns_whitelist_soft
    - New plugin to provide a DNS-based whitelist (good for distributed
      sites).

o various files
    - Replaced tab character with 8 spaces and adjusted line breaks for
      better readability.

Changes by mct@toren.net (Michael C. Toren)

o lib/Qpsmtpd/SMTP.pm

    - Assumes a MAIL FROM value of "<#@[]>" (utilized by qmail to
      indicate a null sender when generating a doublebounce message)
      is equivalent to "<>".  Previously qpsmtpd complained that the
      value could not be parsed.

    - Adds LOGIN to the default list of supported auth mechanisms.
      The documentation in Auth.pm indicated that auth-login was not
      currently supported due to lack of functionality, however I can
      confirm that LOGIN appears to work fine as tested by using msmtp
      (http://msmtp.sourceforge.net/).  Are there any indications that
      LOGIN support is actually broken in the current implementation?

    - Removes the "X-Qpsmtpd-Auth: True" header appended when a message
      has been sent by an authenticated user.  One problem with such a
      header is that it's impossible to say which SMTP hop added it,
      and it provides no information which could be used to backtrack
      the transaction.  I grepped through my mail archives a bit
      looking for how other MTAs handled the problem, and decided it
      would be best to place this information in the Received: header:

        Received: from remotehost (HELO remotehost) (192.168.42.42)
          (smtp-auth username foo, mechanism cram-md5)
          by mail.netisland.net (qpsmtpd/0.28) with ESMTP; <date>


o lib/Qpsmtpd/Auth.pm:

    - Documentation update for the arguments passed to an auth
      handler; previously the $mechanism argument was not mentioned,
      which threw off the argument offsets.

    - Documentation update for auth-login removing the warning
      that auth-login is not currently supported due to lack of
      functionality.

    - Fix to execute a generic auth hook when a more specific
      auth-$mechanism hook does not exist.  (Previously posted
      to the list last week.)

    - Upon authentication, sets $session->{_auth_user} and
      $session->{_auth_mechanism} so that SMTP.pm can include them
      in the Received: header.


o plugins/queue/qmail-queue

    - Added a timestamp and the qmail-queue qp identifier to the
      "Queued!" 250 message, for compatibility with qmail-smtpd, which
      can be very useful for tracking message delivery from machine to
      machine.  For example, the new 250 message might be:

        250 Queued! 1105927468 qp 3210 <1105927457@netisland.net>

      qmail-smtpd returns:

        250 ok 1106546213 qp 7129

      Additionally, for consistency angle brackets are placed around
      the Message-ID displayed in the 250 if they were missing in the
      message header.


o plugins/check_badmailfrom:

    - Changed the error message from "Mail from $bad not accepted
      here" to "sorry, your envelope sender is in my badmailfrom
      list", for compatibility with qmail-smtpd.  I didn't see any
      reason to share with the sender the value of $bad, especially
      for situations where the sender was rejected resulting from a
      wildcard.


o plugins/check_earlytalker:
o plugins/require_resolvable_fromhost:

    - No longer checks for earlytalkers or resolvable senders if the
      connection note "whitelistclient" is set, which is nice for
      helping backup MX hosts empty their queue faster.


o plugins/count_unrecognized_commands:

    - Return code changed from DENY_DISCONNECT, which isn't valid in
      an unrecognized_command hook, to DENY, which in this context
      drops the connection anyway.  (Previously posted to the list
      last week.)


git-svn-id: https://svn.perl.org/qpsmtpd/trunk@356 958fd67b-6ff1-0310-b445-bb7760255be9
2005-01-28 03:30:50 +00:00
Robert Spier
ed2ab5f5fd From: Nick Leverton <>
Subject: SPF plugin: using it in practice (PATCH attached for CVS)
Date: Tue, 30 Nov 2004 11:35:30 +0000
Message-ID: <20041130113530.GA31737@leverton.org>


git-svn-id: https://svn.perl.org/qpsmtpd/trunk@355 958fd67b-6ff1-0310-b445-bb7760255be9
2004-12-02 07:26:11 +00:00
Robert Spier
ddc945f8f6 DENYHARD is deprecated in favor of DENY_DISCONNECT
git-svn-id: https://svn.perl.org/qpsmtpd/trunk@353 958fd67b-6ff1-0310-b445-bb7760255be9
2004-11-28 05:58:58 +00:00
Robert Spier
9422b16c0f Inspired by Justin E@Apache...
- log the fact that badmailfrom is rejecting
- emacs header
- formatting tweak


git-svn-id: https://svn.perl.org/qpsmtpd/trunk@352 958fd67b-6ff1-0310-b445-bb7760255be9
2004-11-27 18:40:54 +00:00
Robert Spier
3757913d54 Remove extraneous filehandling twiddling from qmail-queue that could cause weirdness if the exec failed.
git-svn-id: https://svn.perl.org/qpsmtpd/trunk@351 958fd67b-6ff1-0310-b445-bb7760255be9
2004-11-27 17:54:46 +00:00
Robert Spier
3341a5b4ab emacsisms, more timeouts
git-svn-id: https://svn.perl.org/qpsmtpd/trunk@350 958fd67b-6ff1-0310-b445-bb7760255be9
2004-11-27 07:08:46 +00:00
Robert Spier
012c6db2d3 - dnsbl, count_unrec_commands, spamassassin:
use symbolic log levels, instead of numeric
- dnsbl:  set some (probably too large) timeouts
- count_unrec_commands: DENYHARD
- spamassassin: upgrade protocol to support switching users


git-svn-id: https://svn.perl.org/qpsmtpd/trunk@349 958fd67b-6ff1-0310-b445-bb7760255be9
2004-11-27 07:02:23 +00:00
John Peacock
af03c53512 plugins/spamassassin
New option to strip/rename/keep old X-Spam headers (Michael Holzt)


git-svn-id: https://svn.perl.org/qpsmtpd/trunk@335 958fd67b-6ff1-0310-b445-bb7760255be9
2004-10-13 01:52:35 +00:00
John Peacock
8ea1b6b06c * plugins/check_basicheaders
Refuse messages that lack basic headers per RFC-2822
     (Jim Winstead)
     modified by John Peacock to block null messages, too


git-svn-id: https://svn.perl.org/qpsmtpd/trunk@333 958fd67b-6ff1-0310-b445-bb7760255be9
2004-09-25 11:40:43 +00:00
John Peacock
479750aa03 * plugins/spamassassin
Revert changes to replace instead of add X-Spam headers


git-svn-id: https://svn.perl.org/qpsmtpd/trunk@331 958fd67b-6ff1-0310-b445-bb7760255be9
2004-09-24 17:29:56 +00:00
John Peacock
9cd26b24c4 * spamassassin
Must replace any existing X-Spam headers with local score,
     rather than adding.  Don't care what other SA instances thought.
     (Michael Holzt)


git-svn-id: https://svn.perl.org/qpsmtpd/trunk@330 958fd67b-6ff1-0310-b445-bb7760255be9
2004-09-24 15:17:07 +00:00
John Peacock
b5ef3d3add Couple of minor cleanups
*    lib/Qpsmtpd/Transaction.pm
     Forgot to nuke POD for deprecated relaying()

*    plugins/auth/auth_vpopmail_sql
     Log who actually AUTHenticated

*    plugins/virus/uvscan
     Don't need to unlink the file (Qpsmtpd will take care of it)
     Log the machine that did the actual Antivirus scanning


git-svn-id: https://svn.perl.org/qpsmtpd/trunk@329 958fd67b-6ff1-0310-b445-bb7760255be9
2004-09-23 18:54:58 +00:00
John Peacock
f92e99bd9c * plugins/check_relay
*   plugins/rcpt_ok
    Split check_relay into two plugins

*   config/plugins
    Reorder plugins to take advantage of the new check_relay

*   lib/Qpsmtpd/Connection.pm
    Add support for relay_client() method

*   lib/Qpsmtpd/SMTP.pm
    Copy connection relay settings to transaction object when created

*   lib/Qpsmtpd/Auth.pm
    Use the connection->relay_client() instead of setting an env var


git-svn-id: https://svn.perl.org/qpsmtpd/trunk@326 958fd67b-6ff1-0310-b445-bb7760255be9
2004-09-22 16:01:16 +00:00
Matt Sergeant
31eed901be Moved to the attic
git-svn-id: https://svn.perl.org/qpsmtpd/trunk@324 958fd67b-6ff1-0310-b445-bb7760255be9
2004-09-21 18:15:25 +00:00
Matt Sergeant
1b977fbb5e Checking in last version before deleting it :-)
git-svn-id: https://svn.perl.org/qpsmtpd/trunk@323 958fd67b-6ff1-0310-b445-bb7760255be9
2004-09-21 18:14:53 +00:00
Matt Sergeant
4b8b4793b6 Switch to connection object for relaying info
git-svn-id: https://svn.perl.org/qpsmtpd/trunk@322 958fd67b-6ff1-0310-b445-bb7760255be9
2004-09-20 17:31:26 +00:00
Matt Sergeant
c341ff0d0f Initial stab at an outbound bounce_verp system.
git-svn-id: https://svn.perl.org/qpsmtpd/trunk@321 958fd67b-6ff1-0310-b445-bb7760255be9
2004-09-20 08:09:02 +00:00
Matt Sergeant
06563ad3a3 Support more of the milter functionality (header changes)
git-svn-id: https://svn.perl.org/qpsmtpd/trunk@318 958fd67b-6ff1-0310-b445-bb7760255be9
2004-09-16 10:44:47 +00:00
Robert Spier
56ee8641ec Two new plugins:
ident/geoip - lookup country of host
  ident/p0f   - use p0f to get type of source machine


git-svn-id: https://svn.perl.org/qpsmtpd/trunk@289 958fd67b-6ff1-0310-b445-bb7760255be9
2004-08-29 07:47:25 +00:00
Devin Carraway
b48ae7c630 Incorporate suggestions and part of a patch from Mark Powell:
- Make the awkward silence at connection configurable (default still 1sec)
- Add an option to defer reaction to the HELO to the MAIL-FROM command
  instead, anticipating broken SMTP agents that don't gracefully handle
  disconnection after greeting.

Also made the specific response configurable (soft, hard, nothing).


git-svn-id: https://svn.perl.org/qpsmtpd/trunk@284 958fd67b-6ff1-0310-b445-bb7760255be9
2004-08-01 07:08:07 +00:00
Ask Bjørn Hansen
0a77877ced Make the rhsbl plugin do DNS lookups in the background. (Mark Powell)
git-svn-id: https://svn.perl.org/qpsmtpd/trunk@282 958fd67b-6ff1-0310-b445-bb7760255be9
2004-08-01 01:54:16 +00:00
Ask Bjørn Hansen
2ab4613567 Fix warning in count_unrecognized_commands plugin (thanks to spaze
and Roger Walker)


git-svn-id: https://svn.perl.org/qpsmtpd/trunk@279 958fd67b-6ff1-0310-b445-bb7760255be9
2004-07-28 17:06:45 +00:00
Ask Bjørn Hansen
e27534048c Improve error messages from the Postfix module (Erik I. Bols�,
<knan at mo.himolde.no>)

make the maildir plugin record who the message was to (needs some improvements
still)


git-svn-id: https://svn.perl.org/qpsmtpd/trunk@277 958fd67b-6ff1-0310-b445-bb7760255be9
2004-07-19 11:08:15 +00:00
Ask Bjørn Hansen
154ca2e617 remove warning when not using spamd_socket
git-svn-id: https://svn.perl.org/qpsmtpd/trunk@276 958fd67b-6ff1-0310-b445-bb7760255be9
2004-07-18 11:02:24 +00:00
Devin Carraway
26de7de964 Integrate fixes/enhancements from myself and Peter Eisch <peter@boku.net>:
- name=value style configuration arguments (old format still supported)
- max_size for scan (default 512k)
- Pass messages to clamscan in mbox format to satisfy clamdscan
- Made detect action configurable (reject or add-header)
- Logging fixes
- POD


git-svn-id: https://svn.perl.org/qpsmtpd/trunk@273 958fd67b-6ff1-0310-b445-bb7760255be9
2004-07-17 23:31:40 +00:00
John Peacock
96ec52d088 Add "plugin/virus/uvscan" - McAfee commandline virus scanner
git-svn-id: https://svn.perl.org/qpsmtpd/trunk@271 958fd67b-6ff1-0310-b445-bb7760255be9
2004-07-16 20:23:17 +00:00
Robert Spier
658d3bb555 From: John Peacock <jpeacock@rowman.com>
To: qpsmtpd@perl.org
Subject: [PATCH] queue/smtp-forward doesn't use correct HELO string
Message-ID: <20040714143007.31047.qmail@onion.perl.org>
Date: Wed, 14 Jul 2004 10:30:24 -0400

The current version of Net::SMTP doesn't make any attempt to determine
the hostname of the current computer (not that I blame Graham for
that), so that all e-mails are sent out as from
"localhost.localdomain" unless an explicit Hello string is provided.


git-svn-id: https://svn.perl.org/qpsmtpd/trunk@266 958fd67b-6ff1-0310-b445-bb7760255be9
2004-07-16 05:03:25 +00:00
Ask Bjørn Hansen
d7eb8673d1 move virus plugins to plugins/virus/
git-svn-id: https://svn.perl.org/qpsmtpd/trunk@260 958fd67b-6ff1-0310-b445-bb7760255be9
2004-07-14 23:56:54 +00:00
Ask Bjørn Hansen
3d3b7823ee kaspersky 5.x support thanks to Marcus Spiegel
git-svn-id: https://svn.perl.org/qpsmtpd/trunk@257 958fd67b-6ff1-0310-b445-bb7760255be9
2004-06-30 09:28:03 +00:00
Ask Bjørn Hansen
8c059e38ef add kavscanner plugin (thanks to Hanno Hecker)
move clamav, check_for_hi_virus and klez_filter to virus/ (did anyone mentino
subversion?)


git-svn-id: https://svn.perl.org/qpsmtpd/trunk@255 958fd67b-6ff1-0310-b445-bb7760255be9
2004-06-30 09:25:07 +00:00
Ask Bjørn Hansen
f5a0a0998a remove old auth prototype plugin
git-svn-id: https://svn.perl.org/qpsmtpd/trunk@254 958fd67b-6ff1-0310-b445-bb7760255be9
2004-06-30 09:23:12 +00:00
Ask Bjørn Hansen
74a5b704b0 move the auth plugins to auth/
rename authsql to auth_vpopmail_sql -- we need a generic "connect to database"
thing with a generic way to configure databases.  ... and then we should have
a more generic "check username with sql" plugin.


git-svn-id: https://svn.perl.org/qpsmtpd/trunk@253 958fd67b-6ff1-0310-b445-bb7760255be9
2004-06-30 09:21:40 +00:00
Matt Sergeant
011f44e11d Auth changes (John Peacock with minor modifications by baud)
git-svn-id: https://svn.perl.org/qpsmtpd/trunk@252 958fd67b-6ff1-0310-b445-bb7760255be9
2004-06-29 21:45:35 +00:00
Devin Carraway
4f2f9889d0 Perform checks on MAIL-FROM and RCPT-TO case insensitively.
git-svn-id: https://svn.perl.org/qpsmtpd/trunk@248 958fd67b-6ff1-0310-b445-bb7760255be9
2004-06-18 05:47:45 +00:00
Matt Sergeant
8d07a36fcc Add a relaying() method to the transaction
git-svn-id: https://svn.perl.org/qpsmtpd/trunk@247 958fd67b-6ff1-0310-b445-bb7760255be9
2004-06-16 20:28:57 +00:00
Matt Sergeant
8c32a22d27 Error checking
git-svn-id: https://svn.perl.org/qpsmtpd/trunk@243 958fd67b-6ff1-0310-b445-bb7760255be9
2004-06-11 20:00:15 +00:00
Robert Spier
7cc66cdf75 "-" is a valid filename element.
git-svn-id: https://svn.perl.org/qpsmtpd/trunk@239 958fd67b-6ff1-0310-b445-bb7760255be9
2004-06-10 06:26:18 +00:00
Ask Bjørn Hansen
76e1119a5e loglevel change
git-svn-id: https://svn.perl.org/qpsmtpd/trunk@234 958fd67b-6ff1-0310-b445-bb7760255be9
2004-06-05 10:07:03 +00:00
Ask Bjørn Hansen
d1599b3aaf maildir queue plugin
git-svn-id: https://svn.perl.org/qpsmtpd/trunk@232 958fd67b-6ff1-0310-b445-bb7760255be9
2004-05-24 11:36:04 +00:00
Matt Sergeant
1bf1ba83a8 Fix logging back to constants again
git-svn-id: https://svn.perl.org/qpsmtpd/trunk@231 958fd67b-6ff1-0310-b445-bb7760255be9
2004-04-27 10:05:41 +00:00
Ask Bjørn Hansen
bbc36670f7 + Create temp files with permissions 0600 (thanks to Robert James Kaes again)
+
+  Fix warning in check_badrcptto plugin (Thanks to Robert James Kaes)


git-svn-id: https://svn.perl.org/qpsmtpd/trunk@230 958fd67b-6ff1-0310-b445-bb7760255be9
2004-04-21 12:42:45 +00:00
Ask Bjørn Hansen
5c972e5506 SpamAssassin plugin Outlook compatibility fix (Thanks to Gergely Risko)
git-svn-id: https://svn.perl.org/qpsmtpd/trunk@224 958fd67b-6ff1-0310-b445-bb7760255be9
2004-03-11 09:34:38 +00:00
Matt Sergeant
9c700b18e1 New for 0.28: Log levels and $Include for config/plugins
git-svn-id: https://svn.perl.org/qpsmtpd/trunk@217 958fd67b-6ff1-0310-b445-bb7760255be9
2004-03-05 12:46:24 +00:00
Ask Bjørn Hansen
b005a303b3 spamd_socket support -- thanks to John Peacock
git-svn-id: https://svn.perl.org/qpsmtpd/trunk@213 958fd67b-6ff1-0310-b445-bb7760255be9
2004-03-05 09:12:20 +00:00
Ask Bjørn Hansen
7a58f1280d don't return multiline replies for now
git-svn-id: https://svn.perl.org/qpsmtpd/trunk@211 958fd67b-6ff1-0310-b445-bb7760255be9
2004-03-04 04:40:23 +00:00
Ask Bjørn Hansen
964242f7be Modified the dnsbl plugin to better support both A and TXT records and
support all of the RBLSMTPD functionality. (Thanks to Mark Powell)


git-svn-id: https://svn.perl.org/qpsmtpd/trunk@210 958fd67b-6ff1-0310-b445-bb7760255be9
2004-03-04 04:33:47 +00:00
Ask Bjørn Hansen
87802c4505 Bugfix to the count_unrecognized_commands plugin so it works
under PPerl (it wasn't resetting the count properly).


git-svn-id: https://svn.perl.org/qpsmtpd/trunk@208 958fd67b-6ff1-0310-b445-bb7760255be9
2004-03-04 04:14:09 +00:00
Ask Bjørn Hansen
03a53bad7c + Made the SpamAssassin plugin work with SA 2.6+ (thanks to numerous
+  contributors, thanks everyone!). Note that for now it's not
+  including the Spam: headers with the score explained. For that use
+  the spamassassin_spamc plugin from http://projects.bluefeet.net/
+  (for now).


git-svn-id: https://svn.perl.org/qpsmtpd/trunk@206 958fd67b-6ff1-0310-b445-bb7760255be9
2004-02-22 02:17:29 +00:00
Ask Bjørn Hansen
5abf363c34 Added Postfix queue plugin thanks to Peter J Holzer!
git-svn-id: https://svn.perl.org/qpsmtpd/trunk@205 958fd67b-6ff1-0310-b445-bb7760255be9
2004-02-19 10:55:36 +00:00
Ask Bjørn Hansen
773ca08ebf + Update the SPF plugin (Philip Gladstone, philip@gladstonefamily.net):
+   * Integrated with Mail::SPF::Query 1.991
+   * Don't do SPF processing when you are acting as a relay system
+   * Remove the MX changes as they are now inside Mail::SPF::Query


git-svn-id: https://svn.perl.org/qpsmtpd/trunk@201 958fd67b-6ff1-0310-b445-bb7760255be9
2004-02-03 02:57:04 +00:00
Ask Bjørn Hansen
98e2f08885 check for hi virus plugin from matt
git-svn-id: https://svn.perl.org/qpsmtpd/trunk@200 958fd67b-6ff1-0310-b445-bb7760255be9
2004-01-19 09:33:19 +00:00
Matt Sergeant
df1a9a08ad SPF now requires the HELO string
git-svn-id: https://svn.perl.org/qpsmtpd/trunk@199 958fd67b-6ff1-0310-b445-bb7760255be9
2003-12-11 09:07:51 +00:00
Matt Sergeant
91893ec62f Doc fix.
git-svn-id: https://svn.perl.org/qpsmtpd/trunk@194 958fd67b-6ff1-0310-b445-bb7760255be9
2003-11-10 08:06:00 +00:00
Matt Sergeant
089a8ebd97 Allow relayclients and morerelayclients files (paves the way for separate
server outside of tcpserver)


git-svn-id: https://svn.perl.org/qpsmtpd/trunk@181 958fd67b-6ff1-0310-b445-bb7760255be9
2003-11-02 11:14:44 +00:00
Matt Sergeant
38317f082e Use POSIX::dup2() instead of open() with <& since I found the latter failed
regularly for me - POSIX::dup2() was just plain more reliable. Odd, I know.


git-svn-id: https://svn.perl.org/qpsmtpd/trunk@176 958fd67b-6ff1-0310-b445-bb7760255be9
2003-10-09 17:21:49 +00:00
Matt Sergeant
1f92301f6a Allow location of clamscan to be set.
Reset body before writing temp file.
(Both patches from Nick Leverton - nick@leverton.org)


git-svn-id: https://svn.perl.org/qpsmtpd/trunk@175 958fd67b-6ff1-0310-b445-bb7760255be9
2003-10-08 07:15:51 +00:00
Matt Sergeant
a1cf0ae556 Milter plugin
git-svn-id: https://svn.perl.org/qpsmtpd/trunk@174 958fd67b-6ff1-0310-b445-bb7760255be9
2003-10-01 20:57:11 +00:00
Ask Bjørn Hansen
2a76892570 don't use Data::Dumper
git-svn-id: https://svn.perl.org/qpsmtpd/trunk@172 958fd67b-6ff1-0310-b445-bb7760255be9
2003-09-15 10:50:27 +00:00
Ask Bjørn Hansen
cb49a9079e add pod documentation and sanity checking of the config
git-svn-id: https://svn.perl.org/qpsmtpd/trunk@170 958fd67b-6ff1-0310-b445-bb7760255be9
2003-08-31 08:24:06 +00:00
Ask Bjørn Hansen
53efac2e14 Use $ENV{QMAIL} to override /var/qmail for where to find the
control/ directory.

  Enable "check_earlytalker" in the default plugins config


git-svn-id: https://svn.perl.org/qpsmtpd/trunk@168 958fd67b-6ff1-0310-b445-bb7760255be9
2003-08-30 15:14:39 +00:00
Matt Sergeant
1414144068 Allow dots in the address
git-svn-id: https://svn.perl.org/qpsmtpd/trunk@167 958fd67b-6ff1-0310-b445-bb7760255be9
2003-07-24 12:44:19 +00:00
Ask Bjørn Hansen
199c2164a4 default the header to "unknown"
git-svn-id: https://svn.perl.org/qpsmtpd/trunk@164 958fd67b-6ff1-0310-b445-bb7760255be9
2003-07-08 03:12:04 +00:00
Matt Sergeant
5a7b0c937b Patch from freeside to do things slightly more correctly
git-svn-id: https://svn.perl.org/qpsmtpd/trunk@162 958fd67b-6ff1-0310-b445-bb7760255be9
2003-06-27 23:00:52 +00:00
Matt Sergeant
4548b77eca Right names are "fail" and "softfail" (bad docs, bad)
Add headers by default instead of issuing DENY


git-svn-id: https://svn.perl.org/qpsmtpd/trunk@161 958fd67b-6ff1-0310-b445-bb7760255be9
2003-06-27 17:27:35 +00:00
Matt Sergeant
04f2e4ee73 Initial hack at an SPF filter
git-svn-id: https://svn.perl.org/qpsmtpd/trunk@160 958fd67b-6ff1-0310-b445-bb7760255be9
2003-06-27 12:25:52 +00:00
Ask Bjørn Hansen
03e00bfb23 Fix bug in dnsbl that made it sometimes ignore "hits" (thanks to
James H. Thompson <jht@lava.net>)


git-svn-id: https://svn.perl.org/qpsmtpd/trunk@148 958fd67b-6ff1-0310-b445-bb7760255be9
2003-06-10 10:03:58 +00:00
Matt Sergeant
80784bb862 Added an smtp forwarding plugin
git-svn-id: https://svn.perl.org/qpsmtpd/trunk@146 958fd67b-6ff1-0310-b445-bb7760255be9
2003-06-09 11:06:41 +00:00
Ask Bjørn Hansen
c2b8e8aa19 Add not even halfbaked saslauth plugin. Hopefully it'll give us
SMTP AUTH some day.  :-)

  If a plugin running the ehlo hook add something to the ARRAY
  reference $self->transaction->notes('capabilities') then it will be
  added to the EHLO response.

  Add command_counter method to the SMTP object.  Plugins can use this
  to catch (or not) consecutive commands.  In particular useful with
  the unrecognized_command hook.


git-svn-id: https://svn.perl.org/qpsmtpd/trunk@144 958fd67b-6ff1-0310-b445-bb7760255be9
2003-04-21 09:42:01 +00:00
Ask Bjørn Hansen
b1fc4cafc5 Have the qmail-queue plugin add the message-id to the "Queued!"
message we send back to the client (to help those odd sendmail using
people debug their logs)


git-svn-id: https://svn.perl.org/qpsmtpd/trunk@140 958fd67b-6ff1-0310-b445-bb7760255be9
2003-04-16 16:45:57 +00:00
Ask Bjørn Hansen
64b92755b5 check_earlytalker plugin. Deny the connection if the client talks
before we show our SMTP banner.  (From Devin Carraway)


git-svn-id: https://svn.perl.org/qpsmtpd/trunk@135 958fd67b-6ff1-0310-b445-bb7760255be9
2003-04-15 17:39:27 +00:00
Ask Bjørn Hansen
f27b77ae61 unrecognized_command hook and a count_unrecognized_commands
plugin. (Rasjid Wilcox)


git-svn-id: https://svn.perl.org/qpsmtpd/trunk@134 958fd67b-6ff1-0310-b445-bb7760255be9
2003-04-15 17:39:03 +00:00
Ask Bjørn Hansen
c10b6fb375 Support morercpthosts.cdb
config now takes an extra "type" parameter.  If it's "map" then a
  reference to a tied hash will be returned.


git-svn-id: https://svn.perl.org/qpsmtpd/trunk@131 958fd67b-6ff1-0310-b445-bb7760255be9
2003-03-25 12:50:07 +00:00
Ask Bjørn Hansen
5ea59dbf59 add note about SA 2.50
git-svn-id: https://svn.perl.org/qpsmtpd/trunk@125 958fd67b-6ff1-0310-b445-bb7760255be9
2003-03-18 09:53:37 +00:00
Ask Bjørn Hansen
5d34bad178 Date: Thu, 13 Mar 2003 00:57:39 -0800
From: Devin Carraway <qpsmtpd-list@devin.com>
To: qpsmtpd@perl.org
Subject: HELO hook and check plugin

Speaking of direct-to-MX spam, both AOL and Yahoo are large companies
with whole walls-full of servers devoted to mail delivery.  None of them
announce themselves with "HELO yahoo.com" or "HELO aol.com."  Spammers
certainly do, though.

Here's a patch to SMTP.pm to add hooks for HELO and EHLO, and a plugin
to use them.


git-svn-id: https://svn.perl.org/qpsmtpd/trunk@119 958fd67b-6ff1-0310-b445-bb7760255be9
2003-03-18 09:43:22 +00:00
Ask Bjørn Hansen
4fd09264e8 Date: Tue, 11 Mar 2003 08:08:16 +0000
From: Matt Sergeant <matt@sergeant.org>
To: qpsmtpd@perl.org
Subject: [PATCH] Get all dnsbl results


git-svn-id: https://svn.perl.org/qpsmtpd/trunk@118 958fd67b-6ff1-0310-b445-bb7760255be9
2003-03-18 09:20:26 +00:00
Ask Bjørn Hansen
ad10192d9e allow relaying to config('me')
receive mail to <abuse> and <postmaster>

(both by Rasjid Wilcox)


git-svn-id: https://svn.perl.org/qpsmtpd/trunk@112 958fd67b-6ff1-0310-b445-bb7760255be9
2003-01-20 11:03:15 +00:00
Ask Bjørn Hansen
bcaf58471e most of these changes were by Rasjid Wilcox <rasjidw@openminddev.net>.
Fix error handling in queue/qmail-queue.

  Add option to queue/qmail-queue to specify an alternate qmail-queue
  location.

  Add support for the QMAILQUEUE environment variable.

  PPerl compatibility (yay!)


git-svn-id: https://svn.perl.org/qpsmtpd/trunk@110 958fd67b-6ff1-0310-b445-bb7760255be9
2003-01-20 11:01:32 +00:00
Ask Bjørn Hansen
52d16950ac minor documentation changes
git-svn-id: https://svn.perl.org/qpsmtpd/trunk@104 958fd67b-6ff1-0310-b445-bb7760255be9
2002-12-09 08:47:36 +00:00
Ask Bjørn Hansen
99fb59a7ff Add munge_subject_threshold and reject_threshold options to the
spamassassin plugin.

Add documentation to the spamassassin plugin.

Add comments to the plugins config


git-svn-id: https://svn.perl.org/qpsmtpd/trunk@103 958fd67b-6ff1-0310-b445-bb7760255be9
2002-12-09 08:47:15 +00:00
Ask Bjørn Hansen
dc562f716e make the spamassassin plugin not stop processing of content plugins
git-svn-id: https://svn.perl.org/qpsmtpd/trunk@98 958fd67b-6ff1-0310-b445-bb7760255be9
2002-11-06 11:03:00 +00:00
Ask Bjørn Hansen
89c18c181d clamav plugin
git-svn-id: https://svn.perl.org/qpsmtpd/trunk@97 958fd67b-6ff1-0310-b445-bb7760255be9
2002-11-06 10:54:41 +00:00
Ask Bjørn Hansen
f9113eb73a http_config plugin
other minor changes

update STATUS and Changes


git-svn-id: https://svn.perl.org/qpsmtpd/trunk@96 958fd67b-6ff1-0310-b445-bb7760255be9
2002-11-06 06:42:55 +00:00
Robert Spier
b6777d1ef8 A simple example of a plugin that logs all incoming mail to a file.
git-svn-id: https://svn.perl.org/qpsmtpd/trunk@93 958fd67b-6ff1-0310-b445-bb7760255be9
2002-11-01 02:08:38 +00:00
Ask Bjørn Hansen
253eeee879 move the queue code to a plugin; document the queue plugin hook.
git-svn-id: https://svn.perl.org/qpsmtpd/trunk@80 958fd67b-6ff1-0310-b445-bb7760255be9
2002-10-10 01:49:34 +00:00
Ask Bjørn Hansen
e342c0b9b2 Make klez filter run for mails bigger than 220KB; they are sometimes
bigger than that.


git-svn-id: https://svn.perl.org/qpsmtpd/trunk@77 958fd67b-6ff1-0310-b445-bb7760255be9
2002-09-22 07:04:13 +00:00
Ask Bjørn Hansen
f28c9429a2 skip as much work as possibly if we are not configured to do any.
fix bug that gave a warning for <> senders in check_badmailfrom


git-svn-id: https://svn.perl.org/qpsmtpd/trunk@73 958fd67b-6ff1-0310-b445-bb7760255be9
2002-09-10 17:17:15 +00:00
Ask Bjørn Hansen
21a88f9f54 adjust logging. enable disconnect_handler again.
git-svn-id: https://svn.perl.org/qpsmtpd/trunk@72 958fd67b-6ff1-0310-b445-bb7760255be9
2002-09-10 16:49:10 +00:00
Ask Bjørn Hansen
9916cfc038 add timeout so we won't wait forever... (is that what's making it lock up
on onion?)


git-svn-id: https://svn.perl.org/qpsmtpd/trunk@71 958fd67b-6ff1-0310-b445-bb7760255be9
2002-09-10 16:36:45 +00:00
Ask Bjørn Hansen
fcbf3b0ad4 return DECLINED if no dnsbl's are configured
git-svn-id: https://svn.perl.org/qpsmtpd/trunk@67 958fd67b-6ff1-0310-b445-bb7760255be9
2002-09-10 13:42:06 +00:00
Ask Bjørn Hansen
a7ac715289 async dns lookups in dnsbl plugin
git-svn-id: https://svn.perl.org/qpsmtpd/trunk@66 958fd67b-6ff1-0310-b445-bb7760255be9
2002-09-10 13:36:58 +00:00
Ask Bjørn Hansen
2fd504ce6a s/recipient/sender/ since this is the MAIL FROM filter ... :-)
git-svn-id: https://svn.perl.org/qpsmtpd/trunk@65 958fd67b-6ff1-0310-b445-bb7760255be9
2002-09-10 11:04:18 +00:00
Ask Bjørn Hansen
e9b02cb730 new plugins from Jim Winstead
git-svn-id: https://svn.perl.org/qpsmtpd/trunk@63 958fd67b-6ff1-0310-b445-bb7760255be9
2002-09-10 11:00:31 +00:00
Ask Bjørn Hansen
8e42b7ab1b avoid returning undef if there are no lists defined
git-svn-id: https://svn.perl.org/qpsmtpd/trunk@59 958fd67b-6ff1-0310-b445-bb7760255be9
2002-09-08 14:15:21 +00:00
Ask Bjørn Hansen
7f5aedffdc don't do the fortune cookie if the client speaks ESMTP instead of just
plain old SMTP.


git-svn-id: https://svn.perl.org/qpsmtpd/branches/v010@55 958fd67b-6ff1-0310-b445-bb7760255be9
2002-09-08 13:23:38 +00:00
Ask Bjørn Hansen
48e3d9de39 remove debug noise
git-svn-id: https://svn.perl.org/qpsmtpd/branches/v010@54 958fd67b-6ff1-0310-b445-bb7760255be9
2002-09-08 10:08:53 +00:00
Ask Bjørn Hansen
ed958c64f6 add klez filter plugin
git-svn-id: https://svn.perl.org/qpsmtpd/branches/v010@52 958fd67b-6ff1-0310-b445-bb7760255be9
2002-09-08 10:06:52 +00:00
Ask Bjørn Hansen
859a3589aa improve error handling
git-svn-id: https://svn.perl.org/qpsmtpd/branches/v010@50 958fd67b-6ff1-0310-b445-bb7760255be9
2002-09-08 10:02:10 +00:00
Ask Bjørn Hansen
21506e8025 notes on spamassassin compatibility
git-svn-id: https://svn.perl.org/qpsmtpd/branches/v010@47 958fd67b-6ff1-0310-b445-bb7760255be9
2002-08-29 03:18:59 +00:00
Ask Bjørn Hansen
95e8a68833 support for SpamAssassin 2.40.
git-svn-id: https://svn.perl.org/qpsmtpd/branches/v010@46 958fd67b-6ff1-0310-b445-bb7760255be9
2002-08-29 03:15:34 +00:00
Ask Bjørn Hansen
0e638f4537 header bugfixes
git-svn-id: https://svn.perl.org/qpsmtpd/branches/v010@45 958fd67b-6ff1-0310-b445-bb7760255be9
2002-08-06 13:39:44 +00:00
Ask Bjørn Hansen
2ee95fc3fc only send messages smaller than 500000 bytes to spamd
git-svn-id: https://svn.perl.org/qpsmtpd/branches/v010@42 958fd67b-6ff1-0310-b445-bb7760255be9
2002-08-06 12:57:59 +00:00
Ask Bjørn Hansen
1e113721d0 spamassassin plugin
git-svn-id: https://svn.perl.org/qpsmtpd/branches/v010@39 958fd67b-6ff1-0310-b445-bb7760255be9
2002-08-06 12:27:35 +00:00
Ask Bjørn Hansen
8ce8427bf9 data_post hook
spamassassin plugin


git-svn-id: https://svn.perl.org/qpsmtpd/branches/v010@38 958fd67b-6ff1-0310-b445-bb7760255be9
2002-08-06 12:01:22 +00:00
Ask Bjørn Hansen
5f2ceb03bd dnsbl plugin
a few new hooks

fix config/IP to be a good default again


git-svn-id: https://svn.perl.org/qpsmtpd/branches/v010@36 958fd67b-6ff1-0310-b445-bb7760255be9
2002-07-15 12:16:10 +00:00
Ask Bjørn Hansen
2fe35f1b8d yay, plugin support works! :-D
git-svn-id: https://svn.perl.org/qpsmtpd/branches/v010@34 958fd67b-6ff1-0310-b445-bb7760255be9
2002-07-08 02:30:11 +00:00
Ask Bjørn Hansen
e0d93d10ef semi working plugin stuff
git-svn-id: https://svn.perl.org/qpsmtpd/branches/v010@30 958fd67b-6ff1-0310-b445-bb7760255be9
2002-07-06 07:16:23 +00:00