fox.cpp
08f98f15d9
check/milter: Linter warnings
...
Unused variable and missing error check.
2020-05-04 15:59:13 +03:00
fox.cpp
503b558643
msgpipeline: Implement source_in, destination_in
...
Closes #138 .
2020-05-04 15:25:47 +03:00
fox.cpp
43e980c80f
Implement module.Table for most authentication modules
...
This allows modules to be used as a table to check account existence.
auth/pass_table: Implement module.Table interface
auth/shadow: Implement module.Table interface
auth/plain_separate: Implement module.Table interface
2020-05-04 12:41:25 +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
6ad0d9fc2b
modify/dkim: Update go-msgauth and use VerifyWithOptions in tests
2020-04-30 00:22:17 +03:00
fox.cpp
9ffd87969c
module: Fix ManageableStorage interface to match imapsql methods
2020-04-26 21:32:04 +03:00
fox.cpp
f395db25a6
storage/imapsql: Fix Close deadlock in case of EnableUpdatePipe fail
2020-04-26 21:31:12 +03:00
fox.cpp
e19d21dfcb
Fully separate authentication from IMAP access
...
Now imapsql module does not handle authentication. (it was not doing it so well
anyway)
sql_table module was introduced and used in the default configuration as
a replacement for functionality that was implemented by imapsql before.
Parts of maddyctl code were rewritten to make it work transparently with
any IMAP backend or credentials store.
Closes #212 .
2020-04-14 00:06:47 +03:00
fox.cpp
c44e79a4be
modify/dkim: Check RewriteSender error in tests code
2020-03-26 20:47:14 +03:00
fox.cpp
9915c8a881
modify/dkim: Support mulitple ADMDs per module instance
...
Allows to use macro expansion like $(local_domains) to configure DKIM
for all domains.
Closes #199 .
2020-03-13 03:28:49 +03:00
fox.cpp
ceda7259c0
queue: Fix misuse of TriesCount
2020-03-07 01:29:50 +03:00
fox.cpp
4b3e7ce819
queue: Fix retry delay calculation
...
It was generating negative delays due to incorrect power being used.
2020-03-06 23:40:47 +03:00
fox.cpp
aa1804c66d
table: Merge 'replace_sender', 'replace_rcpt' into 'alias'
...
With 'regexp' and 'static' tables, separate implementations in replace_*
are not necessary.
2020-03-06 04:21:55 +03:00
fox.cpp
a5288aa27a
table: Add identity, static and regexp table modules
2020-03-06 02:28:31 +03:00
fox.cpp
e7d5418b88
storage/imapsql: Rename and clarify docs
...
See #212 .
2020-03-05 22:04:17 +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
20233fa4c4
Fix scopelint warning in SASL callbacks
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
e0c11040e2
auth/pass_table: Fix-up tests
2020-03-03 20:47:32 +03:00
fox.cpp
e3a438a3c7
Rewrite smtpconn SMTPUTF8 tests, fix code duplication in some other tests
...
Also drop 'dupl' from golangci.yml. It is not very useful for constant
use.
2020-03-01 02:36:54 +03:00
fox.cpp
c8768da05c
Clean unnecessry whitespace
2020-03-01 02:36:54 +03:00
fox.cpp
8b7577697b
table: Fix-up log message about missing file
2020-03-01 02:36:54 +03:00
fox.cpp
cdd01c8e37
Implement table-based authentication provider
2020-03-01 02:36:54 +03:00
fox.cpp
a91d8c2334
table: Fix race in file_table reload test
...
O_SYNC should be used to make sure other thread running concurrently
will see the change.
2020-02-29 22:44:32 +03:00
fox.cpp
ae36536d93
table: Implement SQL query-based table
...
Closes #82 .
2020-02-29 19:23:28 +03:00
fox.cpp
9012d346ac
table: Fix-up file reload test
2020-02-28 02:35:26 +03:00
fox.cpp
bdd243668b
modify: Refactor alias_file to use generic Table for lookups
...
*Breaking change for configuration syntax*
2020-02-28 02:11:16 +03:00
fox.cpp
55a91a37b7
Revert authorization/authentication split
...
Authentication provider module is responsible only for authentication.
Nothing more. Access control (authorization) should be kept separate.
2020-02-28 01:38:40 +03:00
fox.cpp
3092ca0ca5
Lift restrictions on authentication credentials in shadow/pam modules
...
With new authorization/authentication identities split, it is possible
to have non-email authentication identity while using email authorization
identity.
2020-02-28 00:31:34 +03:00
fox.cpp
744dd3e10d
Implement separate lookups for username and password in authentication
...
Closes #56 .
2020-02-28 00:29:41 +03:00
fox.cpp
eaaadfa6df
Implement & integrate generic SASL authentication support
...
This should make it possible to implement OAuth and TLS client
certificates authentication.
2020-02-27 21:40:04 +03:00
fox.cpp
0507fb89f4
config: Add helpers allowing multiple directive values
...
Aka specifying the same directive multiple times, e.g.
auth &one
auth &two
2020-02-27 18:01:20 +03:00
fox.cpp
a45c7090c4
Improve auth. provider interface
...
The authentication provider can now provide multiple authorization
identities associated with credentials. Protocols that support that
(e.g. JMAP, SASL) can let the client select the wanted identity.
2020-02-27 01:22:47 +03:00
fox.cpp
bd9122d92c
storage/sql: Fix BodyParsed error being ignored.
2020-02-22 23:06:37 +03:00
fox.cpp
353c1edd5e
Move Received header field generation into pipeline code
2020-02-22 23:02:00 +03:00
fox.cpp
d28b4a5dfa
endpoint/smtp: Protect command handlers with a mutex
...
Makes sure delivery is in consistent state when it is closed due to
shutdown.
2020-02-22 04:32:46 +03:00
fox.cpp
394668e7d1
dns: Fix DNS override not being used in some cases
...
PreferGo is necessary to force Go resolver to be used. Otherwise it
might use the CGo resolver and never call DefaultResolver.Dial.
2020-02-18 20:55:44 +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
da9bf22441
address: Implement validMailboxName
...
Closes #113 .
2020-02-16 21:29:36 +03:00
fox.cpp
ff81f74b5b
smtpconn: Rewrite 552 code into 452
...
Closes #149 .
2020-02-16 20:03:56 +03:00
fox.cpp
f559143728
target/queue: Increase the amount of tries, decrease delay scale factor
...
This makes server more aggressive in retrying delivery. The total
attempts time is approximately the same (around 5 days).
Notably, the increased amount of attempts is needed to handle large
recipient lists where the remote server sometimes rejects subset of them
with "Too Many Recipients" code.
See #149 .
2020-02-16 19:56:57 +03:00
fox.cpp
8635a11293
target/queue: Rework error handling to track retries per-recipient
...
While was not strictly needed before, it is necessary in the presence of
limits and other internal target errors that should cause the delivery
to get rescheduled without increasing retries counter.
2020-02-16 16:28:39 +03:00
fox.cpp
5bf8cb9f03
endpoint/smtp: Limit amount of Received header fields
...
Closes #79 .
2020-02-16 01:31:47 +03:00
fox.cpp
97926c0131
storage/sql: Report serialiation failures as temporary SMTP errors
...
To make it actually happen instead of hanging forever, go-imap-sql's
naive default for SQLite3's PRAGMA busy_timeout is changed to 5000ms.
Closes #146 .
2020-02-16 01:14:05 +03:00
fox.cpp
3c536dd026
internal/remote: Fix-up tests
2020-02-15 23:49:01 +03:00