Commit Graph

111 Commits (8861ce6edbd538eecc3c7c80570d66f52f9f9686)

Author SHA1 Message Date
Florent Daigniere fed5ab1564 Alpine 3.17.2
Florent Daigniere 802ab533d2 Upgrade to alpine 3.17.1
New openssl, new dovecot
Dimitri Huisman 18b900699c
Bump version of Flask-RESTX to 1.0.5.
This resolves all deprecation warnings caused by Flask-RESTX.
bors[bot] dae9e9242b
Merge
2624: Move runtime environment variables to the end r=nextgens a=ghostwheel42

## What type of PR?

bug-fix

## What does this PR do?

This moves the environment variables used at runtime from the system to the base image.
It's a workaround for a strange build issue observed when building with hardened malloc enabled.



Co-authored-by: Alexander Graf <ghostwheel42@users.noreply.github.com>
bors[bot] bbf0ac5d47
Merge
2464: Introduce RESTful API r=mergify[bot] a=Diman0

## What type of PR?

Feature

## What does this PR do?
Introduces a RESTful API for changing the complete Mailu config.
Anything that can be configured in the web administration interface, can also be configured via the Mailu RESTful API.

Via the swagger.json endpoint the complete OpenAPI specification can be retrieved.
Via the endpoint swaggerui, a web client is available which shows all the endpoints, data models and allows you to submit requests.

See docs/api.rst and docs/configuration.rst for details for enabling it.

### Related issue(s)
- closes  

## 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: Alexander Graf <ghostwheel42@users.noreply.github.com>
Co-authored-by: Dimitri Huisman <diman@huisman.xyz>
Alexander Graf 712679b4d8
Duh
Alexander Graf d558be20f6
Move runtime environment variables to the end
Florent Daigniere 052f8e41ba Upgrade to snuffleupagus 0.9.0
Dimitri Huisman bcceac359d
Merge branch 'apiv1' of https://github.com/ghostwheel42/Mailu into feature-445-restful-api-ghostwheel
Alexander Graf 6f71ea833b
Update python dependencies as suggested by dependabot
Alexander Graf be40781394
Add default for WEB_API, re-add flask-restx to deps, remove whitespace
Florent Daigniere 108958cabb drop privs better
Florent Daigniere cea533ae57 Merge remote-tracking branch 'upstream/master' into oletools
bors[bot] 251db0b1af
Merge
2562: Dynamic address resolution everywhere r=mergify[bot] a=nextgens

## What type of PR?

enhancement

## What does this PR do?

Use dynamic address resolution everywhere.
Derive a new key for admin/SECRET_KEY
Cleanup the environment

This should allow restarting containers.

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

## 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>
Florent Daigniere df924b0864 doh
Florent Daigniere 0fa239da11 These tests are not required anymore
bors[bot] f169f81436
Merge
2571: Upgrade to alpine 3.17.0 r=mergify[bot] a=nextgens

## What type of PR?

enhancement

## What does this PR do?

Upgrade to alpine 3.17.0.

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

- [ ] 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>
Florent Daigniere e42d029c25 normalize booleans
Florent Daigniere ae6af92b1d it's called libretls!
Florent Daigniere 4e3874b0c1 Enable dynamic resolution of hostnames
Florent Daigniere dfaba5bb17
No need for two commands here
fastlorenzo 0209825277
Add net_bind_service capability for python executable
Signed-off-by: fastlorenzo <git@bernardi.be>
Florent Daigniere 622e093122 not required anymore
Florent Daigniere 73107ba112 libressl-dev is broken in the new release
Florent Daigniere 619a5fbda2 Upgrade to alpine 3.17.0
Florent Daigniere 3e38e7b89d Remove the dependency on pyOpenSSL
bors[bot] a8630c5a3b
Merge
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>
Florent Daigniere e03d91a1ec Merge remote-tracking branch 'upstream/master' into oletools
Florent Daigniere 9fcff5e745 Pin what we get from edge
Florent Daigniere 63a12d9857 changes requested by ghost
Florent Daigniere 4881e0db2a ghost is right, it should be pinned here too
Florent Daigniere adacf579fc Rollback to mysql-connector-python==8.0.29
See 
Florent Daigniere 3e45a791cf Implement oletools to filter out bad macros
Florent Daigniere 9e61a33cb2 Merge branch 'master' of https://github.com/Mailu/Mailu into webmail-hardening
Florent Daigniere d3d7916b58 Merge remote-tracking branch 'upstream/master' into upgrade-alpine
bors[bot] 31c6c26ec8
Merge
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  


Co-authored-by: Florent Daigniere <nextgens@freenetproject.org>
Florent Daigniere db9ed1fd59 Disable libhardened-malloc for non x86.
@see 

Support is going to be a nightmare if RPI4 is not working.
Florent Daigniere e5ab9821f9 Add snuffleupagus
This seems to work in my limited testing.
Florent Daigniere 42cd5bf2dc Move it to base since admin will also use it
Florent Daigniere e5a1a353db Upgrade to alpine 3.16.3
This has PHP fixes and a new rspamd
bors[bot] 68bb8da2b7
Merge
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>
Florent Daigniere 7745420fe0 Fix the ARM build again
bors[bot] b66f3fe9de
Merge
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>
Florent Daigniere b9b0c77d2e Revert "simplify": ghostwheel42's approach was right
This reverts commit 04f6bd2633.
bors[bot] f43c8c652e
Merge
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 

## 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>
Florent Daigniere 32f3241569 ensure we have -pie too
Florent Daigniere 7ab3d8f9fe There is no good reason not to export them is the base image too
Florent Daigniere aa44a42654 ensure we compile the wheels with bells and whistles too
Florent Daigniere 04f6bd2633 simplify
Florent Daigniere d43e7f72df ghostwheel42's suggestion