diff options
Diffstat (limited to 'mfd/mailfromd.h')
-rw-r--r-- | mfd/mailfromd.h | 31 |
1 files changed, 23 insertions, 8 deletions
diff --git a/mfd/mailfromd.h b/mfd/mailfromd.h index 4ea27ff1..5df54636 100644 --- a/mfd/mailfromd.h +++ b/mfd/mailfromd.h @@ -151,7 +151,7 @@ mf_status resolve_ipstr_domain(const char *ipstr, const char *domain, char **phbuf); mf_status resolve_hostname(const char *host, char **pipbuf); -mf_status getmx(char *ipstr, mxbuf_t mxbuf); +mf_status getmx(const char *ipstr, mxbuf_t mxbuf); mf_status getmxip(char *host, GACOPYZ_UINT32_T ipbuf[MAXMXCOUNT], size_t *pcount); @@ -955,6 +955,8 @@ void env_msgmod(eval_environ_t env, enum msgmod_opcode opcode, void capture_on(void); const char *env_get_macro(eval_environ_t env, const char *symbol); +void mfl_smtp_io_callback(void *data, const char *key, const char *value); + /* Runtime functions */ const char *mailfromd_msgid(SMFICTX *ctx); @@ -1037,10 +1039,10 @@ struct db_format *db_format_install(struct db_format *fmt); struct db_format *db_format_lookup(const char *name); void db_format_enumerate(dbfmt_enumerator_t fp, void *data); -mf_status cache_get(char *email); -void cache_insert(char *email, mf_status rc); -mf_status cache_get2(char *email, char *client_addr); -void cache_insert2(char *email, char *client_addr, mf_status rc); +mf_status cache_get(const char *email); +void cache_insert(const char *email, mf_status rc); +mf_status cache_get2(const char *email, const char *client_addr); +void cache_insert2(const char *email, const char *client_addr, mf_status rc); mf_status dns_cache_get(int type, const char *keystr, char **rbuf, size_t rcnt); @@ -1132,9 +1134,22 @@ typedef struct smtp_io_data *smtp_io_t; smtp_io_t smtp_io_create(const char *id, time_t timeout[], smtp_io_callback_t callback, void *closure); +void smtp_io_setup_callout(struct smtp_io_data *iop, + const char *email, + const char *ehlo, + const char *mailfrom); + void smtp_io_free(struct smtp_io_data *iop); -mf_status callout(smtp_io_t io, - char *client_addr, - char *email, char *ehlo, char *mailfrom); +const char *smtp_io_email(struct smtp_io_data *iop); + +mf_status callout_host(struct smtp_io_data *, const char *); +mf_status callout_mx(struct smtp_io_data *, const char *, int *); +mf_status callout_strict(struct smtp_io_data *, const char *); +mf_status callout_standard(struct smtp_io_data *); +/* savsrv.c */ +int callout_session_server(const char *id, int fd, + struct sockaddr const *sa, socklen_t len, + void *server_data, void *srvman_data); + |