Vincent Le Gallic
db7d41d967
Split de lc_ldap.py en lc_ldap.py et objets.py + création du wrapper shortcuts.py
...
Ça permet de faire les choses sales du genre os.getenv("SUDO_USER") ou import_secrets
dans le wrapper et pas dans le binding même.
2013-05-16 07:00:47 +02:00
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