Blame


1 15cacd92 2019-03-29 martijn /*
2 15cacd92 2019-03-29 martijn * Copyright (c) 2019 Martijn van Duren <martijn@openbsd.org>
3 15cacd92 2019-03-29 martijn *
4 15cacd92 2019-03-29 martijn * Permission to use, copy, modify, and distribute this software for any
5 15cacd92 2019-03-29 martijn * purpose with or without fee is hereby granted, provided that the above
6 15cacd92 2019-03-29 martijn * copyright notice and this permission notice appear in all copies.
7 15cacd92 2019-03-29 martijn *
8 15cacd92 2019-03-29 martijn * THE SOFTWARE IS PROVIDED "AS IS" AND THE AUTHOR DISCLAIMS ALL WARRANTIES
9 15cacd92 2019-03-29 martijn * WITH REGARD TO THIS SOFTWARE INCLUDING ALL IMPLIED WARRANTIES OF
10 15cacd92 2019-03-29 martijn * MERCHANTABILITY AND FITNESS. IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR
11 15cacd92 2019-03-29 martijn * ANY SPECIAL, DIRECT, INDIRECT, OR CONSEQUENTIAL DAMAGES OR ANY DAMAGES
12 15cacd92 2019-03-29 martijn * WHATSOEVER RESULTING FROM LOSS OF USE, DATA OR PROFITS, WHETHER IN AN
13 15cacd92 2019-03-29 martijn * ACTION OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION, ARISING OUT OF
14 15cacd92 2019-03-29 martijn * OR IN CONNECTION WITH THE USE OR PERFORMANCE OF THIS SOFTWARE.
15 15cacd92 2019-03-29 martijn */
16 a248a3c1 2019-03-27 martijn #include <netinet/in.h>
17 a248a3c1 2019-03-27 martijn
18 03a6f52a 2019-03-29 martijn #include <netinet/in.h>
19 03a6f52a 2019-03-29 martijn
20 03a6f52a 2019-03-29 martijn struct inx_addr {
21 a248a3c1 2019-03-27 martijn int af;
22 a248a3c1 2019-03-27 martijn union {
23 a248a3c1 2019-03-27 martijn struct in_addr addr;
24 a248a3c1 2019-03-27 martijn struct in6_addr addr6;
25 a248a3c1 2019-03-27 martijn };
26 a248a3c1 2019-03-27 martijn };
27 a248a3c1 2019-03-27 martijn
28 02090eee 2019-03-29 martijn int smtp_register_filter_connect(void (*)(char *, int, struct timespec *,
29 03a6f52a 2019-03-29 martijn char *, char *, uint64_t, uint64_t, char *, struct inx_addr *));
30 a28aed52 2019-03-31 martijn int smtp_register_filter_data(void (*)(char *, int, struct timespec *, char *,
31 a28aed52 2019-03-31 martijn char *, uint64_t, uint64_t));
32 02090eee 2019-03-29 martijn int smtp_register_filter_dataline(void (*)(char *, int, struct timespec *, char *,
33 02090eee 2019-03-29 martijn char *, uint64_t, uint64_t, char *));
34 0696aea6 2019-04-06 martijn int smtp_register_filter_commit(void (*)(char *, int, struct timespec *, char *,
35 0696aea6 2019-04-06 martijn char *, uint64_t, uint64_t));
36 47628d21 2019-03-29 martijn int smtp_in_register_report_disconnect(void (*)(char *, int, struct timespec *,
37 47628d21 2019-03-29 martijn char *, char *, uint64_t));
38 57cbfccc 2019-03-27 martijn void smtp_filter_proceed(uint64_t, uint64_t);
39 57cbfccc 2019-03-27 martijn void smtp_filter_reject(uint64_t, uint64_t, int, const char *, ...)
40 57cbfccc 2019-03-27 martijn __attribute__((__format__ (printf, 4, 5)));
41 57cbfccc 2019-03-27 martijn void smtp_filter_disconnect(uint64_t, uint64_t, const char *, ...)
42 57cbfccc 2019-03-27 martijn __attribute__((__format__ (printf, 3, 4)));
43 02090eee 2019-03-29 martijn void smtp_filter_dataline(uint64_t, uint64_t, const char *, ...)
44 02090eee 2019-03-29 martijn __attribute__((__format__ (printf, 3, 4)));
45 b633fa4c 2019-03-29 martijn void smtp_run(int);