Commit Graph
42 Commits
Author SHA1 Message Date
Antoine Eiche 06cf3557df Mention the Freenode IRC chan #nixos-mailserver 2021-03-10 18:46:03 +01:00
Antoine Eiche 326766126c doc: minor improvments 2021-03-03 08:36:08 +00:00
Antoine Eiche 548e6b5a04 doc: add a FAQ section 2021-03-03 08:36:08 +00:00
Antoine Eiche 7e84fd4c93 doc: add a section howto
This section contains advanced configuration howtos.
2021-03-03 08:36:08 +00:00
Antoine Eiche 5f431207b3 postfix: forwarding emails of login accounts with keeping local copy
When a local account address is forwarded, the mails were not locally
kept. This was due to the way lookup tables were internally managed.

Instead of using lists to represent Postfix lookup tables, we now use
attribute sets: they can then be easily merged.

A regression test for
https://gitlab.com/simple-nixos-mailserver/nixos-mailserver/-/issues/
has been added: it sets a forward on a local address and ensure an
email sent to this address is locally kept.

Fixes #205
2021-02-06 08:17:43 +00:00
Antoine Eiche ee3d38a157 Set mailserver.policydSPFExtraConfig in a debug module
The line type of this option make its concatenation cleaner: the user
doesn't have to manually add `\n` to its policydSPFExtraConfig value
when debug in set.
2020-12-23 09:39:55 +01:00
Antoine Eiche bee80564d8 ci: simplify the hydra-cli call
The version 0.0.3 of hydra-cli prints the jobset details on error.
2020-11-30 08:56:57 +01:00
Antoine Eiche 4ce3e1bf4e readme: mention the unstable documentation 2020-11-30 08:55:26 +01:00
Antoine Eiche ee1ad50830 Add 20.09 Hydra jobset and remove 19.09 2020-11-20 09:12:15 +01:00
Antoine Eiche 7d2020cb36 Move clamav database to the blobs repository
This database is huge and can be fetched at build time.

Fixes #197
2020-11-11 20:27:59 +01:00
Antoine Eiche c04260cf5e Update nixpkgs-unstable 2020-10-31 08:34:36 +01:00
Antoine Eiche 99f843de47 Release nixos-20.09 branch 2020-10-31 08:34:36 +01:00
Antoine Eiche bb9fd8bc17 docs: add missing Sphinx Makefile:/ 2020-10-31 08:34:36 +01:00
Antoine Eiche 843e66864f docs: no longer use tagged release but branch instead in docs 2020-10-31 08:34:36 +01:00
Antoine Eiche 4818b57a92 test.dovecot: ensure port 143 is closed when enableImap is not set
The test also checks the connection on the imap port 993 is a SSL
connection.
2020-10-05 21:18:36 +02:00
Antoine Eiche 823c26fa69 Update nixpkgs-unstable 2020-10-04 10:54:23 +02:00
Antoine Eiche 9d7f02e67b Support sandboxed opendkim 2020-10-04 10:49:57 +02:00
Antoine Eiche c813f1205f Add multiple.nix test
This test is used to test feature requiring several mail domains, such
as the `forwards` option.
2020-09-28 20:51:32 +02:00
Antoine Eiche 24600377af Add forwards option
This option allow to forward mails to external addresses.
2020-09-28 20:50:45 +02:00
Antoine Eiche 4008d0cb53 Move tests to the Python framework 2020-07-27 23:11:54 +02:00
Antoine Eiche 31cf3818df readme: switch doc links from wiki to readthedocs 2020-07-06 22:33:19 +02:00
Antoine Eiche 8db0e18438 docs: how to contribute to documentation 2020-07-06 22:33:19 +02:00
Antoine Eiche 781073b64d docs: create a readthedocs manual
The goal is to remove the WIKI since modifications can not be
submitted via PRs.
2020-07-06 19:48:51 +00:00
Antoine Eiche e1b0bb42b4 ci: add 20.03 jobset 2020-05-24 20:41:03 +02:00
Antoine Eiche 54ecf17810 Release nixos-20.03 2020-05-24 20:41:03 +02:00
Antoine Eiche b8e4ed00c3 Remove 19.09 support
Note there is still the 19.09 branch.
2020-05-11 21:46:01 +00:00
Antoine Eiche 830c66f1be readme: no more release but branch instead
For each NixOS release, we publish a branch. This would allow us to
continue to apply patches to these branches, in case of bug or
security fixes.
2020-05-11 21:46:01 +00:00
Antoine Eiche 7788eccc24 Merge branch 'eqyiel/nixos-mailserver-feat/make-lmtp_save_to_detail_mailbox-optional' 2020-05-08 21:02:55 +02:00
Antoine Eiche 9b5779de16 tests/intern: set memorySize to 1G
There is an OOM when running this test.
2020-05-08 20:43:46 +02:00
Antoine Eiche abe3c4aedc Add send-only test
In the intern test, we send a mail to a send-only account and check
the reject message is correcly returned.
2020-05-08 20:43:46 +02:00
Antoine Eiche 41219cc690 Rename rejectMessage to sendOnlyRejectMessage 2020-05-08 20:43:46 +02:00
Antoine Eiche ac0f5c118f ci: build the branch 19.09 2020-05-05 21:03:10 +02:00
Antoine Eiche 899d68ac7a ci: better error message
The error message contains a link to the latest Hydra evaluation.
2020-04-23 00:23:17 +02:00
Antoine Eiche b0647c95c9 Remove the GitLab runner related code 2020-04-22 23:35:48 +02:00
Antoine Eiche b5263680a4 Check the Hydra master jobset as well 2020-04-22 23:35:48 +02:00
Antoine Eiche 493afb5f9a ci: check Hydra jobsets status 2020-04-19 15:08:32 +02:00
Antoine Eiche 1cac50dab5 .hydra: fix pull request jobset description 2020-04-19 14:59:01 +02:00
Antoine Eiche 2493056eed Setup an Hydra declarative project
This commit adds configuration files ingested an Hydra instance to
create a declarative project.
Currently, this Hydra instance builds
- the master branch
- all pull requests

We use the nix community provided Hydra instance
https://hydra.nix-community.org/project/simple-nixos-mailserver.
2020-04-19 10:01:57 +02:00
Antoine Eiche 09ca79801b tests: no ssl cert check for fetchmail
Since the certificate is autosigned, an SSL error was emitted by
dovecot.
2020-04-19 10:01:57 +02:00
Antoine Eiche a53aa5ac9a Use Niv to pin nixpkgs releases
Before using Niv, we were following channels meaning we can not
reproduce CI jobs easily.

In this change, we use Niv to pin these dependencies. We are also
addding a tests/default.nix to be able to run these tests locally.

For instance, to run the test extern.nix on the nixpkgs-19.09 release:

    nix-build tests/default.nix -A extern.nixpkgs_19_09

Fixes #178
2020-04-19 10:01:57 +02:00
Antoine Eiche e9dea6cdb4 postfix: also create the dh.pem if it is empty
The dh.pem file is currently created by the postfix prestart
script. If the entropy of the system is to low, the postfix prestart
can timeout. In this case, an empty file is created.
If the user restarts the postfix service, the dh.pem is not created
because the file already exists (but is empty).
When a ssl is established with dovecot, it fails with this message:
imap-login: `Error:Failed to initialize SSL server context: Couldn't parse DH parameters:
error:0906D06C:PEM routines:PEM_read_bio:no start line: Expecting: DH
PARAMETERS`

With this patch, the postfix service creates the dh.pem if the dh.pem
doesn't exist or if it is empty. It doesn't fix the entropy or
timeout issue but at least, the user knows something is failing:/
2018-05-10 01:04:02 +02:00
Antoine Eiche 0f75894b4f dkim: set header canonicalization to relaxed
Instead of simple canonicalization which is the default one.

Fixes #120
2018-05-04 19:55:25 +02:00