Commit Graph

2185 Commits

Author SHA1 Message Date
John Peacock
8a18bb00a1 * lib/Qpsmtpd/Address.pm
RFC-2821 Section 4.5.1 specifically requires <postmaster> (without
    domain name) as a legal RCPT TO: address.

* t/qpsmtpd-address.t
    Test the above.

git-svn-id: https://svn.perl.org/qpsmtpd/branches/0.31@560 958fd67b-6ff1-0310-b445-bb7760255be9
2005-11-08 18:18:02 +00:00
John Peacock
37ec3b151e * lib/Qpsmtpd/Address.pm
Add POD to describe how to use the objects.  Make the addr_cmp 
    method private (no need to expose it).

* t/qpsmtpd-address.t
    Include tests of overloaded comparison, including sorting.

git-svn-id: https://svn.perl.org/qpsmtpd/branches/0.31@559 958fd67b-6ff1-0310-b445-bb7760255be9
2005-11-02 18:48:32 +00:00
John Peacock
3b09cc25d7 * lib/Qpsmtpd/Address.pm
Don't overload '<=>' operator casually.  Swap host/user portion
    when comparing (makes it easy to sort by domain).

git-svn-id: https://svn.perl.org/qpsmtpd/branches/0.31@558 958fd67b-6ff1-0310-b445-bb7760255be9
2005-11-01 15:14:48 +00:00
John Peacock
7bc7916bda * lib/Qpsmtpd/Address.pm
Since we are already overloading stringify, we might as well
    overload comparisons as well (this may be too simplistic a test).

git-svn-id: https://svn.perl.org/qpsmtpd/branches/0.31@557 958fd67b-6ff1-0310-b445-bb7760255be9
2005-10-31 17:51:11 +00:00
John Peacock
5959cc1c32 * lib/Qpsmtpd/Auth.pm
lib/Qpsmtpd/SMTP.pm
    Take the AUTH method and put it in SMTP.pm where it belongs.

* lib/Qpsmtpd.pm
  lib/Qpsmtpd/Plugin.pm
    Expose the auth_user/auth_mechanism property to plugin writers.

git-svn-id: https://svn.perl.org/qpsmtpd/branches/0.31@556 958fd67b-6ff1-0310-b445-bb7760255be9
2005-10-31 17:12:37 +00:00
Matt Sergeant
0a397e74a9 Support all resolvers in resolv.conf, and issue retries on errors the same
way gethostbyname() does.


git-svn-id: https://svn.perl.org/qpsmtpd/trunk@555 958fd67b-6ff1-0310-b445-bb7760255be9
2005-10-26 19:09:04 +00:00
John Peacock
e67bbed2ac * lib/Qpsmtpd/Transaction.pm
Doh!  I should flush() not close(), since other code assume the handle
    is still active.

git-svn-id: https://svn.perl.org/qpsmtpd/branches/0.31@554 958fd67b-6ff1-0310-b445-bb7760255be9
2005-10-20 18:47:28 +00:00
John Peacock
a8b6956d81 * lib/Qpsmtpd/Transaction.pm
Fix fairly egregious error.  If the size_threashold is smaller than
    the body while writing, the file handle would be closed prematurely.
    Ouch.  I don't like it here from a stylistic point of view, but at 
    least it will actually work now.

git-svn-id: https://svn.perl.org/qpsmtpd/branches/0.31@553 958fd67b-6ff1-0310-b445-bb7760255be9
2005-10-20 02:10:32 +00:00
John Peacock
e6efda626f * lib/Qpsmtpd/Address.pm
Convert objects to hash.  Neuter parse() to wrapper around new().
    Add overload stringify to $obj->format().

* t/qpsmtpd-address.t
    Remove tests specific to parse().  Add test for overloaded "".

git-svn-id: https://svn.perl.org/qpsmtpd/branches/0.31@552 958fd67b-6ff1-0310-b445-bb7760255be9
2005-10-10 15:49:50 +00:00
Matt Sergeant
111afb91db No strict refs when assigning to a glob
git-svn-id: https://svn.perl.org/qpsmtpd/branches/0.31@551 958fd67b-6ff1-0310-b445-bb7760255be9
2005-10-07 14:30:10 +00:00
John Peacock
b808a139cf * lib/Qpsmtpd/Transaction.pm
IO::File is buffering the message, so that the AV software doesn't get a
  a chance to scan anything when size_threshold > 0.

* qpsmtpd
  Apparently no one is running tcpserver any longer, since it wasn't loading
  the plugins anymore.

git-svn-id: https://svn.perl.org/qpsmtpd/branches/0.31@550 958fd67b-6ff1-0310-b445-bb7760255be9
2005-09-23 19:16:37 +00:00
John Peacock
4b3fdf50bd * lib/Qpsmtpd.pm
By default, spool all messages to disk.

* config.sample/size_threshold
  Provide minimal explanation for how to avoid spooling small messages.

git-svn-id: https://svn.perl.org/qpsmtpd/branches/0.31@549 958fd67b-6ff1-0310-b445-bb7760255be9
2005-09-22 17:29:13 +00:00
John Peacock
29ac60322e * lib/Qpsmtpd.pm
Rename config file from memory_threshold to size_threshold to track the
  internal usage.

git-svn-id: https://svn.perl.org/qpsmtpd/branches/0.31@548 958fd67b-6ff1-0310-b445-bb7760255be9
2005-09-22 17:19:47 +00:00
John Peacock
9cbf206a4a * lib/Qpsmtpd/TcpServer.pm
Don't try to load the plugins if they are already loaded.

* lib/Qpsmtpd/Transaction.pm
  Get the size_threshold by inheritance.
  Extract the spooling of the body as a new sub.
  Always spool the body when calling body_filename().
  Compare the body_size to the cached size_threshold.

* lib/Qpsmtpd.pm
  Cache the size_threshold and provide an accessor method.

* qpsmtpd-forkserver
  Initialize both the spool_dir and size_threshold caches before forking.

git-svn-id: https://svn.perl.org/qpsmtpd/branches/0.31@547 958fd67b-6ff1-0310-b445-bb7760255be9
2005-09-22 17:14:20 +00:00
Devin Carraway
22fef51c19 Detaint %ENV somewhat more thoroughly (derived from perl5.8.7 perlsec POD).
git-svn-id: https://svn.perl.org/qpsmtpd/trunk@545 958fd67b-6ff1-0310-b445-bb7760255be9
2005-08-26 09:51:57 +00:00
Ask Bjørn Hansen
87baf0fbf1 yay for 4 space indentation (but let's not run this until post 0.31)
git-svn-id: https://svn.perl.org/qpsmtpd/branches/0.31@543 958fd67b-6ff1-0310-b445-bb7760255be9
2005-08-16 04:57:03 +00:00
Matt Sergeant
0d8d9f03b8 Merge from trunk r540:541
git-svn-id: https://svn.perl.org/qpsmtpd/branches/0.31@542 958fd67b-6ff1-0310-b445-bb7760255be9
2005-08-15 18:43:19 +00:00
Matt Sergeant
79ecf24218 Fix for tls enabling auth - this is kind of hacky, and I'd prefer to fix
this nastiness in the auth support instead. But this works for now.


git-svn-id: https://svn.perl.org/qpsmtpd/trunk@541 958fd67b-6ff1-0310-b445-bb7760255be9
2005-08-15 17:58:41 +00:00
Devin Carraway
ff4c5d1ff2 Merge r536 from 0.31 branch (silence uninitialized-value warning on zero-length PID file)
git-svn-id: https://svn.perl.org/qpsmtpd/trunk@540 958fd67b-6ff1-0310-b445-bb7760255be9
2005-07-31 09:02:42 +00:00
Devin Carraway
4a6f5dd2f0 Merge r529 from 0.31 branch (explicit config dir via $QPSMTPD_CONFIG).
git-svn-id: https://svn.perl.org/qpsmtpd/trunk@539 958fd67b-6ff1-0310-b445-bb7760255be9
2005-07-31 08:48:04 +00:00
Devin Carraway
4cdae6bf05 Merge daemonization support from 0.31 branch. Removed its -d commandline
switch since the debug switch is already using it.


git-svn-id: https://svn.perl.org/qpsmtpd/trunk@538 958fd67b-6ff1-0310-b445-bb7760255be9
2005-07-31 08:42:43 +00:00
Devin Carraway
6f23c46e93 Generalize '$include' support from plugin configuration to cover all config
calls.  Add circular-reference checking.


git-svn-id: https://svn.perl.org/qpsmtpd/branches/0.31@537 958fd67b-6ff1-0310-b445-bb7760255be9
2005-07-31 05:54:36 +00:00
Devin Carraway
da5c0a74fe Fix unitialized-value warning if the PID file existed but was zero-length
at startup time.


git-svn-id: https://svn.perl.org/qpsmtpd/branches/0.31@536 958fd67b-6ff1-0310-b445-bb7760255be9
2005-07-30 09:32:36 +00:00
Devin Carraway
bde5a3fef9 Merge r534 from trunk (caution about using large wait times in
check_earlytalker)


git-svn-id: https://svn.perl.org/qpsmtpd/branches/0.31@535 958fd67b-6ff1-0310-b445-bb7760255be9
2005-07-30 07:22:13 +00:00
Devin Carraway
8bb7cf67de Add a caution about using large wait times in check_earlytalker; some
superficial research suggests that some MTAs have unexpectedly short timeouts
waiting for SMTP greetings (default of 30sec for Exim4.5, most notably)


git-svn-id: https://svn.perl.org/qpsmtpd/trunk@534 958fd67b-6ff1-0310-b445-bb7760255be9
2005-07-30 07:19:17 +00:00
Matt Sergeant
9d6faa39cb Migrate transaction(), reset_transaction() and connection() up to Qpsmtpd.pm
Minor bug fix for auth capability


git-svn-id: https://svn.perl.org/qpsmtpd/trunk@533 958fd67b-6ff1-0310-b445-bb7760255be9
2005-07-29 18:05:08 +00:00
Matt Sergeant
72a3056e66 Default capabilities to an empty arrayref
Copy relay_client setting when cloning connection in tls


git-svn-id: https://svn.perl.org/qpsmtpd/trunk@532 958fd67b-6ff1-0310-b445-bb7760255be9
2005-07-29 18:02:07 +00:00
Devin Carraway
347ce0dd0c Mention exim-bsmtp plugin in changelog
git-svn-id: https://svn.perl.org/qpsmtpd/branches/0.31@531 958fd67b-6ff1-0310-b445-bb7760255be9
2005-07-29 08:10:35 +00:00
Devin Carraway
81f71b4a88 Mention --detach in changelog
git-svn-id: https://svn.perl.org/qpsmtpd/branches/0.31@530 958fd67b-6ff1-0310-b445-bb7760255be9
2005-07-29 08:08:51 +00:00
Devin Carraway
deb3380d06 Apply slight variation on patch from Peter Holzer to allow specification of
an explicit $QPSMTPD_CONFIG variable to specify where the config lives,
overriding $QMAIL/control and /var/qmail/control if set.  The usual "last
location with the file wins" rule still applies.


git-svn-id: https://svn.perl.org/qpsmtpd/branches/0.31@529 958fd67b-6ff1-0310-b445-bb7760255be9
2005-07-29 08:05:42 +00:00
Devin Carraway
a9bb35d180 Enable svn:keywords
git-svn-id: https://svn.perl.org/qpsmtpd/branches/0.31@528 958fd67b-6ff1-0310-b445-bb7760255be9
2005-07-29 07:41:54 +00:00
Devin Carraway
26bc3e25b8 Import Exim BSMTP queue plugin, updated to 0.31 API
git-svn-id: https://svn.perl.org/qpsmtpd/branches/0.31@527 958fd67b-6ff1-0310-b445-bb7760255be9
2005-07-29 07:41:10 +00:00
Devin Carraway
a4e4c5217c Fix whitespace (spaces for a tab)
git-svn-id: https://svn.perl.org/qpsmtpd/branches/0.31@526 958fd67b-6ff1-0310-b445-bb7760255be9
2005-07-29 07:24:04 +00:00
Devin Carraway
00e06cc612 Remove PID file on exit, if we were told to create one with --pid-file
git-svn-id: https://svn.perl.org/qpsmtpd/branches/0.31@525 958fd67b-6ff1-0310-b445-bb7760255be9
2005-07-29 07:22:36 +00:00
Devin Carraway
a2064bc22e Add --detach commandline option to forkserver; if supplied, daemonize just
prior to entering the main accept loop.

Split handling of --pid-file so that preexisting pid files are dealt with and
the file is opened before priveleges are dropped, but the writing out of the
new file happens after dropping privs and (if applicable) forking the
daemonized process, so the correct PID is recorded.


git-svn-id: https://svn.perl.org/qpsmtpd/branches/0.31@524 958fd67b-6ff1-0310-b445-bb7760255be9
2005-07-29 06:42:00 +00:00
Devin Carraway
a3ff03fec9 Merge r493 from trunk to truncate PID file before re-use
git-svn-id: https://svn.perl.org/qpsmtpd/branches/0.31@523 958fd67b-6ff1-0310-b445-bb7760255be9
2005-07-29 06:21:02 +00:00
John Peacock
ea28e88fa6 Extend require_resolvable_fromhost to include a configurable list of
"impossible" addresses to combat spammer forging.  (Hanno Hecker)

git-svn-id: https://svn.perl.org/qpsmtpd/branches/0.31@522 958fd67b-6ff1-0310-b445-bb7760255be9
2005-07-28 20:25:54 +00:00
Ask Bjørn Hansen
37fb26af81 my suggestion for a .perltidyrc. I tried it on a few files and it
cleaned up more than it changed.


git-svn-id: https://svn.perl.org/qpsmtpd/branches/0.31@520 958fd67b-6ff1-0310-b445-bb7760255be9
2005-07-23 11:11:32 +00:00
Matt Sergeant
006f129c21 Merge in a bunch of changes from Bradfitz's Danga::Socket 1.40-1.43
git-svn-id: https://svn.perl.org/qpsmtpd/trunk@519 958fd67b-6ff1-0310-b445-bb7760255be9
2005-07-19 15:37:14 +00:00
John Peacock
58f7129ada [merge from trunk] Use qmail/control/smtpdgreeting if it exists, otherwise
show the original qpsmtpd greeting (with version information).

git-svn-id: https://svn.perl.org/qpsmtpd/branches/0.31@518 958fd67b-6ff1-0310-b445-bb7760255be9
2005-07-19 14:20:05 +00:00
Robert Spier
96ff5e1082 r521@bear: rspier | 2005-07-19T03:24:18.553459Z
MANIFEST update from steve peters
 


git-svn-id: https://svn.perl.org/qpsmtpd/trunk@517 958fd67b-6ff1-0310-b445-bb7760255be9
2005-07-19 03:24:42 +00:00
Matt Sergeant
820a3bcb2b return DECLINED for bad_ssl
git-svn-id: https://svn.perl.org/qpsmtpd/branches/0.31@516 958fd67b-6ff1-0310-b445-bb7760255be9
2005-07-18 12:51:57 +00:00
Matt Sergeant
7edb1fd93a Fix "no pseudo hash" bug
git-svn-id: https://svn.perl.org/qpsmtpd/trunk@515 958fd67b-6ff1-0310-b445-bb7760255be9
2005-07-18 12:50:35 +00:00
John Peacock
a69b2e1526 [merge from trunk] Missed hook to data_post to add headers
git-svn-id: https://svn.perl.org/qpsmtpd/branches/0.31@514 958fd67b-6ff1-0310-b445-bb7760255be9
2005-07-18 11:13:17 +00:00
John Peacock
f096f293c1 Missed hook to data_post to add headers
git-svn-id: https://svn.perl.org/qpsmtpd/trunk@513 958fd67b-6ff1-0310-b445-bb7760255be9
2005-07-18 11:10:11 +00:00
John Peacock
5f3c2dfa22 Missed hook to data_post to add headers
git-svn-id: https://svn.perl.org/qpsmtpd/trunk@512 958fd67b-6ff1-0310-b445-bb7760255be9
2005-07-18 11:07:18 +00:00
John Peacock
43aef48532 Correctly handle the case where smtpgreeting exists (append ESMTP) as well as
the case where it doesn't (display original Qpsmtpd greeting). 

git-svn-id: https://svn.perl.org/qpsmtpd/trunk@511 958fd67b-6ff1-0310-b445-bb7760255be9
2005-07-18 00:36:49 +00:00
Matt Sergeant
e8a9828e4e Notice /var/qmail/control dir (Joe Schaefer)
git-svn-id: https://svn.perl.org/qpsmtpd/trunk@510 958fd67b-6ff1-0310-b445-bb7760255be9
2005-07-15 21:15:44 +00:00
Matt Sergeant
162cf7d132 Notice /var/qmail/control dir (Joe Schaefer)
git-svn-id: https://svn.perl.org/qpsmtpd/branches/0.31@509 958fd67b-6ff1-0310-b445-bb7760255be9
2005-07-15 21:13:49 +00:00
John Peacock
3096164159 Support smtpgreeting file from qmail/control
git-svn-id: https://svn.perl.org/qpsmtpd/trunk@508 958fd67b-6ff1-0310-b445-bb7760255be9
2005-07-15 10:35:23 +00:00