Commit graph

54 commits

Author SHA1 Message Date
fox.cpp
80328b8dee
Fix a few linter warnings + gofmt + goimports 2022-06-23 14:34:57 +03:00
fox.cpp
f4995642e2
Require Go 1.17, use Go 1.17.11 for artifacts 2022-06-23 12:44:03 +03:00
fox.cpp
9dd34b85ef
check: Remove require_matching_echo
See #280.
2022-06-18 19:26:48 +03:00
fox.cpp
6fdafbc123
check/spf: Ignore SPF permerr and temperr by default
See #485.
2022-06-18 19:15:09 +03:00
angelnu
ef5ca38df4 add additional debug log 2022-02-04 00:13:54 +00:00
angelnu
7df6b03fe6 use camelCase 2022-02-03 22:56:30 +00:00
angelnu
cd45490c16 support for multi 2022-01-30 03:31:07 +00:00
fox.cpp
52fc5ba393
check/spf: Print "deferred" message only if SPF check failed
Closes #408.
2021-10-05 16:55:29 +03:00
Gusted
c6d060908b refactor(unused): remove unused paramaters 2021-08-10 19:33:54 +03:00
Gusted
b8d8ca6301 refactor(gofumpt): run gofumpt over the code 2021-08-10 19:33:54 +03:00
Gusted
53cb4c06c2 refactor(errors): use errors.is to account wrapped errors 2021-08-10 19:33:54 +03:00
fox.cpp
956e9ed65f
Remove deprecated 0.3 module name aliases 2021-07-15 16:27:15 +03:00
fox.cpp
6d44617840
Use context.Context in module.Table
Closes #366.
2021-07-10 14:56:43 +03:00
fox.cpp
5c143530ff
Merge branch 'master' into dev
# Conflicts:
#	framework/address/norm.go
#	go.mod
#	go.sum
#	internal/target/remote/security.go
2021-07-10 00:23:28 +03:00
fox.cpp
0121bb887b
check: Add missing context.Context to Check skeleton 2021-07-09 22:49:26 +03:00
fox.cpp
7c2afde847
check/authorize_sender: Implement MAIL FROM, From header authorization for local senders
Closes #268.
2021-07-09 22:49:21 +03:00
fox.cpp
c55bf8e748
check/dns: Mark require_matching_echo as deprecated
See #280.
2021-07-09 22:49:03 +03:00
fox.cpp
6a2e0ad817
check/spf: Use context.Context and custom resolver interface
Closes #354.
2021-05-22 20:31:54 +03:00
fox.cpp
3f8fdd38ea
check/spf: Change default action for softfail to 'ignore'
See #351.

https://serverfault.com/questions/933705/spf-fail-vs-soft-fail-pros-and-cons
2021-04-30 23:56:06 +03:00
Hubert Hirtz
be5e6a8b74 check: Add missing arg in skeleton impl of CheckState 2021-01-17 09:37:08 +00:00
fox.cpp
d275cd044f
Fix two issues in handling of DSN messages in SMTP pipeline and checks
First issue: check.spf CheckBody deadlocks if CheckConnection skipped
the message due to it being locally generated (the case for DSNs).

Second issue: msgpipeline does not call CheckConnection at all
if MAIL FROM is an empty string (which is also the case for DSNs).

tests/issue327_test.go is added based on symptoms from the original
bug report.
See #237.
2021-01-16 21:08:39 +03:00
fox.cpp
178579d78a
Remove remaining references to 0.3 module names in code and docs 2020-12-13 19:47:27 +03:00
fox.cpp
d6a0324ae0
Force domains to be interpreted as FQDN where this is required by standards
This includes email addresses and EHLO in SMTP.

See #311 for details.
2020-12-12 01:31:41 +03:00
fox.cpp
c9060025c4
Bump go-msgauth version
See https://github.com/emersion/go-msgauth/issues/36

allow_body_subset directive for check.dkim is removed since
signatures with BodyLength are no longer supported by upstream.
2020-11-27 20:37:28 +03:00
fox.cpp
cbdea9c28e
check/milter: Add missing handler for milter.ActTempFail ('t')
Closes #288.
2020-10-31 12:34:38 +03:00
fox.cpp
50598ea189
check/rspamd: Fix sending of message header
Closes #282.
2020-10-12 21:16:39 +03:00
fox.cpp
fe890faa09
check/milter: Make it actually usable
It was not implementing module.Check interface, making it inaccessible.
2020-10-11 16:09:45 +03:00
fox.cpp
5d46949b25
gofmt -s everything 2020-10-03 18:42:17 +03:00
fox.cpp
7b8e13782c
check/spf: Make sure error value from library is always reported in logs 2020-07-24 18:18:18 +03:00
fox.cpp
2d18ff5a30
MIT => GPLv3; Add license/copyright notices everywhere 2020-07-22 16:12:26 +03:00
fox.cpp
cee8bbdce7
Migrate TLS certificate loading to use modules for sources 2020-07-15 17:58:47 +03:00
fox.cpp
bcceec4fe4
Extract several packages to form a public API 2020-07-15 01:31:06 +03:00
fox.cpp
03d9e52627
Rename modules and introduce namespace-aware module name lookups
See #248.
2020-07-15 01:31:05 +03:00
fox.cpp
cd928e9efb
Implement check module for easier integration with rspamd
This replaces old rspamc-based integration script that is inefficient
and had many disadvantages.
2020-06-24 23:52:36 +03:00
fox.cpp
c132a849f1
Update dependencies, switch to upstream for go-milter and go-smtp 2020-05-23 02:56:55 +03:00
fox.cpp
08f98f15d9
check/milter: Linter warnings
Unused variable and missing error check.
2020-05-04 15:59:13 +03:00
fox.cpp
974e4abbd4
check: Set default enhanced code for reason based on provided basic code 2020-05-04 00:01:54 +03:00
fox.cpp
d0e7df023c
Preliminary milter client implementation
Based on github.com/foxcpp/go-milter fork
2020-05-03 20:20:35 +03:00
fox.cpp
1fca7f62c9
check/dkim: Add tests 2020-04-30 01:47:13 +03:00
fox.cpp
217d845ace
check/dkim: Fix a couple of issues in error handling
DKIM signatures with missing required fields were still considered
passing for purposes of action selection.

dkim.IsPermFail/dkim.IsTempFail calls were checking the wrong error
object.
2020-04-30 01:44:40 +03:00
fox.cpp
9b279735e8
Address several TODO comments
Several comments were removed since they are not worth the trouble.
A few minor issues were addressed.
Most of remaining comments got corresponding GitHub issues assigned.
2020-03-05 02:26:30 +03:00
fox.cpp
46502217ed
Remove config.Map.MatchErr()
Obscure and often misused.
2020-03-05 02:26:29 +03:00
fox.cpp
1579ea10b2
Use config.Node instead of *config.Node everywhere
Closes #197.
2020-03-05 02:26:29 +03:00
fox.cpp
c8768da05c
Clean unnecessry whitespace 2020-03-01 02:36:54 +03:00
fox.cpp
e890b96e81
check/dnsbl: Fix typo in *_threshold directive names 2020-02-18 20:53:04 +03:00
fox.cpp
8249d9a22a
check/spf: Fix the wrong enhanced code used for "permanent error" case 2020-02-18 20:52:26 +03:00
fox.cpp
8bdf039d80
Fix linter warnings
cmd/maddyctl: Silence errcheck warning for TcSetAttr.
check/command: Log Process.Interrupt errors.
check/dnsbl: Remove unused listedAction field.
config/lexer: Fix typo in comment.
2020-02-08 03:32:28 +03:00
fox.cpp
0e9754206b
check/dnsbl: Implement a simple scoring system
Similar to global scoring system that was removed before, but works only
for DNSBL. It is simplier and only actually useful for BLs, since
rejecting/quarantining messages based on a single listing is usually bad
idea and leads to a high false positives rate.
2019-12-13 21:11:03 +03:00
fox.cpp
122168bef1
future: Allow to pass an error value alongside result 2019-12-13 17:31:35 +03:00
fox.cpp
c4ea9a730f
Instrument the SMTP code using runtime/trace
runtime/trace together with 'go tool trace' provides extremely powerful
tooling for performance (latency) analysis. Since maddy prides itself on
being "optimized for concurrency", it is a good idea to actually live up
to this promise.

Closes #144. No need to reinvent the wheel. The original issue
proposed a solution to use in production to detect "performance
anomalies", it is possible to use runtime/trace in production too, but
the corresponding flag to enable profiler endpoint is hidden behind the
'debugflags' build tag at the moment.

For SMTP code, the basic latency information can be obtained from
regular logs since they include timestamps with millisecond granularity.
After the issue is apparent, it is possible to deploy the server
executable compiled with tracing support and obtain more information

... Also add missing context.Context arguments to smtpconn.C.
2019-12-13 17:31:35 +03:00