Tâche #7928
Distribution EOLE - Scénario #16720: Traitement express (28-35)
le contenu de la valeur "ldap_base_dn" n'est pas testé mais peu provoquer des plantages
Description
Avec un CreoleLint qui fait plus de test, j'obtiens l'erreur suivante :
/usr/share/eole/creole/distrib/00_annuaire.ldif : ('Il y a une erreur', IndexError('list index out of range',), 'avec le dictionnaire', {'activer_client_ldap': u'local', 'ldap_base_dn': u'value'})
En effet, la fonction get_organization ne prend pas compte les valeurs farfelues :
%def %%get_organization() %return %%ldap_base_dn.split(',')[0].split('=')[1] %end def
Le mieux serait de faire une validation sur le contenu de la variable.
Révisions associées
Ajout d'une validation sur le Base DN
Ref: #7928 @30m
Validation du Base DN déplacée dans eole-client-annuaire
Ref: #7928 @20m
"ou" tolérées pour la variable ldap_base_dn
Ref: #7928 @30m
Historique
#1 Mis à jour par Joël Cuissinat il y a plus de 7 ans
- Tracker changé de Anomalie à Tâche
- Temps estimé mis à 2.00 h
- Tâche parente mis à #16720
- Restant à faire (heures) mis à 2.0
#2 Mis à jour par Joël Cuissinat il y a plus de 7 ans
- Statut changé de Nouveau à En cours
- Assigné à mis à Joël Cuissinat
- Priorité changé de Haut à Normal
- Début mis à 22/07/2016
Un test équivalant (avec une erreur d'ailleurs !) a été implémenté sur Thot : https://dev-eole.ac-dijon.fr/projects/seshat-aaf/repository/revisions/6599e511d3a92de6d5b63a5ee555384ba4891aa4/diff/dicos/30_thot.xml
#3 Mis à jour par Joël Cuissinat il y a plus de 7 ans
Pour reproduire : Eolebase + eole-annuaire :
root@eolebase:~# CreoleSet ldap_base_dn toto root@eolebase:~# CreoleCat -t 00_annuaire.ldif root - Erreur lors de l'instanciation du template de /var/lib/eole/00_annuaire.ldif : list index out of range
#4 Mis à jour par Joël Cuissinat il y a plus de 7 ans
- Statut changé de En cours à Résolu
- % réalisé changé de 0 à 100
- Restant à faire (heures) changé de 2.0 à 0.25
#5 Mis à jour par Joël Cuissinat il y a plus de 7 ans
- Statut changé de Résolu à En cours
#6 Mis à jour par Joël Cuissinat il y a plus de 7 ans
- % réalisé changé de 100 à 50
Visiblement au MEEM, ils renseignent potentiellement ce genre de valeur ?
ou=TEST-PNESR,ou=domaines,ou=Samba,ou=applications,ou=ressources,dc=equipement,dc=gouv,dc=fr
On pourrait exceptionnellement autoriser "ou=" (à vérifier sur eCDL)
Confirmé sur eCDL 2.6.0 :
ValueError: valeur invalide pour l'option ldap_base_dn : La racine doit débuter par une organisation (o=) ou une composante du domaine (dc=)
/usr/share/eole/creole/dicos/30_ecdl.xml: <variable name='ldap_base_dn' redefine='True'> /usr/share/eole/creole/dicos/30_ecdl.xml- <value>ou=domaines,ou=Samba,ou=applications,ou=ressources,dc=equipement,dc=gouv,dc=fr</value> /usr/share/eole/creole/dicos/30_ecdl.xml- </variable>
#7 Mis à jour par Joël Cuissinat il y a plus de 7 ans
- Statut changé de En cours à Résolu
- % réalisé changé de 50 à 100
#8 Mis à jour par Emmanuel GARETTE il y a plus de 7 ans
- Statut changé de Résolu à Fermé
- Restant à faire (heures) changé de 0.25 à 0.0
OK :
root@eolebase:~# CreoleGet ldap_base_dn o=gouv,c=fr root@eolebase:~# CreoleSet ldap_base_dn toto Valeur invalide : valeur invalide pour l'option ldap_base_dn : La racine doit débuter par une organisation (o=), une composante du domaine (dc=) ou une unité organisationnelle (ou=) root@eolebase:~# CreoleSet ldap_base_dn ou=toto root@eolebase:~# CreoleCat -t 00_annuaire.ldif root@eolebase:~# CreoleSet ldap_base_dn ou=TEST-PNESR,ou=domaines,ou=Samba,ou=applications,ou=ressources,dc=equipement,dc=gouv,dc=fr root@eolebase:~# CreoleGet ldap_base_dn ou=TEST-PNESR,ou=domaines,ou=Samba,ou=applications,ou=ressources,dc=equipement,dc=gouv,dc=fr root@eolebase:~# CreoleCat -t 00_annuaire.ldif root@eolebase:~#