commit - 864d611e31f16a48bbbbaf2678af4422d92200f0
commit + e9c82584484ebdc9301f35e40018460e153a4f6d
blob - 99c382cadf90978f44b08bfc294f4976ffef2b19
blob + ee9baeddee5d75e361dcdf83556384362d8207ca
--- opensmtpd.c
+++ opensmtpd.c
{
int (*f)(struct osmtpd_ctx *, const char *);
+ if (oncreatecb_message != NULL && cb->phase == OSMTPD_PHASE_MAIL_FROM) {
+ session->ctx.local_message = oncreatecb_message(&session->ctx);
+ if (session->ctx.local_message == NULL)
+ session->status = SESSION_ERROR;
+ }
if ((f = cb->cb) != NULL && session->status == SESSION_OK)
if (f(&session->ctx, line))
session->status = SESSION_ERROR;
if (!cb->storereport)
session->ctx.msgid = 0;
- if (oncreatecb_message != NULL) {
+ if (oncreatecb_message != NULL && session->ctx.local_message == NULL) {
session->ctx.local_message = oncreatecb_message(&session->ctx);
if (session->ctx.local_message == NULL)
session->status = SESSION_ERROR;