(Avec l’aimable autorisation de la wayback machine http://www.archive.org/)

Récapitulatif rapide

Présents: dish, dm, jrand0m, MrEcho, nop

(journal de réunion modifié pour masquer le fait que iip a planté en plein milieu de la réunion et qu’il y a eu beaucoup d’expirations de délai de ping, donc n’essayez pas de lire ceci comme un récit linéaire)

Journal de réunion

[22:02] <jrand0m> ordre du jour [22:02] <jrand0m> 0) bienvenue [22:02] <jrand0m> 1) i2p router [22:02] <jrand0m> 1.1) état [22:02] <jrand0m> 1.2) modifications de la feuille de route [22:02] <jrand0m> 1.3) sous-projets ouverts [22:02] <jrand0m> 2) modPow natif [22:03] <jrand0m> 2) programme d'installation GUI [22:03] <jrand0m> 3) messagerie instantanée (IM) [22:03] <jrand0m> 4) service de noms [22:03] <MrEcho> j'ai vu ce code .c [22:03] <jrand0m> 5) licences [22:03] <jrand0m> 6) autre ? [22:03] <jrand0m> 0) bienvenue [22:03] <jrand0m> salut. [22:03] <nop> salut [22:03] <jrand0m> réunion 2^6 [22:04] <jrand0m> tu as des points à ajouter à l'ordre du jour, nop ? [22:04] <jrand0m> ok, 1.1) état du router [22:04] <jrand0m> on est en 0.2.0.3 et d'après les dernières nouvelles, c'est fonctionnel [22:04] <MrEcho> > 0.2.0.3 [22:04] <MrEcho> c'est bien ça ? [22:05] <MrEcho> je le fais tourner... ça a l'air bien [22:05] <nop> non [22:05] <jrand0m> il y a eu de petits commits après la version 0.2.0.3, rien qui vaille une nouvelle version [22:05] <nop> j'essaie juste de rattraper [22:05] <jrand0m> cool [22:06] <jrand0m> vu les expériences et retours de la 0.2.0.x, la feuille de route a été mise à jour pour rendre l'exécution moins gourmande en ressources [22:06] <jrand0m> (c.-à-d. pour que les gens puissent faire tourner des serveurs web / etc. sans que ça leur bouffe le CPU) [22:06] <jrand0m> plus précisément (on passe au point 1.2 de l'ordre du jour) : http://wiki.invisiblenet.net/iip-wiki?I2PRoadmap [22:06] <MrEcho> ce que j'ai remarqué, c'est que la plupart des routers utilisent : TransportStyle: PHTTP [22:07] <MrEcho> ça passe automatiquement en PHTTP ou ça essaie d'abord TCP ? [22:07] <jrand0m> hmm, la plupart des routers devraient supporter PHTTP, et s'ils peuvent accepter des connexions entrantes, ils devraient supporter TCP aussi [22:07] <jrand0m> si c'est possible, il utilise TCP [22:07] <jrand0m> PHTTP est pondéré comme environ 1000 fois plus coûteux que TCP [22:08] <jrand0m> (voir GetBidsJob, qui demande à chaque transport combien il pense que ça coûterait d'envoyer un message à un pair) [22:08] <jrand0m> (et voir TCPTransport.getBid et PHTTPTransport.getBid pour les valeurs utilisées) [22:08] <MrEcho> ok [22:08] <jrand0m> utilises-tu souvent PHTTP pour envoyer et recevoir des messages ? [22:09] <jrand0m> (ça peut être le signe que ton écouteur TCP n'est pas joignable) [22:09] <MrEcho> je n'ai pas mis les URLs de mon côté [22:09] <jrand0m> ah ok. [22:09] <MrEcho> oh si, il l'est [22:10] <jrand0m> ok, ouais, mes routers ont des connexions TCP ouvertes vers toi [22:10] <dm> comme c'est hospitalier de leur part. [22:10] * jrand0m est content que vous m'ayez fait implémenter routerConsole.html pour qu'on n'ait pas à fouiller dans les logs pour cette merde [22:11] <MrEcho> y a-t-il un timeout qui fait que s'il ne se connecte pas en TCP il passe en PHTTP ? et c'est quoi le timing ? [22:11] <jrand0m> mais bref, le grand changement de la feuille de route, c'est que la 0.2.1 implémentera le truc AES+SessionTag [22:11] <MrEcho> ou on pourrait avoir ça dans un réglage ? [22:11] <jrand0m> s'il reçoit un refus de connexion TCP / hôte introuvable / etc., il abandonne immédiatement cette tentative et essaie la prochaine offre disponible [22:12] <MrEcho> donc pas de nouvelles tentatives [22:12] <jrand0m> PHTTP a un timeout de 30 s, si je me souviens bien [22:12] <jrand0m> pas besoin de réessayer. soit tu as une connexion TCP ouverte et tu peux envoyer les données, soit non :) [22:12] <MrEcho> lol ok [22:13] <MrEcho> est-ce qu'il retentera TCP à chaque fois après ça, ou bien il sautera et passera directement en PHTTP pour la connexion suivante ? [22:13] <jrand0m> pour le moment, il tente TCP à chaque fois. [22:13] <jrand0m> les transports ne conservent pas encore d'historique [22:13] <MrEcho> ok cool [22:14] <jrand0m> (mais si un pair échoue 4 fois, il est mis sur la shitlist pendant 8 minutes) [22:14] <MrEcho> eh bien une fois que l'autre côté reçoit le message PHTTP, il devrait se connecter au router qui a envoyé le message via TCP, non ? [22:14] <jrand0m> correct. une fois qu'une connexion TCP est établie, il peut l'utiliser. [22:14] <jrand0m> (mais si les deux pairs n'ont que PHTTP, ils utiliseront évidemment uniquement PHTTP) [22:15] <MrEcho> ça voudrait dire qu'il ne pouvait établir de connexion TCP vers quoi que ce soit [22:15] <MrEcho> .. mais ouais [22:16] <MrEcho> j'aimerais qu'il y ait un moyen de contourner ça [22:16] <jrand0m> non, un de mes routers n'a pas d'adresse TCP - seulement PHTTP. mais j'établis des connexions TCP avec des pairs qui ont des adresses TCP. [22:16] <jrand0m> (et ensuite ils peuvent renvoyer des messages via cette connexion TCP plutôt que de m'envoyer des messages PHTTP plus lents) [22:17] <jrand0m> ou ce n'est pas ce que tu voulais dire ? [22:17] <MrEcho> ouais je me suis embrouillé [22:17] <jrand0m> yep, pas de souci [22:18] <jrand0m> donc, voir la feuille de route mise à jour pour les infos de planning mises à jour ((Link: http://wiki.invisiblenet.net/iip-wiki?I2PRoadmap)http://wiki.invisiblenet.net/iip-wiki?I2PRoadmap) [22:18] <jrand0m> ok, 1.3) sous-projets ouverts [22:19] <jrand0m> j'ai enfin mis une partie de la liste de choses à faire de mon palmpilot dans le wiki à (Link: http://wiki.invisiblenet.net/iip-wiki?OpenSubprojects)http://wiki.invisiblenet.net/iip-wiki?OpenSubprojects [22:19] <jrand0m> donc si tu t'ennuies et que tu cherches des projets de code... :) [22:19] <MrEcho> pff [22:20] <MrEcho> j'en ai déjà 2 [22:20] <dish> Tu as un palmpilot, c'est la classe [22:20] <MrEcho> le mien est mort [22:20] <jrand0m> mihi> il y a un point là-dedans concernant l'I2PTunnel décrivant une idée que j'ai eue il y a quelque temps [22:20] <MrEcho> je sais pas ce qu'il a [22:21] <jrand0m> ouais, j'avais des palms avant mais on m'a récemment donné celui-ci pour la cause ;) [22:21] <dish> Pourrait-on avoir un point à l'ordre du jour de la réunion pour discuter de la dernière fois où userX a tapé quelque chose [22:21] <MrEcho> ce foutu truc ne s'allume même plus [22:21] <MrEcho> lol [22:22] <jrand0m> je ne pense pas que UserX ait dit quoi que ce soit depuis 4 ou 5 mois ;) [22:22] <MrEcho> c'est un bot ou quoi ? [22:22] <dish> Qu'est-ce qu'il a dit il y a 5 mois ? [22:22] <MrEcho> je parie que c'est un bitchx qui tourne sur une machine à laquelle il avait accès... et qu'il a oubliée [22:22] <jrand0m> qu'il reviendrait avec des commentaires sur l'anonCommFramework (ancien nom d'i2p) la semaine suivante ;) [22:23] <dish> haha [22:23] <jrand0m> mais je suppose qu'il est occupé. c'est la vie [22:23] <jrand0m> ok, 2) modPow natif [22:23] <MrEcho> j'ai vu ce code c [22:24] <jrand0m> j'ai assemblé un .c stub et une classe Java pour montrer comment quelque chose comme GMP ou une autre bibliothèque MPI pourrait être intégré, mais évidemment ça ne marche pas [22:25] <jrand0m> ce qui serait bien, ce serait d'avoir un petit paquet de classes C et cette classe d'enveloppe Java triviale associée que l'on pourrait compiler pour Windows, OSX, *BSD, Linux, et empaqueter sous GPL

(insérer ici une défaillance majeure d’iip)

[22:38] <MrEcho> la dernière chose que j’ai vue était : [13:25] <jrand0m> ok, 2) native modPow [22:38] <jrand0m> salut MrEcho [22:38] <jrand0m> ouais, on dirait qu’un proxy principal a planté [22:39] <jrand0m> je lui laisse encore 2 min avant de redémarrer [22:39] <MrEcho> ok [22:39] <MrEcho> pour 25 $ une fois je peux avoir Java complet sur thenidus.net … un de mes sites [22:40] <jrand0m> 25 $ ? ils te facturent l’installation de logiciels ? [22:40] <MrEcho> aucune idée en fait… c’est un forfait [22:40] <MrEcho> je parle à mon pote là tout de suite [22:40] <jrand0m> je ne suis pas sûr que le code soit assez stable pour aller louer une flopée d’emplacements en colocation pour y déployer des routers. pas encore :) [22:41] <dm> un forfait de quoi ? [22:41] <MrEcho> java - jsp [22:41] <jrand0m> ok, je renvoie ce que j’ai envoyé avant : [22:41] <jrand0m> j’ai bricolé un stub en .c et une classe Java pour montrer comment quelque chose comme GMP ou une autre bibliothèque MPI pourrait être intégré, mais ça ne marche évidemment pas [22:41] <jrand0m> ce qui serait bien, ce serait d’avoir un petit paquet de classes C et la classe wrapper Java triviale associée, que l’on pourrait compiler pour windows, osx, *bsd, linux, et empaqueter sous GPL (ou une licence moins restrictive) [22:41] <jrand0m> toutefois, avec la nouvelle feuille de route qui met AES+SessionTag comme tâche en cours pour moi, ce n’est plus aussi critique qu’avant. [22:42] <jrand0m> si quelqu’un veut s’en charger malgré tout, ce serait super (et je suis sûr qu’un autre projet que nous connaissons tous serait intéressé par un tel packaging) [22:43] <dm> frazaa ? [22:43] <jrand0m> hé, d’une certaine façon ;) [22:44] <jrand0m> ok, 3) installateur GUI [22:44] <jrand0m> MrEcho> salut [22:44] <MrEcho> :) [22:44] <MrEcho> héhé [22:44] <MrEcho> ça avance [22:44] <jrand0m> cool [22:44] <MrEcho> rien de spécial [22:45] <MrEcho> j’ai des idées vraiment cool pour le rendre super chiadé… mais c’est pour plus tard [22:45] <jrand0m> je me demandais si l’installateur devait ajouter 1) une option pour récupérer automatiquement les seeds depuis http://…/i2pdb/ 2) récupérer automatiquement http://…/i2p/squid.dest et créer aussi un runSquid.bat/runSquid.sh ? [22:45] <jrand0m> ouais [22:46] <jrand0m> ouais, on veut que l’installateur soit le plus simple possible — tu pensais à quoi comme trucs « fancy » ? [22:46] <MrEcho> la question, c’est que quand tu fais java -jar installer ça part sur le non-GUI par défaut à cause de la façon dont tu as organisé les choses [22:46] <MrEcho> comment on fait pour que quand tu double-cliques le fichier jar ça lance la GUI [22:47] <jrand0m> install.jar <– non-GUI, installgui.jar <– GUI [22:47] <jrand0m> code séparé, paquets séparés [22:47] <MrEcho> « fancy » au sens de trucs que tu ne remarqueras peut-être pas… mais ça va être propre et soigné [22:47] <jrand0m> cool [22:47] <MrEcho> ah ok [22:48] <jrand0m> (ou install <– GUI, installcli <– CLI. on verra comment ça évolue) [22:49] <jrand0m> autre chose sur la GUI, ou on passe au point 4) ? [22:49] <jrand0m> (tu as une idée du délai ? pas de pression, je demande juste) [22:51] <MrEcho> aucune idée pour l’instant [22:51] <jrand0m> cool [22:51] <jrand0m> ok, 4) IM (messagerie instantanée) [22:51] <jrand0m> thecrypto n’est pas là, donc….. [22:51] <jrand0m> 5) service de nommage [22:51] <jrand0m> wiht n’est pas là non plus… [22:51] <jrand0m> ping [22:52] <dish> tu t’es trompé dans la numérotation de l’ordre du jour [22:52] <dish> 3) IM [22:52] <jrand0m> ouais, j’avais l’habitude d’avoir deux points 2 à l’ordre du jour [22:52] <dish> 4) Nommage [22:52] <dish> ;) [22:52] <jrand0m> (native modPow et installateur GUI) [22:52] <jrand0m> tu vois, on est dynamiques et tout [22:59] <jrand0m> ok, pour les logs je suppose que je vais continuer [22:59] <jrand0m> 6) licences [23:00] <jrand0m> je pense aller vers quelque chose de moins restrictif que la GPL. on utilise du code MIT, plus un autre fichier qui est GPL (mais c’est juste l’encodage base64 et ça peut être remplacé facilement). à part ça, tout le code est sous copyright soit par moi, soit par thecrypto. [23:00] * dish regarde la partie du code i2p tunnel de mihi [23:01] <jrand0m> ah oui, mihi a publié ça sous GPL mais il peut vouloir le publier sous autre chose s’il le souhaite aussi [23:01] <jrand0m> (mais i2ptunnel est essentiellement une appli tierce et peut choisir la licence qu’elle veut) [23:02] <jrand0m> (bien que, puisque le SDK i2p est GPL, il a été forcé d’être en GPL) [23:02] <MrEcho> zut, il était temps [23:02] <jrand0m> je ne sais pas. les licences, ce n’est pas mon fort, mais je serais enclin au moins à passer en LGPL [23:02] * dish publie les 10–20 lignes de modification du code I2P HTTP Client de mihi sous la licence qu’utilise mihi, quelle qu’elle soit [23:03] <jrand0m> héhé :) [23:06] <jrand0m> bref, 7) autre ? [23:07] <jrand0m> quelqu’un a des questions / préoccupations / idées à propos d’i2p ? [23:07] <dish> Laissez-moi poser une question [23:07] <dish> Est-ce que I2P a une fonctionnalité de nom de groupe ? [23:07] <jrand0m> une fonctionnalité de nom de groupe ? [23:07] <dm> équipe Discovery Channel ! [23:07] <MrEcho> lol [23:08] <dish> L’idée étant que si tu veux avoir un réseau privé ou séparé, mais que certains router se mélangent d’une manière ou d’une autre, sans nom de groupe les deux réseaux fusionneraient [23:08] <MrEcho> il pense à Waste [23:08] <jrand0m> ah [23:08] <dish> Je ne sais pas pourquoi on voudrait ça, mais je demande au cas où [23:08] <jrand0m> oui, au début de la conception du réseau je jouais avec cette idée [23:09] <jrand0m> c’est plus avancé que ce dont on a besoin pour l’instant (ou dans un futur relativement proche [6–12 mois]) mais ça pourrait être intégré plus tard [23:09] <dish> Ou bien est-ce une mauvaise idée parce qu’il vaut mieux garder un seul grand réseau [23:09] <dm> i2pisdead [23:09] <jrand0m> hé dm [23:10] <nop> ferme-la [23:10] <jrand0m> non dish, c’est une bonne idée [23:10] <dm> nop : gros dur ? [23:10] <jrand0m> c’est essentiellement ce qu’est la version 0.2.3 — routes restreintes [23:10] <jrand0m> (a.k.a. tu as un petit ensemble privé (de confiance) de pairs et tu ne veux pas que tout le monde sache qui ils sont, mais tu veux quand même pouvoir communiquer avec eux) [23:15] <jrand0m> ok, autre chose ? [23:15] <nop> non, je fais juste le clown [23:18] <dm> marrant, hein ? [23:20] <jrand0m> ok, eh bien, réunion /intéressante/, avec quelques plantages iip au milieu ;) [23:21] * jrand0m baf met fin à la réunion