152 const char *client_addr,
153 const char *client_port,
154 const char *server_addr,
155 const char *server_port)
170 state->
final_reply =
"421 4.3.2 Service currently unavailable\r\n";
171 state->
rcpt_reply =
"450 4.3.2 Service currently unavailable\r\n";
188 msg_info(
"entering STRESS mode with %d connections",
216 const char *myname =
"psc_free_session_state";
224 msg_panic(
"%s: unknown client address: %s",
256 msg_panic(
"bad queue length: check_queue=%d, post_queue=%d",
265 msg_info(
"leaving STRESS mode with %d connections",
PSC_CLIENT_INFO * client_info
#define PSC_STATE_FLAG_NEW
#define PSC_STATE_FLAG_DNSBL_TODO
HTABLE_INFO * htable_locate(HTABLE *table, const char *key)
#define PSC_STATE_FLAG_NSMTP_TODO
char * mystrdup(const char *str)
NORETURN msg_panic(const char *fmt,...)
#define PSC_STATE_FLAG_PIPEL_SKIP
#define PSC_STATE_FLAG_DNSBL_DONE
#define PSC_STATE_FLAG_PIPEL_PASS
#define PSC_SMTPD_CMD_CONNECT
const char * psc_print_state_flags(int flags, const char *context)
int psc_check_queue_length
#define PSC_INIT_TEST_FLAGS_ONLY(dst)
#define PSC_STATE_FLAG_HANGUP
#define PSC_STATE_FLAG_WLIST_FAIL
const char * str_name_mask_opt(VSTRING *buf, const char *context, const NAME_MASK *table, int mask, int flags)
#define PSC_STATE_FLAG_BLIST_FAIL
#define PSC_STATE_FLAG_DNSBL_FAIL
#define PSC_STATE_FLAG_NSMTP_PASS
#define PSC_INIT_TESTS(dst)
VSTRING * vstring_alloc(ssize_t len)
#define PSC_STATE_FLAG_BARLF_SKIP
void * htable_find(HTABLE *table, const char *key)
#define PSC_STATE_FLAG_PREGR_PASS
void event_server_disconnect(VSTREAM *stream)
#define PSC_STATE_FLAG_PREGR_DONE
void psc_free_session_state(PSC_STATE *state)
#define PSC_STATE_FLAG_NOFORWARD
#define PSC_STATE_FLAG_BARLF_FAIL
int psc_hiwat_check_queue_length
#define PSC_STATE_FLAG_USING_TLS
VSTRING * vstring_free(VSTRING *vp)
#define PSC_STATE_FLAG_PREGR_FAIL
#define PSC_STATE_FLAG_BARLF_PASS
PSC_STATE * psc_new_session_state(VSTREAM *stream, const char *client_addr, const char *client_port, const char *server_addr, const char *server_port)
#define PSC_STATE_FLAG_DNSBL_PASS
#define PSC_STATE_FLAG_PIPEL_TODO
HTABLE * psc_client_concurrency
#define PSC_STATE_FLAG_PIPEL_FAIL
#define PSC_STATE_FLAG_NSMTP_SKIP
void htable_delete(HTABLE *table, const char *key, void(*free_fn)(void *))
int psc_lowat_check_queue_length
int psc_post_queue_length
#define PSC_STATE_FLAG_BARLF_TODO
VSTREAM * smtp_client_stream
#define PSC_STATE_FLAG_PREGR_TODO
#define PSC_STATE_FLAG_NSMTP_FAIL
void * mymalloc(ssize_t len)
HTABLE_INFO * htable_enter(HTABLE *table, const char *key, void *value)
void msg_info(const char *fmt,...)