13:58 <tarek_> benoitc: ping
13:58 <benoitc> tarek: pong
13:58 <tarek> benoitc: jai rajoute app.py
13:59 <benoitc> j'etais en train de lire sur les signaux sous windows
13:59 <benoitc> enfin ... comment les remplacer
14:01 <tarek> ah hehe
14:04 <benoitc> j'ai forké la repo là pour rempalcer webob
14:07 <tarek> ok
14:30 <tarek> benoitc: par contre va falloir trouver une feinte pour les sockets
14:33 <tarek> haypo: pysandbox, pourquoi non pep 8 ?
14:45 <tarek> haypo: http://tarek.pastebin.mozilla.org/1342938
14:45 <tarek> sinon je me demandais, comment autoriser un module complet
15:01 <haypo> tarek: pysanbox n'est pas PEP 8 ? rooh
15:01 <haypo> tarek: qu'est-ce qui n'est pas PEP 8 ?
15:02 <haypo> tarek: des threads dans pysandbox ? oh là là, j'ai jamais osé tester ça
15:02 <haypo> tarek: autoriser un module complet de manière automatique est hors de question
15:03 <tarek> haypo: hors de question
15:03 <tarek> heu
15:03 <tarek> c penible
15:03 <haypo> tarek: tu ne peux pas garantir la sécurité avec pysandbox en utilisant la politique liste noire (j'autorise tout sauf ...)
15:03 <tarek> autoriser "time" par exemple, de la stdlib
15:03 <haypo> tarek: il faut que tu listes à l'avance les attributs auxquels tu fais confiance
15:03 <haypo> d'ailleurs, la plupart du temps, tu n'as besoin qu'un petit sous ensemble des symboles existant
15:04 <tarek> sauf si tu fourni un editeur de code sandboxed
15:04 <haypo> tarek: "c pénible" c'est pour ça que j'ai implémenté les "features" dans SandboxConfig
15:04 <tarek> meh,
15:04 <haypo> tarek: c'est pour te simplifier la vie
15:04 <haypo> les features n'attendent que d'être étendues !
15:04 <tarek> ben alors comment autoriser le module 'time' dans son integralite ?
15:05 <haypo> tarek: tu ouvres un interprète python, tu tapes import time; dir(time)
15:05 <tarek> allowModule('time', dir(time))
15:05 <tarek> meh
15:05 <haypo> puis tu copies colles le résultat
15:05 <tarek> bof
15:05 <haypo> ah non, pas dans ton code qui utilise pysandbox
15:05 <tarek> heu non
15:05 <haypo> car si python 2.8 ajoute une fonction dangeureuse à time, tu es niqué
15:05 <tarek> au dessus
15:06 <haypo> tarek: le code que tu as écrit fonctionne, mais n'est pas sûr
15:06 <haypo> :)
15:06 <tarek> c'est quoi une fonction dangeureuse ?
15:07 <tarek> pour etre dangeureuse elle doit pouvoir appeler des fonctions destructives
15:07 <haypo> tarek: bonne question, je sais plus :)
15:07 <tarek> genre os, sys etc
15:07 <haypo> faudrait que je le note dans la doc
15:07 <haypo> tarek: hum non, c'est plus large que ça
15:07 <tarek> si j'autorise entierement un module python, quel est le risque ?
15:07 <haypo> tarek: dangeureux = qui permet de violer la politique de sécurité
15:07 <haypo> tu pourrais avoir un pysandbox qui autorise d'écrire dans /tmp, c'est pas dangeureux si c'est autorisé par la politique de sécurité
15:08 <tarek> sauf que ecrire dans /tmp c'est open, pas time
15:08 <tarek> si j;autorisae pas l'appel a open(),
15:08 <haypo> par contre, avec pysandbox, le point noir est qu'il faut faire SUPER GAFFE à l'introspection qui permet de d'évader du namespace non trusté
15:08 <tarek> et si time l'utlise, la sandbox va gueuleur, non ?
15:09 <tarek> mmm.. donc je peux inclure dans time un truc qui ecrit sur le fs meme si open() est pas autorisÃe ?
15:09 <haypo> tarek: exemple : si tu autorises open() uniquement pour *lire* des fichiers, mais qu'avec le résultat tu as accès au vrai type file qui permet être réutilisé pour ouvrir d'autres fichiers en écriture, tu as perdu
15:10 <tarek> oui j'ai compris ca
15:10 <haypo> tarek: je crois que tu commences à voir combien il est difficile d'écrire une politique de sécurité avec pysandbox :-/
15:10 <tarek> il faut fournir ses propres APIs
15:10 <tarek> tu ne m'a pas repondu clairement pour time par contre
15:10 <haypo> tarek: pour open(), pysandbox utilise un proxy qui ne donne pas accès au vrai objet file
15:10 <tarek> si j'autorise un module python pur, en quoi est ce un trou de secu ?
15:10 <haypo> tarek: pour time, je connais un peu le module, aucune fonction n'est dangeureuse :)
15:11 <haypo> mais pour être sûr, il faut lire la doc de chaque fonction
15:11 <haypo> tarek: y'a plein de modules qui font des "import os"
15:11 <haypo> tarek: du coup, tu peux te retrouver avec time.os.system("bla")
15:11 <tarek> mais si je bloque os, c bon non ?
15:12 <haypo> tarek: bloquer, càd set(dir(time)) - set(('os',)) ?
15:12 <tarek> si "import os" est ajoute a time, ca pete
15:12 <haypo> ça arrive entre deux versions mineures de type que "import os" (ou autre) soit ajouté à un module
15:12 <tarek> allowModule('time', dir(time)) => si "import os" dans time, time.os == os, accessible ?
15:13 <haypo> si tu développes sous Python 2.5 et qu'en prod, c'est python 2.6 (bizzare, mais c'est pour l'exemple), tu peux te retrouver avec une faille de sécu
15:13 <haypo> tarek: c'est pour ça qu'il faut utiliser des listes blanches
15:13 <haypo> tarek: oui
15:13 <tarek> arg
15:13 <tarek> bah je peux rien faire alors
15:14 <haypo> (bon après je crois que pysandbox détecte l'anomalie quand tu fais time.os, càd quand on crée un proxy pour l'objet os : les objets de type module sont interdits)
15:14 <tarek> je pensais que sandbox faisais un check recursif de TOUS les imports
15:14 <haypo> tarek: si, tu tapes dir(time) dans un interprète, tu copies-colles le résultat
15:14 <haypo> tarek: et non
15:14 <tarek> bon
15:15 <tarek> je vais tester lex alors
15:15 <haypo> tarek: hey, il existe déjà une feature "time" dans SandboxConfig !
15:15 <feth> Est-ce que ça serait de développer la feature suivante : faire tourner pysandbox en mode debug/collecte (cad tout autorisé, mais construction de la liste blanche)
15:15 <haypo> t'as pas pris le bon exemple :)
15:15 <tarek> haypo: hehe
15:16 <haypo> feth: SELinux et autres modules de sécurité ont des outils comme ça
15:16 <haypo> feth: ça rend leur utilisation un peu moins indigeste
15:16 <tarek> bbl
15:16 <haypo> feth: et oui, ça aiderait tarek si tu le codias
15:16 <haypo> codais
15:17 <feth> haypo: seulement voilà, le problème c'est qu'il fait super beau et que la bourgogne est une chouette région pour des balades :)
15:17 <haypo> tarek: la fonctionnalité "time" de pysandbox fait des trucs un peu avancés : self.allowSafeModule('time', 'gmtime', 'localtime', 'struct_time')
15:17 <feth> à toute :)
15:17 <tarek> oui en fait c ca: je bouge pour une ballade la
15:17 <tarek> at'al et merci pour les infos
15:18 <haypo> allowSafeModule() c'est pour contourner le proxy par lequel passent tous les objets Python
15:18 <haypo> sans ça, le proxy lâche une erreur. alors que bon, un struct_time n'est pas dangeureux
15:18 <haypo> tarek: de rien
17:11 <magopian> tarek, salut
17:11 <magopian> tu aurais qques minutes à accorder pour un interview sur l'afpy?
17:11 <tarek> magopian: yo
17:11 <magopian> et sinon, tu aurais quelqu'un a dénoncer pour le faire à ta place? :)
17:11 <tarek> une interview ?
17:11 <magopian> ouaip, pour pycoms.agopian.info
17:11 <tarek> ca depend des questions
17:11 <magopian> (mate le about pour avoir une idée du but, ou je peux te le résumer)
17:12 <magopian> les questions sont là: https://docs.google.com/document/d/1sbP_aEu-AzcEuM7oqgdnZ4BtXEvCMsKgmU5zgVPXSoI/edit?hl=en_US
17:12 <magopian> (si tu vois d'autres questions qu'il faudrait que je te pose, ne te gêne pas pour me le faire savoir ;)
17:12 <tarek> ca ressemble a un truc que fais la PSF
17:12 <magopian> ah? si c'est le cas, je veux bien savoir où ;)
17:12 <tarek> je mate
17:12 <magopian> thanks
17:12 <tarek> ils interviewent les core dev sur leur blog
17:12 <magopian> pendant ce temps, je continue à batailler avec mon firefox sync qui marche plus :(
17:13 <magopian> ah oui, les core dev, effectivement
17:13 <magopian> mon but, c'est de donner de l'info sur les communautés (géographiques ET projet oss)
17:13 <tarek> ah toi c plus des fiches sur les user group
17:13 <tarek> ok
17:13 <magopian> voilà
17:13 <tarek> ca va interesser la PSF aussi
17:13 <magopian> user group, mais aussi communautés sur des projets genre pyramid, django, scipy.... :)
17:13 <tarek> je fais quoi je remplis sur gdoc ?
17:14 <magopian> bah le but c'est que je mette un peu de contenu, pour donner une idée de ce que ça va devenir, et de proposer à pycon.org/psf d'héberger sur une url/domaine qui va bien
17:14 <magopian> bah soit tu remplis sur gdoc si ça tarrange, soit on se fait un skype rapido et je fais la dactylo
17:14 <magopian> c'est peut-être plus simple/rapide pour toi? et plus "libre" ?
17:14 <magopian> sinon par irc
17:14 <magopian> je sais pas trop, tu es mon premier client ^^
17:15 <NelleV> c'est cool, les interviews "réelles" par skype. C'est plus spontané
17:15 <magopian> je trouve aussi
17:15 <magopian> enfin j'imagine
17:15 <magopian> mais après, c'est à l'appréciation de tous
17:15 <NelleV> sinon, autour d'une bière, c'est encore mieux :p
17:15 <tarek> NelleV: ca crain le spontane
17:15 <magopian> par exemple là si on se fait un skype, ce sera vraisemblablement en français, et il faudra que je traduise
17:15 <magopian> NelleV, autour d'une bière, je préfererais, mais je suis dans la drôme;)
17:16 <tarek> NelleV: tu reflechis moins et tu dis des conneries. l'ecrit tu peux retravailler etc
17:16 <NelleV> tarek: justement :)
17:16 <magopian> ce qui est certain, c'est que je te ferais relire le billet avant de le poster
17:16 <magopian> pour relecture/validation/complétion
17:17 <magopian> tarek, pour préciser, je pense que je te poserais bien des questions plus spécifiquement sur l'asso elle-même, pas trop sur pycon.fr
17:18 <magopian> et par la suite je ferais bien une autre interview (de toi ou d'un autre) plus spécifique sur la conf
17:18 <magopian> je sais pas si c'est mieux comme ça ou groupé... tu me dira ;)
17:18 <tarek> magopian: bon voila g mis des reponses
17:18 <tarek> ama demande a d'autres aussi
17:18 <tarek> pour completer
17:18 <magopian> tarek, ça roule ;)
17:19 <magopian> nickel merci, je vais demander à compléter par les motivés, puis je pondrai un petit billet à relire ;)
17:20 <magopian> ah tiens, le barcamp chez toi, chaque année, c'est dans le cadre de l'afpy, ou c'est "plus perso" ?
17:21 <tarek> heu
17:21 <tarek> afpy
17:22 <magopian> j'ai rajotué ;)
17:22 <magopian> rajouté
17:23 <magopian> tu peux me parler du format en quelques mots? ça dure un week-end? c'est à base de sprints+bière+barbecue?
17:23 <magopian> de mémoire vous aviez bossé sur redbarrel et ... un projet à Benoitc non?
17:23 <magopian> (lors du dernier)
17:24 <tarek> j'ai blogue dessus
17:24 <tarek> c vin, bouffe et acesoirement beeking
17:24 <tarek> geeking
17:25 <magopian> ah ok je vais reprendre ton billet alors, thanks ;)
17:28 <benoitc> tarek: bon àça commence à marchotter
17:30 <tarek> j'enleve sandbox pour l'instant
17:31 <magopian> tarek et la cantonade en général: un signe particulier de l'afpy sur lequel on peut mettre l'accent? par exemple le côté amical, les afpyros nationaux, le barcamp chez tarek, ou quoi que ce soit d'autre qui "sorte du lot" ?
17:51 <tarek> magopian: je sais pas trop
18:06 <tarek> benoitc: relou le pistil qui pete
18:06 <benoitc> à quel niveau ?
18:06 <benoitc> le worker qui tourne ?
18:08 <tarek> ouai
18:08 <tarek> qui meurt apres
18:08 <tarek> je sais pas pkoi ca fait ca
18:08 <tarek> aussi, en mode trace, le restart apres 30 s c penible
18:09 <tarek> je vais voir pour lancer un non-pistil en mode 'dev'
18:12 <tarek> rah ya un truc
18:12 <tarek> les viewx workers sont pas bien killés
18:36 <magopian> tarek, est-ce que c'est toi qui a eu l'idée/qui a fondé l'afpy? si oui, avec qui?
19:11 <tarek> magopian: oui j'ai eu l'idee
19:11 <tarek> j'avais un forum zope (zopeur.org)
19:11 <tarek> et jai fais une reunion a paris avec des gens qui venaient dessus
19:11 <tarek> et on a monte l'asso
19:12 <tarek> on etait une 10 aine de memoire
19:12 <tarek> en 2004
19:12 <tarek> je crois
19:12 <tarek> ptin
19:12 <tarek> 6 ans..
19:12 <tarek> 6 ans que je suis president, 4 ans que je fiche plus rien
19:58 <benoitc> tarek: je vais regarder ça
19:58 <benoitc> passé l'pres midi à faire du mp3 ponde une bio pour mon frere etc :/
20:00 <benoitc> http://teddziuba.com/2011/10/node-js-is-cancer.html
20:17 <tarek> hehe
20:18 <Exirel> nice :')
20:23 <jpcw> tarek: on était 18 et c'était en 2003 ;)
20:26 <jpcw> d'ailleurs c'est pour ça que le CA de l'afpy est comosé de 18 membres
20:27 <tarek> ah magopian ^^
20:27 <tarek> jpcw thx :)
20:48 <jpcw> magopian: j'ai ajouté quelques corrections et impressions
20:56 <tarek> jpcw, magopian: du coup je viens de blogguer la larme a l'oeil
20:59 <jpcw> héhé
21:00 <jpcw> tarek: le matin de l'ag gawel m'a fait remarquer qu'on était que tous les deux de la première heure !
21:00 <jpcw> ça m'a fait un truc sur le moment aussi
21:02 <jpcw> mine de rien cette année c'était la cinquième pycon
21:02 <jpcw> enf in jpf 2007 + 4 pycon
21:29 <tarek> jpcw: ouai
21:29 <tarek> mazette
21:29 <tarek> on est vieux
21:30 <jpcw> mais non, mais non
21:30 <feth> tant qu'on n'a pas maison, voiture, femme, enfants et animaux de compagnie, aucune raison de s'inquiéter
21:30 <jpcw> disons que contrairement à nos enfants, on ne compte plus les 'et demi'
21:31 <jpcw> feth: !
21:31 <tarek> feth: heu. check, check, check et check :D
21:31 <feth> jpcw: yup, j'ai bientôt un demi 70 ans moi :(
21:31 <feth> tarek: ;-)
21:32 <jpcw> ouf, j'ai cru un instant que j'étais vieux :p
21:33 <feth> ça prévient pas ces trucs là. en juin je suis repassé devant mon ancien lycée. là je me suis senti vieux. Les mômes m'ont dit que mon prof d'EPS était encore là, mais le reste, jamais entendu parler
21:34 <jpcw> feth: quand je suis retourné à la fac il ya 5 ans, je cherchais la salle, j'arrive au pied, je demande si c'est bien le cours de je sais plus quoi
21:34 <jpcw> oui qu'ils me disent
21:35 <feth> M'enfin, l'avantage d'être vieux maintenant, c'est qu'on a 30% de chances que la retraite existe encore quand on en aura besoin
21:35 <jpcw> je vais vers l'avant genre y'a plus de place derrière et là je sens un mouvement de foule dans mon dos
21:35 <jpcw> "hey c'est pas moi le prof oO "
21:35 <feth> haha :)
21:36 <feth> jpcw: cours de quoi si c'est pas indiscret ?
21:36 <jpcw> info
21:36 <feth> éducation se^W
21:36 <feth> et quoi en nympho ?
21:36 <jpcw> euh c'était un mastère à la carte
21:36 <jpcw> master pardon
21:36 <jpcw> 2 pour être précis
21:36 <jpcw> ils ont tout changé
21:37 <cyp> a la carte ?
21:37 <jpcw> de mon temps c'était dess quoi
21:37 <jpcw> cyp: oui il y avait plusieurs parcours
21:37 <cyp> ok
21:43 <tarek> bn
21:53 <feth> bonne camonuit
22:13 <magopian> tarek, merci des précisions
22:13 <magopian> il faut que je note tout ça, quelque part... sauf que mon firefox vient de crasher, et que vu que firefox sync plante depuis hier, je me retrouve sans RIEN
22:13 <magopian> je suis vénère de chez méga vénère... je veux dire, mon ff a jamais de soucis, mon sync a jamais de soucis
22:14 <magopian> et là, le jour ou sync plante, évidement, mon ff plante, et je me retrouve _a poil_
22:14 <jpcw> magopian: je t'ai édité le doc sur gdoc
22:14 <magopian> merci jpcw
22:15 <jpcw> magopian: pour ce qui a été écris ici, il y a log.apfy.org
22:15 <jpcw> écrit
22:15 <magopian> merci
22:15 <jpcw> logs.afpy.org
22:50 <magopian> jpcw, merci beaucoup pour les additions au document ;)
23:01 <benoitc> c trolldimanche
23:01 <benoitc> http://jlouisramblings.blogspot.com/2011/10/one-major-difference-zeromq-and-erlang.html