Unknown Sender wrote:
* plugins/count_unrecognized_commands only resets it's internal
  counter on init (this can't work well in preforking,
  I've seen a couple of other plugins broken for prefork, like
  the "delete $ENV{RELAYCLIENT};" in plugins/check_norelay)
  I'm sending patches only for count_unrecognized_commands

I don't think that this is the correct fix, since it requires *all* plugins to be prefork-aware, even though not everyone is running prefork. I think the better fix would be to correctly reset connections in the first place. Ideally, resetting the transaction after TLS starts (different thread) would be handled in the same fashion. We need to audit the core globally to not rely on automagical object creation.

* qpsmtpd-prefork: Setting $0 = 'qpsmtpd child'; is not a good idea, it doesnt work as
  intended in all *NIX flavours (maybe this is not a patch for all,
  but it's commented out in all of the other files)

I'd rather this be a flag, since it _does_ work in some *NIX variants and as previously discussed, makes debugging much nicer.

* TcpServer/Prefork.pm It also lacks a "use Qpsmtpd::Constants;"

No objection to these bits.

John

Reply via email to