aboutsummaryrefslogtreecommitdiff
path: root/mfd/mailfromd.h
diff options
context:
space:
mode:
Diffstat (limited to 'mfd/mailfromd.h')
-rw-r--r--mfd/mailfromd.h31
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);
+

Return to:

Send suggestions and report system problems to the System administrator.