252 Commits

Author SHA1 Message Date
Dimitri Huisman
6eac085b04 Forgot to include this in the previous commit for removing WEB_* settings from setup.
(cherry picked from commit e7cf213da7)
2023-11-18 12:27:22 +00:00
Dimitri Huisman
4a10dcd483 Remove WEB_ variables from setup.
Setup is meant for the standard use case where you don't change
WEB_*. WEB_* can still be changed via mailu.env

(cherry picked from commit 823b01041a)
2023-11-18 12:27:22 +00:00
Dimitri Huisman
39daa39545 Use better python method for validating IP address and subnet
(cherry picked from commit 0e04871cbe)
2023-11-18 12:27:22 +00:00
Dimitri Huisman
3a73160c25 Update setup/templates/steps/compose/03_expose.html
Better sentence structure

Co-authored-by: Florent Daigniere <nextgens@users.noreply.github.com>
(cherry picked from commit 6466759f30)
2023-11-18 12:27:22 +00:00
Dimitri Huisman
02f155ce79 Reinstate statistics which is currently not used. Remove unneeded line in
Dockerfile.

(cherry picked from commit d370d40df7)
2023-11-18 12:27:22 +00:00
Dimitri Huisman
1a556678f1 Add extra server-side validation of setup form values
Remove deprecated database_flavor JavaScript functionality
Remove statistics question which has never been implemented

(cherry picked from commit eb65e5eea0)
2023-11-18 12:27:22 +00:00
Dimitri Huisman
c9d018f314 Process ghostwheel's suggestion. By default hide the container div element and
show the no-javascript div element. Via JavaScript hide the no-java div element
and show the container div element.

(cherry picked from commit 02d5202c68)
2023-11-18 12:27:21 +00:00
Dimitri Huisman
cf68f08786 Remove reg exp check for IPv6. This is now handled server-side.
(cherry picked from commit a9fa592868)
2023-11-18 12:27:21 +00:00
Dimitri Huisman
8dbce9e698 Also check server-side subnet6 and bind6
(cherry picked from commit 49f3981d60)
2023-11-18 12:27:21 +00:00
Dimitri Huisman
cbb89a2acb Check IPv4 and subnet server side, flash message if these are invalid.
(cherry picked from commit d1a2a4d15e)
2023-11-18 12:27:21 +00:00
Dimitri Huisman
637a98d555 Refine subnet check and improve hint for defining subnet. 4th number is always 0 with a subnet.
(cherry picked from commit e332a7de6a)
2023-11-18 12:27:21 +00:00
Dimitri Huisman
b4559e5867 Added checks to SETUP to make sure JavaScript is enabled and that all JS files could be loaded when loading the site page.
The setup site malfunctions if this is not the case.
Regular expression for checking the Mailu storage path was invalid.

(cherry picked from commit 67d11c47c8)
2023-11-18 12:27:21 +00:00
Florent Daigniere
9b7c356fe1 fix #2139
(cherry picked from commit e71c653c8c)
2023-04-22 09:47:27 +00:00
bors[bot]
cae01a36b4 Merge #2732
2732: Only account for distinct attempts in rate limits r=mergify[bot] a=nextgens

## What type of PR?

enhancement

## What does this PR do?

Only account for distinct attempts in rate limits. This is solving the problem related to users changing their passwords and having their client hammer the old credentials.

Reduce the default to 50 distinct passwords per day

### 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>
Co-authored-by: Florent Daigniere <nextgens@users.noreply.github.com>
2023-04-03 20:40:10 +00:00
Florent Daigniere
3b6e1a0304 s/docker-/mailu-/g 2023-04-02 17:24:34 +02:00
Florent Daigniere
920f817009 LOG_DRIVER just doesn't work 2023-04-02 17:09:43 +02:00
Florent Daigniere
f9939eef94 This won't work 2023-04-02 17:01:25 +02:00
Florent Daigniere
04a2cdab2f Only account for distinct attempts in rate limits 2023-04-01 11:33:02 +02:00
Dimitri Huisman
03d05c7927 Remove not needed mailu.env file. 2023-03-28 20:22:28 +00:00
Dimitri Huisman
36069e3e06 Fix access to radicale 2023-03-28 20:01:43 +00:00
Dimitri Huisman
709edb522b Introduce connection string (database url) for roundcube.
Remove database choice from setup.
Remove the old *DB_* database env variables from the documentation.
The env vars are deprecated now. They will be removed after the upcoming
Mailu release.
2023-03-26 12:21:00 +00:00
bors[bot]
c15595836a Merge #2690
2690: Change rspamd override system to use .include with lowest priority. r=mergify[bot] a=Diman0

## What does this PR do?

All override files are used as if they were placed in the rspamd local.d folder.

New override system for Rspamd. In the old system, all files were placed in the Rspamd overrides folder. These overrides would override everything, including the Mailu Rspamd config.

Now overrides are placed in /overrides.
If you use your own map files, change the location to /override/myMapFile.map in the corresponding conf file. It works as following.
* If the override file overrides a Mailu defined config file, it will be included in the Mailu config file with lowest priority. It will merge with existing sections.
* If the override file does not override a Mailu defined config file, then the file will be placed in the rspamd local.d folder. It will merge with existing sections.

For more information, see the description of the local.d folder on the rspamd website: https://www.rspamd.com/doc/faq.html#what-are-the-locald-and-overrided-directories

## What type of PR?

enhancement

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

## 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>
2023-03-18 10:01:23 +00:00
Dimitri Huisman
120cd34989 Switch the container registry used for deploying images from docker
to ghcr.io (github). Images are now first build with '-build'
appended to the tag. E.g. ghcr.io/mailu/admin:master-build.
This is to prevent the image being available before automatic testing has completed.
In the deploy job, the final image is pushed (this still works the same).

Update setup & documentation for switch to ghcr.io
2023-03-16 17:38:25 +00:00
Dimitri Huisman
8861ce6edb Change rspamd override system to use include with lowest priority.
All override files are used as if they were placed in the rspamd
local.d folder.

From the newsfragment:
New override system for Rspamd. In the old system, all files were placed in the Rspamd overrides folder.
These overrides would override everything, including the Mailu Rspamd config.

Now overrides are placed in /overrides.
If you use your own map files, change the location to /override/myMapFile.map in the corresponding conf file.
It works as following.
* If the override file overrides a Mailu defined config file,
  it will be included in the Mailu config file with lowest priority.
  It will merge with existing sections.
* If the override file does not override a Mailu defined config file,
  then the file will be placed in the rspamd local.d folder.
  It will merge with existing sections.

For more information, see the description of the local.d folder on the rspamd website:
https://www.rspamd.com/doc/faq.html#what-are-the-locald-and-overrided-directories
2023-03-09 08:21:45 +00:00
Florent Daigniere
bb5d007882 s/docker\-compose\([^\.]\)/docker compose\1/g 2023-02-15 10:00:03 +01:00
Florent Daigniere
bb127d15ff clarify 2023-02-09 11:32:10 +01:00
Florent Daigniere
d20c217ae6 Change the default in setup too 2023-02-09 11:29:55 +01:00
Florent Daigniere
83cc23a51a Update comment too 2023-02-09 11:24:06 +01:00
Dimitri Huisman
75afe1092d Use server-side password generator for generating token.
Fix setup correctly writing the value for API to mailu.env
Normalize env vars for front container.
Update reverse proxy with API information.
2023-01-31 12:37:25 +00:00
Dimitri Huisman
0673d32306 Fix setup utility setting correct value to env var API
Fix IF statement for enabling API in nginx.conf
Use safer command for regenerating example API token.
2023-01-30 13:16:07 +00:00
Alexander Graf
8b1eb020e2 Put IPv6 address in brackets 2023-01-28 19:39:39 +01:00
bors[bot]
179c624116 Merge #2631
2631: Restful api finishing touches r=mergify[bot] a=Diman0

## What type of PR?

enhancement

## What does this PR do?
Some finishing touches for the restful api.

- Make the API configurable via the setup utility.  
  - Configured exactly the same as the ADMIN and WEBMAIL. 
- We have a single config (API) that configures whether it is exposed (via front). Just like ADMIN. The API is always reachable by directly connecting to the admin container.
- API_TOKEN does not enable/disable the API anymore. When it is not configured, an error is returned (via the internet browser) that the API_TOKEN must be configured in mailu.env.
- Fix some small bugs in the setup utility ( selecting none in the dropdown boxes, now correctly changes the config)
- Update Flask-RestX to 1.0.5. This resolves the deprecation warnings introduced by Flask-RestX.

### 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: Dimitri Huisman <diman@huisman.xyz>
2023-01-27 18:46:57 +00:00
Dimitri Huisman
8cb7265eb2 By default disable the API in the setup utility.
Generate a sample token value for API_TOKEN.
Fix small rendering issue when API was disabled in setup.
2023-01-27 13:17:36 +00:00
Dimitri Huisman
d6e7314f05 Make API configurable via the setup utility
Fix some small bugs in the setup utility
Improve documentation on the API.
2023-01-25 15:30:25 +00:00
Alexander Graf
c4ca1cffaf Set default for FETCHMAIL_ENABLED 2023-01-25 12:20:17 +01:00
Florent Daigniere
f18776fa0f Step2: put radicale and webmails on their own network 2023-01-04 15:07:47 +01:00
Florent Daigniere
6370d03f80 merge snafu 2022-12-20 09:40:29 +01:00
Florent Daigniere
cea533ae57 Merge remote-tracking branch 'upstream/master' into oletools 2022-12-19 12:05:27 +01:00
Florent Daigniere
43bf068be2 Enable admin by default 2022-12-19 11:53:52 +01:00
Florent Daigniere
44c064ff38 make it configurable 2022-12-19 11:53:05 +01:00
Florent Daigniere
4e3874b0c1 Enable dynamic resolution of hostnames 2022-12-08 13:00:50 +01:00
Alexander Graf
7828115102 Re-add flavor and steps to wizard. 2022-11-25 08:29:50 +01:00
Florent Daigniere
8cba012546 Rspamd needs redis too. 2022-11-24 16:55:14 +01:00
Florent Daigniere
b3f534a6ac Wizard.html should still be the default destination 2022-11-24 16:37:42 +01:00
Florent Daigniere
d0631558c7 Remove Swarm everywhere.
This hasn't been tested
2022-11-24 16:23:53 +01:00
Florent Daigniere
3e45a791cf Implement oletools to filter out bad macros 2022-11-23 15:42:46 +01:00
Florent Daigniere
d3d7916b58 Merge remote-tracking branch 'upstream/master' into upgrade-alpine 2022-11-21 17:22:15 +01:00
bors[bot]
c1da586444 Merge #2526
2526: Upgrade Snappymail to 2.21 and merge the webmail containers r=mergify[bot] a=nextgens

## What type of PR?

enhancement

## What does this PR do?

Upgrade Snappymail to 2.21 and merge the webmail containers. This will make the CI faster and should simplify things going forward (hardening but also allow running more than one webmail at the time, ...).

- enable APCu
- add new test to ensure we redirect to SSO and have disabled the admin panel
- add all the packaged dictionaries for spell checking
- harden the configuration of the webmails a bit (more to come in a separate PR)
- turn off deprecation warnings (php8.1 is too new)
- turn off error reporting (log them instead)
- return HTTP302 when we should
- gpg-verify the signature of the webmails we ship
- upgrade to snappymail 2.21, switch to the new json config format
- use socrates as it's meant to so that helm users can do their thing
- run the HTTPd and PHP as different users
- redirect the PHP errors to stderr

## Related issue(s)
- closes #2466
- closes #948
- closes #2250

## 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-21 15:28:57 +00: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
Florent Daigniere
42cd5bf2dc Move it to base since admin will also use it 2022-11-17 15:17:24 +01:00