1
0
mirror of https://github.com/Mailu/Mailu.git synced 2024-12-28 23:06:37 +02:00
Commit Graph

3999 Commits

Author SHA1 Message Date
Dimitri Huisman
59c5b152b2
Switch to using set -euxo pipefail for better error handling
-e immediately exit when a command fails. No further commands are processed.
-o pipefail, if a series of piped commands fail, do NOt return the last commands returncode, but DO return the return code of the failing command in the pipeline series
-u, raise an error when an unset variable is used. Not using this results in an empty value being used and the script being executed differently without you knowing why.
-x, print each command before executing it. Actual arguments are expanded. So you see the command with the actual parameter values. This is printed in red in the buildx log output.
2022-11-11 09:10:45 +01:00
Dimitri Huisman
f6cdfb3392
Allow Healthcheck requests over IPv6 2022-11-11 08:40:07 +01:00
Dimitri Huisman
2a894cb15d
Process nextgens review remarks 2022-11-10 20:03:26 +01:00
Dimitri Huisman
92f270c94e
Update the webmail images:
Roundcube
  - Switch to base image (alpine)
  - Switch to php-fpm
SnappyMail
  - Switch to base image
  - Upgrade php7 to php8.
2022-11-10 15:51:22 +00:00
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>
2022-11-09 15:34:37 +00: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
c91c9df134 fix error 2022-11-09 11:52:53 +01:00
bors[bot]
cf6da1492e
Merge #2157
2157: configure datatables via html5 data attributes r=mergify[bot] a=ghostwheel42

## What type of PR?

bug-fix

## What does this PR do?

allows to sort most columns as a human would expect

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

## 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: Alexander Graf <ghostwheel42@users.noreply.github.com>
2022-11-08 16:10:49 +00:00
Vincent Kling
728afdd34a Add basic logging for FETCHMAIL_ENABLED and FETCHMAIL_DELAY 2022-11-08 16:51:35 +01:00
Alexander Graf
e0d2432c6b
Rename data-ordered to data-sort 2022-11-08 16:22:24 +01:00
Alexander Graf
2a4402cdc2
Fix datatable for list fo sign-up domains 2022-11-08 13:27:57 +01:00
Alexander Graf
af6cf5fd1d
Fix language selector without session 2022-11-08 13:27:57 +01:00
Alexander Graf
2778641e78
Fix screen reader title of language selector 2022-11-08 13:27:56 +01:00
Alexander Graf
4776094ea7
Configure datatables on missing tables, add sign in button to sso page. 2022-11-08 13:27:56 +01:00
Alexander Graf
6218b36372
configure datatables via html5 data attributes 2022-11-08 13:27:56 +01:00
Alexander Graf
1ae9156756
Add bcyrpt as direct dependency for better crypto. Also some updates 2022-11-08 13:27:33 +01:00
Alexander Graf
a74396a9ef
Fix wtforms usage 2022-11-08 13:27:33 +01:00
Alexander Graf
047413185e
Mask Flask-SQLAlchemy >= 3.0.0 for now as it breaks mailu 2022-11-08 13:27:33 +01:00
Alexander Graf
7e36694b64
Update python deps 2022-11-08 13:27:33 +01:00
Vincent Kling
4a74cd9afe Resolve conflict 2022-11-08 11:56:08 +01:00
Vincent Kling
6901b0f05e Implement FETCHMAIL_ENABLED in fetchmail.py 2022-11-08 11:47:20 +01:00
bors[bot]
896e7fb54b
Merge #2500
2500: Password policy enforcement r=mergify[bot] a=nextgens

## What type of PR?

Feature

## What does this PR do?

It enforces that all new passwords set by users are at least 8 characters in length and checks all users' passwords at login time against HIBP.

The HIBP part requires javascript and Mailu to be accessed over HTTPS to work but degrades gracefully (no message will be shown if the requirements are not met).

It was a conscious choice to implement it at this level: administrators can set weaker passwords using non-HTTP based interfaces.

### Related issue(s)
- close #2208
- close #287

## 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>
2022-11-08 07:55:25 +00:00
Alexander Graf
4b179d9008
Merge branch 'master' into hibp 2022-11-07 23:05:51 +01:00
bors[bot]
4563038b32
Merge #2518
2518: Add dev runner for admin container r=mergify[bot] a=ghostwheel42

## What type of PR?

development feature

## What does this PR do?

This adds a shell script (run_dev.sh) to run a live development environment in a container.


Co-authored-by: Alexander Graf <ghostwheel42@users.noreply.github.com>
2022-11-07 15:50:10 +00:00
Alexander Graf
36019a8ce9
Don't show Dockerfile before building 2022-11-07 16:48:58 +01:00
Alexander Graf
dd3cd1263e
Add development documentation again 2022-11-07 16:47:13 +01:00
Alexander Graf
91e12d510d
Use default password used everywhere else 2022-11-07 16:35:01 +01:00
Alexander Graf
defd533319
Don't duplicate hidden fields 2022-11-07 16:16:09 +01:00
Alexander Graf
db87a0f3a1
Move temporary db into container and show docker run command 2022-11-04 23:51:32 +01:00
Alexander Graf
f7caaddbec
Speed up asset building when developing 2022-11-04 23:39:39 +01:00
Alexander Graf
71263f1a8c
Add more env variables and restyle code 2022-11-04 23:21:11 +01:00
Alexander Graf
fd8570ec34
Remove unused QUOTA_STORAGE_URL 2022-11-04 22:20:08 +01:00
Alexander Graf
bbeb211d72
Listen to localhost by default 2022-11-04 21:41:31 +01:00
Alexander Graf
1d90dc3ea3
Allow running without redis 2022-11-04 18:54:59 +01:00
Alexander Graf
c507b765be
Improve dev runner 2022-11-04 18:29:45 +01:00
Alexander Graf
8732b70b30
Add shell script to run admin dev environment 2022-11-04 18:08:23 +01:00
Alexander Graf
ea636a1835
Fix hibp test 2022-11-04 15:13:56 +01:00
bors[bot]
ac93e6a9be
Merge #2517
2517: Use the new notation: arm64/v8 instead of arm64 r=mergify[bot] a=nextgens

## What type of PR?

bug-fix

## What does this PR do?

With a modern version of docker compose, on arm64 you get:
```
docker-compose pull 
[+] Running 0/8
 ⠼ admin Pulling                                                                                                                                                                        1.4s
 ⠿ smtp Error                                                                                                                                                                           1.4s
 ⠿ imap Error                                                                                                                                                                           1.4s
 ⠿ webmail Error                                                                                                                                                                        1.4s
 ⠿ antispam Error                                                                                                                                                                       1.4s
 ⠼ redis Pulling                                                                                                                                                                        1.4s
 ⠼ front Pulling                                                                                                                                                                        1.4s
 ⠿ resolver Error                                                                                                                                                                       1.4s
no matching manifest for linux/arm64/v8 in the manifest list entries
```

This may fix it.

It's discussed at https://stackoverflow.com/questions/70819028/relation-between-linux-arm64-and-linux-arm64-v8-are-these-aliases-for-each-othe

Co-authored-by: Florent Daigniere <nextgens@freenetproject.org>
Co-authored-by: Dimitri Huisman <diman@huisman.xyz>
2022-11-04 13:22:34 +00:00
Dimitri Huisman
2a3266b6b8
Forgot to update both deploy jobs 2022-11-04 14:13:06 +01:00
Dimitri Huisman
b2e47642f7
Tag the images with latest tag as well. 2022-11-04 13:49:05 +01:00
Alexander Graf
311f41c331
Add missing hidden fields 2022-11-04 13:35:38 +01:00
Alexander Graf
27a5f9db65
Reformatting 2022-11-04 13:35:13 +01:00
Vincent Kling
83fdc07a6f Default FETCHMAIL_ENABLED to True 2022-11-04 11:59:26 +01:00
Florent Daigniere
3e9def6cd9 Use the new notation: arm64/v8 instead of arm64 2022-11-04 10:46:45 +01:00
Florent Daigniere
54e9858633 this 2022-11-03 18:42:19 +01:00
Florent Daigniere
14f802fb4a untested but that should work 2022-11-03 18:38:55 +01:00
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>
2022-11-03 16:54:24 +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