Commit Graph

525 Commits

Author SHA1 Message Date
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
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
Matt Sergeant
172fee0798 Fix for corruption problem under Apache
git-svn-id: https://svn.perl.org/qpsmtpd/trunk@400 958fd67b-6ff1-0310-b445-bb7760255be9
2005-03-27 17:54:35 +00:00
John Peacock
f72647a44c * lib/Qpsmtpd.pm
(_load_plugins): split plugin_line using awk style "magic" whitespace


git-svn-id: https://svn.perl.org/qpsmtpd/trunk@399 958fd67b-6ff1-0310-b445-bb7760255be9
2005-03-25 12:30:37 +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
Matt Sergeant
ed4e06bcd2 Fix timeout code kicking in when PTR result is blank domain
git-svn-id: https://svn.perl.org/qpsmtpd/branches/high_perf@396 958fd67b-6ff1-0310-b445-bb7760255be9
2005-03-11 20:09:30 +00:00
Matt Sergeant
41e13e7454 body_write patches from Brian Grossman
git-svn-id: https://svn.perl.org/qpsmtpd/branches/high_perf@395 958fd67b-6ff1-0310-b445-bb7760255be9
2005-03-10 18:19:27 +00:00
Matt Sergeant
6ecc991a20 body_write patches from Brian Grossman
git-svn-id: https://svn.perl.org/qpsmtpd/trunk@394 958fd67b-6ff1-0310-b445-bb7760255be9
2005-03-10 18:18:28 +00:00
Ask Bjørn Hansen
58f03e5787 tweaks to make it work with tcpserver
the check_earlytalker fix was entirely wrong


git-svn-id: https://svn.perl.org/qpsmtpd/branches/high_perf@393 958fd67b-6ff1-0310-b445-bb7760255be9
2005-03-09 00:28:49 +00:00
Matt Sergeant
8588a066d2 Fix strictness
git-svn-id: https://svn.perl.org/qpsmtpd/branches/high_perf@390 958fd67b-6ff1-0310-b445-bb7760255be9
2005-03-08 23:32:25 +00:00
Matt Sergeant
b5b3950ef9 Main initial work on poll server.
git-svn-id: https://svn.perl.org/qpsmtpd/branches/high_perf@388 958fd67b-6ff1-0310-b445-bb7760255be9
2005-03-08 22:52:23 +00:00
Matt Sergeant
3922235bcf Import Danga libraries. This is a bit evil but we'll just have to track them
from the Danga project. This way we get something stable that we know works,
plus nobody has to go and track down other libraries.

Note that only Danga::Socket is (C) Danga. Everything else is original code
and (C) Matt Sergeant.


git-svn-id: https://svn.perl.org/qpsmtpd/branches/high_perf@387 958fd67b-6ff1-0310-b445-bb7760255be9
2005-03-08 19:59:45 +00:00
Matt Sergeant
12ae226ad7 high performance branch
git-svn-id: https://svn.perl.org/qpsmtpd/branches/high_perf@386 958fd67b-6ff1-0310-b445-bb7760255be9
2005-03-08 19:56:15 +00:00
Matt Sergeant
321622f0aa Store mail in memory up to a certain threshold (default 10k).
git-svn-id: https://svn.perl.org/qpsmtpd/trunk@385 958fd67b-6ff1-0310-b445-bb7760255be9
2005-03-08 18:09:49 +00:00
Ask Bjørn Hansen
3c5d0d93e4 bump version number up
git-svn-id: https://svn.perl.org/qpsmtpd/trunk@384 958fd67b-6ff1-0310-b445-bb7760255be9
2005-03-04 19:18:30 +00:00
Ask Bjørn Hansen
db546fe91c prepare 0.29
git-svn-id: https://svn.perl.org/qpsmtpd/trunk@379 958fd67b-6ff1-0310-b445-bb7760255be9
2005-03-03 02:30:16 +00:00
John Peacock
ec7aff1415 * lib/Qpsmtpd.pm
Use package lexical to cache spool dir location instead of storing in
    Transaction or other high level object


git-svn-id: https://svn.perl.org/qpsmtpd/trunk@376 958fd67b-6ff1-0310-b445-bb7760255be9
2005-03-01 14:33:26 +00:00
John Peacock
f82dffe5ce * lib/Qpsmtpd/SMTP.pm
Copy all lines of incoming message to spool file and keep track of
    where the body lines started (ease use of inplace scanning for
    viruses).

*   lib/Qpsmtpd/Transaction.pm
    New function body_start() to get/set the body in spool file
    Tweak body_resetpos() and body_getline() to use body_start instead of 0


git-svn-id: https://svn.perl.org/qpsmtpd/trunk@375 958fd67b-6ff1-0310-b445-bb7760255be9
2005-03-01 14:31:25 +00:00
John Peacock
e503c04ed2 * lib/Qpsmtpd/SMTP.pm
Require a domain/address be given in HELO or EHLO command


git-svn-id: https://svn.perl.org/qpsmtpd/trunk@374 958fd67b-6ff1-0310-b445-bb7760255be9
2005-02-25 16:18:08 +00:00
John Peacock
bb36c60b6a Abstracted spool_dir creation and added temp_file() and temp_dir() subs to
make it easier for plugins to manage temporary workspace.  Also add POD and
tests for the new functions.  Still need to add tests to the temp_*() calls
from a plugin.


git-svn-id: https://svn.perl.org/qpsmtpd/trunk@369 958fd67b-6ff1-0310-b445-bb7760255be9
2005-02-22 02:47:39 +00:00
Ask Bjørn Hansen
d0b9558ce9 APR::Bucket API changed...
From: peter[at]boku.net (Peter Eisch)
Message-ID: <BE3F8D10.1C451%peter[at]boku.net>
Subject: Apache::Qpsmptd.pm patch
Date: Mon, 21 Feb 2005 13:05:20 -0600


git-svn-id: https://svn.perl.org/qpsmtpd/trunk@367 958fd67b-6ff1-0310-b445-bb7760255be9
2005-02-21 21:48:45 +00:00
John Peacock
31a8e7d438 Lets the data hook handle missing envelope sender/recipient,
then falls back to the builtin 503 response (Brian Gross)


git-svn-id: https://svn.perl.org/qpsmtpd/trunk@359 958fd67b-6ff1-0310-b445-bb7760255be9
2005-01-30 17:40:11 +00:00
Matt Sergeant
d26797c6d2 Make the original string available in the Connection notes
git-svn-id: https://svn.perl.org/qpsmtpd/trunk@357 958fd67b-6ff1-0310-b445-bb7760255be9
2005-01-30 05:40:24 +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
0a2fc866de - logging tweaks..
- move some things to more appropriate levels
   - make 'running plugin' more interesting


git-svn-id: https://svn.perl.org/qpsmtpd/trunk@348 958fd67b-6ff1-0310-b445-bb7760255be9
2004-11-27 06:46:21 +00:00
Robert Spier
1670530a1a more logging
git-svn-id: https://svn.perl.org/qpsmtpd/trunk@347 958fd67b-6ff1-0310-b445-bb7760255be9
2004-11-27 06:41:06 +00:00
Robert Spier
e10bb78cd3 - modify some comments about timeouts
- remove extraneous pid's from log messages


git-svn-id: https://svn.perl.org/qpsmtpd/trunk@346 958fd67b-6ff1-0310-b445-bb7760255be9
2004-11-27 06:38:32 +00:00
Robert Spier
ebcb01a54f Subject: [PATCH] Use timeoutsmtpd as well as timeout
from Justin Erenkrantz and John Peacock


git-svn-id: https://svn.perl.org/qpsmtpd/trunk@344 958fd67b-6ff1-0310-b445-bb7760255be9
2004-11-25 19:50:18 +00:00
Matt Sergeant
09531ad70c To balance out with the rcpt logging diff'd against the CVS version
(peter@boku.net)


git-svn-id: https://svn.perl.org/qpsmtpd/trunk@343 958fd67b-6ff1-0310-b445-bb7760255be9
2004-11-22 20:50:57 +00:00
Matt Sergeant
bfd609fb32 Fix timeout config warnings.
Fix alarm not being reset at end of while loop


git-svn-id: https://svn.perl.org/qpsmtpd/trunk@342 958fd67b-6ff1-0310-b445-bb7760255be9
2004-11-19 08:44:24 +00:00
Matt Sergeant
4c44510191 Move plugin compile code into the Plugin module
git-svn-id: https://svn.perl.org/qpsmtpd/trunk@341 958fd67b-6ff1-0310-b445-bb7760255be9
2004-11-18 19:47:10 +00:00
Matt Sergeant
e2bb53901d Connection handler for mod_perl/apache 2.0
git-svn-id: https://svn.perl.org/qpsmtpd/trunk@334 958fd67b-6ff1-0310-b445-bb7760255be9
2004-10-12 07:39:04 +00:00
John Peacock
f6b01fb36b * lib/Qpsmtpd/Address.pm
Change subdomain regex to match single character subdomains
     (Robert Spier)


git-svn-id: https://svn.perl.org/qpsmtpd/trunk@332 958fd67b-6ff1-0310-b445-bb7760255be9
2004-09-24 18:56:35 +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
03455aff9a Add username for AUTH success/failure log entry
git-svn-id: https://svn.perl.org/qpsmtpd/trunk@328 958fd67b-6ff1-0310-b445-bb7760255be9
2004-09-23 16:14:56 +00:00
John Peacock
b9646eef75 Remove the $transaction->relaying() code completely
git-svn-id: https://svn.perl.org/qpsmtpd/trunk@327 958fd67b-6ff1-0310-b445-bb7760255be9
2004-09-23 13:51:09 +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
11c12711ee Fix deny plugin which stopped working.
Call deny plugin for _DISCONNECT constants.
Make Plugin.pm %hooks a global rather than lexical so we can do evil things later.


git-svn-id: https://svn.perl.org/qpsmtpd/trunk@320 958fd67b-6ff1-0310-b445-bb7760255be9
2004-09-19 18:49:05 +00:00
Matt Sergeant
d86da9f944 Make recipients a setter too
git-svn-id: https://svn.perl.org/qpsmtpd/trunk@319 958fd67b-6ff1-0310-b445-bb7760255be9
2004-09-16 10:46:38 +00:00
Matt Sergeant
8c37005161 Use a method for getting a line, so we can subclass it.
git-svn-id: https://svn.perl.org/qpsmtpd/trunk@316 958fd67b-6ff1-0310-b445-bb7760255be9
2004-09-14 05:48:39 +00:00
Matt Sergeant
9224e436bb Plugin testing framework.
git-svn-id: https://svn.perl.org/qpsmtpd/trunk@313 958fd67b-6ff1-0310-b445-bb7760255be9
2004-09-08 16:26:33 +00:00
Robert Spier
0b16ec9418 plugin wrapping:
replace wrap_plugin implementation with
  isa_plugin inheritance based implementation


git-svn-id: https://svn.perl.org/qpsmtpd/trunk@312 958fd67b-6ff1-0310-b445-bb7760255be9
2004-09-08 05:14:10 +00:00
Robert Spier
fb3f0b4604 Matt says wipe it!
git-svn-id: https://svn.perl.org/qpsmtpd/trunk@311 958fd67b-6ff1-0310-b445-bb7760255be9
2004-09-07 15:08:26 +00:00
Robert Spier
fd1cf0b9b0 Qpsmtpd::TCPServer will handle calling load_plugins. We *really* only
want to call it once per process.


git-svn-id: https://svn.perl.org/qpsmtpd/trunk@310 958fd67b-6ff1-0310-b445-bb7760255be9
2004-09-07 05:50:36 +00:00
Robert Spier
ec5e23a28a Allow for multiple instances of a single plugin by using plugin:0
notation


git-svn-id: https://svn.perl.org/qpsmtpd/trunk@308 958fd67b-6ff1-0310-b445-bb7760255be9
2004-09-07 05:35:16 +00:00
Robert Spier
96d66b8d46 Add the wrap_plugin function to allow for plugin wrapping
git-svn-id: https://svn.perl.org/qpsmtpd/trunk@307 958fd67b-6ff1-0310-b445-bb7760255be9
2004-09-07 05:07:20 +00:00
Robert Spier
4d4baac96e Nick Leverton noticed I left out a very important 'ref'. Thanks Nick!
git-svn-id: https://svn.perl.org/qpsmtpd/trunk@306 958fd67b-6ff1-0310-b445-bb7760255be9
2004-09-06 17:36:57 +00:00
Matt Sergeant
606519b06c Fix for hooks not running with previous patch, caused by qpsmtpd objects not
asking each plugin to register. There is slightly more overhead this way,
but it feels more correct, and we can fix the overhead later in a more clean
way.


git-svn-id: https://svn.perl.org/qpsmtpd/trunk@300 958fd67b-6ff1-0310-b445-bb7760255be9
2004-09-05 16:28:08 +00:00
Robert Spier
ee1017a1a4 VRFY plugin support
git-svn-id: https://svn.perl.org/qpsmtpd/trunk@298 958fd67b-6ff1-0310-b445-bb7760255be9
2004-09-05 04:30:21 +00:00
Robert Spier
5128bd0718 new plugin output tracking
git-svn-id: https://svn.perl.org/qpsmtpd/trunk@296 958fd67b-6ff1-0310-b445-bb7760255be9
2004-09-04 03:16:10 +00:00
Robert Spier
bdd20fed4d indentation and whitespace cleanup
git-svn-id: https://svn.perl.org/qpsmtpd/trunk@295 958fd67b-6ff1-0310-b445-bb7760255be9
2004-09-04 00:57:16 +00:00
Robert Spier
e8bf8286fc reindent undef check
git-svn-id: https://svn.perl.org/qpsmtpd/trunk@294 958fd67b-6ff1-0310-b445-bb7760255be9
2004-09-04 00:51:02 +00:00
Matt Sergeant
9d94f4d96a Pass extra "stuff" to HELO/EHLO callbacks
git-svn-id: https://svn.perl.org/qpsmtpd/trunk@293 958fd67b-6ff1-0310-b445-bb7760255be9
2004-09-01 05:56:52 +00:00
Matt Sergeant
e6e2091ee0 Attempt to clean up circular refs problems
git-svn-id: https://svn.perl.org/qpsmtpd/trunk@292 958fd67b-6ff1-0310-b445-bb7760255be9
2004-08-31 01:58:57 +00:00
Robert Spier
e1785b1923 More accessors
git-svn-id: https://svn.perl.org/qpsmtpd/trunk@290 958fd67b-6ff1-0310-b445-bb7760255be9
2004-08-29 07:53:15 +00:00
Devin Carraway
15c90f04fa Log the connecting client hostname/address, rather than waiting for the
SMTP greeting.


git-svn-id: https://svn.perl.org/qpsmtpd/trunk@283 958fd67b-6ff1-0310-b445-bb7760255be9
2004-08-01 06:56:33 +00:00
Matt Sergeant
a204827d0c Fix for AUTH PLAIN from Michael Holzt <kju@fqdn.org>
git-svn-id: https://svn.perl.org/qpsmtpd/trunk@280 958fd67b-6ff1-0310-b445-bb7760255be9
2004-07-29 14:40:32 +00:00
Ask Bjørn Hansen
42719a179f support NULL envelopes again (doh, typo of the week :-) )
git-svn-id: https://svn.perl.org/qpsmtpd/trunk@278 958fd67b-6ff1-0310-b445-bb7760255be9
2004-07-20 12:46:20 +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
a979f8344f fix the CDB support so we can work without it (but with a big warning)
git-svn-id: https://svn.perl.org/qpsmtpd/trunk@275 958fd67b-6ff1-0310-b445-bb7760255be9
2004-07-18 11:02:08 +00:00
Ask Bjørn Hansen
b9dca51d2a fix minor warning introduced with the data hook
git-svn-id: https://svn.perl.org/qpsmtpd/trunk@270 958fd67b-6ff1-0310-b445-bb7760255be9
2004-07-16 09:44:39 +00:00
Matt Sergeant
c60710e871 Add a hook for the DATA command
git-svn-id: https://svn.perl.org/qpsmtpd/trunk@269 958fd67b-6ff1-0310-b445-bb7760255be9
2004-07-16 07:27:26 +00:00
Robert Spier
de9a7fa02a Message-ID: <40F6EB78.1010107@rowman.com>
From: John Peacock <jpeacock@rowman.com>

Yeah, I was just noticing how odd it was that FROM was always logged
but TO wasn't logged at all.


git-svn-id: https://svn.perl.org/qpsmtpd/trunk@268 958fd67b-6ff1-0310-b445-bb7760255be9
2004-07-16 05:06:43 +00:00
Robert Spier
bd8cfde4c1 From: John Peacock <jpeacock@rowman.com>
To: qpsmtpd@perl.org
Subject: [PATCH] Another helper function to Qsmtpd::Transaction
Message-ID: <20040714143407.32740.qmail@onion.perl.org>
Date: Wed, 14 Jul 2004 10:34:25 -0400

The AV scanner plugin I am currently using (uvscan) requires the
attached patch so that it can scan the existing temp file, rather than
making a copy just for the scan.


git-svn-id: https://svn.perl.org/qpsmtpd/trunk@267 958fd67b-6ff1-0310-b445-bb7760255be9
2004-07-16 05:04:25 +00:00
Ask Bjørn Hansen
f31e4b1b6b 100% test coverage of Qpsmtpd::Address
git-svn-id: https://svn.perl.org/qpsmtpd/trunk@265 958fd67b-6ff1-0310-b445-bb7760255be9
2004-07-16 02:51:39 +00:00
Ask Bjørn Hansen
86c887fd59 take out spurious warning
improve address parsing a bit to make it easier to add parsing of MAIL
FROM extensions


git-svn-id: https://svn.perl.org/qpsmtpd/trunk@263 958fd67b-6ff1-0310-b445-bb7760255be9
2004-07-16 02:22:11 +00:00
Ask Bjørn Hansen
db15fbf9ad add the Qpsmtpd::Address module (oops!)
git-svn-id: https://svn.perl.org/qpsmtpd/trunk@262 958fd67b-6ff1-0310-b445-bb7760255be9
2004-07-15 22:52:53 +00:00
Ask Bjørn Hansen
87323ed62e Mail::Address does RFC822 addresses, we need SMTP addresses.
Replace Mail::Address with Peter J. Holzer's Qpsmtpd::Address module.


git-svn-id: https://svn.perl.org/qpsmtpd/trunk@261 958fd67b-6ff1-0310-b445-bb7760255be9
2004-07-14 23:58:47 +00:00
Matt Sergeant
fd8fcde7c0 Don't allow AUTH under HELO (rfc 821) connections
git-svn-id: https://svn.perl.org/qpsmtpd/trunk@258 958fd67b-6ff1-0310-b445-bb7760255be9
2004-07-05 09:24:59 +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
ae24115d06 When spool_dir has improper permissions, mention what spool_dir is set to.
git-svn-id: https://svn.perl.org/qpsmtpd/trunk@250 958fd67b-6ff1-0310-b445-bb7760255be9
2004-06-28 00:00:51 +00:00
Devin Carraway
0f35f241b7 When creation of spool_dir fails, report what dir it was trying to make.
git-svn-id: https://svn.perl.org/qpsmtpd/trunk@249 958fd67b-6ff1-0310-b445-bb7760255be9
2004-06-27 23:39:32 +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
Robert Spier
ac9dd50928 DENY_DISCONNECT and DENYSOFT_DISCONNECT instead of *HARD
git-svn-id: https://svn.perl.org/qpsmtpd/trunk@245 958fd67b-6ff1-0310-b445-bb7760255be9
2004-06-14 22:25:52 +00:00
Matt Sergeant
0e5b4e63ec Add unshift parameter to register_hook, allowing you to put the hook at the
start of the queue


git-svn-id: https://svn.perl.org/qpsmtpd/trunk@244 958fd67b-6ff1-0310-b445-bb7760255be9
2004-06-11 20:01:17 +00:00
Robert Spier
b2b7602d32 must export variable
git-svn-id: https://svn.perl.org/qpsmtpd/trunk@242 958fd67b-6ff1-0310-b445-bb7760255be9
2004-06-11 06:12:16 +00:00
Robert Spier
971b696ffa forgot another place to put DENYSOFTHARD
git-svn-id: https://svn.perl.org/qpsmtpd/trunk@241 958fd67b-6ff1-0310-b445-bb7760255be9
2004-06-11 06:11:27 +00:00
Robert Spier
48d753ca25 add DENYSOFTHARD status
git-svn-id: https://svn.perl.org/qpsmtpd/trunk@240 958fd67b-6ff1-0310-b445-bb7760255be9
2004-06-11 06:06:30 +00:00
Matt Sergeant
2892df687a Cleanup docs to look nicer under perldoc
git-svn-id: https://svn.perl.org/qpsmtpd/trunk@238 958fd67b-6ff1-0310-b445-bb7760255be9
2004-06-07 18:48:52 +00:00
Matt Sergeant
4375b45289 Docs
git-svn-id: https://svn.perl.org/qpsmtpd/trunk@237 958fd67b-6ff1-0310-b445-bb7760255be9
2004-06-07 18:48:13 +00:00
Ask Bjørn Hansen
3db688e52c 0.28
git-svn-id: https://svn.perl.org/qpsmtpd/trunk@235 958fd67b-6ff1-0310-b445-bb7760255be9
2004-06-05 10:09:30 +00:00
Ask Bjørn Hansen
a9f0538bcc Don't keep adding ip addresses to the process status line ($0) when running under PPerl.
Include the date and time the session started in the process status line.


git-svn-id: https://svn.perl.org/qpsmtpd/trunk@233 958fd67b-6ff1-0310-b445-bb7760255be9
2004-06-05 10:06:44 +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
Matt Sergeant
3d2feb8953 Forgot to add in Constants here for logging
git-svn-id: https://svn.perl.org/qpsmtpd/trunk@226 958fd67b-6ff1-0310-b445-bb7760255be9
2004-03-14 22:35:51 +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
f59721ed1b start on 0.28-dev ...
git-svn-id: https://svn.perl.org/qpsmtpd/trunk@216 958fd67b-6ff1-0310-b445-bb7760255be9
2004-03-05 09:26:36 +00:00
Ask Bjørn Hansen
6e3ebe8ea3 0.27.0
git-svn-id: https://svn.perl.org/qpsmtpd/trunk@214 958fd67b-6ff1-0310-b445-bb7760255be9
2004-03-05 09:17:38 +00:00
Ask Bjørn Hansen
22523ead2d reject bare carriage-returns in addition to the bare line-feeds
(based on a patch from Robert James Kaes, thanks!)


git-svn-id: https://svn.perl.org/qpsmtpd/trunk@209 958fd67b-6ff1-0310-b445-bb7760255be9
2004-03-04 04:30:02 +00:00
Ask Bjørn Hansen
9523d55cd7 reset_transaction is called after disconnect plugins are called so
the Transaction objects DESTROY method is called. (Thanks to Robert
  James Kaes <rjkaes@flarenet.com>)


git-svn-id: https://svn.perl.org/qpsmtpd/trunk@207 958fd67b-6ff1-0310-b445-bb7760255be9
2004-02-24 10:31:12 +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
dfb763acdf don't call exit from the SMTP object, call the disconnect method instead
minor tweaks


git-svn-id: https://svn.perl.org/qpsmtpd/trunk@203 958fd67b-6ff1-0310-b445-bb7760255be9
2004-02-13 13:10:18 +00:00
Matt Sergeant
c567f3726a Support DENYHARD as response to RCPT
git-svn-id: https://svn.perl.org/qpsmtpd/trunk@198 958fd67b-6ff1-0310-b445-bb7760255be9
2003-12-03 20:58:30 +00:00
Matt Sergeant
c4903199ff DENYHARD - allows you to DENY with a disconnect
git-svn-id: https://svn.perl.org/qpsmtpd/trunk@196 958fd67b-6ff1-0310-b445-bb7760255be9
2003-12-03 08:07:36 +00:00
Matt Sergeant
c1aa3ddb8a Override log function to use fileno(client) as pid will always be the same
Don't use exit() in response to bad LF end of DATA


git-svn-id: https://svn.perl.org/qpsmtpd/trunk@195 958fd67b-6ff1-0310-b445-bb7760255be9
2003-11-19 23:01:43 +00:00
Matt Sergeant
b55eae7e36 unset indata{} after DATA is finished.
git-svn-id: https://svn.perl.org/qpsmtpd/trunk@192 958fd67b-6ff1-0310-b445-bb7760255be9
2003-11-06 15:41:03 +00:00
Matt Sergeant
c2fb24c4e4 Split received header so it doesn't exceed 78 chars
git-svn-id: https://svn.perl.org/qpsmtpd/trunk@191 958fd67b-6ff1-0310-b445-bb7760255be9
2003-11-04 22:52:49 +00:00
Matt Sergeant
eff5e69d39 Oops, got the wrong end of the socket for the IP address!
git-svn-id: https://svn.perl.org/qpsmtpd/trunk@190 958fd67b-6ff1-0310-b445-bb7760255be9
2003-11-03 08:22:24 +00:00
Matt Sergeant
ba12debf5f Less log rubbish
git-svn-id: https://svn.perl.org/qpsmtpd/trunk@189 958fd67b-6ff1-0310-b445-bb7760255be9
2003-11-02 19:00:17 +00:00
Matt Sergeant
ad5e1b6fff Support SIGTERM
git-svn-id: https://svn.perl.org/qpsmtpd/trunk@188 958fd67b-6ff1-0310-b445-bb7760255be9
2003-11-02 17:36:36 +00:00
Matt Sergeant
199179eddc Cleanup logging
git-svn-id: https://svn.perl.org/qpsmtpd/trunk@187 958fd67b-6ff1-0310-b445-bb7760255be9
2003-11-02 17:34:33 +00:00
Matt Sergeant
66c5c78a38 Looks like we can't delete the _qp after all. <sigh>
git-svn-id: https://svn.perl.org/qpsmtpd/trunk@185 958fd67b-6ff1-0310-b445-bb7760255be9
2003-11-02 11:35:15 +00:00
Matt Sergeant
981f6de7ab A non-tcpserver qpsmtpd server
git-svn-id: https://svn.perl.org/qpsmtpd/trunk@182 958fd67b-6ff1-0310-b445-bb7760255be9
2003-11-02 11:15:40 +00:00
Matt Sergeant
03b8cda2b5 Don't keep the _qp around - just pass it in to each hook.
git-svn-id: https://svn.perl.org/qpsmtpd/trunk@179 958fd67b-6ff1-0310-b445-bb7760255be9
2003-11-02 11:13:08 +00:00
Matt Sergeant
b442d002f1 Don't unfold header lines.
git-svn-id: https://svn.perl.org/qpsmtpd/trunk@178 958fd67b-6ff1-0310-b445-bb7760255be9
2003-11-01 10:05:23 +00:00
Matt Sergeant
29bbbece90 Check for register() function after fixing plugin name (major speedup for
persistent environments as previously queue/qmail-queue would be recompiled
for every mail)


git-svn-id: https://svn.perl.org/qpsmtpd/trunk@177 958fd67b-6ff1-0310-b445-bb7760255be9
2003-10-23 08:48:56 +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
891778b175 Say Received: ... via ESMTP instead of via SMTP when the client
speaks ESMTP.  (Hoping this can be a useful SpamAssassin rule).

Take out the X-SMTPD header.


git-svn-id: https://svn.perl.org/qpsmtpd/trunk@171 958fd67b-6ff1-0310-b445-bb7760255be9
2003-09-05 05:10:40 +00:00
Ask Bjørn Hansen
e006f74d23 Use $ENV{QMAIL} to override /var/qmail for where to find the
control/ directory.


git-svn-id: https://svn.perl.org/qpsmtpd/trunk@169 958fd67b-6ff1-0310-b445-bb7760255be9
2003-08-30 15:14:56 +00:00
Matt Sergeant
bae4a84b99 Fixed defaults bug (freeside)
git-svn-id: https://svn.perl.org/qpsmtpd/trunk@166 958fd67b-6ff1-0310-b445-bb7760255be9
2003-07-24 12:43:46 +00:00
Matt Sergeant
f7790c75fd Removed DISCARD
git-svn-id: https://svn.perl.org/qpsmtpd/trunk@165 958fd67b-6ff1-0310-b445-bb7760255be9
2003-07-24 12:43:02 +00:00
Ask Bjørn Hansen
9f857f845e 0.27-dev
git-svn-id: https://svn.perl.org/qpsmtpd/trunk@163 958fd67b-6ff1-0310-b445-bb7760255be9
2003-07-08 03:10:48 +00:00
Ask Bjørn Hansen
d71ddbbd04 minor doc patch
git-svn-id: https://svn.perl.org/qpsmtpd/trunk@159 958fd67b-6ff1-0310-b445-bb7760255be9
2003-06-24 16:04:55 +00:00
Matt Sergeant
1e86299bf8 Added DISCARD option to DATA (body) checks
Added documentation to Constants.pm


git-svn-id: https://svn.perl.org/qpsmtpd/trunk@158 958fd67b-6ff1-0310-b445-bb7760255be9
2003-06-24 07:42:38 +00:00
Matt Sergeant
0c99d11f8b Don't reload plugins if already loaded (stops warnings under pperl)
git-svn-id: https://svn.perl.org/qpsmtpd/trunk@157 958fd67b-6ff1-0310-b445-bb7760255be9
2003-06-23 08:14:25 +00:00
Ask Bjørn Hansen
d99eea00d6 release 0.26
git-svn-id: https://svn.perl.org/qpsmtpd/trunk@155 958fd67b-6ff1-0310-b445-bb7760255be9
2003-06-11 08:38:57 +00:00
Ask Bjørn Hansen
8c52b83ab2 nuke the unused and incorrect add_header_line method
clarify when notes gets reset


git-svn-id: https://svn.perl.org/qpsmtpd/trunk@152 958fd67b-6ff1-0310-b445-bb7760255be9
2003-06-10 10:15:42 +00:00
Ask Bjørn Hansen
1eafaba4e9 don't try to open configuration files that does not exist.
git-svn-id: https://svn.perl.org/qpsmtpd/trunk@151 958fd67b-6ff1-0310-b445-bb7760255be9
2003-06-10 10:06:31 +00:00
Matt Sergeant
2999d7cccd Added docs
git-svn-id: https://svn.perl.org/qpsmtpd/trunk@147 958fd67b-6ff1-0310-b445-bb7760255be9
2003-06-09 13:45:29 +00:00
Ask Bjørn Hansen
9b150dfcf1 Fix bug hiding the error message when an existing configuration file
isn't readable.


git-svn-id: https://svn.perl.org/qpsmtpd/trunk@145 958fd67b-6ff1-0310-b445-bb7760255be9
2003-04-23 03:36:36 +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
1223c26ccf Filter out all uncommon characters from the remote_host
setting. (thanks to Frank Denis / Jedi/Sector One for the hint).


git-svn-id: https://svn.perl.org/qpsmtpd/trunk@142 958fd67b-6ff1-0310-b445-bb7760255be9
2003-04-21 08:28:12 +00:00
Ask Bjørn Hansen
c68e306d17 Don't break under taint mode on OpenBSD. (thanks to Frank Denis /
Jedi/Sector One)


git-svn-id: https://svn.perl.org/qpsmtpd/trunk@141 958fd67b-6ff1-0310-b445-bb7760255be9
2003-04-21 08:23:35 +00:00
Ask Bjørn Hansen
4c4360d038 Set the process name to "qpsmtpd [1.2.3.4 : host.name.tld]"
is it possible to embed ANSI escape codes in a hostname? Hmn, probably not.


git-svn-id: https://svn.perl.org/qpsmtpd/trunk@139 958fd67b-6ff1-0310-b445-bb7760255be9
2003-04-16 16:35:14 +00:00
Ask Bjørn Hansen
933d76ecf9 Fixed timeout bug when the client sent DATA and then stopped before
sending the next line. (Gergely Risko <risko@risko.hu>)


git-svn-id: https://svn.perl.org/qpsmtpd/trunk@138 958fd67b-6ff1-0310-b445-bb7760255be9
2003-04-15 18:10:44 +00:00
Ask Bjørn Hansen
3c80ae667f remove $plugin defined twice warning
git-svn-id: https://svn.perl.org/qpsmtpd/trunk@137 958fd67b-6ff1-0310-b445-bb7760255be9
2003-04-15 17:50:45 +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
22ca786bac check_earlytalker plugin. Deny the connection if the client talks
before we show our SMTP banner.  (From Devin Carraway)

  Patch Qpsmtpd::SMTP to allow connect plugins to give DENY and
  DENYSOFT return codes.  Based on patch from Devin Carraway.


git-svn-id: https://svn.perl.org/qpsmtpd/trunk@133 958fd67b-6ff1-0310-b445-bb7760255be9
2003-04-15 17:01:43 +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
bf885c2fe8 release 0.25
git-svn-id: https://svn.perl.org/qpsmtpd/trunk@129 958fd67b-6ff1-0310-b445-bb7760255be9
2003-03-18 10:02:12 +00:00
Ask Bjørn Hansen
1e68979d60 0.26-dev
git-svn-id: https://svn.perl.org/qpsmtpd/trunk@128 958fd67b-6ff1-0310-b445-bb7760255be9
2003-03-18 09:59:21 +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
883b184a80 Use the proper RFC2822 date format in the Received headers. (Somehow
I had convinced myself that ISO8601 dates were okay). Thanks to
Kee Hinckley <nazgul@somewhere.com>.

Print the date in the local timezone instead of in -0000. (Not
entirely convinced this is a good idea)


git-svn-id: https://svn.perl.org/qpsmtpd/trunk@116 958fd67b-6ff1-0310-b445-bb7760255be9
2003-02-06 05:17:28 +00:00
Ask Bjørn Hansen
5eec66f3e2 add deny hook (Rasjid Wilcox)
git-svn-id: https://svn.perl.org/qpsmtpd/trunk@111 958fd67b-6ff1-0310-b445-bb7760255be9
2003-01-20 11:02:20 +00:00
Ask Bjørn Hansen
6aac8fc692 release 0.20
git-svn-id: https://svn.perl.org/qpsmtpd/trunk@106 958fd67b-6ff1-0310-b445-bb7760255be9
2002-12-09 09:08:44 +00:00
Ask Bjørn Hansen
efeb19129f Fix the "too many dots in the beginning of the line" bug.
git-svn-id: https://svn.perl.org/qpsmtpd/trunk@105 958fd67b-6ff1-0310-b445-bb7760255be9
2002-12-09 09:08:09 +00:00
Ask Bjørn Hansen
9d5610a80a 0.20-dev
allow plugin configuration via the plugins config

store _hooks globally so they'll work from the transaction object too


git-svn-id: https://svn.perl.org/qpsmtpd/trunk@95 958fd67b-6ff1-0310-b445-bb7760255be9
2002-11-06 06:40:35 +00:00
Ask Bjørn Hansen
2001523033 don't log the max size stuff at trace level 6
git-svn-id: https://svn.perl.org/qpsmtpd/trunk@94 958fd67b-6ff1-0310-b445-bb7760255be9
2002-11-06 06:39:32 +00:00
Ask Bjørn Hansen
b556af398e Default DENYSOFT for the rcpt hook gave 550 code
git-svn-id: https://svn.perl.org/qpsmtpd/trunk@92 958fd67b-6ff1-0310-b445-bb7760255be9
2002-10-25 00:24:54 +00:00
Ask Bjørn Hansen
849be5b1ab 0.12
git-svn-id: https://svn.perl.org/qpsmtpd/trunk@90 958fd67b-6ff1-0310-b445-bb7760255be9
2002-10-17 07:42:22 +00:00
Ask Bjørn Hansen
173a2d26f5 better error messages when a plugin fails
remove some debug messages in the log


git-svn-id: https://svn.perl.org/qpsmtpd/trunk@89 958fd67b-6ff1-0310-b445-bb7760255be9
2002-10-17 07:39:54 +00:00
Ask Bjørn Hansen
208a0cd54c fix NOOP
git-svn-id: https://svn.perl.org/qpsmtpd/trunk@88 958fd67b-6ff1-0310-b445-bb7760255be9
2002-10-14 05:47:25 +00:00
Ask Bjørn Hansen
97610b6840 Better installation instructions and error message when no plugin
allowed or denied relaying (thanks to Lars Rander
<lrNOSPAM@rander.dk>).


git-svn-id: https://svn.perl.org/qpsmtpd/trunk@87 958fd67b-6ff1-0310-b445-bb7760255be9
2002-10-14 01:59:04 +00:00
Ask Bjørn Hansen
afa899a84c 0.12-dev
git-svn-id: https://svn.perl.org/qpsmtpd/trunk@84 958fd67b-6ff1-0310-b445-bb7760255be9
2002-10-10 01:52:34 +00:00
Ask Bjørn Hansen
27371bd7e3 prepare for 0.11
git-svn-id: https://svn.perl.org/qpsmtpd/trunk@81 958fd67b-6ff1-0310-b445-bb7760255be9
2002-10-10 01:50:07 +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
9c38313d06 add thhe Utils.pm module
git-svn-id: https://svn.perl.org/qpsmtpd/trunk@79 958fd67b-6ff1-0310-b445-bb7760255be9
2002-09-24 18:53:45 +00:00
Ask Bjørn Hansen
806fcf25e8 Reorganize most of Qpsmtpd.pm into Qpsmtpd/SMTP.pm.
Add spool_dir option (thanks to Ross Mueller <ross@visual.com>)

  Add plugin name to the "hooks" data structure, so we can log plugin
  module had an error when we run a hook.


git-svn-id: https://svn.perl.org/qpsmtpd/trunk@78 958fd67b-6ff1-0310-b445-bb7760255be9
2002-09-24 10:56:35 +00:00
Ask Bjørn Hansen
499d1e6a4c fix "use of uninitialized variable" warnings
git-svn-id: https://svn.perl.org/qpsmtpd/trunk@76 958fd67b-6ff1-0310-b445-bb7760255be9
2002-09-20 18:55:41 +00:00
Ask Bjørn Hansen
8aa2bac088 work with perl 5.5.3
git-svn-id: https://svn.perl.org/qpsmtpd/trunk@75 958fd67b-6ff1-0310-b445-bb7760255be9
2002-09-20 18:55:20 +00:00
Ask Bjørn Hansen
eed27e5fb1 Fixed "could not print ..." log warning.
git-svn-id: https://svn.perl.org/qpsmtpd/trunk@74 958fd67b-6ff1-0310-b445-bb7760255be9
2002-09-12 07:31:56 +00:00
Ask Bjørn Hansen
a2f455320e fix bug that made us get stuck if we got RCPT before MAIL.
git-svn-id: https://svn.perl.org/qpsmtpd/trunk@70 958fd67b-6ff1-0310-b445-bb7760255be9
2002-09-10 16:24:23 +00:00
Ask Bjørn Hansen
d02760090a only log config stuff if trace level is 8 or 10 ... (or higher)
git-svn-id: https://svn.perl.org/qpsmtpd/trunk@69 958fd67b-6ff1-0310-b445-bb7760255be9
2002-09-10 13:45:25 +00:00
Ask Bjørn Hansen
1cea2f9449 add notes method to the Connection object. (used in the dnsbl plugin)
git-svn-id: https://svn.perl.org/qpsmtpd/trunk@68 958fd67b-6ff1-0310-b445-bb7760255be9
2002-09-10 13:42:44 +00:00
Ask Bjørn Hansen
f2bcad4da8 Better RFC conformance. (Reset transactions after the DATA command and
when the MAIL command is being done).


git-svn-id: https://svn.perl.org/qpsmtpd/trunk@62 958fd67b-6ff1-0310-b445-bb7760255be9
2002-09-10 09:49:35 +00:00
Ask Bjørn Hansen
c8698cad53 increase the trace level for the config reading stuff
git-svn-id: https://svn.perl.org/qpsmtpd/trunk@58 958fd67b-6ff1-0310-b445-bb7760255be9
2002-09-08 14:12:36 +00:00
Ask Bjørn Hansen
06ee5b636e prepare for version 0.10
git-svn-id: https://svn.perl.org/qpsmtpd/branches/v010@56 958fd67b-6ff1-0310-b445-bb7760255be9
2002-09-08 13:45:37 +00:00
Ask Bjørn Hansen
a1d52491bf blocked() is no longer supported in Qpsmtpd.pm; we can put it back
when qpsmtpd supports plugins accessing the message line by line as we
receive the data.


git-svn-id: https://svn.perl.org/qpsmtpd/branches/v010@51 958fd67b-6ff1-0310-b445-bb7760255be9
2002-09-08 10:05:36 +00:00
Ask Bjørn Hansen
931c3dbdfa use new plugin_name function when the plugins log()
git-svn-id: https://svn.perl.org/qpsmtpd/branches/v010@49 958fd67b-6ff1-0310-b445-bb7760255be9
2002-09-08 10:00:02 +00:00
Ask Bjørn Hansen
4ee8b164f9 support more data_post hook return codes
eval { } the hooks so we can handle them failing more gracefully (not
sure if this really adds anything... hmn).


git-svn-id: https://svn.perl.org/qpsmtpd/branches/v010@48 958fd67b-6ff1-0310-b445-bb7760255be9
2002-09-08 09:58:47 +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
be25aa03e6 delete the spool file when we are done with it
git-svn-id: https://svn.perl.org/qpsmtpd/branches/v010@44 958fd67b-6ff1-0310-b445-bb7760255be9
2002-08-06 13:04:51 +00:00
Ask Bjørn Hansen
6cf778d598 remove debug warnings
git-svn-id: https://svn.perl.org/qpsmtpd/branches/v010@43 958fd67b-6ff1-0310-b445-bb7760255be9
2002-08-06 12:58:58 +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
245bdd1acf make the alarm{timeout} thing slightly more efficient...
git-svn-id: https://svn.perl.org/qpsmtpd/branches/v010@41 958fd67b-6ff1-0310-b445-bb7760255be9
2002-08-06 12:57:02 +00:00
Ask Bjørn Hansen
75e0f9e568 check that we are being started under tcpserver
git-svn-id: https://svn.perl.org/qpsmtpd/branches/v010@40 958fd67b-6ff1-0310-b445-bb7760255be9
2002-08-06 12:34:03 +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
d9d509019d add "disconnect" hook
git-svn-id: https://svn.perl.org/qpsmtpd/branches/v010@35 958fd67b-6ff1-0310-b445-bb7760255be9
2002-07-15 11:49:49 +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
ae8adc41a2 plugin base class
git-svn-id: https://svn.perl.org/qpsmtpd/branches/v010@32 958fd67b-6ff1-0310-b445-bb7760255be9
2002-07-06 07:18:48 +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
Ask Bjørn Hansen
3e5de3a0b3 separate queue method called from data.
store the header in a Mail::Header object for easier processing by the plugins


git-svn-id: https://svn.perl.org/qpsmtpd/branches/v010@29 958fd67b-6ff1-0310-b445-bb7760255be9
2002-07-06 02:09:01 +00:00
Ask Bjørn Hansen
bcd0d6d534 data method; we can now receive mails with this...
git-svn-id: https://svn.perl.org/qpsmtpd/branches/v010@28 958fd67b-6ff1-0310-b445-bb7760255be9
2002-07-04 01:45:19 +00:00
Ask Bjørn Hansen
c0b2ccd590 make noop, rset and vrfy work
git-svn-id: https://svn.perl.org/qpsmtpd/branches/v010@24 958fd67b-6ff1-0310-b445-bb7760255be9
2002-07-03 13:27:04 +00:00
Ask Bjørn Hansen
6df92cd56e half baked version of the new object mail engine
(note the branch, v010)


git-svn-id: https://svn.perl.org/qpsmtpd/branches/v010@23 958fd67b-6ff1-0310-b445-bb7760255be9
2002-07-03 13:10:44 +00:00