14 Commits

Author SHA1 Message Date
fox.cpp
503c9f8849 Implement Configure-Start-Stop module lifetime and non-global Registry object
container.Global is temporarily added until we start passing container
during module initialization.
2025-01-29 21:40:15 +03:00
fox.cpp
80328b8dee Fix a few linter warnings + gofmt + goimports 2022-06-23 14:34:57 +03:00
angelnu
db569891a5 go fmt 2022-01-31 21:59:27 +00:00
angelnu
639f1a609d add test for 1-N 2022-01-28 02:08:37 +00:00
angelnu
6690f3369d addapt testcases 2022-01-27 23:13:56 +00:00
Gusted
d0928d2743 refactor: remove/_-ify unused params
Hi!

I've removed some unused params. But if they where needed for e.g. interface type I've simply `_` them. Also I have to instances to fix tests params, whereby they were passed but not initialized at all, they are in`internal/target/remote/remote_test.go` and `internal/modify/dkim/dkim_test.go`. All test are still passing so it seems like I didn't break anything.

I might've refactored some code away that actually is used but wasn't implemented correctly, but as far as I see their is nothing wrong or erroring going on.
2021-07-31 22:43:27 +03:00
fox.cpp
3c9e637bb9 config/module: Always pass the fully qualified module name to constructor
Ensures that modules using modName to change behavior (e.g.
target.smtp/target.lmtp) behave consistently irregardless of whatever
they are referenced inline ("deliver_to lmtp ...") or via named
configuration block ("deliver_to &local_mailboxes).

Closes #308.
2020-11-30 14:57:49 +03:00
fox.cpp
2d18ff5a30 MIT => GPLv3; Add license/copyright notices everywhere 2020-07-22 16:12:26 +03:00
fox.cpp
bcceec4fe4 Extract several packages to form a public API 2020-07-15 01:31:06 +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
1579ea10b2 Use config.Node instead of *config.Node everywhere
Closes #197.
2020-03-05 02:26:29 +03:00
fox.cpp
305fdddf24 Use context.Context all over the place
It is useful to define background tasks lifetimes more precisely,
especially involving timeouts and other cancellation methods.

On top of that, several tracing facilities are context-based (e.g.
runtime/trace), so it is possible to use them now.
2019-12-13 17:31:35 +03:00
fox.cpp
db98f9dc9d modify: Make replace_{sender,rcpt} Unicode-aware
While at it, also add Unicode-related tests for alias_file.
2019-12-06 20:09:13 +03:00
fox.cpp
bf188e454f Move most code from the repo root into subdirectories
The intention is to keep to repo root clean while the list of packages
is slowly growing.

Additionally, a bunch of small (~30 LoC) files in the repo root is
merged into a single maddy.go file, for the same reason.

Most of the internal code is moved into the internal/ directory. Go
toolchain will make it impossible to import these packages from external
applications.

Some packages are renamed and moved into the pkg/ directory in the root.
According to https://github.com/golang-standards/project-layout this is
the de-facto standard to place "library code that's ok to use by
external applications" in.

To clearly define the purpose of top-level directories, README.md files
are added to each.
2019-12-06 01:35:12 +03:00