rspamd_task_reply (struct rspamd_task *task)
{
if (task->fin_callback) {
- task->fin_callback (task->fin_arg);
+ task->fin_callback (task, task->fin_arg);
}
else {
rspamd_protocol_write_reply (task);
/* We got body, set wanna_die flag */
task->s->wanna_die = TRUE;
- rspamd_protocol_handle_headers (task, msg);
+ if (msg) {
+ rspamd_protocol_handle_headers (task, msg);
+ }
if (task->flags & RSPAMD_TASK_FLAG_HAS_CONTROL) {
/* We have control chunk, so we need to process it separately */
struct timeval tv; /**< time of connection */
guint32 scan_milliseconds; /**< how much milliseconds passed */
guint32 parser_recursion; /**< for avoiding recursion stack overflow */
- gboolean (*fin_callback)(void *arg); /**< calback for filters finalizing */
+ gboolean (*fin_callback)(struct rspamd_task *task, void *arg); /**< calback for filters finalizing */
void *fin_arg; /**< argument for fin callback */
guint32 dns_requests; /**< number of DNS requests per this task */