Valentin Samir
db6cf98661
[printing] Possibilité d'afficher des blacklists seule
2014-03-15 22:42:21 +01:00
Valentin Samir
937aefb3ec
[printing] Possibilité de spécifier la largeur des tableaux ascii
2014-03-15 22:41:24 +01:00
Valentin Samir
df23c50e23
[printing] Non affichage de la liste des machines/factures si l'objet adhérent n'existe pas encore
2014-03-15 22:40:06 +01:00
Valentin Samir
bc751c415b
[attributs, objets] Ajout de l'attribut shadowExpire
2014-03-15 22:38:15 +01:00
Valentin Samir
7e55e8325d
[attributs, objets] Possibilité d'avoir un attribut unique sauf pour une liste de valeur prédéfini
...
Je pense particulièrement à chambre qui est unique sauf pour ???? et EXT
On en a besoin pour détecter, quand on affecte quelqu'un a une chambre, que
la chambre est déjà occupée
2014-03-15 22:36:02 +01:00
Valentin Samir
ad83a5aaa3
[attributs] Plus nazi sur qui peut modifier les attributs userPassword, mail, homeDirectory
2014-03-15 22:33:59 +01:00
Daniel STAN
1d361ac0e5
ne pas supposer que sys.argv existe ...
2014-03-04 18:53:20 +01:00
Daniel STAN
f1aeaf59aa
ipsec modifiable par proprio
...
Ou alors trouvez-moi une autre façon d'instancier les machines wifi.
2014-03-04 18:50:02 +01:00
Daniel STAN
b9f47f5b94
objets: machines destructibles par parent
...
Aller la dupplication de code aller aller.
2014-03-04 18:47:48 +01:00
Valentin Samir
1394cfc867
[printing] Support des couleurs dans dialog
2014-03-03 10:54:33 +01:00
Valentin Samir
3e9dc95268
[objets] On calcule le parent_dn, c'est pratique pour tester rapidement si un objets est enfant d'un autre
2014-03-03 10:53:52 +01:00
Valentin Samir
4ea10076ca
[attributs] Changement de permissions sur des attributs
...
Pour historique il faudrait faire quelque chose pour que soi, parent,
cableur ne puissent que ajouter de nouvelles lignes, mais en attendant, il peuvent
"en théorie" le modifier.
2014-03-03 10:52:30 +01:00
Valentin Samir
4eee0437dd
[lc_ldap] Si l'user donné à init existe, il faut aussi se mettre sous le dn de cet utilisateur
...
on le fait après s'être connecté à la base ldap, du coup, ce dn ne sert que dans la
logique des droits de lc_ldap
2014-03-03 10:51:06 +01:00
Valentin Samir
8c3d6b441d
[lc_ldap] Si l'user donné à init existe dans la base, alors droits est mis aux droits de l'utilisateur
2014-03-02 01:50:09 +01:00
Valentin Samir
879bebbae2
[lc_ldap] Utilisation des fonctions newMachine, newAdherent, newClub, ... comme un context manager
2014-03-02 01:49:16 +01:00
Valentin Samir
79149ebb4f
[attributs.certificat] Belle erreur sur les certificats mal formaté
2014-03-02 01:17:24 +01:00
Daniel STAN
99d864b81c
<automatique> pour les macs et u'' si pas d'ipv6
2014-03-02 00:28:15 +01:00
Valentin Samir
8f9c6c1d17
[lc_ldap] Pour machineMulticast, on utilise des uldif en place des ldif
...
Pour rappel, les machineMulticast n'ont pas d'existance pour la base ldap
et sont juste pratiques pour générer le dns de la zone TV sans avoir de cas
particulier dans gen_conf/bind.py
2014-02-26 10:28:43 +01:00
Valentin Samir
d8b1e5da51
[objets] En cas d'ajout de lock hors contexte, on affiche un warning
2014-02-26 10:27:48 +01:00
Valentin Samir
06ea17715b
[objets.setitem] Varification de l'unicité de l'attribut sur l'objet
...
Sinon ldap il est pas content
2014-02-26 10:27:02 +01:00
Valentin Samir
8fd2be80c8
[attributs.sshFingerprint] On se débarrasse des espaces inutiles
...
Ça "normalise" plus ou moins une clef ssf
2014-02-26 10:26:00 +01:00
Valentin Samir
2c1edaa310
[attributs] Ajout de legends
2014-02-26 10:25:43 +01:00
Valentin Samir
0e9404ae93
[test.py] utilisation de contexts pour les écritures de la base ldap
2014-02-24 21:51:34 +01:00
Valentin Samir
15f92fbf21
[objets.facture] Sucre syntaxique
2014-02-24 21:44:34 +01:00
Valentin Samir
ac0445b7e3
[objets.__setitem__] On libère les locks des valeurs que l'on oublie
2014-02-24 21:44:00 +01:00
Valentin Samir
1312039a55
[lc_ldap._find_id] Dans le cas non strictement croissant des id, on utilise un set pour stocker les id déjà pris
...
En effet, en effectue ensuite un nombre important de fois l'opération i in nonfree.
Avec des liste l'opération est en O(n) alors qu'elle est en O(1) avec des set
2014-02-24 21:42:22 +01:00
Valentin Samir
955a4f2820
[lc_ldap, objets] Création des objets ldap avec un lockid bien a eux
2014-02-24 21:40:03 +01:00
Valentin Samir
4f88ae824a
[ldap_locks] Renommage des erreurs ldap en erreur de Lock, factorisation, reformatage
2014-02-24 21:31:16 +01:00
Valentin Samir
320300d85c
[doc] Ajouts des fichiers objets shortcuts variables services ldap_locks cimetiere crans_utils à la documentation
2014-02-24 17:17:00 +01:00
Valentin Samir
172c1935ce
[lc_ldap/_find_id] C'est bien aussi de ne pas oublier qu'il y a des id qui ne sont pas strictement croissant
2014-02-24 17:15:40 +01:00
Valentin Samir
9aa0de6539
Travaux sur les locks, ajout de context manager pour les cransLdapObject
...
D'une façon général, on s'assure que tous les locks concernant un cransLdapObject
sont bien mis avec l'identifiant de lock cransLdapObject.lockId.
Avant d'entrer dans le context manager du cransLdapObject, on fait bien attention
d'intercepter les exceptions pouvant être levée pour libérer les locks potentiellement
déjà posés avant de propager l'exception.
Si on essayer d'appeler une methode d'enregistrement (.save() .delete() .create()) sans
utiliser un context manager, on affiche un warning sur stderr.
À terme ça serait bien de n'utiliser que des context manager pour être sûr qu'on ne
laisse pas de lock traîner dans la base de donnée.
Il faut bien sûr faire attention de bien ajouter les lock avec l'identifiant cransLdapObject.lockId
puisqu'on se base là dessus pour les libérer.
Si on a utiliser une context manager, en en sortant, on rend le cransLdapObject read only
(de façon douce en modifiant le cransLdapObject.mode et de façon force en changeant les methodes
save create delete pour lever l'exception EnvironmentError("Hors du context, impossible de faire des écritures"))
2014-02-24 14:48:03 +01:00
Valentin Samir
63b9f89b6f
[ldap_locks] Affichage du temps restant avant expiration d'un lock si une LockError est levée
2014-02-24 14:47:27 +01:00
Valentin Samir
954ba580b6
[crans_utils] process_status sans utiliser subprocess
2014-02-24 14:46:52 +01:00
Valentin Samir
a485d4b8b2
[objets] Impossible de supprimer un adhérent respo ou imprimeur d'un club
2014-02-24 11:45:52 +01:00
Valentin Samir
13db266a4c
[test] Affichage des objets ne passant pas les tests
2014-02-24 11:45:30 +01:00
Valentin Samir
575075fe18
[lc_ldap] Ajout des xids dans ressucite
2014-02-24 11:45:08 +01:00
Valentin Samir
68c86e7e00
[lc_ldap._find_id] On essaye de cacher le dernier id connu et de ne récupérer que les id plus grand
...
C'est beaucoup plus rapide que récupérer tous les mid ou tous les aid.
BEAUCOUP !!!!
plus de détails dans les commentaires du code.
2014-02-24 11:34:27 +01:00
Daniel STAN
68587e3ebb
attributs: allow macAddress "<automatique>"
2014-02-23 19:25:11 +01:00
Valentin Samir
fefad357fc
[attributs, objets] Affinage des permissions sur les certificats
2014-02-23 16:06:11 +01:00
Valentin Samir
f5347106c7
[attributs] Fonctions de test d'egalité des attributs
2014-02-23 15:30:04 +01:00
Valentin Samir
626851baca
[objets, attributs] Vérifications de contraintes liées au certificats d'un machine
2014-02-23 15:29:26 +01:00
Daniel STAN
afb436f706
hide ipv6 si cachée
2014-02-23 02:42:57 +01:00
Valentin Samir
99ba3a8915
[lc_ldap, objets] vivent les __repr__
2014-02-23 00:02:00 +01:00
Valentin Samir
7df0a4e1a0
[services] Appel une seule fois à time.time() lors d'une recherche pour reconfiguration
2014-02-23 00:01:09 +01:00
Valentin Samir
3f1712e908
[services] reconfiguration du dns si modification d'un certificat avec du TLSA
2014-02-23 00:00:32 +01:00
Valentin Samir
f6620a2643
[attributs/hostCert] join veut absoluement des strings
2014-02-22 23:14:27 +01:00
Valentin Samir
43f4ba650a
Cas d'un attribut binary
...
C'est un peu moche comme on s'est efforcé que dans lc_ldap tout soit un unicode et que
unicode n'a pas de sens pour un objet binaire. Avec le champ python_type = str sur les
attributs bianire, ça a tout de même l'air d'aller.
2014-02-22 23:09:29 +01:00
Valentin Samir
44936fde9d
Ajout d'objets certifcats comme enfant des objets machine
2014-02-22 23:01:56 +01:00
Valentin Samir
8eb8aa2ba6
sur les methodes .proprio() et .machines() possibilité de spécifier un mode différent
2014-02-22 19:02:54 +01:00
Valentin Samir
78b50415fe
[attributs] Des test sur la correction syntaxique de ce qu'on met dans un sshFingerprint
...
En gros de ce que le script qui génère le dns s'attend à trouver :
la clef publique en entière sous la forme
type base64 commentaire
2014-02-21 18:02:34 +01:00