135 static const char *log_queues[] = {
173 for (cpp = log_queues; *cpp; cpp++) {
176 else if (errno != ENOENT)
218 if (state->
recip == 0)
275 #define CAN_BOUNCE() \
276 ((state->errs & CLEANUP_STAT_MASK_CANT_BOUNCE) == 0 \
277 && state->sender != 0 \
278 && (state->flags & CLEANUP_FLAG_BOUNCE) != 0)
296 || state->defer_delay > 0
311 CA_MAIL_STREAM_CTL_DELAY(state->defer_delay),
373 status = state->
errs;
#define CA_MAIL_STREAM_CTL_SERVICE(v)
int mail_stream_finish(MAIL_STREAM *info, VSTRING *why)
void cleanup_milter_inspect(CLEANUP_STATE *, MILTERS *)
void mail_stream_ctl(MAIL_STREAM *info, int op,...)
#define MAIL_QUEUE_BOUNCE
MAIL_STREAM * mail_stream_file(const char *queue, const char *class, const char *service, int mode)
char * mystrdup(const char *str)
#define CLEANUP_FLAG_SMTPUTF8
void mail_stream_cleanup(MAIL_STREAM *info)
VSTRING * cleanup_trace_path
void cleanup_free(CLEANUP_STATE *state)
#define CA_MAIL_STREAM_CTL_QUEUE(v)
int REMOVE(const char *path)
void cleanup_state_free(CLEANUP_STATE *)
#define CLEANUP_FLAG_BOUNCE
CLEANUP_STATE * cleanup_open(VSTREAM *src)
#define CLEANUP_FLAG_DISCARD
#define CA_MAIL_STREAM_CTL_CLASS(v)
#define CLEANUP_MILTER_OK(s)
#define CLEANUP_FLAG_HOLD
ssize_t mail_flow_put(ssize_t len)
void cleanup_control(CLEANUP_STATE *state, int flags)
#define SMTPUTF8_FLAG_REQUESTED
#define CLEANUP_STAT_MASK_INCOMPLETE
#define MAIL_CLASS_PUBLIC
#define MAIL_QUEUE_INCOMING
void msg_warn(const char *fmt,...)
void milter_disc_event(MILTERS *milters)
int cleanup_bounce(CLEANUP_STATE *)
void cleanup_final(CLEANUP_STATE *)
CLEANUP_STATE * cleanup_state_alloc(VSTREAM *)
NORETURN msg_fatal(const char *fmt,...)
#define MAIL_QUEUE_DEFERRED
int mail_queue_remove(const char *queue_name, const char *queue_id)
#define CLEANUP_OUT_OK(s)
#define CLEANUP_FLAG_END_SEEN
#define CLEANUP_STAT_RCPT
int cleanup_flush(CLEANUP_STATE *state)
VSTRING * vstring_free(VSTRING *vp)
#define CA_MAIL_STREAM_CTL_END
const char * cleanup_strflags(unsigned flags)
void cleanup_milter_emul_data(CLEANUP_STATE *, MILTERS *)
MILTERS * cleanup_milters
void msg_info(const char *fmt,...)