Email access to external email foo@domain.tld from Yunohost user fbar@domain.tld

(Français en dessous)

Hi there !

My YunoHost server

Hardware: I’ll fill this is later, I do not have the information here - it is a local machine at my home.
YunoHost version: 3.6.5.3 (stable).
I have access to my server : Through SSH, using Shell in a Box + direct access via keyboard / screen on weekends (I am currently working far from home)
Are you in a special context or did you perform some particular tweaking on your YunoHost instance ? : no
If yes, please explain: N/A

Description of my issue

Let’s take as an example a user named “Foo Bar”. His user on my Yunohost instance is fbar@domain.tld.

I want this user to have access to his email address (external, provided by OVH) “foo@domain.tld”.
Obviously, this won’t work as Rainloop looks for a “foo” user in the LDAP base, but there is not and Rainloop fails accessing the external email address.

How can I get Rainloop to look for the email address externally, even if the domain is the same a local?

Besides, it seems this LDAP lookup from Rainloop crashes nginx : all other services get unresponsive (Nextcloud, The Lounge, shell in a box, Wordpress) and get back on after ~5-6 minutes.
edit: it seems this specific problem was related to this PR, currently in testing branch, so let’s forget it for now (github/YunoHost/SSOwat/pull/141)

Extract from /var/log/nginx/domain.tld-error.log:

2020/01/22 10:15:25 [error] 17640#17640: *1580641 lua entry thread aborted: runtime error: /usr/share/ssowat/access.lua:324: Interrupted system call
stack traceback:
coroutine 0:
	[C]: in function '(for generator)'
	/usr/share/ssowat/access.lua:324: in function 'scandir'
	/usr/share/ssowat/access.lua:348: in function </usr/share/ssowat/access.lua:1>, client: 109.2.156.126, server: domain.tld, request: "GET /rainloop/app/rainloop/v/1.12.1/static/js/min/boot.min.js?community HTTP/2.0", host: "domain.tld", referrer: "https://domain.tld/rainloop/app/?admin"
2020/01/22 10:15:25 [error] 17640#17640: *1580641 lua entry thread aborted: runtime error: /usr/share/ssowat/access.lua:324: Interrupted system call
stack traceback:
coroutine 0:
	[C]: in function '(for generator)'
	/usr/share/ssowat/access.lua:324: in function 'scandir'
	/usr/share/ssowat/access.lua:348: in function </usr/share/ssowat/access.lua:1>, client: 109.2.156.126, server: domain.tld, request: "GET /ynhtheme/custom_overlay.css HTTP/2.0", host: "domain.tld", referrer: "https://domain.tld/rainloop/app/?admin"

Thanks for your help !


Bonjour !

Mon serveur YunoHost

Matériel: Nano serveur, j’ai oublié la marque et le modèle. C’est de l’auto hébergement chez moi.
Version de YunoHost: 3.6.5.3 (stable).
J’ai accès à mon serveur : En SSH via Shell in a box + En direct avec un clavier/écran uniquement les weekends (je travaille hors de mon lieu de résidence principal)
Êtes-vous dans un contexte particulier ou avez-vous effectué des modificiations particulières sur votre instance ? : non
Si oui, expliquer: N/A

Description du problème

Prenons pour exemple un utilisateur nommé Foo Bar. Son username sur Yunohost sera “fbar@domain.tld”.

Je veux que cet utilisateur puisse accéder à son adresse mail (externe, fournie par OVH, je ne fais pas de mailing sur le serveur) “foo@domain.tld” (et non pas fbar@domain.tld)
Evidemment, Rainloop essaie de rechercher l’utilisateur “foo” dans la base LDAP puisque le domaine est le même, mais cet utilisateur n’existe pas (il s’agit de “fbar”) et Rainloop échoue à ajouter l’adresse email au compte.

De plus, j’ai l’impression que cette recherche LDAP depuis Rainloop fait planter nginx : tous les autres services ne répondent plus pendant 5 à 6 minutes (Nextcloud, Wordpress, etc).
edit : il semble que le problème ait été réglé dans la branche testing de Yunohost, donc je laisse de côté (github/YunoHost/SSOwat/pull/141)

Extrait de /var/log/nginx/domain.tld-error.log:

2020/01/22 10:15:25 [error] 17640#17640: *1580641 lua entry thread aborted: runtime error: /usr/share/ssowat/access.lua:324: Interrupted system call
stack traceback:
coroutine 0:
	[C]: in function '(for generator)'
	/usr/share/ssowat/access.lua:324: in function 'scandir'
	/usr/share/ssowat/access.lua:348: in function </usr/share/ssowat/access.lua:1>, client: 109.2.156.126, server: domain.tld, request: "GET /rainloop/app/rainloop/v/1.12.1/static/js/min/boot.min.js?community HTTP/2.0", host: "domain.tld", referrer: "https://domain.tld/rainloop/app/?admin"
2020/01/22 10:15:25 [error] 17640#17640: *1580641 lua entry thread aborted: runtime error: /usr/share/ssowat/access.lua:324: Interrupted system call
stack traceback:
coroutine 0:
	[C]: in function '(for generator)'
	/usr/share/ssowat/access.lua:324: in function 'scandir'
	/usr/share/ssowat/access.lua:348: in function </usr/share/ssowat/access.lua:1>, client: 109.2.156.126, server: domain.tld, request: "GET /ynhtheme/custom_overlay.css HTTP/2.0", host: "domain.tld", referrer: "https://domain.tld/rainloop/app/?admin"

Merci de votre aide !

Hello, alors je m’étais posé à peu près la même question puisque j’ai un serveur qui tourne à la maison sous un domaine machin.fr, NDD hébergé chez OVH avec les mails hébergés chez OVH également.

Donc si je comprends bien, tu veux accéder à ton mail OVH depuis le rainloop de ton YNH. Seulement le Rainloop du YNH est configuré pour pointer sur ton serveur mail à toi. Il faut donc aller dans le fichier config de Rainloop ou passer par le panel admin et modifier vers quel serveur ils pointent (ssl0.ovh.net ou un truc dans le genre) et pouf ca marche.

Le seul défaut c’est que j’étais obligé de retaper à chaque fois user et login complet … mais bon…

Peut-être qu’il existe une solution plus propre mais j’ai pas trouvé mieux pour l’instant

Merci @Kuun-Lann pour ta réponse.

Oui, c’est exactement l’idée. A vrai dire, j’aurais bien essayé de suivre la méthode que tu as décrit, malheureusement j’ai dû casser quelque chose car je suis à présent incapable de me logger sur Rainloop avec mon identifiant fbar@machin.fr.

J’avais essayé de modifier l’adresse email principale de l’utilisateur “fbar” dans l’admin de Yunohost, pour y remplacer “fbar” par “foo”, et supprimer l’adresse email “foo@machin.fr” de la liste des adresses email alternatives. Mes tentatives de connexion actionnent le bug très gênant dont j’ai parlé et qui tue nginx (réglé par “github/YunoHost/SSOwat/pull/141” mais pas encore en production), du coup c’est assez compliqué à tester.

This topic was automatically closed 15 days after the last reply. New replies are no longer allowed.