144 Commits

Author SHA1 Message Date
Jumper78
35ffcb070d added idna function to perform puny encoding on IDN domains 2025-02-14 16:19:20 +00:00
Florent Daigniere
4cf35e7228 useGlobalPreferredServer=false in autoconfig 2025-01-09 12:05:02 +01:00
Florent Daigniere
64d0bb603d Ensure mobileconfig has the right content-type 2024-12-22 16:40:44 +01:00
bors-mailu[bot]
2fca41235b Merge #3350
3350: Feature: dkim for alternative domains r=mergify[bot] a=Jumper78

## What type of PR?

feature

## What does this PR do?

### General Idea

#### use same DKIM key of main domain for signing

Instead of dealing with key creation for each alternative domain, this implementation of the solution uses one key for all domains, the main domain and all alternative domains. Upon Rspamd requesting the DKIM key of a domain, it is not only checked if the domain is in the list of main domains, it also checked if it part of the alternative domains. If it is in this list, it sends the DKIM key of the connected main domain together with the name of the alternative domain.

#### show needed entries in the domain detailed view of the main domain

To make it easier for the admin to create the DKIM and DMARC entries (and the MX and SPF entries) for the alternative domains, we go through all alternative domains and print the entries.

### missing (and currently not planned to be added)

The zonefile at the top of the detail page will still only cover the main domain.

### Related issue(s)
- DKIM signing of the alternative domains is a requested feature; it closes #1519
- it keeps the original file based handling of DKIM keys; it does not implement #2952

## 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.

- [ ] 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: Jumper78 <52802286+Jumper78@users.noreply.github.com>
2024-08-11 16:42:45 +00:00
Florent Daigniere
78c5d34227 as per review 2024-08-09 15:29:51 +02:00
Florent Daigniere
d7c6528f04 doh 2024-08-08 10:33:19 +02:00
Florent Daigniere
38ea029bd9 Better 2024-08-08 10:27:35 +02:00
Florent Daigniere
148c8f9ede Remove this insanity since we don't use nginx 2024-08-08 10:24:43 +02:00
Jumper78
4f0eb0ef35 DKIM signing of alternative domains
When rspamd looks up the DKIM key of the domains, also the alternative domains are queried. In case there is a match, the admin container is providing the DKIM key of the domain belonging to the alternative domain.

file modified:   core/admin/mailu/internal/views/rspamd.py
2024-07-21 22:01:20 +00:00
Florent Daigniere
2b6daf6157 fix warnings 2024-06-19 14:37:26 +02:00
Florent Daigniere
325aa5452b Do not block webmail when we have a valid SSO sess 2023-12-21 12:37:08 +01:00
Florent Daigniere
c66934e6bf Auth-Login-Attempt is no more since we don't use nginx 2023-08-18 18:47:49 +02:00
Florent Daigniere
c9eae7bfbf Fix exception reported by diginzm 2023-08-18 17:01:15 +02:00
Florent Daigniere
f143aa3dc8 Use dovecot-proxy where appropriate 2023-06-05 10:23:30 +02:00
Florent Daigniere
15569c62df Fix the bug @ghost has reported 2023-06-02 14:53:25 +02:00
Florent Daigniere
50f8a5cb65 Ensure we log which account is invalid 2023-06-02 11:39:42 +02:00
Florent Daigniere
22edc15de2 Update core/admin/mailu/internal/views/auth.py 2023-05-31 11:36:28 +02:00
Dimitri Huisman
8c206e8a9b Retrieve raw password on the correct location 2023-05-31 09:08:03 +00:00
Dimitri Huisman
10a3d1eabb Get the password from the source.
Remove password from response (not needed)
2023-05-30 15:06:32 +00:00
Florent Daigniere
6ee913502e Improve auth-related logging 2023-05-06 17:37:16 +02:00
Florent Daigniere
c363378005 Always exempt app-tokens from rate limits 2023-04-14 12:51:43 +02:00
Florent Daigniere
94ef62a884 Don't rate-limit port 25, ever. 2023-04-04 12:47:11 +02:00
Florent Daigniere
ab7b82d05b Clarify 2023-04-04 11:33:34 +02:00
Florent Daigniere
040dd82d3e fix bug 2023-04-04 11:30:59 +02:00
Florent Daigniere
04a2cdab2f Only account for distinct attempts in rate limits 2023-04-01 11:33:02 +02:00
Florent Daigniere
66b7c76836 Doh. Without this email delivery from RELAYNET is broken 2023-02-09 16:04:13 +01:00
Florent Daigniere
e2a25c79fc only account attempts for distinct usernames in ratelimits 2023-02-04 16:36:16 +01:00
Florent Daigniere
4ae0d7d768 Enable HAPROXY protocol in between front and imap
With this we avoid running into the limitations of
 mail_max_userip_connections (see #894 amd #1364) and the
 logfiles as well as ``doveadm who`` give an accurate picture.
2022-12-28 14:17:00 +01:00
Florent Daigniere
3721a6aa02 Merge branch 'master' of https://github.com/Mailu/Mailu into HEAD 2022-11-24 15:20:01 +01:00
Florent Daigniere
19bd9362d3 As suggested by ghost 2022-11-24 14:56:26 +01:00
Florent Daigniere
38507b2e1b Close #2372: Implement a GUI for WILDCARD_SENDERS 2022-11-20 10:19:28 +01:00
Florent Daigniere
08a9ab9a56 Improve fetchmail 2022-11-14 12:18:35 +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
Alexander Graf
c57706ad27 Duh 2022-11-03 17:50:39 +01:00
Alexander Graf
46773f639b Return 404 is user-id cannot be parsed 2022-11-03 17:45:21 +01:00
Alexander Graf
595b32cf97 Fix quota return value 2022-11-03 17:37:21 +01:00
Alexander Graf
bec0b1c3b2 Fix variable name 2022-11-03 17:26:27 +01:00
Alexander Graf
dec5309ef9 Fix typo 2022-11-03 16:39:29 +01:00
Florent Daigniere
c1f571a4c3 Speed things up.
If we want to go further than this we should change podop's incr(), pass
the flags and make admin process the results.
2022-10-31 08:48:55 +01:00
Florent Daigniere
cf34be967c Implement ITERATE 2022-10-30 20:15:10 +01:00
Vincent Kling
6363acf30a Add dont_change_updated_at to fetch_done 2022-10-28 10:19:30 +02:00
Vincent Kling
6b785abb01 Rename flag_updated_at_as_modified to dont_change_updated_at 2022-10-28 10:05:47 +02:00
Florent Daigniere
84a722eabc Optimize the query 2022-10-24 19:31:53 +02:00
Florent Daigniere
0204c9e59d doh 2022-10-19 16:08:29 +02:00
Florent Daigniere
8775a2bf04 untested code that may just work 2022-10-19 15:28:20 +02:00
Florent Daigniere
3e51d15b03 Remove the strict anti-spoofing rule. 2022-10-18 15:58:53 +02:00
Vincent Kling
bda404182f Replace before update listener with method in the Base class 2022-10-07 11:17:46 +02:00
Vincent Kling
bab3f0f5a4 Remove POD_ADDRESS_RANGE 2022-09-01 15:08:26 +02:00
Alexander Graf
c478e26d68 Encode domain part of email addresses before returning. 2022-07-28 16:21:34 +02:00
hitech95
fc8926493c admin: graceful fail on user fetch in basic auth
Signed-off-by: hitech95 <nicveronese@gmail.com>
2022-03-27 13:17:57 +02:00