bool input_locked:1;
bool input_captured:1;
bool pipeline_blocked:1;
- bool reply_early:1;
bool destroying:1;
};
{
struct smtp_server_connection *conn = cmd->context.conn;
- return (conn->input_broken || (cmd->next != NULL) || cmd->reply_early ||
+ return (conn->input_broken || (cmd->next != NULL) ||
!smtp_server_connection_pending_command_data(conn));
}
va_end(args);
}
-void smtp_server_reply_early(struct smtp_server_cmd_ctx *_cmd,
- unsigned int status, const char *enh_code,
- const char *fmt, ...)
-{
- va_list args;
-
- _cmd->cmd->reply_early = TRUE;
-
- va_start(args, fmt);
- smtp_server_reply_allv(_cmd, status, enh_code, fmt, args);
- va_end(args);
-}
-
void smtp_server_reply_quit(struct smtp_server_cmd_ctx *_cmd)
{
struct smtp_server_command *cmd = _cmd->cmd;
void smtp_server_reply_all(struct smtp_server_cmd_ctx *_cmd,
unsigned int status, const char *enh_code,
const char *fmt, ...) ATTR_FORMAT(4, 5);
-/* Submit and send the same message for all expected replies for this command
- early; i.e., no matter whether all command data is received completely. */
-void smtp_server_reply_early(struct smtp_server_cmd_ctx *_cmd,
- unsigned int status, const char *enh_code,
- const char *fmt, ...) ATTR_FORMAT(4, 5);
/* Reply the command with a 221 bye message */
void smtp_server_reply_quit(struct smtp_server_cmd_ctx *_cmd);
}
if (ctx->payload_input->v_offset >= max_size) {
- smtp_server_reply_early(cmd, 552, "5.3.4",
- "Message too big for system");
+ smtp_server_reply(cmd, 552, "5.3.4",
+ "Message too big for system");
return -1;
}