OpenBSD CVS

CVS log for src/usr.sbin/smtpd/lka_filter.c


[BACK] Up to [local] / src / usr.sbin / smtpd

Request diff between arbitrary revisions


Default branch: MAIN


Revision 1.77 / (download) - annotate - [select for diffs], Tue May 14 13:38:54 2024 UTC (2 weeks, 4 days ago) by op
Branch: MAIN
CVS Tags: HEAD
Changes since 1.76: +2 -2 lines
Diff to previous 1.76 (colored)

oops, fix previous.  wrong patch committed.  was lacking the final \n

Revision 1.76 / (download) - annotate - [select for diffs], Tue May 14 13:34:05 2024 UTC (2 weeks, 4 days ago) by op
Branch: MAIN
Changes since 1.75: +2 -1 lines
Diff to previous 1.75 (colored)

include the filter protocol version in the handshake

This adds "config|protocol|0.7" during the filters handshake, like
was done for the tables too, so that the filters can know the version
of the protocol right from the start.

ok gilles@

Revision 1.75 / (download) - annotate - [select for diffs], Tue Apr 23 13:34:51 2024 UTC (5 weeks, 4 days ago) by jsg
Branch: MAIN
Changes since 1.74: +2 -2 lines
Diff to previous 1.74 (colored)

correct indentation; no functional change
ok tb@

Revision 1.74 / (download) - annotate - [select for diffs], Fri Nov 3 13:38:28 2023 UTC (6 months, 4 weeks ago) by op
Branch: MAIN
CVS Tags: OPENBSD_7_5_BASE, OPENBSD_7_5
Changes since 1.73: +5 -5 lines
Diff to previous 1.73 (colored)

cast tv_usec to long for *printf

mostly for -portable; on darwin suseconds_t is an int.

ok tb@

Revision 1.73 / (download) - annotate - [select for diffs], Fri Jul 7 14:52:00 2023 UTC (10 months, 3 weeks ago) by op
Branch: MAIN
CVS Tags: OPENBSD_7_4_BASE, OPENBSD_7_4
Changes since 1.72: +3 -3 lines
Diff to previous 1.72 (colored)

swap link-auth filter arguments

Fields which can contain a '|' character are kept last to avoid
ambiguities so move result before username; link-auth was likely forgot
in r1.61 of lka_filter.c when the same treatment was applied to other
events.

Discovered after a report on -portable due to filter-rspamd crashing.

ok millert@

Revision 1.72 / (download) - annotate - [select for diffs], Wed Jun 21 17:59:24 2023 UTC (11 months, 1 week ago) by op
Branch: MAIN
Changes since 1.71: +3 -1 lines
Diff to previous 1.71 (colored)

clear errno before strtoull as it may already be set to ERANGE

noticed and ok millert@

Revision 1.71 / (download) - annotate - [select for diffs], Wed Jun 21 17:56:26 2023 UTC (11 months, 1 week ago) by op
Branch: MAIN
Changes since 1.70: +16 -35 lines
Diff to previous 1.70 (colored)

avoid truncation of filtered data lines

Don't copy in a buffer the filter' output for parsing as we may truncate
filter-dataline (i.e. the mail body).  Instead, parse the string by
advancing the pointer without copying or modifications.

Issue reported by Joachim Schneider on the OpenSMTPD-portable
repository.

ok millert@

Revision 1.70 / (download) - annotate - [select for diffs], Mon May 15 12:03:04 2023 UTC (12 months, 2 weeks ago) by op
Branch: MAIN
Changes since 1.69: +5 -5 lines
Diff to previous 1.69 (colored)

cast to '(long long)' instead of '(long long int)'

while here adjust the spacing in some of the touched lines.
requested by deraadt@, ok tb@

Revision 1.69 / (download) - annotate - [select for diffs], Wed May 10 07:20:20 2023 UTC (12 months, 3 weeks ago) by op
Branch: MAIN
Changes since 1.68: +7 -6 lines
Diff to previous 1.68 (colored)

cast time_t to long long for printf, reduces the diff with -portable

ok millert@

Revision 1.68 / (download) - annotate - [select for diffs], Mon Jun 14 17:58:15 2021 UTC (2 years, 11 months ago) by eric
Branch: MAIN
CVS Tags: OPENBSD_7_3_BASE, OPENBSD_7_3, OPENBSD_7_2_BASE, OPENBSD_7_2, OPENBSD_7_1_BASE, OPENBSD_7_1, OPENBSD_7_0_BASE, OPENBSD_7_0
Changes since 1.67: +1 -12 lines
Diff to previous 1.67 (colored)

add required headers for smtpd.h and remove unnecessary ones in other files.

ok jung@

Revision 1.67 / (download) - annotate - [select for diffs], Sat Jan 23 16:11:11 2021 UTC (3 years, 4 months ago) by rob
Branch: MAIN
CVS Tags: OPENBSD_6_9_BASE, OPENBSD_6_9
Changes since 1.66: +1 -5 lines
Diff to previous 1.66 (colored)

Remove unused variables found by clang. Additional unused var spotted by eric@.

OK mvs@, eric@

Revision 1.66 / (download) - annotate - [select for diffs], Thu Dec 31 08:27:15 2020 UTC (3 years, 5 months ago) by martijn
Branch: MAIN
Changes since 1.65: +28 -28 lines
Diff to previous 1.65 (colored)

Rename the pony process to dispatcher and klondike to crypto.

From gilles@
OK millert@ giovanni@

Revision 1.63.4.1 / (download) - annotate - [select for diffs], Wed Dec 23 20:20:45 2020 UTC (3 years, 5 months ago) by millert
Branch: OPENBSD_6_8
Changes since 1.63: +1 -6 lines
Diff to previous 1.63 (colored) next main 1.64 (colored)

smtpd's filter state machine can prematurely release resources
leading to a crash.  From gilles@

This is errata/6.8/010_smtpd.patch.sig

Revision 1.62.2.1 / (download) - annotate - [select for diffs], Wed Dec 23 20:20:03 2020 UTC (3 years, 5 months ago) by millert
Branch: OPENBSD_6_7
Changes since 1.62: +1 -6 lines
Diff to previous 1.62 (colored) next main 1.63 (colored)

smtpd's filter state machine can prematurely release resources
leading to a crash.  From gilles@

This is errata/6.7/033_smtpd.patch.sig

Revision 1.65 / (download) - annotate - [select for diffs], Wed Dec 23 20:17:49 2020 UTC (3 years, 5 months ago) by millert
Branch: MAIN
Changes since 1.64: +1 -6 lines
Diff to previous 1.64 (colored)

smtpd's filter state machine can prematurely release resources
leading to a crash.  From gilles@

Revision 1.64 / (download) - annotate - [select for diffs], Sun Dec 20 13:27:46 2020 UTC (3 years, 5 months ago) by martijn
Branch: MAIN
Changes since 1.63: +2 -1 lines
Diff to previous 1.63 (colored)

Free filter_name in lka_filter_end

From gilles@
OK millert@ eric@

Revision 1.63 / (download) - annotate - [select for diffs], Wed Sep 16 11:19:42 2020 UTC (3 years, 8 months ago) by martijn
Branch: MAIN
CVS Tags: OPENBSD_6_8_BASE
Branch point for: OPENBSD_6_8
Changes since 1.62: +3 -1 lines
Diff to previous 1.62 (colored)

Add the admd keyword. This can be used by filters interested in the
Authentication-Results header.

OK giovanni@

Revision 1.62 / (download) - annotate - [select for diffs], Fri Apr 24 11:34:07 2020 UTC (4 years, 1 month ago) by eric
Branch: MAIN
CVS Tags: OPENBSD_6_7_BASE
Branch point for: OPENBSD_6_7
Changes since 1.61: +2 -2 lines
Diff to previous 1.61 (colored)

strip trailing CRs at smtp level rather than io level

ok millert@

Revision 1.61 / (download) - annotate - [select for diffs], Fri Apr 17 14:20:13 2020 UTC (4 years, 1 month ago) by eric
Branch: MAIN
Changes since 1.60: +4 -4 lines
Diff to previous 1.60 (colored)

switch email and result fields in mail-from/rcpt-to event reports
and bump protocol version.

discussed with jung@, martijn@ and Gilles.

ok jung@

Revision 1.60 / (download) - annotate - [select for diffs], Wed Jan 8 01:41:11 2020 UTC (4 years, 4 months ago) by gilles
Branch: MAIN
Changes since 1.59: +54 -2 lines
Diff to previous 1.59 (colored)

allow using the session username in builtin filters when available

Revision 1.59 / (download) - annotate - [select for diffs], Wed Jan 8 00:33:29 2020 UTC (4 years, 4 months ago) by gilles
Branch: MAIN
Changes since 1.58: +9 -2 lines
Diff to previous 1.58 (colored)

enable builtin filtering for commit phase

Revision 1.58 / (download) - annotate - [select for diffs], Wed Jan 8 00:30:44 2020 UTC (4 years, 4 months ago) by gilles
Branch: MAIN
Changes since 1.57: +9 -2 lines
Diff to previous 1.57 (colored)

emable builtin filtering for phase DATA, no idea why we didn't earlier as
the grammar allowed it and the code was already there.

Revision 1.57 / (download) - annotate - [select for diffs], Sat Dec 21 11:47:34 2019 UTC (4 years, 5 months ago) by gilles
Branch: MAIN
Changes since 1.56: +3 -1 lines
Diff to previous 1.56 (colored)

if a filter was attached to a relay action in config, notify instance that
it can register smtp-out events

Revision 1.56 / (download) - annotate - [select for diffs], Sat Dec 21 11:07:38 2019 UTC (4 years, 5 months ago) by gilles
Branch: MAIN
Changes since 1.55: +2 -4 lines
Diff to previous 1.55 (colored)

start bringing smtp-out reporting code, lacks some events still

Revision 1.55 / (download) - annotate - [select for diffs], Sat Dec 21 10:23:37 2019 UTC (4 years, 5 months ago) by gilles
Branch: MAIN
Changes since 1.54: +10 -13 lines
Diff to previous 1.54 (colored)

do not pass rdns, fcrdns, ss_src and ss_dest with IMSG_FILTER_SMTP_BEGIN,
but gather the information from the link-connect reporting event instead.
this removes redundant code and makes it easier to prepare for smtp-out.

Revision 1.54 / (download) - annotate - [select for diffs], Sat Dec 14 16:24:52 2019 UTC (4 years, 5 months ago) by gilles
Branch: MAIN
Changes since 1.53: +9 -1 lines
Diff to previous 1.53 (colored)

introduce a bypass keyword so that builtin filters can bypass processing of
a phase when a condition is met

suggested by several people including jung@, ok jung@

Revision 1.53 / (download) - annotate - [select for diffs], Fri Dec 13 12:43:56 2019 UTC (4 years, 5 months ago) by gilles
Branch: MAIN
Changes since 1.52: +160 -4 lines
Diff to previous 1.52 (colored)

lka_proc.c had common code to fork a proc filter for lka_filter.c and
lka_report.c, but now that lka_filter.c encompasses all the filter API,
we might as well merge lka_proc.c and its handful of functions in it.

Revision 1.52 / (download) - annotate - [select for diffs], Thu Dec 12 20:47:39 2019 UTC (4 years, 5 months ago) by gilles
Branch: MAIN
Changes since 1.51: +474 -3 lines
Diff to previous 1.51 (colored)

move the lka_report.c code into lka_filter.c, they were originally split as
the reporting API came first but in the end, filters rely on reporting then
reporting requires a proc filter, so they're just two pieces of a same API.

Revision 1.51 / (download) - annotate - [select for diffs], Mon Dec 9 20:36:22 2019 UTC (4 years, 5 months ago) by gilles
Branch: MAIN
Changes since 1.50: +10 -10 lines
Diff to previous 1.50 (colored)

swap two fields in the filter response protocol to match order of fields in
the query protocol. this difference was overlooked and is error-prone for a
filter developer. bump filter protocol.

when you update your smtpd, if you use filters, they'll need to be updated.

spotted by Chris Ross <cross+openbsd@distal.com>

Revision 1.50 / (download) - annotate - [select for diffs], Wed Sep 11 20:06:26 2019 UTC (4 years, 8 months ago) by gilles
Branch: MAIN
CVS Tags: OPENBSD_6_6_BASE, OPENBSD_6_6
Changes since 1.49: +2 -2 lines
Diff to previous 1.49 (colored)

when replace tree_xget() with tree_get() ... actually use tree_get() so the
change actually does something.

Revision 1.49 / (download) - annotate - [select for diffs], Tue Sep 10 19:30:12 2019 UTC (4 years, 8 months ago) by gilles
Branch: MAIN
Changes since 1.48: +5 -2 lines
Diff to previous 1.48 (colored)

do not use tree_xget() between filters resume as a session may legitimately
go away due to a disconnection before a filter responds.

diff from martijn@, committing on his behalf

Revision 1.48 / (download) - annotate - [select for diffs], Fri Sep 6 08:23:56 2019 UTC (4 years, 8 months ago) by martijn
Branch: MAIN
Changes since 1.47: +14 -4 lines
Diff to previous 1.47 (colored)

Add support for filter-reports. These allow filters to send freetext
reports to other filters/report handlers.
Builtin filters work via the new "report" keyword.
Proc filters can send reports via:
"report|<seconds.<microseconds>|smtp-in|<reqid>|<message>"
Subscribing to these reports can be done via the the "filter-report"
keyword.
The reports themselves contain the usual elements followed by:
<type>|<name>|<message>
Type can be builtin or proc.
Name is the process name for type proc and the filter name for type builtin.

OK gilles@

Revision 1.47 / (download) - annotate - [select for diffs], Wed Sep 4 08:30:36 2019 UTC (4 years, 8 months ago) by gilles
Branch: MAIN
Changes since 1.46: +2 -2 lines
Diff to previous 1.46 (colored)

bump version

Revision 1.46 / (download) - annotate - [select for diffs], Wed Sep 4 07:38:20 2019 UTC (4 years, 8 months ago) by gilles
Branch: MAIN
Changes since 1.45: +3 -1 lines
Diff to previous 1.45 (colored)

disallow proc filters from responding with junk action at commit

spotted by martijn@

Revision 1.45 / (download) - annotate - [select for diffs], Wed Sep 4 07:28:27 2019 UTC (4 years, 8 months ago) by gilles
Branch: MAIN
Changes since 1.44: +25 -1 lines
Diff to previous 1.44 (colored)

introduce the 'junk' builtin filter action which marks a session or
transaction as junked when a filter matches. this with the maildir
junk option allows classifying messages in Spam folder instead of
rejecting/disconnecting.

ok semarie@, eric@, martijn@

Revision 1.44 / (download) - annotate - [select for diffs], Thu Aug 29 08:49:55 2019 UTC (4 years, 9 months ago) by gilles
Branch: MAIN
Changes since 1.43: +2 -2 lines
Diff to previous 1.43 (colored)

the builtin filters matching used to be reversed, as in "function must not
match", because it made code smaller, however it also made it harder to
understand so it was reworked to have a function must match logic.

the check_fcrdns function was not reversed, fix it

spotted by otto@

Revision 1.43 / (download) - annotate - [select for diffs], Wed Aug 28 15:50:36 2019 UTC (4 years, 9 months ago) by martijn
Branch: MAIN
Changes since 1.42: +2 -2 lines
Diff to previous 1.42 (colored)

Add a link-greeting report. This allows us to get the active domain name
in use for the current request.

OK gilles@

Revision 1.42 / (download) - annotate - [select for diffs], Wed Aug 28 15:37:28 2019 UTC (4 years, 9 months ago) by martijn
Branch: MAIN
Changes since 1.41: +38 -57 lines
Diff to previous 1.41 (colored)

Make filters more developer-friendly by giving more feedback on why a
message was rejected.

Feedback semarie@
OK gilles@

Revision 1.41 / (download) - annotate - [select for diffs], Sun Aug 18 16:52:02 2019 UTC (4 years, 9 months ago) by gilles
Branch: MAIN
Changes since 1.40: +5 -5 lines
Diff to previous 1.40 (colored)

version field was reserved but not discussed, this is done now

ok millert@ martijn@

Revision 1.40 / (download) - annotate - [select for diffs], Sun Aug 11 17:35:27 2019 UTC (4 years, 9 months ago) by gilles
Branch: MAIN
Changes since 1.39: +2 -2 lines
Diff to previous 1.39 (colored)

the filtering protocol in OpenBSD 6.6 will be version 0, it has worked fine
for about a year now but until we have had a release with filters and until
we bring back the feedback from that release into the protocol, we will not
be version 1 of the protocol.

Revision 1.39 / (download) - annotate - [select for diffs], Sun Aug 11 16:51:00 2019 UTC (4 years, 9 months ago) by gilles
Branch: MAIN
Changes since 1.38: +7 -2 lines
Diff to previous 1.38 (colored)

teach builtin filter rdns how to match a session that has or lacks rdns

Revision 1.38 / (download) - annotate - [select for diffs], Mon Jul 1 07:40:43 2019 UTC (4 years, 11 months ago) by martijn
Branch: MAIN
Changes since 1.37: +16 -10 lines
Diff to previous 1.37 (colored)

The proceed reply doesn't have a parameter, resulting in subsequent filters
in a chain to receive a "(null)" parameter.

Fix this by storing the current parameter in the session.

Found the hard way and fix tested by Mischa Peters.

OK gilles@

Revision 1.37 / (download) - annotate - [select for diffs], Fri Jun 28 06:05:07 2019 UTC (4 years, 11 months ago) by gilles
Branch: MAIN
Changes since 1.36: +14 -11 lines
Diff to previous 1.36 (colored)

switch timestamps to use timevals in filters like we do in reporting

Revision 1.36 / (download) - annotate - [select for diffs], Thu May 2 11:39:45 2019 UTC (5 years, 1 month ago) by martijn
Branch: MAIN
Changes since 1.35: +7 -1 lines
Diff to previous 1.35 (colored)

Give filter programmers a more friendlier error message when returning a
filter-dataline in non-dataline phases and vice versa instead of crashing
with "smtpd: tree_xpop(0x1e1a6b180b40, 0xc77804c6ba110977)"

OK gilles@

Revision 1.35 / (download) - annotate - [select for diffs], Mon Apr 8 07:44:45 2019 UTC (5 years, 1 month ago) by gilles
Branch: MAIN
CVS Tags: OPENBSD_6_5_BASE, OPENBSD_6_5
Changes since 1.34: +6 -5 lines
Diff to previous 1.34 (colored)

fix parsing of datalines before passing them to filters, the | splitting is
done a bit too early

diff from Martijn van Duren <openbsd+tech@list.imperialat.at>

Revision 1.34 / (download) - annotate - [select for diffs], Tue Jan 15 04:49:50 2019 UTC (5 years, 4 months ago) by sunil
Branch: MAIN
Changes since 1.33: +4 -4 lines
Diff to previous 1.33 (colored)

Swap 'token' and 'id' place in filter protocol.

This allows to consistently extract 'id' from both 'report' and
'filter' lines.

Ok gilles@ jung@

Revision 1.33 / (download) - annotate - [select for diffs], Wed Dec 26 15:55:09 2018 UTC (5 years, 5 months ago) by eric
Branch: MAIN
Changes since 1.32: +11 -11 lines
Diff to previous 1.32 (colored)

introduce a table_match() function to check for a key in a table

ok gilles@

Revision 1.32 / (download) - annotate - [select for diffs], Wed Dec 26 14:15:12 2018 UTC (5 years, 5 months ago) by eric
Branch: MAIN
Changes since 1.31: +11 -11 lines
Diff to previous 1.31 (colored)

get rid of the unused dict argument in table lookup and fetch api.

ok gilles@

Revision 1.31 / (download) - annotate - [select for diffs], Sun Dec 23 15:48:16 2018 UTC (5 years, 5 months ago) by gilles
Branch: MAIN
Changes since 1.30: +2 -1 lines
Diff to previous 1.30 (colored)

when passing mail-from parameter to filters, pass the '<' '>' free version

Revision 1.30 / (download) - annotate - [select for diffs], Sun Dec 23 15:14:49 2018 UTC (5 years, 5 months ago) by gilles
Branch: MAIN
Changes since 1.29: +77 -78 lines
Diff to previous 1.29 (colored)

simplify builtins

Revision 1.29 / (download) - annotate - [select for diffs], Sun Dec 23 14:26:02 2018 UTC (5 years, 5 months ago) by gilles
Branch: MAIN
Changes since 1.28: +73 -22 lines
Diff to previous 1.28 (colored)

revive filters tracing (-T filters) to make it easier understand what is
happening at filters level

Revision 1.28 / (download) - annotate - [select for diffs], Sat Dec 22 13:09:05 2018 UTC (5 years, 5 months ago) by gilles
Branch: MAIN
Changes since 1.27: +40 -2 lines
Diff to previous 1.27 (colored)

introduce 'rcpt-to' builtin filter, can only be used on 'rcpt-to' hook

Revision 1.27 / (download) - annotate - [select for diffs], Sat Dec 22 12:31:40 2018 UTC (5 years, 5 months ago) by gilles
Branch: MAIN
Changes since 1.26: +44 -8 lines
Diff to previous 1.26 (colored)

introduce 'mail-from' builtin filter, can be applied on the 'mail-from',
'rcpt-to', 'data' and 'commit' phases.

Revision 1.26 / (download) - annotate - [select for diffs], Sat Dec 22 12:17:16 2018 UTC (5 years, 5 months ago) by gilles
Branch: MAIN
Changes since 1.25: +79 -27 lines
Diff to previous 1.25 (colored)

introduce 'helo' builtin filter, can be used on any hook but 'connect'

Revision 1.25 / (download) - annotate - [select for diffs], Sat Dec 22 11:32:43 2018 UTC (5 years, 5 months ago) by gilles
Branch: MAIN
Changes since 1.24: +18 -32 lines
Diff to previous 1.24 (colored)

remove lka_filter_response() which is no longer used, and reshuffle a bit
the functions within the file to make it easier to read

Revision 1.24 / (download) - annotate - [select for diffs], Sat Dec 22 11:28:11 2018 UTC (5 years, 5 months ago) by gilles
Branch: MAIN
Changes since 1.23: +70 -66 lines
Diff to previous 1.23 (colored)

simplify filter_protocol / filter_protocol_next by factoring code

while at it comment both filter_protocol_internal and filter_data_internal,
the gilles@ that will read this in six months will thank me.

Revision 1.23 / (download) - annotate - [select for diffs], Sat Dec 22 10:39:16 2018 UTC (5 years, 5 months ago) by gilles
Branch: MAIN
Changes since 1.22: +28 -27 lines
Diff to previous 1.22 (colored)

simplify filter_data() and filter_data_next() by factoring logic

Revision 1.22 / (download) - annotate - [select for diffs], Sat Dec 22 10:18:56 2018 UTC (5 years, 5 months ago) by gilles
Branch: MAIN
Changes since 1.21: +2 -2 lines
Diff to previous 1.21 (colored)

tree_xget() -> tree_get()

Revision 1.21 / (download) - annotate - [select for diffs], Fri Dec 21 20:38:42 2018 UTC (5 years, 5 months ago) by gilles
Branch: MAIN
Changes since 1.20: +9 -6 lines
Diff to previous 1.20 (colored)

do not tree_xget() sessions in filter_protocol_next(), filter_data_next() &
lka_proc_filter_in_session() because there are legitimate reasons a session
would no longer be around.

Revision 1.20 / (download) - annotate - [select for diffs], Fri Dec 21 19:07:47 2018 UTC (5 years, 5 months ago) by gilles
Branch: MAIN
Changes since 1.19: +5 -2 lines
Diff to previous 1.19 (colored)

- make the proc filter fd non-blocking
- client sessions may disappear while filter is streaming data, dont panic

Revision 1.19 / (download) - annotate - [select for diffs], Fri Dec 21 17:31:57 2018 UTC (5 years, 5 months ago) by gilles
Branch: MAIN
Changes since 1.18: +15 -2 lines
Diff to previous 1.18 (colored)

in lka_filter_init(), split into two passes, one to deal with filters then
another one to associate filters to chains

Revision 1.18 / (download) - annotate - [select for diffs], Fri Dec 21 17:22:50 2018 UTC (5 years, 5 months ago) by gilles
Branch: MAIN
Changes since 1.17: +3 -3 lines
Diff to previous 1.17 (colored)

use ss_src in src builtin filters

Revision 1.17 / (download) - annotate - [select for diffs], Fri Dec 21 17:04:46 2018 UTC (5 years, 5 months ago) by gilles
Branch: MAIN
Changes since 1.16: +76 -80 lines
Diff to previous 1.16 (colored)

implement some additional builtin filters:
check-src-{table,regex}, check-rdns-{table,regex}

make sure that these builtins may be used at all phases

Revision 1.16 / (download) - annotate - [select for diffs], Fri Dec 21 14:33:52 2018 UTC (5 years, 5 months ago) by gilles
Branch: MAIN
Changes since 1.15: +408 -122 lines
Diff to previous 1.15 (colored)

bring in new grammar for filters, allowing filter chains and plugging of
different filters & chains on different interfaces.

in this diff, proc filters are still disabled as they're missing on very
important piece of logic.

ok eric@

Revision 1.15 / (download) - annotate - [select for diffs], Fri Dec 14 20:22:52 2018 UTC (5 years, 5 months ago) by gilles
Branch: MAIN
Changes since 1.14: +6 -2 lines
Diff to previous 1.14 (colored)

let smtpd fatal on misbehaving proc filters
let filters register the reporting events and filter hooks they support but
only as a stub for now

Revision 1.14 / (download) - annotate - [select for diffs], Tue Dec 11 13:40:30 2018 UTC (5 years, 5 months ago) by gilles
Branch: MAIN
Changes since 1.13: +6 -6 lines
Diff to previous 1.13 (colored)

do some imsg renaming to make them more clear

Revision 1.13 / (download) - annotate - [select for diffs], Sun Dec 9 21:43:46 2018 UTC (5 years, 5 months ago) by gilles
Branch: MAIN
Changes since 1.12: +2 -4 lines
Diff to previous 1.12 (colored)

no need to pass rdns and fcrdns info to helo/ehlo proc filter lines

Revision 1.12 / (download) - annotate - [select for diffs], Sun Dec 9 18:24:15 2018 UTC (5 years, 5 months ago) by gilles
Branch: MAIN
Changes since 1.11: +17 -23 lines
Diff to previous 1.11 (colored)

allow check-rdns and check-fcrdns in connect, helo/ehlo, mail-from, rcpt-to
hooks

ok eric@

Revision 1.11 / (download) - annotate - [select for diffs], Sun Dec 9 18:05:20 2018 UTC (5 years, 5 months ago) by gilles
Branch: MAIN
Changes since 1.10: +15 -2 lines
Diff to previous 1.10 (colored)

add check-fcrdns builtin filter

ok eric@

Revision 1.10 / (download) - annotate - [select for diffs], Sun Dec 9 17:37:15 2018 UTC (5 years, 5 months ago) by gilles
Branch: MAIN
Changes since 1.9: +25 -21 lines
Diff to previous 1.9 (colored)

no longer pass rdns in all filtering requests, they can be retrieved from
the filter session.

Revision 1.9 / (download) - annotate - [select for diffs], Sun Dec 9 17:20:19 2018 UTC (5 years, 5 months ago) by gilles
Branch: MAIN
Changes since 1.8: +14 -11 lines
Diff to previous 1.8 (colored)

reverse bultin filters matching logic, to make it easier for human brains
to understand

discussed with eric@

Revision 1.8 / (download) - annotate - [select for diffs], Sun Dec 9 16:37:51 2018 UTC (5 years, 5 months ago) by gilles
Branch: MAIN
Changes since 1.7: +20 -2 lines
Diff to previous 1.7 (colored)

add client and listener address, as well as client rDNS and FCrDNS lookup
result to the filter_session structure upon filter session allocation. it
will allow me to simplify all filter hooks.

Revision 1.7 / (download) - annotate - [select for diffs], Thu Dec 6 13:57:06 2018 UTC (5 years, 5 months ago) by gilles
Branch: MAIN
Changes since 1.6: +126 -5 lines
Diff to previous 1.6 (colored)

allow passing data lines to proc filters

ok eric@

Revision 1.6 / (download) - annotate - [select for diffs], Thu Dec 6 12:09:50 2018 UTC (5 years, 5 months ago) by gilles
Branch: MAIN
Changes since 1.5: +96 -6 lines
Diff to previous 1.5 (colored)

bring the first bits of DATA filtering plumbing but bypass it for now

ok eric@

Revision 1.5 / (download) - annotate - [select for diffs], Thu Nov 29 12:48:16 2018 UTC (5 years, 6 months ago) by gilles
Branch: MAIN
Changes since 1.4: +2 -1 lines
Diff to previous 1.4 (colored)

introduce FILTER_COMMIT which will allow taking a decision at DATA commit
time, unusable yet but necessary for the upcoming serie of diffs.

ok eric@

Revision 1.4 / (download) - annotate - [select for diffs], Sat Nov 3 20:45:48 2018 UTC (5 years, 6 months ago) by gilles
Branch: MAIN
Changes since 1.3: +2 -2 lines
Diff to previous 1.3 (colored)

hostnames are case-sensitive of course...

Revision 1.3 / (download) - annotate - [select for diffs], Sat Nov 3 13:56:49 2018 UTC (5 years, 6 months ago) by gilles
Branch: MAIN
Changes since 1.2: +62 -22 lines
Diff to previous 1.2 (colored)

check-rdns builtin filter, to be improved

Revision 1.2 / (download) - annotate - [select for diffs], Sat Nov 3 13:47:46 2018 UTC (5 years, 6 months ago) by gilles
Branch: MAIN
Changes since 1.1: +47 -18 lines
Diff to previous 1.1 (colored)

bring plumbing for proc filters

ok millert@, eric@, jung@

Revision 1.1 / (download) - annotate - [select for diffs], Sat Nov 3 13:42:24 2018 UTC (5 years, 6 months ago) by gilles
Branch: MAIN

bring plumbing for builtin filters

ok millert@, eric@, jung@

This form allows you to request diff's between any two revisions of a file. You may select a symbolic revision name using the selection box or you may type in a numeric name using the type-in text box.