1051 Commity (f169f814368c641bcf628179f4957b681f37302f)

Autor SHA1 Wiadomość Data
Alexander Graf 6b470ac403
Allow proper JS debugging, speed-up assets dev-build, disable redirect-debug by default. 3 lat temu
Florent Daigniere 7aad1158fb @ghostwheel42 will fix it in another PR 3 lat temu
Florent Daigniere a566cb07d6 fix 3 lat temu
Florent Daigniere 08b3a2814b Merge branch 'master' of https://github.com/Mailu/Mailu into notls 3 lat temu
Florent Daigniere 6474108056 Use a join() instead 3 lat temu
Florent Daigniere c0c91691fd Fix the issue on /admin/fetch/edit 3 lat temu
Alexander Graf b0b64a8e63
Use FLASK_DEBUG, fix assets, show startup errors. 3 lat temu
Florent Daigniere 505bb79a78 Don't set the secure Cookie flag if TLS_FLAVOR=notls 3 lat temu
Florent Daigniere 08a9ab9a56 Improve fetchmail 3 lat temu
bors[bot] 8a90f83bd0
Merge #2514
2514: Update deps r=mergify[bot] a=ghostwheel42

## What type of PR?

update python dependencies

## What does this PR do?

Update python deps in base image


Co-authored-by: Alexander Graf <ghostwheel42@users.noreply.github.com>
3 lat temu
bors[bot] 745c211c4a
Merge #2523
2523: fix JS error r=mergify[bot] a=nextgens

## What type of PR?

bug-fix

## What does this PR do?

It fixes a bug whereby one may have to click twice on the submit button depending on timing.

e.trigger() will error out on most browsers.

Co-authored-by: Florent Daigniere <nextgens@freenetproject.org>
3 lat temu
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>
3 lat temu
Florent Daigniere c91c9df134 fix error 3 lat temu
Alexander Graf e0d2432c6b
Rename data-ordered to data-sort 3 lat temu
Alexander Graf 2a4402cdc2
Fix datatable for list fo sign-up domains 3 lat temu
Alexander Graf af6cf5fd1d
Fix language selector without session 3 lat temu
Alexander Graf 2778641e78
Fix screen reader title of language selector 3 lat temu
Alexander Graf 4776094ea7
Configure datatables on missing tables, add sign in button to sso page. 3 lat temu
Alexander Graf 6218b36372
configure datatables via html5 data attributes 3 lat temu
Alexander Graf a74396a9ef
Fix wtforms usage 3 lat temu
Alexander Graf 4b179d9008
Merge branch 'master' into hibp 3 lat temu
Alexander Graf 36019a8ce9
Don't show Dockerfile before building 3 lat temu
Alexander Graf 91e12d510d
Use default password used everywhere else 3 lat temu
Alexander Graf defd533319
Don't duplicate hidden fields 3 lat temu
Alexander Graf db87a0f3a1
Move temporary db into container and show docker run command 3 lat temu
Alexander Graf f7caaddbec
Speed up asset building when developing 3 lat temu
Alexander Graf 71263f1a8c
Add more env variables and restyle code 3 lat temu
Alexander Graf fd8570ec34
Remove unused QUOTA_STORAGE_URL 3 lat temu
Alexander Graf bbeb211d72
Listen to localhost by default 3 lat temu
Alexander Graf 1d90dc3ea3
Allow running without redis 3 lat temu
Alexander Graf c507b765be
Improve dev runner 3 lat temu
Alexander Graf 8732b70b30
Add shell script to run admin dev environment 3 lat temu
Alexander Graf ea636a1835
Fix hibp test 3 lat temu
Alexander Graf 311f41c331
Add missing hidden fields 3 lat temu
Alexander Graf 27a5f9db65
Reformatting 3 lat temu
Vincent Kling 83fdc07a6f Default FETCHMAIL_ENABLED to True 3 lat temu
Florent Daigniere 54e9858633 this 3 lat temu
Florent Daigniere 14f802fb4a untested but that should work 3 lat temu
bors[bot] e0ff135a00
Merge #2498
2498: Implement ITERATE in podop r=mergify[bot] a=nextgens

## What type of PR?

Feature

## What does this PR do?

This makes ``doveadm -A`` work.

The easiest way to try it out is:
```
doveadm dict iter proxy:/tmp/podop.socket:auth shared/userdb

or 

doveadm user '*'
```

The protocol is described at https://doc.dovecot.org/developer_manual/design/dict_protocol/
The current version of dovecot is not using flags... so there's little gain in implementing them.

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

## 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: Florent Daigniere <nextgens@freenetproject.org>
Co-authored-by: Alexander Graf <ghostwheel42@users.noreply.github.com>
3 lat temu
Alexander Graf c57706ad27
Duh 3 lat temu
Alexander Graf 46773f639b
Return 404 is user-id cannot be parsed 3 lat temu
Alexander Graf 595b32cf97
Fix quota return value 3 lat temu
Alexander Graf bec0b1c3b2
Fix variable name 3 lat temu
Florent Daigniere 001acd60ac doh2 3 lat temu
Alexander Graf dec5309ef9
Fix typo 3 lat temu
Florent Daigniere 6b7026ef69 Here too 3 lat temu
Florent Daigniere 24b2c7c04a doh 3 lat temu
Florent Daigniere 66250e396c refactor 3 lat temu
wkr d920b3d037 fix(auto-reply): include start and end dates in the auto-reply period; issue #2512 3 lat temu
Alexander Graf 91f86a4c2a
Resolve using socrate function 3 lat temu
Florent Daigniere 9cb8df57c6 enforce at least 8 chars 3 lat temu
Florent Daigniere afbaabd8cd v1 3 lat temu
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.
3 lat temu
Florent Daigniere cf34be967c Implement ITERATE 3 lat temu
bors[bot] 12480ccbff
Merge #2328
2328: Feature: Configurable default spam threshold used for new users r=mergify[bot] a=enginefeeder101

## What type of PR?

Feature

## What does this PR do?

This PR adds functionality to set a custom default spam threshold
for new users. The environment variable ``DEFAULT_SPAM_THRESHOLD`` is
used for this purpose. When not set, it defaults back to 80%, as the
default value was before.

If ``DEFAULT_SPAM_THRESHOLD`` is set to a value that Python cannot
parse as an integer, a ValueError is thrown. There is no error handling
for that case built-in. Should that be done?

## 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: enginefeeder101 <enginefeeder101@users.noreply.github.com>
Co-authored-by: Dimitri Huisman <diman@huisman.xyz>
3 lat temu
Dimitri Huisman 06b784da57
Shorten default function by using lambda 3 lat temu
bors[bot] 9975a793fe
Merge #2458
2458: Fix: Don't update updated_at on quota_bytes_used change r=mergify[bot] a=DjVinnii

## What type of PR?

bug-fix

## What does this PR do?

This PR makes sure that the `updated_at` field is not updated when `quota_bytes_used` is updated. All other updates to the `User` model still updates the `updated_at` field. 

This is done by explicitly using an method in the `Base` class triggering [`flag_modified`][url-flag-modified].

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

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

<!-- LINKS-->
[url-flag-modified]: https://docs.sqlalchemy.org/en/14/orm/session_api.html#sqlalchemy.orm.attributes.flag_modified


Co-authored-by: Vincent Kling <v.kling@vinniict.nl>
3 lat temu
bors[bot] 5703e97c73
Merge #2460
2460: Switch to a base image containing base tools and the podop and socrate libs r=mergify[bot] a=ghostwheel42

## What type of PR?

enhancement of build process

## What does this PR do?

Changes build.hcl to build core images using a base image.
Also adds a "assets" base image for the admin container.


Co-authored-by: Alexander Graf <ghostwheel42@users.noreply.github.com>
Co-authored-by: Pierre Jaury <pierre@jaury.eu>
Co-authored-by: kaiyou <pierre@jaury.eu>
Co-authored-by: Dimitri Huisman <52963853+Diman0@users.noreply.github.com>
3 lat temu
Vincent Kling 6363acf30a Add dont_change_updated_at to fetch_done 3 lat temu
Vincent Kling 6b785abb01 Rename flag_updated_at_as_modified to dont_change_updated_at 3 lat temu
Florent Daigniere 84a722eabc Optimize the query 3 lat temu
Vincent Kling 8a60b658b4 Implement FETCHMAIL_ENABLED 3 lat temu
Vincent Kling 23d06a5761 Fix a bunch of typos 3 lat temu
Florent Daigniere 0204c9e59d doh 3 lat temu
Florent Daigniere 8775a2bf04 untested code that may just work 3 lat temu
Florent Daigniere 3e51d15b03 Remove the strict anti-spoofing rule. 3 lat temu
Alexander Graf d9bf6875e1
Optimize build order for better caching 3 lat temu
Alexander Graf 146921f619
Move curl to base image 3 lat temu
Alexander Graf 4c1071a497
Move all requirements*.txt to base image 3 lat temu
Alexander Graf a29f066858
Move even more python deps to base image 3 lat temu
Alexander Graf 52dd09d452
Fix assets build process #2 3 lat temu
Alexander Graf 768c0cc1ce
Fix assets build process 3 lat temu
Alexander Graf 9fe452e3d1
Use base image when building core images 3 lat temu
Alexander Graf 295d7ea675
Move assets to own Dockerfile 3 lat temu
Vincent Kling bda404182f Replace before update listener with method in the Base class 3 lat temu
bors[bot] 1cdc4e76b4
Merge #2455
2455: Fix/missing tanslations r=mergify[bot] a=DjVinnii

## What type of PR?

Fix/Enhancement

## What does this PR do?
Add missing Dutch translation, as well as the German translation for `Start of vacation`

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

## 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
- [ ] Unless it's docs or a minor change: add [changelog](https://mailu.io/master/contributors/workflow.html#changelog) entry file.


Co-authored-by: Vincent Kling <v.kling@vinniict.nl>
Co-authored-by: Alexander Graf <ghostwheel42@users.noreply.github.com>
Co-authored-by: Dimitri Huisman <diman@huisman.xyz>
3 lat temu
Dimitri Huisman 5b21fae968 Add missing Dutch translation 3 lat temu
Alexander Graf 7682b4fa7f
Fix typo and translate Website with Webseite 3 lat temu
Alexander Graf ffa7d6c565
Updated german translation 3 lat temu
Vincent Kling 102d96bc7d Implement event lister to keep updated_at unchanged on quota_bytes_used updates 3 lat temu
Vincent Kling a02a2c26a7 Fix typo 3 lat temu
Vincent Kling 486dd06ca8 Add missing German translation for Start of vacation 3 lat temu
Vincent Kling 84f60116ea Add missing Dutch translations 3 lat temu
Florent Daigniere 6a0e881522 Introduce TLS_PERMISSIVE for port 25
This new advanced setting to harden cipher configuration on port 25. Changing the default is strongly discouraged, please read the documentation before doing so.
3 lat temu
Vincent Kling bab3f0f5a4 Remove POD_ADDRESS_RANGE 3 lat temu
bors[bot] 7ed1da5bf1
Merge #2440
2440: The ARM wheels don't work r=mergify[bot] a=nextgens

## What type of PR?

bug-fix

## What does this PR do?

Remove piwheels to ensure we always rebuild on ARM

### Related issue(s)
- closes #2439
- #1200


Co-authored-by: Florent Daigniere <nextgens@freenetproject.org>
3 lat temu
Florent Daigniere 35a794cfd6 The ARM wheels don't work 3 lat temu
Florent Daigniere 355589a23c Apparently SQLAlchemy needs to be told explictely 3 lat temu
Florent Daigniere 30b3a3771e Prevent signups with accounts where an alias exists 3 lat temu
Dimitri Huisman 81c9e01d24 finishing touches for PR# 2328
Antispam.rst contained a syntax error.
Move config description to common section which is more fitting.
Fixed wrong assignment of default value for DEFAULT_SPAM_THRESHOLD in models.py.
3 lat temu
Florent Daigniere 1500936232 Some people will need this at runtime 3 lat temu
Florent Daigniere bd5fd9536d doh 3 lat temu
Florent Daigniere e0643cf45c Disable the cache; don't upgrade pip if not req 3 lat temu
Florent Daigniere f760024812 These are required for the healthcheck 3 lat temu
Florent Daigniere 19eda03a49 Build wheels only if we have to. 3 lat temu
bors[bot] 53de7b7d60
Merge #2403
2403: Feature: switch CI/CD from build to buildx r=mergify[bot] a=Diman0

## What type of PR?

Feature and enhancement

## What does this PR do?

Switch from docker build to buildx for CI/CD.
    - The main workflow file has been optimised and simplified.
    - Images are built in parallel when building locally resulting in much faster build times.
    - The github action workflow is about 50% faster.
    - Arm images are built as well. These images are not tested due to restrictions of github actions (no arm runners). The tags of the images have -arm appended to it. The arm images are built on merge on master and release branch (x.y). They do not influence the normal CI/CD workflow used for bors (for PR) and real releases (merge on master and branch x.y for x86_64). 
    - Arm images (and normal x86_64 images) can also be built locally.
    - Reusable workflow is introduced for building, testing and deploying the images. This allows the workflow to be reused for other purposes in the future.
    - Workflow can be manually triggered. This allows forked Mailu projects to also use the workflow for building images.

The main workflow makes use of github actions cache to store the cache layer. This layer is used to quickly rebuilt the images in the testing step and deploy step.

Unfortunately the building the arm images fails sometimes due to timeouts. Sometimes the connection to github actions cache is very slow. Restarting the workflow from the last failed step resolves this. I have not observed this with the normal build.

Just as previous time, you can use a forked project for testing the changes (https://github.com/Diman0/Mailu_Fork). You should still have owner access. I have created branch 1.11 for testing. You can see I already push 4 times to branch 1.11 (current version is 1.11.3).

### Related issue(s)
- Mention an issue like: #001
- closes #2383 
- closes #1830
- closes #1200

## 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: Dimitri Huisman <diman@huisman.xyz>
3 lat temu
bors[bot] bae15c0af3
Merge #2404
2404: Forwarding emails option in user settings did not support 1 letter do… r=mergify[bot] a=Diman0

…mains.

## What type of PR?

Bug-fix

## What does this PR do?

Forwarding emails option in user setting did not support 1 letter domains. The regex for checking the validity of  multiple email addresses string has been modified to allow 1 letter domains and to allow 1 letter local part.

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

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

- [n/a] 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: Dimitri Huisman <diman@huisman.xyz>
3 lat temu
Dimitri Huisman 57865495d4 Forwarding emails option in user settings did not support 1 letter domains. 3 lat temu
Dimitri Huisman f6de2b2938 Switch from docker build to buildx for CI/CD.
- The main workflow file has been optimised and simplified.
- Images are built in parallel when building locally resulting in faster build times.
- The github action workflow is about 50% faster.
- Arm images are built as well. These images are not tested due to restrictions of github actions (no arm runners). The tags of the images have -arm appended to it.
- Arm images can also be built locally.
- Reusable workflow is introduced for building, testing and deploying the images.
  This allows the workflow to be reused for other purposes in the future.
- Workflow can be manually triggered. This allows forked Mailu projects to also use the workflow for building images.
3 lat temu
Alexander Graf c478e26d68
Encode domain part of email addresses before returning. 3 lat temu