Commit graph

285 commits

Author SHA1 Message Date
Vincent Le Gallic
a620f5b5e9 On vire le kludge qui récupère le login dans la variable d'environnement.
C'est plus le rôle d'un wrapper (à venir) que du binding itself.
2013-05-16 03:53:00 +02:00
Pierre-Elliott Bécue
3663d877cc [lc_ldap/test] fil-adherents -> /dev/null 2013-05-16 03:01:11 +02:00
Vincent Le Gallic
a6c5f66aee On ne save/ressuscite pas le Cr@ns. 2013-05-16 02:45:44 +02:00
Vincent Le Gallic
ec5de5834b On surcharge pas __repr__ comme des gros sales. 2013-05-16 02:45:44 +02:00
Vincent Le Gallic
debaa31bf3 On place la fonction escape dans crans_utils 2013-05-16 01:35:58 +02:00
Vincent Le Gallic
c392a2a986 On utilise un champ ldap_name pour savoir quelle classe doit être utilisée pour instancier quel objet/attribut LDAP.
Et comme ça on fiche à la poubelle le dégueulasse globals() et on décorrelle les noms
des classes des noms LDAP.
2013-05-15 23:00:17 +02:00
Pierre-Elliott Bécue
294f7ce949 [attributs] On rajoute du contexte 2013-05-15 22:35:43 +02:00
Pierre-Elliott Bécue
efdd7a5cbe [attributs] a, b = [a,b] mieux que a, b = [a,b][0], [a,b][1] 2013-05-15 16:48:18 +02:00
Pierre-Elliott Bécue
7c2db3dc98 [attributs] Les mails ne sont pas tous en @crans.* 2013-05-15 16:43:16 +02:00
Pierre-Elliott Bécue
89a43cc49a [attributs] mail est multivalué, etudes est optionnel, et solde peut être <0 2013-05-15 00:15:45 +02:00
Valentin Samir
d1c026166d [test] docstring 2013-05-15 00:13:54 +02:00
Valentin Samir
90ec85b1a2 [lc_ldap] Les fichiers dans le cimetière sont plus facile à manipuler sans espace 2013-05-14 23:47:07 +02:00
Valentin Samir
92c4dedfb3 [attributs] On affiche le nom de l'attribut quand on lève une SingleValueError 2013-05-14 23:31:48 +02:00
Valentin Samir
be97406333 [test] Tests en écriture sur les objets existants 2013-05-14 23:31:15 +02:00
Valentin Samir
22ba5c1d38 [lc_ldap] Ajout de attributs.loginShell pour cransAccount 2013-05-14 23:30:50 +02:00
Valentin Samir
03af7098e8 [attributs.positionBorne] La précision est variable et on ne stocke que 2 float sans °N ou °E (peut être à revoir) 2013-05-14 23:29:40 +02:00
Valentin Samir
3d73191b08 [attributs.controle] controle est optionnel 2013-05-14 23:29:12 +02:00
Valentin Samir
75839564e5 [lc_ldap] des modes sur allMachinesAdherents 2013-05-14 23:28:39 +02:00
Valentin Samir
8ded247691 [attributs.ipsec] Avant la clef faisait 22 char 2013-05-14 23:27:59 +02:00
Valentin Samir
e20ede8edb [test] Quand il y a une erreur sur psycopg, on saute tous les adhérents 2013-05-14 18:14:23 +02:00
Valentin Samir
2c01f13776 [test] Une série de test utilisant le binding sur la base ldap 2013-05-14 18:03:19 +02:00
Valentin Samir
2bb29aac36 [attributs] On vérifie chaque composane du nom de domaine.
À charge de vérifier que le nom de domaine appartient bien à l'une
des zones dns du crans.
2013-05-14 18:02:01 +02:00
Valentin Samir
4a85f0e4e8 [services] ipHostNumber est optionnel 2013-05-14 18:01:34 +02:00
Valentin Samir
ac19266cbf [lc_ldap] dn invité 2013-05-14 18:01:07 +02:00
Valentin Samir
e38aac75bf [attributs.shell] Ajout d'un shell 2013-05-14 18:00:41 +02:00
Valentin Samir
cc0f6e0a91 Antagonisme entre un attribut et sa valeur textuelle 2013-05-14 18:00:00 +02:00
Vincent Le Gallic
d47b2febc7 [attributs.py] On génère CRANS_ATTRIBUTES plutôt que de le hardcoder.
C'est dommage que j'aie pas le droit de faire un dico en compréhension…
2013-05-14 17:37:34 +02:00
Olivier Iffrig
aca08a4773 [doc] Copyright 2013-05-14 15:35:46 +02:00
Valentin Samir
4c663875d8 [services] On vérifie qu'une clef de dico existe, on ignore les listes d'attributs vident 2013-05-13 20:09:17 +02:00
Valentin Samir
b9fd6bbb91 [dnsAttr] On verifie que le domaine existe, les nom commençant par une chiffre sont valident
par exemple 4chan.org.
Si on ne vérifie pas le domaine, on permet à l'utilisateur de mettre
des points dans les noms de machines, ce qui n'est pas souhaitable.
2013-05-13 20:06:46 +02:00
Valentin Samir
6aae0d7894 [services] Mise à jour dynamique du dhcp 2013-05-13 16:10:11 +02:00
Valentin Samir
1d61048828 [lc_ldap, services] On ajoute ce qui faut à la base de service pour que generete régénère la conf
C'est un début, ça vise surtout à être compatible avec ce qui est existant.
2013-05-10 01:39:03 +02:00
Valentin Samir
ed140bf4b5 [attributs] ip4_of_rid mange un entier ou un string 2013-05-10 01:38:30 +02:00
Valentin Samir
2a4037d39c [attributs] Expression régulière pour ne pas accepter sur un sous mot d'un nom de machine 2013-05-09 21:10:17 +02:00
Vincent Le Gallic
59daf777e8 regex pour les noms de machine RFC-compliant 2013-05-09 17:20:13 +02:00
Valentin Samir
bec801fbea [lc_ldap] Petit problème de dépendance cyclique
Lors de la création d'un nouvel objets :
 * On à besoin des attributs pour le créer
 * On a besoin de l'objet pour créer ses attributs
(si on veux faire la vérification commentée)
À priori, c'est juste temporaire.
2013-05-08 04:07:55 +02:00
Valentin Samir
0fb3c19242 [lc_ldap] Tests d'unicités avant de ressuciter, à affiner. 2013-05-08 04:06:46 +02:00
Valentin Samir
68ba8ebd9f [attributs, lc_ldap] Gros hack sale. Ça serait peut être mieux d'avoir des unicodes vraiment partout. 2013-05-08 04:05:42 +02:00
Valentin Samir
4d550e734b [lc_ldap, attributs] Oublis 2013-05-08 04:05:04 +02:00
Pierre-Elliott Bécue
215f01c281 [lc_ldap] Easter egg 2013-05-08 02:22:09 +02:00
Pierre-Elliott Bécue
0cee8dbcb6 [lc_ldap] bury devient méthode à part entière (ça pourrait servir), delete est fragmentée
* Par défaut, on préfère que le binding crashe si des enfants d'un adhérent ne sont pas
 des machines et ne sont pas gérés par le binding que de les détruire
 * objet.delete ne permet donc par défaut que de détruire l'objet, et pour proprio, on
 surcharge pour détruire les machines
2013-05-08 02:20:03 +02:00
Pierre-Elliott Bécue
b5a6062c44 [lc_ldap] Changement de protocole dans la création des objets
* _create_entity a été changée pour récupérer des dicos de valeurs encodées,
 on adapte les méthodes new* en virant les uldifs, et en rendant l'historique
 non unicode.
 * Ipsec est facultatif, donc on le crée après avoir instancié la machine, que
 l'on souhaite instancier le plus tôt possible, et on en laisse la gestion
 à attributs, pour le parsage etc
2013-05-08 02:18:13 +02:00
Valentin Samir
3b09c98c5b Merge branch 'master' of charybde.crans.org:/git/ldap 2013-05-08 01:15:57 +02:00
Valentin Samir
c5cbac5468 [lc_ldap] Methode pour supprimer un objet et le ressuciter
le cimetière est dans /home/cimetiere_lc/
ressucite prend le path du fichier contenant l'object à ressuciter
2013-05-08 01:14:30 +02:00
Valentin Samir
70fbc96d9d [lc_ldap] Certain attributs n'appartiennent à adherent que s'il est un cransAccount 2013-05-08 01:13:39 +02:00
Pierre-Elliott Bécue
af109e8c61 [lc_ldap] attrify ne reçoit plus de ldif, donc _create_entity doit changer
On en profite pour virer ldif_to_cldif, et pour donner une fonction
.items à AttrsDict
2013-05-05 10:45:15 +02:00
Pierre-Elliott Bécue
a7d3af3ca1 [lc_ldap/attributs] ns1.crans.ens-cachan.fr n'était pas un nom d'hôte valide. 2013-05-05 05:41:36 +02:00
Valentin Samir
5942ee143c [lc_ldap] Création de machines : ipsec si machine wifi, ajout d'une ligne d'historique 2013-05-02 17:55:54 +02:00
Valentin Samir
c727420624 [lc_ldap] Ordre des arguments de attrify
On remarquera que là, ce n'est pas l'objet (propritaire de l'attribut)
qui est passé à attrify mais le ldif de l'objets. La raison est que
lors de la création d'un objets celui-ci n'existe pas encore et que l'on
a cependant besoin d'informations contenue dans le ldif.
Pour le moment la substitution semble parfaitement transparente.
2013-05-02 17:52:11 +02:00
Vincent Le Gallic
9dee21d45a [__init__.py] accès possible à toutes fonctions définie dans le module 2013-04-16 00:03:05 +02:00