Skip to content
This repository has been archived by the owner on Jan 4, 2025. It is now read-only.

Integrate changes in upstream Mailu repository #1

Open
fastlorenzo opened this issue Nov 1, 2022 · 6 comments
Open

Integrate changes in upstream Mailu repository #1

fastlorenzo opened this issue Nov 1, 2022 · 6 comments

Comments

@fastlorenzo
Copy link

Hi there, first of all thanks a lot for the awesome work adding support for OpenID to Mailu, this is a must-have for my current setup using Keycloak!
Do you have plans to make a PR with your changes to the main Mailu repository?

FYI - I've isolated the main changes you made in a specific branched that is synced with Mailu/master: Mailu/Mailu@master...fastlorenzo:Mailu:openid

Igortorrente pushed a commit to Igortorrente/Mailu-OpenID that referenced this issue Jan 11, 2023
Igortorrente pushed a commit to Igortorrente/Mailu-OpenID that referenced this issue Jan 11, 2023
2542: Implement header authentication via external proxy r=mergify[bot] a=nextgens

## What type of PR?

Feature

## What does this PR do?

Implement header authentication via external proxy

### Related issue(s)
- closes Mailu#1972
- closes Mailu#2183

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


2559: Turns out that php81-ctype is required by roundcube r=mergify[bot] a=nextgens

## What type of PR?

bug-fix

## What does this PR do?

It solves:
```
[25-Nov-2022 08:19:20] WARNING: [pool php] child 335 said into stderr: "NOTICE: PHP message: PHP Fatal error:  Uncaught Error: Call to undefined function Masterminds\HTML5\Parser\ctype_alpha() in /var/www/roundcube/vendor/masterminds/html5/src/HTML5/Parser/Tokenizer.php:140"
[25-Nov-2022 08:19:20] WARNING: [pool php] child 335 said into stderr: "Stack trace:"
[25-Nov-2022 08:19:20] WARNING: [pool php] child 335 said into stderr: "#0 /var/www/roundcube/vendor/masterminds/html5/src/HTML5/Parser/Tokenizer.php(82): Masterminds\HTML5\Parser\Tokenizer->consumeData()"
[25-Nov-2022 08:19:20] WARNING: [pool php] child 335 said into stderr: "heviat#1 /var/www/roundcube/vendor/masterminds/html5/src/HTML5.php(161): Masterminds\HTML5\Parser\Tokenizer->parse()"
[25-Nov-2022 08:19:20] WARNING: [pool php] child 335 said into stderr: "heviat#2 /var/www/roundcube/vendor/masterminds/html5/src/HTML5.php(89): Masterminds\HTML5->parse('<html>\n    <hea...', Array)"
[25-Nov-2022 08:19:20] WARNING: [pool php] child 335 said into stderr: "heviat#3 /var/www/roundcube/program/lib/Roundcube/rcube_washtml.php(700): Masterminds\HTML5->loadHTML('<html>\n    <hea...')"
[25-Nov-2022 08:19:20] WARNING: [pool php] child 335 said into stderr: "heviat#4 /var/www/roundcube/program/actions/mail/index.php(975): rcube_washtml->wash('<html>\n    <hea...')"
[25-Nov-2022 08:19:20] WARNING: [pool php] child 335 said into stderr: "heviat#5 /var/www/roundcube/program/actions/mail/index.php(1019): rcmail_action_mail_index::wash_html('<!doctype html>...', Array, Array)"
[25-Nov-2022 08:19:20] WARNING: [pool php] child 335 said into stderr: "heviat#6 /var/www/roundcube/program/actions/mail/show.php(720): rcmail_action_mail_index::pr..."
```

see roundcube/roundcubemail#7049


Co-authored-by: Florent Daigniere <[email protected]>
@Encotric
Copy link

Encotric commented Feb 6, 2023

Hi,

first of all, sorry for the very late response to your request. We've been busy with other things happening in our company.

In the near future, I will push some further changes to our fork including the ability to use backchannel-logout and eventually remove the access token checks via the token introspection endpoint (which is currently executed for every request of an OpenID-authenticated user).

That being said, I already saw that you created a PR on the main Mailu repository to merge our fork into it. Thank you for your efforts! Unfortunately, I am quite curious why you removed my name from the "AUTHORS.md" file. Is there a certain reason for that? The fork is mainly based on my code and I would really appreciate becoming the deserved credits for that.

Nevertheless, I think it's generally a great idea to integrate our fork into Mailu. Let me know if you need any additional changes for that.

@fastlorenzo
Copy link
Author

@Encotric thanks for your feedback, I totally understand that everyone is pretty busy.

Regarding the AUTHORS.md, I've been requested by the Mailu dev team to remove it unless explicit approval was given by the person mentioned (in this case you). You'd need to create a specific PR yourself (please refer to Mailu#2574 (comment))

The PR is there, I've made some changes requested by the Mailu devs, this could be use as a starting point to integrate your new changes: Mailu#2574
They are currently waiting on the next release before looking a integrating it. I'm currently using that version without any issues.

In general, you could also join the Mailu-dev Matrix channel

Feel free to reach out if you have any questions.

@batistein
Copy link

Any update on this topic? Is it possible to use one of the forks directly?

@Encotric
Copy link

Encotric commented Feb 10, 2023

@fastlorenzo Oh, okay. Sorry, I didn't take a closer look at the discussions in the PR. Thank you for the explanation!

I will have a look at your version as soon as possible. After that, I will create my own PR and refer it to yours.

@batistein Yes, afaik both forks (the PR-version at the official Mailu repository and this fork) should work without problems.

A short setup guide can be found in the README.md.

Encotric pushed a commit that referenced this issue May 26, 2023
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: #1
- closes Mailu#2383 
- closes Mailu#1830
- closes Mailu#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 <[email protected]>
@konradmoesch
Copy link

konradmoesch commented May 14, 2024

Hi, thanks to all of you for your work!
Looking for a way to use Mailu with Authentik (IdP similar to keykload), I found the closed PR Mailu#2574
It seems that upstream folks don't want to merge and use your work, which is quite a pity, I think.
May I ask what the state of this fork is? Do you still want to upstream native OIDC support? Is there something I can help with?
I'd really like native OIDC support, instead of having to hack something using a proxy.
Thanks:)

@fastlorenzo
Copy link
Author

@konradmoesch I've had several discussions with the Mailu team, and it seems like their preferred approach was to keep OIDC support using the proxy header method. I would have preferred as well to have native support for OIDC, but so far I've been using the proxy header method and it works.

Sign up for free to subscribe to this conversation on GitHub. Already have an account? Sign in.
Labels
None yet
Projects
None yet
Development

No branches or pull requests

4 participants