1
0
mirror of https://github.com/Mailu/Mailu.git synced 2024-12-20 20:22:38 +02:00
Commit Graph

1609 Commits

Author SHA1 Message Date
bors[bot]
a8630c5a3b
Merge #2550
2550: Webmail hardening r=mergify[bot] a=nextgens

## What type of PR?

enhancement

## What does this PR do?

Add [Snuffleupagus](https://github.com/jvoisin/snuffleupagus/) (a modern Suhosin replacement) to protect webmails.

It may be possible to harden further, by encrypting some of the cookies and auditing the usage of gpg more closely.

This seems to work for me.

### Related issue(s)

## 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-24 13:36:12 +00: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
12117cef37 Reduce the scope of the try: except 2022-11-24 12:16:25 +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
e03d91a1ec Merge remote-tracking branch 'upstream/master' into oletools 2022-11-24 10:35:03 +01:00
Florent Daigniere
9fcff5e745 Pin what we get from edge 2022-11-24 10:13:04 +01:00
Florent Daigniere
63a12d9857 changes requested by ghost 2022-11-24 10:00:00 +01:00
Florent Daigniere
546884d10c ghost's requested changes 2022-11-24 09:31:27 +01:00
Florent Daigniere
7e1ab7978e Block VBA Stomping too 2022-11-23 18:56:16 +01:00
Florent Daigniere
4881e0db2a ghost is right, it should be pinned here too 2022-11-23 17:15:03 +01:00
Florent Daigniere
c1144612be
fix sorting 2022-11-23 17:13:15 +01:00
Florent Daigniere
4d8bd210c5
Update run_dev.sh 2022-11-23 17:07:48 +01:00
Florent Daigniere
ee512112fb
fix flask db history 2022-11-23 17:07:19 +01:00
Florent Daigniere
adacf579fc Rollback to mysql-connector-python==8.0.29
See #2553
2022-11-23 15:49:58 +01:00
Florent Daigniere
3e45a791cf Implement oletools to filter out bad macros 2022-11-23 15:42:46 +01:00
bors[bot]
9c6e9b05db
Merge #2543
2543: Fix #2231: make public announcements work r=nextgens a=nextgens

## What type of PR?

bug-fix

## What does this PR do?

Ensure public announcements bypass filters.

They can still time-out... but this is already a big improvement that we should be able to backport.

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

## 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>
2022-11-23 09:32:17 +00:00
Florent Daigniere
9e61a33cb2 Merge branch 'master' of https://github.com/Mailu/Mailu into webmail-hardening 2022-11-22 10:03:38 +01:00
Florent Daigniere
f994c8687e doh 2022-11-21 18:12:11 +01:00
Florent Daigniere
44c47586ea Fix potential permission problems 2022-11-21 17:50:57 +01:00
Florent Daigniere
d3d7916b58 Merge remote-tracking branch 'upstream/master' into upgrade-alpine 2022-11-21 17:22:15 +01:00
Florent Daigniere
45b01db9de Fix the language switcher 2022-11-21 11:01:01 +01:00
Florent Daigniere
3fc0a0e7fa Merge branch 'master' of https://github.com/Mailu/Mailu into fetchmail-improvements 2022-11-21 10:40:02 +01:00
Florent Daigniere
4da2db1b0b add comment as requested 2022-11-21 10:38:44 +01:00
Florent Daigniere
c79e8d3852 Fix display bug 2022-11-21 10:37:36 +01:00
bors[bot]
553b02fb3d
Merge #2529
2529: Improve fetchmail r=mergify[bot] a=nextgens

## What type of PR?

enhancement

## What does this PR do?

Improve fetchmail:
- allow delivery via LMTP (faster, bypassing the filters)
- allow several folders to be retrieved
- run fetchmail as non-root
- tweak the compose file to ensure we have all the dependencies

### Related issue(s)
- closes #1231 
- closes #2246 
- closes #711

## 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: Florent Daigniere <nextgens@users.noreply.github.com>
2022-11-21 09:28:15 +00:00
bors[bot]
31c6c26ec8
Merge #2547
2547: Disable libhardened-malloc for non x86. r=mergify[bot] a=nextgens

## What type of PR?

bug-fix

## What does this PR do?

Support is going to be a nightmare if RPI4 is not working; We can always reintroduce it later.

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


Co-authored-by: Florent Daigniere <nextgens@freenetproject.org>
2022-11-20 16:55:19 +00:00
Florent Daigniere
dcf11aea48 Don't force a password reset 2022-11-20 16:33:21 +01:00
Florent Daigniere
db9ed1fd59 Disable libhardened-malloc for non x86.
@see #2541

Support is going to be a nightmare if RPI4 is not working.
2022-11-20 16:26:27 +01:00
Florent Daigniere
f802601a08
Update f4f0f89e0047_.py 2022-11-20 15:00:04 +01:00
Florent Daigniere
d5ac9199a0
Update 7ac252f2bbbf_.py 2022-11-20 14:59:06 +01:00
Florent Daigniere
7822b41048 same for domains 2022-11-20 12:35:10 +01:00
Florent Daigniere
ef9cc3c866 Show spoofing on /admin/user/list too 2022-11-20 11:09:04 +01:00
Florent Daigniere
38507b2e1b Close #2372: Implement a GUI for WILDCARD_SENDERS 2022-11-20 10:19:28 +01:00
Florent Daigniere
6a22c82c02 Fix run_dev 2022-11-20 10:17:19 +01:00
Florent Daigniere
cf7404e26c Fix #2242: Make quotas adjustable in 50MiB increments 2022-11-19 20:33:20 +01:00
Florent Daigniere
b20bf996ec Fix #2231: make public announcements work 2022-11-19 18:44:30 +01:00
Florent Daigniere
e2d4e3eb2e Implement header authentication via external proxy 2022-11-19 17:59:31 +01:00
Florent Daigniere
e5ab9821f9 Add snuffleupagus
This seems to work in my limited testing.
2022-11-18 13:25:02 +01:00
Florent Daigniere
bdc085048d Restore the Dockerfile like it was 2022-11-18 10:40:42 +01:00
Florent Daigniere
e3b875aa6b Well, -i stands for --insecure 2022-11-17 18:09:00 +01:00
Florent Daigniere
699be6f9fa Drop privs when running admin too 2022-11-17 16:03:37 +01:00
Florent Daigniere
42cd5bf2dc Move it to base since admin will also use it 2022-11-17 15:17:24 +01:00
Florent Daigniere
e5a1a353db Upgrade to alpine 3.16.3
This has PHP fixes and a new rspamd
2022-11-17 14:19:22 +01:00
Florent Daigniere
86637f0259 Make setup use the base image 2022-11-17 14:18:51 +01:00
bors[bot]
68bb8da2b7
Merge #2538
2538: Fix the ARM build again r=mergify[bot] a=nextgens

I have double-checked from the builder and this works.

gcc -v from the alpine image tells me that we have  ``--enable-default-pie``

Co-authored-by: Florent Daigniere <nextgens@freenetproject.org>
2022-11-17 11:24:25 +00:00
Florent Daigniere
7745420fe0 Fix the ARM build again 2022-11-17 11:25:33 +01:00
bors[bot]
b66f3fe9de
Merge #2537
2537: Fix the armv7 build (again)! r=mergify[bot] a=nextgens

Revert "simplify": ghostwheel42's approach was right
This reverts commit 04f6bd2633.

Without the build still errors-out because of ``set -euxo pipefail``
see https://github.com/Mailu/Mailu/actions/runs/3479399158/jobs/5817902589

Co-authored-by: Florent Daigniere <nextgens@freenetproject.org>
2022-11-17 08:46:32 +00:00
Florent Daigniere
b9b0c77d2e Revert "simplify": ghostwheel42's approach was right
This reverts commit 04f6bd2633.
2022-11-17 09:28:26 +01:00
bors[bot]
f43c8c652e
Merge #2483 #2535
2483: Introduce FETCHMAIL_ENABLED r=mergify[bot] a=DjVinnii

## What type of PR?

Enhancement

## What does this PR do?
Add `FETCHMAIL_ENABLED` to enable/disable the Fetchmail functionality in the Admin UI.

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

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


2535: fix the linux/arm/v7 build r=mergify[bot] a=nextgens

## What type of PR?

bug-fix

## What does this PR do?

The arm builder is running aarch64 ... and there is no package for arm/v7


Co-authored-by: Vincent Kling <v.kling@vinniict.nl>
Co-authored-by: Dimitri Huisman <diman@huisman.xyz>
Co-authored-by: Florent Daigniere <nextgens@freenetproject.org>
2022-11-16 12:30:33 +00:00
Dimitri Huisman
8afb544a10
Default FETCHMAIL_ENABLED to False 2022-11-16 12:12:04 +00:00
Florent Daigniere
32f3241569 ensure we have -pie too 2022-11-16 12:47:43 +01:00
Florent Daigniere
7ab3d8f9fe There is no good reason not to export them is the base image too 2022-11-16 12:34:45 +01:00
Florent Daigniere
aa44a42654 ensure we compile the wheels with bells and whistles too 2022-11-16 12:33:05 +01:00
Florent Daigniere
04f6bd2633 simplify 2022-11-16 12:23:14 +01:00
Florent Daigniere
d43e7f72df ghostwheel42's suggestion 2022-11-16 11:55:12 +01:00
Florent Daigniere
1f895d5f82 ghostwheel42's suggestion 2022-11-16 11:53:52 +01:00
Florent Daigniere
031a157ad9 fix the linux/arm/v7 build 2022-11-15 17:25:44 +01:00
bors[bot]
04a196c417
Merge #2525 #2534
2525: Switch to GrapheneOS's hardened_malloc r=mergify[bot] a=nextgens

## What type of PR?

Feature

## What does this PR do?

Switch to GrapheneOS's hardened_malloc

This was suggested during the dev meeting of the 18/09/22.

It may break things and it may make things unbearably slow... but it should also make the exploitation of memory corruption bugs a lot harder.

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


2534: Close #2533: document SQLALCHEMY_DATABASE_URI r=mergify[bot] a=nextgens

## What type of PR?

documentation

## What does this PR do?

document SQLALCHEMY_DATABASE_URI

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

## 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
- [ ] 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-15 12:28:19 +00:00
bors[bot]
40bdf7a6d9
Merge #2530
2530: disable SESSION_COOKIE_SECURE when TLS_FLAVOR=notls r=mergify[bot] a=nextgens

## What type of PR?

bug-fix

## What does this PR do?

People are unlikely to proxy everything

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

Co-authored-by: Florent Daigniere <nextgens@freenetproject.org>
2022-11-15 12:20:49 +00:00
Florent Daigniere
b9e5560fb6 Better way to express the same thing
Thanks @ghostwheel42
2022-11-15 12:47:38 +01:00
Florent Daigniere
66de1dcec8 Change the logic
The idea here is that if you have set SESSION_COOKIE_SECURE we should
honor that... and if you haven't we should try to do the right thing.
2022-11-15 10:47:20 +01:00
Florent Daigniere
81628149a2 don't fake the library 2022-11-15 09:17:06 +01:00
Florent Daigniere
9b2f018be6 add --no-cache 2022-11-15 09:09:47 +01:00
Florent Daigniere
76f8517e00 This is still required (as TLS_FLAVOR isn't set) 2022-11-14 19:38:17 +01:00
Florent Daigniere
b9564c0bc9 This shouldn't have been commited 2022-11-14 19:37:04 +01:00
Florent Daigniere
19af2944d7 Refactor as requested 2022-11-14 19:05:41 +01:00
Alexander Graf
6b470ac403
Allow proper JS debugging, speed-up assets dev-build, disable redirect-debug by default. 2022-11-14 17:40:26 +01:00
Florent Daigniere
7aad1158fb @ghostwheel42 will fix it in another PR 2022-11-14 17:31:31 +01:00
Florent Daigniere
a566cb07d6 fix 2022-11-14 16:51:05 +01:00
Florent Daigniere
08b3a2814b Merge branch 'master' of https://github.com/Mailu/Mailu into notls 2022-11-14 16:50:46 +01:00
Florent Daigniere
6474108056 Use a join() instead 2022-11-14 16:36:37 +01:00
Florent Daigniere
c0c91691fd Fix the issue on /admin/fetch/edit 2022-11-14 16:24:09 +01:00
Alexander Graf
b0b64a8e63
Use FLASK_DEBUG, fix assets, show startup errors. 2022-11-14 15:44:12 +01:00
Florent Daigniere
505bb79a78 Don't set the secure Cookie flag if TLS_FLAVOR=notls 2022-11-14 15:11:11 +01:00
Florent Daigniere
08a9ab9a56 Improve fetchmail 2022-11-14 12:18:35 +01:00
Florent Daigniere
455180043d doh 2022-11-14 09:34:43 +01:00
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>
2022-11-11 15:53:25 +00:00
Florent Daigniere
f11c451403 Restrict it to arch where there is a package 2022-11-11 14:12:54 +01:00
Florent Daigniere
97df65e9ef Switch to GrapheneOS's hardened_malloc
This was suggested during the dev meeting of the 18/09/22.

It may break things and it may make things unbearably slow
2022-11-11 13:56:04 +01: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
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
Alexander Graf
4b179d9008
Merge branch 'master' into hibp 2022-11-07 23:05:51 +01:00
Alexander Graf
36019a8ce9
Don't show Dockerfile before building 2022-11-07 16:48:58 +01:00