}
static bool
-lmtp_proxy_handle_reply(struct smtp_server_cmd_ctx *cmd,
+lmtp_proxy_handle_reply(struct lmtp_proxy_recipient *lprcpt,
const struct smtp_reply *reply,
struct smtp_reply *reply_r)
{
+ struct smtp_server_recipient *rcpt = lprcpt->rcpt->rcpt;
+ struct smtp_server_cmd_ctx *cmd = rcpt->cmd;
+
*reply_r = *reply;
if (!smtp_reply_is_remote(reply) ||
struct smtp_server_cmd_ctx *cmd = rcpt->cmd;
struct smtp_reply reply;
- if (!lmtp_proxy_handle_reply(cmd, proxy_reply, &reply))
+ if (!lmtp_proxy_handle_reply(lprcpt, proxy_reply, &reply))
return;
if (smtp_reply_is_success(proxy_reply)) {
e_error(rcpt->event, "%s", str_c(msg));
}
- if (!lmtp_proxy_handle_reply(cmd, proxy_reply, &reply))
+ if (!lmtp_proxy_handle_reply(lprcpt, proxy_reply, &reply))
return;
}