Matt Sergeant
cb047d9aa9
Timer support added to Danga::Socket
...
check_earlytalker updated to use timers
Few other code cleanups to make sure check-earlytalker is fully working
git-svn-id: https://svn.perl.org/qpsmtpd/branches/high_perf@441 958fd67b-6ff1-0310-b445-bb7760255be9
2005-06-21 20:02:14 +00:00
Matt Sergeant
a4517bdfa4
Continuation support
...
git-svn-id: https://svn.perl.org/qpsmtpd/branches/high_perf@436 958fd67b-6ff1-0310-b445-bb7760255be9
2005-06-18 18:22:16 +00:00
Matt Sergeant
6ed494275b
Support a flag for how many connections to accept in the accept loop
...
git-svn-id: https://svn.perl.org/qpsmtpd/branches/high_perf@435 958fd67b-6ff1-0310-b445-bb7760255be9
2005-06-18 18:20:49 +00:00
Matt Sergeant
b323b33f60
More cleanup
...
git-svn-id: https://svn.perl.org/qpsmtpd/branches/high_perf@433 958fd67b-6ff1-0310-b445-bb7760255be9
2005-06-15 20:34:34 +00:00
Matt Sergeant
9fbf25a708
More of the same.
...
git-svn-id: https://svn.perl.org/qpsmtpd/branches/high_perf@430 958fd67b-6ff1-0310-b445-bb7760255be9
2005-06-08 22:25:28 +00:00
Matt Sergeant
1f036fee90
Move the stats code purely into the plugin so that this can be extended
...
easier.
git-svn-id: https://svn.perl.org/qpsmtpd/branches/high_perf@429 958fd67b-6ff1-0310-b445-bb7760255be9
2005-06-08 22:24:00 +00:00
Matt Sergeant
42e49d493a
Don't set an alarm if in connect mode.
...
Make fault() not return anything otherwise we get a "1" output in the stream
git-svn-id: https://svn.perl.org/qpsmtpd/branches/high_perf@426 958fd67b-6ff1-0310-b445-bb7760255be9
2005-05-23 14:17:43 +00:00
Matt Sergeant
56451a722f
First, since EventLoop goes off and does other things, any PostLoopCallback
...
can signal "our" EventLoop to return. To ensure we wait the full time, we
must loop around until the end condition is truly satisfied.
git-svn-id: https://svn.perl.org/qpsmtpd/branches/high_perf@425 958fd67b-6ff1-0310-b445-bb7760255be9
2005-05-23 13:06:08 +00:00
Matt Sergeant
3b9c5b69fd
Move PLC managment into close() and call close() in DESTROY
...
git-svn-id: https://svn.perl.org/qpsmtpd/branches/high_perf@424 958fd67b-6ff1-0310-b445-bb7760255be9
2005-05-23 12:59:57 +00:00
Matt Sergeant
ec9ddc09d2
Fix for in-memory code copying headers twice
...
git-svn-id: https://svn.perl.org/qpsmtpd/branches/high_perf@422 958fd67b-6ff1-0310-b445-bb7760255be9
2005-05-20 12:39:05 +00:00
Matt Sergeant
9432e1bac1
Use SOMAXCONN which makes connections MUCH happier on high load servers
...
git-svn-id: https://svn.perl.org/qpsmtpd/branches/high_perf@421 958fd67b-6ff1-0310-b445-bb7760255be9
2005-05-19 15:39:53 +00:00
Matt Sergeant
62aebd2a3e
Make number of accepts we perform lower if MAXCONNIP is used
...
Make connection hook get called after we do all the accept()s
git-svn-id: https://svn.perl.org/qpsmtpd/branches/high_perf@420 958fd67b-6ff1-0310-b445-bb7760255be9
2005-05-17 11:48:02 +00:00
Matt Sergeant
e3a5d6c3c6
Make post loop callbacks a local var so we don't have to iterate through as
...
much
git-svn-id: https://svn.perl.org/qpsmtpd/branches/high_perf@419 958fd67b-6ff1-0310-b445-bb7760255be9
2005-05-12 23:04:53 +00:00
Matt Sergeant
37c96a1773
Cache the hooks
...
git-svn-id: https://svn.perl.org/qpsmtpd/branches/high_perf@418 958fd67b-6ff1-0310-b445-bb7760255be9
2005-05-12 22:08:37 +00:00
Matt Sergeant
e743c5903c
Cache the peer_ip
...
git-svn-id: https://svn.perl.org/qpsmtpd/branches/high_perf@417 958fd67b-6ff1-0310-b445-bb7760255be9
2005-05-12 22:08:20 +00:00
Matt Sergeant
c0c5078f82
Fix warning
...
git-svn-id: https://svn.perl.org/qpsmtpd/branches/high_perf@416 958fd67b-6ff1-0310-b445-bb7760255be9
2005-05-12 12:58:13 +00:00
Matt Sergeant
7633e038c1
Use class logging where we can so we get proper log levels
...
Accept all new incoming connections not just one
git-svn-id: https://svn.perl.org/qpsmtpd/branches/high_perf@415 958fd67b-6ff1-0310-b445-bb7760255be9
2005-05-12 12:57:05 +00:00
Matt Sergeant
726128aef6
Fixed typo in post_loop_callback name
...
git-svn-id: https://svn.perl.org/qpsmtpd/branches/high_perf@414 958fd67b-6ff1-0310-b445-bb7760255be9
2005-05-09 13:49:40 +00:00
Matt Sergeant
8dad7435e5
Large number of patches from Brian Grossman to fix a number of bugs
...
Implement connection timeout
git-svn-id: https://svn.perl.org/qpsmtpd/branches/high_perf@413 958fd67b-6ff1-0310-b445-bb7760255be9
2005-05-09 13:43:40 +00:00
Matt Sergeant
12d9fa8311
Fix deny incrementing to use proper variables
...
git-svn-id: https://svn.perl.org/qpsmtpd/branches/high_perf@412 958fd67b-6ff1-0310-b445-bb7760255be9
2005-05-09 13:41:10 +00:00
Matt Sergeant
46cda05112
Much improved config server, especially the stats
...
git-svn-id: https://svn.perl.org/qpsmtpd/branches/high_perf@410 958fd67b-6ff1-0310-b445-bb7760255be9
2005-04-28 21:38:43 +00:00
Matt Sergeant
a75f4a53e0
Fixes for early_talker under high_perf code
...
git-svn-id: https://svn.perl.org/qpsmtpd/branches/high_perf@409 958fd67b-6ff1-0310-b445-bb7760255be9
2005-04-28 21:38:02 +00:00
Matt Sergeant
cefae57394
Call PostEventLoop at end of Epoll event loop (same as poll() and kqueue)
...
git-svn-id: https://svn.perl.org/qpsmtpd/branches/high_perf@408 958fd67b-6ff1-0310-b445-bb7760255be9
2005-04-28 21:37:01 +00:00
Matt Sergeant
536e1723c1
Added rudimentary configuration server when running in non-forking poll mode
...
git-svn-id: https://svn.perl.org/qpsmtpd/branches/high_perf@407 958fd67b-6ff1-0310-b445-bb7760255be9
2005-04-26 02:46:45 +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
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
Ask Bjørn Hansen
df1efdce73
use $self->can_read rather than $self->qp->can_read with high perf patch
...
git-svn-id: https://svn.perl.org/qpsmtpd/branches/high_perf@392 958fd67b-6ff1-0310-b445-bb7760255be9
2005-03-09 00:20:32 +00:00
Matt Sergeant
93e0025aae
Remove remnants of older name of this project :-)
...
git-svn-id: https://svn.perl.org/qpsmtpd/branches/high_perf@391 958fd67b-6ff1-0310-b445-bb7760255be9
2005-03-08 23:34:51 +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
6495f41bb2
High perf versions of these plugins
...
git-svn-id: https://svn.perl.org/qpsmtpd/branches/high_perf@389 958fd67b-6ff1-0310-b445-bb7760255be9
2005-03-08 22:58:09 +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
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
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
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
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
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
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
John Peacock
d790bd519d
rcpt_handler requires a Qpsmtpd::Address object not just the bare address
...
git-svn-id: https://svn.perl.org/qpsmtpd/trunk@368 958fd67b-6ff1-0310-b445-bb7760255be9
2005-02-22 00:38:06 +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
Ask Bjørn Hansen
b7cdef5f46
update status
...
can someone look into the clamav thing? When that's done I think we can roll a release...
:)
git-svn-id: https://svn.perl.org/qpsmtpd/trunk@366 958fd67b-6ff1-0310-b445-bb7760255be9
2005-02-15 21:47:15 +00:00