Commit graph

208 commits

Author SHA1 Message Date
Valentin Samir
8477760302 [attributs, objets] Une fonction pour générer automatiquement une ligne d'historique
Elle s'appelle history_gen.
Il faut l'appeler explicitement pour le moment, pour éviter de mettre des lignes
en double vu que jusqu'à maintenant, historique était fait à la main.

Il y a 4 niveaux d'historique pour les attributs :
  * full on loggue toutes les modifications
      pour un singlevalue : nom (Durant -> Dupond")
      pour les autres : mailAlias+toto@free.fr-titi@orange.com
  * partial, comme full sauf qu'on limite la longeur de chaque valeur d'attribut
    à au plus 15 caractères
  * info, on signalute juste que l'attribut attribut a été créer, supprimer ou modifier:
  * None, on n'ajoute pas de ligne (par exemple pour l'historique lui même, on le loggue pas
     ses modifications)

Ajoutez en d'autre si vous pensez à des trucs cools
2014-11-22 12:57:46 +01:00
Valentin Samir
629310d356 [objets, attributs] Vérification de l'absence de modif concurrente après acquisition du lock
et ajout de historique à concurrent=False
2014-11-09 01:36:57 +01:00
Valentin Samir
3a3d51e408 [attributs] methodes __add__ et __sub__ sur les floatAttr et intAttr 2014-11-08 17:46:24 +01:00
Valentin Samir
c3ac740ca5 [attributs, objets] Des locks pour les attributs sensibles aux modifs concurentes
Pour le moment juste pour l'attribut solde
2014-11-08 17:10:22 +01:00
Pierre-Elliott Bécue
7a63c55851 Le mail_parsing dans attributs doit être minimal
* Le fait qu'un alias canonique soit Prenom.Nom@crans.org ou qu'un alias
 mail soit lowercase est un choix moral, pas une obligation de la syntaxe
 LDAP.
2014-11-05 01:54:01 +01:00
Pierre-Elliott Bécue
991a8efaa4 Gestion de l'encodage dans config. 2014-11-05 01:53:18 +01:00
Daniel STAN
2f469b4916 pas de mention explicite de annuaires_pg_test 2014-11-04 23:28:15 +01:00
Valentin Samir
ac5f2f17ae [objets, attributs] Ajout d'une classe objet inetOrgPerson
Parce que sinon, ça plante quand je récupère l'inetOrgPerson respbats dans
mon jouet fuse.
2014-10-30 17:57:34 +01:00
Vincent Le Gallic
b4bfe6cdc4 [attributs] Échec sur l'utilisation de isinstance 2014-09-22 02:04:14 +02:00
Pierre-Elliott Bécue
7ed1874d62 [lc_ldap] Corrections de bugs, et cohérence de code. 2014-09-22 00:21:54 +02:00
Daniel STAN
c605009984 pas de sanity_check sur le wiki name 2014-09-10 23:43:23 +02:00
Pierre-Elliott Bécue
8d9e2819ea [get_imprimeurs] Erreur plus verbeuse
* On file le cid, ça aide à faire le ménage.
2014-09-01 03:36:53 +02:00
Pierre-Elliott Bécue
50f91c63e0 Correctifs sur les adhésions glissantes. 2014-08-25 19:17:10 +02:00
Pierre-Elliott Bécue
7f1ffbeed5 Passage aux adhésions glissantes (partie 2/2, lc_ldap) 2014-08-15 20:27:47 +02:00
Pierre-Elliott Bécue
6880051943 [attributs/modepaiement] Calculer les frais au parse_value est absurde.
* Déjà parce que quand on va lire depuis la base ldap l'objet,
 on va régénérer des frais à chaque fois.
 * Ensuite parce qu'on ne doit pouvoir faire ce calcul qu'une et
 une seule fois, une bonne fois pour toute.

Idéalement, un paiement via paypal doit être bloqué (par recuPaiement)
dès qu'il est validé.

À terme, supprimer la notion de frais semble être une bonne idée.
2014-08-15 05:20:31 +02:00
Pierre-Elliott Bécue
d66c12c013 [lc_ldap] Adaptations suite aux modifs du schéma et bugfixes 2014-08-15 01:13:04 +02:00
Pierre-Elliott Bécue
dd2ed0cd85 [attributs] Trésorier est un droit "important" 2014-04-14 03:23:29 +02:00
Pierre-Elliott Bécue
35f9c36461 [lc_ldap/clubs] La mise en place des clubs dans l'intranet a été faite trop tôt.
* Aucun système de droit permettant au responsable de modifier club/machines de club
 n'avait été mis en place. C'est corrigé.
2014-04-03 17:30:09 +02:00
Daniel STAN
ecc1b59d4a ip6HostNumber writable par proprio
À défaut de trouver mieux.
2014-03-26 21:27:11 +01:00
Valentin Samir
b7ceb88051 [attributs] Enforçage de la valeure de modePaiement à une liste prédéfinie 2014-03-23 20:36:53 +01:00
Valentin Samir
27af8f31c0 [attributs] typage des articles comme des dict 2014-03-23 20:36:31 +01:00
Valentin Samir
4a4b86f4f1 [attributs] Utilisation de mailExt comme mail de secours
On force l'adresse utilisée à être non crans
2014-03-21 09:17:00 +01:00
Valentin Samir
957c0462d1 [attributs] Nounou et cableurs doivent pouvoir modifier derniereConnexion, ipHostNumber et ip6HostNumber
derniereConnexion pour pouvoir supprimer des comptes crans
les autres pour pouvoir créer des machines
de plus, on met soi pour derniere connexion, pour qu'il puisse être mis à jour
quand un adhérent se connecte à l'intranet2
2014-03-21 09:15:02 +01:00
Valentin Samir
f8036659a6 [attributs] Liste des shell dans gestion.config 2014-03-21 09:13:50 +01:00
Valentin Samir
929133560d [attributs] Restriction sur les hostCert \in host+hostAlias seulement pour les machine non Crans
On part du principe que les nounou font attention et savent ce qu'elle font.
C'est plus pratique comme ça pour migrer des services d'une machine à l'autre
sans avoir à rééditer les certificats à chaque fois.
2014-03-18 22:46:13 +01:00
Valentin Samir
72e35bcb32 [attributs, crans_utils, objets] Ajout d'attributs encrypted, privatekey, csr et objectClass privateKey
On peut générer/ajouter des clefs privées via gest_crans_lc. Elles sont forcément chiffré avec une
passphrase. Pour les machines crans, elle est dans /etc/crans/secrets. Pour les autres machines
elle n'est pas connue du crans et demandée à l'utilisateur lorsqu'il y a besoin de la clef privée
pour des opérations.
Du coup, on peut générer des csr automatiquement dans gest_crans_lc, ça m'a l'air bien pratique,
ça évite d'oublier des subjectAltName par exemple quand on renouvel le certificat comme les
nom du certificat sont également dans ldap.
On peut aussi, juste avec une requête ldap voir quels sont les certificats qui vont bientôt
expirer (&(objectClass=x509Cert)(end<int(time.time())+delai)).
2014-03-17 11:26:53 +01:00
Valentin Samir
480497ce4e [attributs] Fonction utile sur les AttrsList, __cmp__ ne sert à rien et plante si python_type = int 2014-03-15 22:49:39 +01:00
Valentin Samir
1d58240c6a [attributs] Changement mineurs
docstring de mailExt, et unicodification des hostCerts de certificat
2014-03-15 22:47:58 +01:00
Valentin Samir
64a1d9f0ec [attributs] exemp est de type netaddr.IPNetwork 2014-03-15 22:44:41 +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
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
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
79149ebb4f [attributs.certificat] Belle erreur sur les certificats mal formaté 2014-03-02 01:17:24 +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
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
Valentin Samir
f6620a2643 [attributs/hostCert] join veut absoluement des strings 2014-02-22 23:14:27 +01:00
Valentin Samir
44936fde9d Ajout d'objets certifcats comme enfant des objets machine 2014-02-22 23:01:56 +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
Valentin Samir
b882c41683 Ajout des méthodes __ne__ sur les cransLdapObjet et Attr pour tester le non égalité 2014-02-21 18:02:02 +01:00
Valentin Samir
592cd16357 Fonction de hash pour les cransLdapObject. Seulement en ro. En rw on lève une exception.
En effet, python n'aime pas que les objets multables soient utilisé dans des sets
ou comme clef de dictionnaire, du coup, on va essayer de ne pas le contrarier.
De toute façon, c'est logique vu que la valeur du hash change si on édite l'objet.
2014-02-21 18:00:19 +01:00
Valentin Samir
fe14eb9d4b [attributs] __getattr__ ce que je pensais mettre dans le commit 838c4e9a73 2014-02-19 19:59:05 +01:00
Valentin Samir
838c4e9a73 [attributs] ajout d'un __getattr__ sur Attr renvoyant vers getattr(self.value)
À noter que __getattr__ n'est appelé que si l'attribut n'existe pas déjà.
Ça permet d'utiliser l'objet Attr comme sa valeur pour la plupart des opération
de lecture simple.
J'ai fait exprès de ne pas surcharger __setattr__, parce que sinon, on ne sait
plus trop ce qui va être affecté. J'estime que les écriture doivent être traités au
cas par cas comme pour blacklist ou pour article.
2014-02-19 18:52:01 +01:00
Valentin Samir
6e6f87bf40 [attributs] Ajout d'une methode __hash__ à la classe Attrs 2014-02-18 21:37:51 +01:00
Valentin Samir
45947b1871 [attributs] sshFingerping : représentation ldap comme in dict {type, clef, commentaire} 2014-02-17 22:08:07 +01:00