Objet : Pour les administrateurs de serveurs de listes utilisant le logiciel Sympa
Archives de la liste
Re: [sympa-fr] Hello, j'ai DEUX questions !
- From: Alban Rodriguez <adresse@cachée>
- To: adresse@cachée
- Subject: Re: [sympa-fr] Hello, j'ai DEUX questions !
- Date: Thu, 2 Sep 2021 11:56:23 +0200
Update pour la question 2, ça marche aussi à présent.
Pour que le nom de l’abonné soit aussi importé depuis une source de données LDAP, il faut l’ajouter comme attribut supplémentaire dans le paramètre attrs.
Dans une requête LDAP en deux passes, je suppose (pas testé) qu’il faut l’ajouter au paramètre attrs2, c’est à dire la valeur finale renvoyée.
Donc dans ma config de liste, j’ai:
member_include
source ldap
# parameters: suffix, scope, filter, select, attrs
source_parameters ou=people\,dc=domain\,dc=com,sub,uid=moi,all,mail\,displayname
Les attributs LDAP pour la valeur attrs doivent être séparés par des virgules (et donc \, pour que cela fonctionne, cf question 1).
J’ai rencontré deux problèmes:
1. J’avais initialement défini mail\,gecos comme valeur pour attrs puisque l’attribut gecos existe dans le LDAP. Problème, cet attribut n’était pas renvoyé avec le compte utilisé pour faire le bind dans la source de donnée. J’ai donc remplacé par displayname, qui dans chez nous contient la même valeur « Prénom Nom »
2. La mise à jour d’un abonné déjà importé ne va pas ajouter la colonne Nom. Il faut que ce soit un ajout et donc il faut commencer par supprimer l’abonner. A l’import suivant, j’avais bien le nom de renseigné
Si ça peut aider …
Alban
Le 31 août 2021 à 16:28, Alban Rodriguez <adresse@cachée> a écrit :
Update! Pour la question 1, c’est bon ça marche.
J’avais du oublié de recharger la config de la liste après modification directe du fichier config.
Ce qui est dommage c’est que les paramètres soient « positionnels » et non nommés.
Ça rend la config moins lisible finalement.
Si au moins on pouvait les mettre sur plusieurs lignes avec un commentaire à chaque fois pour rappeler quel paramètre c’est.
Actuellement si on met plusieurs lignes source_parameters dans la config de la liste, le suivant écrase le précédent et seule la dernière valeur est prise en compte.Le 31 août 2021 à 15:34, Alban Rodriguez <adresse@cachée> a écrit :
Hello tout le monde,
Question 1: je viens de me rendre compte en lisant la doc (oui ça sert parfois !), que l’on pouvait définir des sources de données de façon centralisée sans avoir à répéter tous les paramètres dans chaque config de liste. Notamment les bind_dn et bind_password. Cela reste un système de template ce qui fait que les paramètres spécifiques à une liste restent définis dans la config de la liste.
Alors, ça marche sauf pour les paramètres dont la valeur contient une virgule.
La raison est qu’il faut justement lister les valeurs de paramètres à donner au template séparés par … des virgules !
Exemple:
Dans le template (etc/data_sources/ldap.incl par exemple). On liste les paramètres statiques puis les paramètres qui seront remplacés par des valeurs spécifiques à la config de la liste:
include_ldap_query
name ldap
bind_dn ...
bind_password …
...
scope [% param.0 %]
select [% param.1 %]
filter [% param.2 %]
suffix [% param.3 %]
Ensuite dans ma config de liste, je vais avoir:
member_include
source ldap
# parameters: scope, select, filter, suffix
source_parameters sub,all,uid=moi,ou=people,dc=example,dc=com
Ici, le premier paramètre est pour scope (la valeur sera ‘sub’), le deuxième est pour select (valeur ‘all’), le troisième est pour filter (valeur ‘uid=moi’) et le quatrième est pour suffix (valeur ‘ou=people,dc=example,dc=com’).
Mais ça ne marche pas à cause du quatrième paramètre dont la valeur contient des virgules.
Si David est dans le coin, il connait car il a répondu dans les commentaires de ce bug report: https://github.com/sympa-community/sympa/issues/466
Mon Sympa est en 6.2.62 mais la résolution ne semble pas avoir été implémentée dans aucune version sortie jusqu’ici ?
J’ai essayé la solution proposée avec le petit changement dans le code (le fichier est List.pm) mais même en ajoutant un \ devant les virgules faisant partie de la valeur de paramètre, nope, ça ne marche pas.
En fait, je ne suis pas sûr que les modifs que je fais dans le fichier List.pm soient prises en compte même avec un redémarrage de Sympa ?
Heureusement, je peux continuer à définir tous les paramètres dans chaque liste mais c’est dommage.
Question 2: toujours lié à l’import d’abonnés via une source LDAP. Quelqu’un sait comment on peut importer aussi le gecos et pas seulement l’adresse email.
Dans l’import par lot, chaque ligne peut contenir une valeur de mail et une valeur de gecos.
J’ai essayé naïvement avec une source LDAP:
attrs mail,gecos
Mais cela n’est pas pris en compte.
Vu dans la doc Sympa: https://sympa-community.github.io/manual/customize/data-sources.html
Tip: Using Active Directory for Sympa data sources
Active Directory having quite a specific functionality, Steve Shipway found a way to make it work with Sympa. Here is his guidelines to achieve this goal.
…
We have patched our Sympa to also retrieve displayName on the final lookup to populate the gecos data; however with vanilla Sympa you don’t get this.
Question: ça n’est pas « vanilla » parce que la source est de l’Active Directory dans ce cas ou bien parce que Sympa n’importe jamais autre chose que la valeur de l’attribut mail peu importe le type de LDAP ?
Si Steve Shipway est aussi dans le coin … Mmm, il vaudrait mieux que le poste sur sympa-users dans ce cas.
Et sinon bonne rentrée à tous!
Alban
- Re: [sympa-fr] Hello, j'ai DEUX questions !, Alban Rodriguez, 02/09/2021
Archives gérées par MHonArc 2.6.19+.