Commit Graph

482 Commits

Author SHA1 Message Date
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