-
Notifications
You must be signed in to change notification settings - Fork 100
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
'setPublicKey' dies on broken cert, causes spindle to resend mails indefinitely #565
Comments
Hi @manuelschneider, Could you please apply this patch and check if Sympa will no longer crash? By this change, if a user had contributed broken certificate, Sympa will send a message telling "It was not possible to send you the message" instead of sending encrypted message.
List of all recepients ( |
Hi @ikedas , thank you very much for the quick response!
From looking at it, as far as I understand perl and this part of sympa, this should solve the problem.
Is it possible to configure the packetsize to 1? In terms of public perception its pretty much a complete desaster, even more if your own addresses aren't in that package and you have no log monitoring. |
Ok, I'll merge that patch and check it during beta period in the next week.
There are no parameters setting packet size exactly, but adding
in |
Thank you very much! I think slower is acceptable if it prevents spamming :) |
Crash with broken S/MIME user certificate (cf. #565)
Merged. Thanks for reporting bug and suggesting fix! |
The
setPublicKey
method in the c implementation of the smime module uses acroak()
. If I understand it correctly this causes the whole script todie()
:https://github.com/sympa-community/sympa/blob/sympa-6.2/src/lib/Sympa/Message.pm#L1120
This line should probably have some handling for this, like
https://github.com/sympa-community/sympa/blob/sympa-6.2/src/lib/Sympa/Message.pm#L1134
Probably this should become another issue: I think as a fallback, maybe you could remember recipients that have already been sent emails. That could avoid sending the mail to them over and over again, in case some other part of the code has a bug too. Maybe you could update the
rcpts
(I guess$message
is some kind of ORM object?), removing the processed recipient whenmailer->store()
was successful?https://github.com/sympa-community/sympa/blob/sympa-6.2/src/lib/Sympa/Spindle/ProcessOutgoing.pm#L421
The text was updated successfully, but these errors were encountered: