1
0
mirror of https://github.com/Mailu/Mailu.git synced 2024-12-14 10:53:30 +02:00
Commit Graph

65 Commits

Author SHA1 Message Date
Florent Daigniere
36623188b5 Don't apply antispoof rules on locally generated emails 2023-01-28 14:12:14 +01:00
Alexander Graf
10562233ca
Add SUBNET6 to places where SUBNET is used 2023-01-24 12:15:36 +01:00
Florent Daigniere
9d555b0eec Don't expose any port (suggestion from ghost) 2023-01-04 19:19:43 +01:00
Florent Daigniere
ef123f1b53 doh 2022-12-19 12:41:21 +01:00
Florent Daigniere
6241fbeb78 actually make it optional 2022-12-19 12:12:50 +01:00
Florent Daigniere
cea533ae57 Merge remote-tracking branch 'upstream/master' into oletools 2022-12-19 12:05:27 +01:00
Florent Daigniere
77d770a2d2 doh 2022-12-19 11:24:22 +01:00
Florent Daigniere
4e3874b0c1 Enable dynamic resolution of hostnames 2022-12-08 13:00:50 +01:00
Florent Daigniere
4c3c628ca4 dedup 2022-11-24 14:59:11 +01:00
Florent Daigniere
f1e5044dbe Add to the list, sort it 2022-11-24 14:39:12 +01:00
Florent Daigniere
02f2679dc4 name collision 2022-11-24 13:51:54 +01:00
Florent Daigniere
b08d940d09 See https://github.com/decalage2/oletools/issues/659 2022-11-24 13:06:59 +01:00
Florent Daigniere
a8061f3ed3 doh 2022-11-24 12:25:41 +01:00
Florent Daigniere
612db96209 Block executable file extensions (closes #2511) 2022-11-24 12:09:15 +01:00
Florent Daigniere
709023ab5a dimitri said "block it"
So let's block any macro with AUTOEXEC
2022-11-24 12:04:03 +01:00
Florent Daigniere
3bdc57adbc Forgot this 2022-11-24 11:40:10 +01:00
Florent Daigniere
e43effab63 Glad there is a test 2022-11-24 11:08:13 +01:00
Florent Daigniere
d793c5eed8 Dup symbol 2022-11-24 11:01:12 +01:00
Florent Daigniere
7e1ab7978e Block VBA Stomping too 2022-11-23 18:56:16 +01:00
Florent Daigniere
3e45a791cf Implement oletools to filter out bad macros 2022-11-23 15:42:46 +01:00
Florent Daigniere
f994c8687e doh 2022-11-21 18:12:11 +01:00
Florent Daigniere
e3b875aa6b Well, -i stands for --insecure 2022-11-17 18:09:00 +01:00
bors[bot]
0839490beb
Merge #2479
2479: Rework the anti-spoofing rule r=mergify[bot] a=nextgens

## What type of PR?

Feature

## What does this PR do?

We shouldn't assume that Mailu is the only MTA allowed to send emails on behalf of the domains it hosts.
We should also ensure that it's non-trivial for email-spoofing of hosted domains to happen

Previously we were preventing any spoofing of the envelope from; Now we are preventing spoofing of both the envelope from and the header from unless some form of authentication passes (is a RELAYHOST, SPF, DKIM, ARC)

### Related issue(s)
- close #2475

## Prerequisites
Before we can consider review and merge, please make sure the following list is done and checked.
If an entry in not applicable, you can check it or remove it from the list.

- [x] In case of feature or enhancement: documentation updated accordingly
- [x] Unless it's docs or a minor change: add [changelog](https://mailu.io/master/contributors/workflow.html#changelog) entry file.


Co-authored-by: Florent Daigniere <nextgens@freenetproject.org>
2022-11-09 15:16:36 +00:00
Florent Daigniere
ec4224123b Use the logger 2022-10-28 18:28:31 +02:00
Florent Daigniere
89f7d983b4 Don't start rspamd until admin is up and working 2022-10-27 10:51:45 +02:00
Florent Daigniere
d8cf0c3848 Revert "Admin may not have started up when this loads"
This reverts commit 0f17299b4e.
2022-10-27 10:21:19 +02:00
Florent Daigniere
0f17299b4e Admin may not have started up when this loads 2022-10-25 14:43:47 +02:00
Florent Daigniere
95a3a3d342 doh 2022-10-25 12:05:25 +02:00
Florent Daigniere
bd1b73032c Poke a hole for mailing lists 2022-10-24 09:48:51 +02:00
Florent Daigniere
c4fcaed7d4 doh 2022-10-20 16:01:18 +02:00
Florent Daigniere
8929f54de5 clarify
Also cover the case where the DKIM sig is for another domain and there
is no explicit DMARC policy
2022-10-20 11:32:58 +02:00
Florent Daigniere
8da6117bb9 clarify 2022-10-20 10:35:43 +02:00
Florent Daigniere
af87456faf this works for me 2022-10-20 10:24:10 +02:00
Florent Daigniere
be4dd6d84a Spell it out 2022-10-19 18:22:33 +02:00
Florent Daigniere
f7b3aad831 Ensure we REJECT when we don't have a DMARC policy
This restores the old behaviour
2022-10-19 17:53:32 +02:00
Florent Daigniere
8775a2bf04 untested code that may just work 2022-10-19 15:28:20 +02:00
Alexander Graf
146921f619
Move curl to base image 2022-10-14 14:34:58 +02:00
Alexander Graf
4c1071a497
Move all requirements*.txt to base image 2022-10-14 14:34:27 +02:00
Alexander Graf
a29f066858
Move even more python deps to base image 2022-10-12 16:32:27 +02:00
Alexander Graf
9fe452e3d1
Use base image when building core images 2022-10-12 16:32:20 +02:00
Florent Daigniere
5d09390147 enable rspamd's autolearn feature 2022-09-08 17:32:50 +02:00
Vincent Kling
bab3f0f5a4 Remove POD_ADDRESS_RANGE 2022-09-01 15:08:26 +02:00
Dimitri Huisman
d19208d3d1 Merge branch 'master' of github.com:Mailu/Mailu into feature-switch-snappymail 2022-07-06 12:35:21 +00:00
henniaufmrenni
8eb8cb1f48 Update deprecated rspamd config option
This gets rid of the following error message:
lua; antivirus.lua:109: CLAM_VIRUS [clamav]: Using attachments_only is deprecated. Please use scan_mime_parts = true instead

As per the rspamd documentation https://rspamd.com/doc/modules/antivirus.html
attachments_only = true; # Before 1.8.1
scan_mime_parts = true; # After 1.8.1

The currently used version is rspamd 3.1.
2022-04-04 14:39:50 +02:00
Dimitri Huisman
9519d07ba2 Switch from RainLoop to SnappyMail 2022-03-22 09:04:56 +00:00
bors[bot]
08be233607
Merge #2058
2058: Implement versioning for CI/CD workflow. r=mergify[bot] a=Diman0

## What type of PR?

Feature!

## What does this PR do?
This PR introduces 3 things
- Add versioning (tagging) for branch x.y (1.8). E.g. 1.8.0, 1.8.1 etc.
  - docker repo will contain x.y (latest) and x.y.z (pinned version) images.
  - The X.Y.Z tag is incremented automatically. E.g. if 1.8.0 already exists, then the next merge on 1.8 will result in the new tag 1.8.1 being used.
- Make the version available in the image.
  -  For X.Y and X.Y.Z write the version (X.Y.Z) into /version on the image and add a label with version=X.Y.Z
	  -  This means that the latest X.Y image shows the pinned version (X.Y.Z e.g. 1.8.1) it was based on. Via the tag X.Y.Z you can see the commit hash that triggered the built.
  -  For master write the commit hash into /version on the image and add a label with version={commit hash}
-  Automatic releases. For x.y triggered builts (e.g. merge on 1.9) do a new github release for the pinned x.y.z (e.g. 1.9.2). 
  -  Release shows a static message (see RELEASE_TEMPLATE.md) that explains how to reach the newsfragments folder and change the branch to the tag (x.y.z) mentioned in the release. Now you can get the changelog by reading all newsfragment files in this folder.

This PR does not change anything to our workflow (what we (human persons) do). Our processes are still exactly the same. The above introduced logic is automatic. When we backport to X.Y all the magic for creating the pinned version X.Y.Z is handled by the CI/CD workflow.

### Related issue(s)
- closes #1182

## Prerequisites
Before we can consider review and merge, please make sure the following list is done and checked.
If an entry in not applicable, you can check it or remove it from the list.

- [x] In case of feature or enhancement: documentation updated accordingly
- [x] Unless it's docs or a minor change: add [changelog](https://mailu.io/master/contributors/workflow.html#changelog) entry file.

## Testing
Suggested testing steps. This should cover all situations including BORS. It does require that you use your own docker repo or temporarily create a new one.
Suggested testing steps.
1. Create new github repo.
2. Add the required docker secrets to the project (see beginning of CI.yml for the secret names), DOCKER_UN, DOCKER_PW, DOCKER_ORG, DOCKER_ORG_TESTS.
3. Clone the project.
4. Copy the contents of the PR to the cloned project.
5. Push to your new github repo.
6. Now master images are built. Check that images with tag master are pushed to your docker repo
7. Check with docker inspect nginx:master that it has the label version={commit hash}.
8. Run an image, run `docker-compose exec <name> cat /version`. Note that /version also contains the pinned version. For master the pinned version is the commit hash.
9. Create branch 1.8. 
10. Push branch 1.8 to repo.
11. Note that tags 1.8 and 1.8.0 are built and pushed to docker repo
12. Inspect label and /version. Note that 1.8 and 1.8.0 both show version 1.8.0.
13. Push another commit to branch 1.8.
14. Note that tags 1.8 and 1.8.1 are built and pushed to docker repo
15. Inspect label and /version. Note that 1.8 and 1.8.1 both show version 1.8.1.
16. Let's check BORS stuff.
17. Create branch testing.
18. Push the commit with the exact commit text (IMPORTANT!!): `Try #1234:`'.
19. Note that images are built and pushed for tag `pr-1234`.
20. Inspect label and /version. Note that the version is `pr-1234`.
20. Create branch staging.
21. Push the commit with commit text: `Merge #1234`.
22. Note that this image is not pushed to docker (as expected).

but you could also check the GH repo and docker repo I used:
https://github.com/Diman0/Mailu_Fork
https://hub.docker.com/r/diman/rainloop/tags

Co-authored-by: Dimitri Huisman <diman@huisman.xyz>
2021-12-15 09:29:08 +00:00
Florent Daigniere
89a7a8ac13 Fix score of RCVD_NO_TLS_LAST 2021-11-25 15:29:31 +01:00
Florent Daigniere
1925b2e0fb Upgrade rspamd 2021-11-24 16:46:35 +01:00
Dimitri Huisman
f7677543c6 Process code review remarks
- Moved run to bottom of Dockerfile to allow using unmodified / cached states.
- Simplified bash code in deploy.sh.
- Improved the large bash one-liner in CI.yml. It could not handle >9 for 1.x.
2021-11-18 17:21:56 +00:00
Dimitri Huisman
56dd70cf4a Implement versioning for CI/CD workflow (see #1182). 2021-11-17 20:00:04 +00:00