Projet

Général

Profil

Bug #50528

Backend LDAP : rendre user_attributes.from_ldap insensible à la casse

Ajouté par Benjamin Renard il y a environ 3 ans. Mis à jour il y a environ 3 ans.

Statut:
Fermé
Priorité:
Normal
Assigné à:
Catégorie:
LDAP
Version cible:
-
Début:
25 janvier 2021
Echéance:
% réalisé:

0%

Temps estimé:
Patch proposed:
Oui
Planning:
Non

Description

Lors de la configuration d'un backend LDAP et si on souhaite synchroniser des attributs LDAP dans des attributs de l'utilisateur Authentic, il faut spécifier l'attribut LDAP à récupérer obligatoirement en minuscule, sinon cela ne fonctionne pas.


Fichiers

Révisions associées

Révision 62654a29 (diff)
Ajouté par Benjamin Renard il y a environ 3 ans

ldap: make user_attributes.from_ldap case insensitive (#50528)

Historique

#1

Mis à jour par Benjamin Dauvergne il y a environ 3 ans

  • Assigné à Benjamin Dauvergne supprimé
#2

Mis à jour par Valentin Deniaud il y a environ 3 ans

  • Assigné à mis à Benjamin Renard

Je ne comprends pas bien l'objectif de ce patch, ça résout quel problème concret ?

Sur la forme, il y a un style de titre de commit à respecter, git log donne plein d'exemples. Ici ça ferait :

ldap: make user_attributes.from_ldap case insensitive (#50528)

La référence au numéro du ticket est importante. Notamment ça permet d'enlever le commentaire du patch (le code deviendrait vite illisible si chaque ligne était commentée ainsi). Si un jour je veux avoir l'explication de pourquoi cette ligne, je fais git blame, je trouve le commit et je vais voir le ticket.

Aussi, quand un patch est joint, le ticket devrait avoir pour statut « solution proposée ».

#3

Mis à jour par Benjamin Renard il y a environ 3 ans

Valentin Deniaud a écrit :

Je ne comprends pas bien l'objectif de ce patch, ça résout quel problème concret ?

Dans la méthode populate_user_attributes, les attributs des utilisateurs sont peuplés à partir des attributs LDAP récupérés depuis l'annuaire. Cependant, avant cela, tous les noms des attributs LDAP sont mis en minuscules pour rendre la configuration insensible à la casse à ce niveau. Ainsi, toutes les méthodes s'occupant du mapping des infos LDAP vers Authentic s'occupe bien de mettre les noms des attributs LDAP spécifiés dans la configuration en minuscule avant traitement (cf. normalize_ldap_results, update_default, get_ldap_attributes_names, get_ldap_extra_attributes), mais ce n'est pas le cas la méthode populate_user_attributes pour le paramètre from_ldap du mapping. Ce patch résout ce problème.

Sur la forme, il y a un style de titre de commit à respecter, git log donne plein d'exemples. Ici ça ferait :
[...]

La référence au numéro du ticket est importante. Notamment ça permet d'enlever le commentaire du patch (le code deviendrait vite illisible si chaque ligne était commentée ainsi). Si un jour je veux avoir l'explication de pourquoi cette ligne, je fais git blame, je trouve le commit et je vais voir le ticket.

Aussi, quand un patch est joint, le ticket devrait avoir pour statut « solution proposée ».

OK tout ça est clair et logique ! Ça nécessitera de fournir le patch par un comment dans le ticket, mais c'est pas forcément un problème :) Voilà un nouveau patch sans le comment et avec le bon titre.

Remarque: dans ce cas, le comment en ligne 1437 (lowercase LDAP attribute names) devrait être viré ;)

#5

Mis à jour par Valentin Deniaud il y a environ 3 ans

  • Statut changé de Nouveau à Solution validée
  • Assigné à changé de Benjamin Renard à Valentin Deniaud

Merci pour les explications et pour le patch, que je vais pousser de suite.

#6

Mis à jour par Valentin Deniaud il y a environ 3 ans

  • Statut changé de Solution validée à Résolu (à déployer)
commit 62654a29a7b1552e5a2748fcbdabc8d78b1dfbf0
Author: Benjamin Renard <brenard@easter-eggs.com>
Date:   Mon Jan 25 18:08:46 2021 +0100

    ldap: make user_attributes.from_ldap case insensitive (#50528)
#7

Mis à jour par Frédéric Péters il y a environ 3 ans

  • Statut changé de Résolu (à déployer) à Solution déployée

Formats disponibles : Atom PDF