qpsmtpd icon indicating copy to clipboard operation
qpsmtpd copied to clipboard

qpsmtpd does not respect CONCURRENCY_PER_IP (until a SIGHUP)

Open bunkobugsy opened this issue 7 years ago • 2 comments

Hi, this is where we tracked this bug, hope you don't mind https://bugs.contribs.org/show_bug.cgi?id=10387

We think it is related to a modification to qpsmtpd-forkserver released in 0.95, don't load plugins twice. Actually on normal start plugins aren't loaded at all, line 199 beeing commented out in forkserver. https://github.com/smtpd/qpsmtpd/commit/be9f4aef0c16bff49d3dba4f08d7a88eb41d69ac

Any help is welcome, thanks in advance.

bunkobugsy avatar Oct 30 '18 14:10 bunkobugsy

Hello @bunkobugsy. I read through the bug tracker link and it didn't seem conclusive to me. If I was sure about removing line 199, I would have. The fact that I left it commented out means I wasn't certain. If you have a fix, please submit a PR.

msimerson avatar Jun 08 '20 23:06 msimerson

from all element in $SIG{HUP} = sub { $qpsmtpd = Qpsmtpd::TcpServer->new('restart' => 1); $qpsmtpd->load_plugins; $qpsmtpd->spool_dir; $qpsmtpd->size_threshold; };

the only commented out in a normal start is the load_plugins. as shown in linked external bug without a hup signal the concurrency per ip is not honoured, so in every normal situation (service start) qpsmtpd does not honours it until one hup it, so very unlikely to happen in normal usage.

you can try the simple test : telnet ip 25 and see that you can connect way more session than 5... untill sighup

unnilennium avatar Nov 15 '21 16:11 unnilennium

fixed in #311

msimerson avatar Sep 12 '23 15:09 msimerson