NewSyndrome
Version : 1.6.1
NewSyndrome
Vous êtes surement en train de vous dire "encore un bot IRC pffff", et je dirais à ce moment là "mais oui mais non" (je sais c'est pas génial comme réponse).
Cependant cette réponse est bien révélatrice de NewSyndrome, en effet c'est un bot IRC comme beaucoup (et dont beaucoup préfère les eggdrops) mais NewSyndrome est un bot IRC entièrement modulaire. C'est-à-dire que pratiquement toutes ses fonctions sont contenues dans des modules (.dll sous windows et .so sous GNU/Linux et *BSD) que l'on peut charger et décharger à la volée (quand on veut).

NewSyndrome n'est pas :
-un programme commercial,
-totalement complet,
-multi-serveurs,
-multi-threads,
-gourmand en ressources,
-très gros.


NewSyndrome est :
-libre (sous licence GPL),
-un bot IRC,
-totalement modulaire,
-rapide,
-puissant,
-très stable,
-bien documenté (ou presque),
-scriptable (en python),
-en développement.

Après ce tour d'horizon de NewSyndrome et avant que vous alliez sur les autres pages je tiens à m'excuser : ce site a été entièrement fait en une heure (ce qui est peu) et les pages ne sont que des copiés/collés de la documentation fournie dans les archives du bot.

Gigantesque merci à DbD- qui sponsorise l'ip dédié.
Grand merci à larage qui m'a aidé à résoudre certains bugs ainsi qu'à own3d et yclick.
Merci aux hosteurs : [Leo01], Hell, aerith.
Merci aux testeurs : [Leo01], Hell, Nemo, larage, scythale et plus particulièrement à DbD- qui a trouvé plusieurs vulnérabilités.

Voici quelques uptimes (records) :
Syndrome @ girafon.org --> uptime : 107j 13h 20min 54s
Symbiose @ termik-hebergement.net --> uptime : 70j 9h 20min 14s
Nounouille @ [Leo01]-server --> uptime : 213j 5h 41min 31s

Vous pouvez venir me voir sur l'irc : irc.sagwin.org #programmation
Sagwin
Corrections en bloc - 1.6.1 RELEASED [25/02/2008]
Voilà une version intermédiaire : la 1.6.1 débarque !

Relecture et réécriture de certains bouts de code. Grand coup de fuzzing sur le bot et sur chaque module pour vérifier la stabilité. Mise-à-jour de ce qui devait l'être.
Une magnifique bug-fix release avec en plus les binaires pour de nouveaux systèmes comme FreeBSD et des binaires universels (un grand merci à DHX) pour MacOS (supportant PPC, PPC64 et i386).

Et le meilleur pour la fin : il est maintenant compatible avec mon petit script de compilation des modules depuis les sources du dépôt SVN que vous trouverez là : https://leo01.sagwin.org/projects/sagwintools/browser/trunk/ns_build_scripts/ns_build_module.sh

Un petit coup d'oeil sur le changelog
Pour le téléchargement direction ici
Enfin corrigé [02/01/2008]
Le bug est corrigé ( https://leo01.sagwin.org/projects/newsyndrome/ticket/22 ) dans les sources sur le dépôt SVN, mais comme c'est un bug mineur qu'on peut facilement contourner, j'attends de nouveaux bugs pour sortir une version 1.6.1.
Alors n'hésitez pas ! Pour tout bug envoyez-moi un mail ou laissez un ticket ! Aidez-nous à améliorer NewSyndrome en rapportant les bugs.
Les news par mail [31/12/2007]
Vous pouvez maintenant est averti par mail des news de NewSyndrome (bugs, MAJ, release).
Aïe Aïe Aïe [25/12/2007]
Un premier problème a été trouvé : si on utilise -u pour faire passer le bot de root à un user la variable d'environnement HOME reste sur "/root" et donc le bot ne trouve pas le fichier de configuration si celui-ci est dans le répertoire ~/.newsyndrome/ (du user).
Je n'ai pas de solution pour l'instant, mais pour arranger cela il suffit de switcher de user avant de lancer le bot (comme le faisait le script de lancement du bot dans les versions précédentes) ou de spécifier via --conf où est le fichier de configuration.
Ho Ho Ho 1.6 RELEASED !! [25/12/2007]
Joyeux Nowel tout ça tout ça.
Voici la release 1.6 de NewSyndrome comme promis. Rendez-vous section téléchargement pour la récupèrer.

Des binaires (i386) pour Linux, OpenBSD, win32 sont dispo, ainsi que des binaires solaris (sun sparc) mais pas encore MacOS.
La doc sur le site n'est pas encore à jour donc fiez-vous à la doc qui est dans les archives !

C'est une release très frustrante car beaucoup de choses que nous sommes en train de développer n'étaient pas terminées et donc ne sont pas présentes dans la release :
- un nouveau module auth avec un concept bien différent (proche de celui des Services IRC),
- l'adaptation (par [Leo_01]) de kconfig (utilitaire de configuration du kernel linux) pour NS,
- un outil d'administration de NS (par DbD-),
- la traduction des messages du kernel et des modules du bot,
- un module d'update (automatique : téléchargement du binaire ou sources + compilation) des modules.
De nouveaux modules sont quand même inclus dont le bind_python (par [Leo_01]) qui permet de faire des scripts en python pour NS.

Je relance mon appel à mail : si vous utilisez NewSyndrome ça serait sympa que vous m'envoyiez un mail pour me le dire (c'est très motivant), merci à ceux qui l'ont fait lors de la lecture de la news précédente.

Dernière chose : migration du dépôt (voir "Internet libre ou minitel 2.0 ?" pour comprendre pourquoi) de googlecode vers le serveur de [Leo_01].
Nouvelle adresse : https://leo01.sagwin.org/projects/newsyndrome/
Vous ne pouvez pas checkout (via svn) le code pour l'instant, mais sur la page TRAC des sources il y a un lien qui fourni une archive zip.

Un bug, une idée ou autre, n'hésitez pas à utiliser les tickets de TRAC !
Juste pour ne rien dire [3/11/2007]
Aucune information sur la release juste un peu d'inutile : des graphiques sur l'utilisation des commandes de NewSyndrome sur 2 channels IRC.
(Les nombres sont récupérés des logs du bot par un petit script bash, le graphique est fait avec openoffice)

Je ne sais absolument pas s'il y a des utilisateurs/hébergeurs de NewSyndrome, si vous l'utilisez j'apprécierais que vous m'envoyiez un petit mail pour me le dire (thaeron@sagwin.org).
Du retard ? Ah bon... [21/10/2007]
La release intermédiaire est toujours prévue ! Mais pour quand ? Aucune idée.
NewSyndrome ne stagne pas ! Bien au contraire, nous partons un peu dans tous les sens. Nous avons entrepris d'internationaliser le bot (adaptation automatique de la langue des messages selon la configuration locale), et nous tentons aussi de rendre NS scriptable (en python pour commencer).
Double problème : nous ne sommes pas bilingue, et aucun de nous ne fait de python.
Alors si vous voulez donner un petit coup de main à ce projet, vous pouvez toujours faire les traductions : des messages du bot, de la doc, du site, ou nous donner des conseils pour le python voire nous aider à faire le wrapper ou même tester.

Nous nous penchons aussi vivement sur autotool qui est un merveilleux bordel, donc si vous savez bien utiliser autotool ou que vous avez un super tutorial (pas trop long et en français de préférence) manifestez-vous !
De l'inutile donc de l'indispensable [15/09/2007]
Super nouvelle (inutile) NewSyndrome peut maintenant fonctionner sur Solaris (testé sur Solaris 9) !

Deuxième super nouvelle j'ai ouvert un projet sur google project qui permettra d'avoir un mirroir pour les releases et j'utilise (enfin j'essaie) le dépôt SVN.
Voici l'url :
Bientôt du neuf voire du dix [09/09/2007]
Finalement je pense sortir une version intermédiaire (dans 1 ou 2 semaines) vu que j'ai du appliquer quelques corrections à la version 1.5.
Au menu de la version intermédiaire :
-les modules google & livesearch qui sont dans la news précédentes,
-des corrections du kernel (userlists etc),
-le module extension de nouveau fonctionnel (par [Leo_01]),
-le module urbandico (par [Leo_01]),
-peut-être le module web2irc de DbD- qui permet d'avoir le channel en AJAX,
-peut-être de nouvelles fonctions dans coding,
-peut-être des améliorations du module check_version,
-peut-être d'autres choses qui seront codées entre temps.

La release 1.6 est prêvue pour nowel.
Du huit voire du neuf [01/09/2007]
Vu que la prochaine release de NewSyndrome ne sera pas avant plusieurs mois voici un petit package pour attendre.
L'archive contient le module google remis à niveau (par [Leo_01]) et qui lui a rajouté aussi la commande !googlecalc pour faire des calculs ou des conversions d'unités par google.
L'archive contient aussi le module livesearch qui utilise live search avec la sortie des résultats en RSS pour faire des recherches.
Rien de neuf [25/08/2007]
Juste quelques petites choses :
-le module google n'a pas été recodé donc c'est normal qu'il ne marche pas,
-la doc sur le site a été mise à jour (oui je sais elle est mal formatée),
-la doc du bot et des modules sont disponibles dans les répertoires docs/ et docs/modules/ des archives du bot,
-pour ceux qui veulent utiliser les modules url_mysql et quote_mysql, les modèles des tables SQL sont dans le répertoire src/modules/ dans l'archive des sources (et oui j'ai oublié dans les archives ne contenant que les binaires).

Pour finir, pour ceux qui aiment les choses inutiles voilà des graphiques montrant l'évolution de NewSyndrome au fil des versions :
Youpie !! [19/08/2007]
Voilà !! Elle est sortie ! la version 1.5 de NewSyndrome.
Comme d'habitude les sources sont disponibles ainsi que les binaires linux et windoz mais en plus voici des binaires MacOS/Darwin et OpenBSD.
Rendez-vous dans la section téléchargement pour récupérer les packages.
Bientôt la fin [01/08/2007]
Bientôt la fin ... de la version 1.4 et la sortie de la version 1.5 du bot !
Il reste surtout des modules à recoder (tele/telesoir/compo/google) qui ne fonctionnent plus.

NewSyndrome a été modifié et testé sous MacOS, FreeBSD et OpenBSD et il fonctionne parfaitement.
Merci à DbD-, DHX et [gik] pour les ssh sur leurs boxs.

Le code sera, peut-être, terminé dans la semaine puis viendra au moins une semaine de test (d'habitude c'est plusieurs mois mais comme une version intermédiaire est déjà en test depuis plusieurs mois je considère que la version est stable).
Mutatis Mutandis [01/07/2007]
NewSyndrome n'est pas mort ! Mais certaines choses vont changer pour être plus flexibles, quelques APIs (les timeouts) vont changer ainsi que le composant items2.

Un composant de lecture de flux RSS va être disponible aussi.

Cependant je n'ai plus accès qu'à un nombre limité d'architectures différentes, donc si vous avez un amd64 avec une distro linux en 64 bits, un *BSD, windows vista ou un autre OS sur lequel NewSyndrome n'est pas encore porté contactez-moi (thaeron@sagwin.org).
De la doc enfin [21/01/2007]
Enfin de la doc pour NewSyndrome ! Le kernel est documenté, ainsi que 34 modules + 3 modules documentés par [Leo_01].
Tout ça sera disponible dans la prochaîne release du bot. En attendant elle est sur le site :
la doc tout fraîche du kernel
les docs des modules

J'ai codé un nouveau module pour jouer au boggle sur un channel, déjà plus de 100 parties en même pas 2 semaines.
Une architecture de plus [28/12/2006]
NewSyndrome fonctionne maintenant sur une architecture 64 bits ! Merci à jojobha qui m'a permis d'utiliser sa machine (un athlon 64) pour porter le bot.
NewSyndrome est garantie sans fuite de mémoire, cependant grâce à valgrind j'ai remarqué que la fonction gethostbyname (en 64 bits) comportait un memory leak. Le bug a déjà été rapporté : http://sources.redhat.com/bugzilla/show_bug.cgi?id=156

Je remercie tout ceux qui m'ont permis d'avoir un accès à une machine qui a soit un OS différent soit une architecture différente.
DHX pour sa machine sous Mac OS/Darwin.
DbD- pour freebsd et solaris (portage non terminé).
jojobha pour l'athlon 64 sous linux.

Les sources ne sont pas encore disponibles en release, si vous les voulez envoyez moi un mail.
Fixed [26/12/2006]
J'ai tout corrigé hier soir. Les modules trad, tele, tele2, telesoir et google fonctionnent. Seul le module compo n'est pas corrigé.
J'ai aussi corrigé le problème de la conversion de charset et j'ai rajouté la possibilité de mettre une clef serveur (pour ceux qui sont sur voilà encore, je ne sais pas si d'autres réseaux utilisent cette merde de clef). La clef peut être mise dans le fichier de conf via server_pass=la_clef.
Donc une release intermédiaire est faîte :
Sources : http://ygperso.free.fr/mirror/NewSyndrome/NewSyndrome-src-1.4.6.tar.bz2
Linux : http://ygperso.free.fr/mirror/NewSyndrome/NewSyndrome-linux-1.4.6.tar.bz2
A noter que cette version ne tourne pas sous windoz (il faudra attendre la 1.5 pour ça).
Comme d'habitude pour toute remarque, tout bug ou pour m'envoyer un module que vous avez fait : thaeron@sagwin.org ou sur l'IRC irc.sagwin.org channel #programmation
La catastrophe [19/12/2006]
Pas de nouvelle bonne nouvelle, eh bien pas toujours. En effet pas de nouvelle depuis plusieurs mois et que de catastrophes !!
Beaucoup de modules ne fonctionnent plus (trad, tele, tele2, telesoir, google, compo).
Il y a encore pire !! La tant attendue (et qui fonctionnait depuis plusieurs mois) conversion de charset peut provoquer un bug qui pourrait même être une énorme faille (sans risque pour la machine). Le problème ne vient pas de mon code (a priori) mais de la fonction iconv() de la glibc.
Evitez donc d'utiliser la conversion de charset pour l'instant. J'essairais de mettre le bot à niveau pendant ces vacances.
Puf puf [08/09/2006]
Hop encore changé de serveur irc (exit ekynox qui est mort), nous sommes maintenant sur irc.sagwin.org (en réalité c'est idap.net) et nous ne bougerons plus !
Des petites corrections par-ci par-là pour NewSyndrome ainsi qu'un nouveau module par [Leo_01] => idea (gestion d'une todolist par le channel avec une page web pour lire toutes les tâches à faire).
J'ai aussi fait un petit module pour retrouver le texte clair à partir d'un MD5 (en créant au préalable une bonne db de MD5). Je ne sais pas s'il sera dans la prochaîne release (à voir).
DHX m'a envoyé son module eval permettant au bot d'évaluer une expression mathématique qui sera dans la prochaîne release.
Youpie [18/08/2006]
Nous avons changé de serveur irc (exit voila), nous sommes maintenant sur irc.ekynox.net
Et en changeant de nouveaux besoins arrivent et donc du nouveau code alors au menu du jour pour NewSyndrome : gestion de la conversion de charset et gestion de l'authentification sur le NickServ. Voilà pour les implémentations inattendues, pour les autres allez voir la todolist.

J'en profite aussi pour donner le lien vers un 'tit coin de doc expliquant comment connecter NewSyndrome sur un server IRC par une connexion SSL via stunnel ainsi que lancer le bot avec un chroot. Donc voilà l'url : http://euclide.euclide.free.fr/wikini/wakka.php?wiki=NewSyndrome

Dans les mauvaises nouvelles : des balises HTML sont apparues dans les définitions données par le module dico, c'est aujourd'hui corrigé par [Leo_01].
Le parser de configuration des modules url_mysql et quote_mysql avaient quelques problèmes en cas de mauvaise configuration c'est aussi corrigé par [Leo_01].

Le script bash de lancement du bot a été amélioré afin de pouvoir switcher de user s'il est lancé en root. Des pages PHP ont été faîtes pour pouvoir afficher les quotes et les urls et seront disponibles dans la prochaîne release si je n'oublie pas de les ajouter.
Arg mauvaise nouvelle [29/07/2006]
En codant le module friendbot je me suis aperçu que la lib td_bdd avait un bug dans l'écriture des bases. Ce bug ne met pas en danger le système, il ne s'agit pas du tout d'un overflow mais d'une erreur dans la génération du fichier contenant la base. Ce bug apparaît pour un agencement assez précis des bases et ne devrait pas apparaître pour les bases contenant les ax des channels ni pour les admins.
En tout cas, le voilà corrigé et la nouvelle version sera disponible dans la prochaîne release de NewSyndrome.
Un peu de nouveau mais pas trop quand même [11/07/2006]
Tadaaaaaa ! Apparition du module quote_mysql codé par [Leo_01] qui permet de gérer efficacement les quotes de plusieurs channels. Il reste encore la page web pour les voir hors IRC.

La version améliorée de url_mysql par [Leo_01] est arrivée aussi (je n'ai pas encore vérifié le code) mais maintenant on peut avoir des tables séparées pour les channels =)

J'ai commencé à developper un module assez important : friendbot qui va permettre (enfin) aux bots de s'entre-aider (op, reop tout ça) proprement, puis viendra surement la synchronisation des db et des access actifs en mémoire, on verra.

Petite et dernière chose, eponyme, un adepte du channel #programmation sur l'IRC de voila, a sorti une version de son bot qui est un peu inspiré des fonctionnalités de NewSyndrome, voici l'url : http://nicoleau.fabien.free.fr/index.php?page=trustyrc&sub=true
Voilà la tant attendue [27/05/2006]
Elle est enfin sortie ! Et oui après tant d'attente, la version 1.4 finale est release. Disponible dans la section téléchargement je vous invite aussi à jetter un oeil sur le changelog. Pour des encouragements, des questions ou même des insultes (ou encore des idées pourquoi pas) n'hésitez pas à m'envoyer un mail.

En revanche je n'ai pas encore mis la documentation à jour. Il faudra donc patienter encore un peu.
Et donc ? [26/05/2006]
J'avais annoncé que la sortie de 1.4 finale était imminente. Aujourd'hui c'est le cas puisqu'elle sortira demain (enfin tout à l'heure). Je dois encore mettre à jour la documentation sur la programmation des modules ainsi que la documentation de certains modules (syntaxe, explication, configuration).
La 1.4 alors ? [01/04/2006]
J'avais dis que la 1.4 finale était preque prête et elle l'est, enfin toujours presque...
En effet j'essaie de me tenir à la liste de choses à faire et finalement c'est plus long que prévu. Mais une grosse partie vient d'être terminée et il ne reste plus qu'à faire les fonctions dans l'API pour que ça soit utilisable par les modules.
J'aurais aimé faire encore davantages de choses dans le kernel mais cela repousserait encore (et encore) la sortie de la 1.4 et n'assurerait pas la stabilité complète du bot donc ça sera pour après.
De plus j'ai du réécrire certains modules (comme google) et de nouveaux modules (dépendants de sites web aussi) ne sont plus tout à fait opérationnels et donc il faut aussi les modifier.

J'ai un peu suspendu le code parce que je travaille aussi sur un bot réél et l'étude du système électronique à tendance à me prendre beaucoup de temps.
Et sinon ? [27/01/2006]
Pour commencer bonne année !
La prochaine release devrait être la 1.4 finale, je ne pense pas faire de release avant celle-là car elle est très proche.
Au programme de ce qu'il reste à faire (voir todo), ainsi que la vérification de certains modules et le passage en routine kernel de str_suppr puis l'implémentation du mapping des channels et des users.
Beaucoup de corrections et de modifications ont été apportées depuis la pre-1.4.r4.

Un grand merci à [Leo01], qui avait déjà contribué aux modules, et qui m'a fait parvenir 3 nouveaux modules que j'ai vérifié et qui seront intégrés dans la prochaine release.

Dernière petite chose, le bot a été soumis à 2 irc fuzzers ( http://ilja.netric.org/files/fuzzers/ircfuzz.c ), dont un spécifique (réalisé par [Leo01] basé sur le premier). Résultat : seule la fonction d'encodage en base64 était défectueuse, sinon pas un seul plantage ! NewSyndrome est donc très stable =D.
Yeahhh [27/12/2005]
Voici la 4° release (pre-1.4.r4) corrigeant certains bugs, ajout d'un module (modauth) et amélioration du script de lancement.

Grand merci à Bultom qui s'est occupé du script.
Merci à [Leo01] qui a retrouvé la version 1.1 de NewSyndrome (dispo dans la section téléchargement).

La 1° release de NewSyndrome a disparu du mirroir, donc elle n'est plus disponible dans la section téléchargement.
'fffiouuu [04/12/2005]
Troisième release de la pre-1.4 corrigeant pas mal de bugs sur la librairie de database td_bdd, et intégrant un browser pour naviguer et modifier les fichiers de la database (à placer dans le même répertoire que les fichiers de la database).

Et en cadeau bonus les sources de la version 1.2 et 1.0 de NewSyndrome (merci à [Leo01] qui les avait encore).
Malheureusement je n'ai plus la version 1.1, dommage.
Oufff [03/12/2005]
Et voilà la release de la pre-1.4.r2 qui corrige le bug et la faille énoncés dans la news précédente.
Artung cap'taine [02/12/2005]
Deux failles ont été découvertes.
La première a été trouvée par DbD- et permet de prendre le contrôle d'un salon si le bot a des acces sur d'autres bots op et si le module trad est chargé.
J'ai vu la seconde lors d'une séance de débuggage, en effet il pourrait se produire parfois un overflow qui écrase la chaine nom_conf (dans la fonction main). Ce problème ne semble pas être exploitable.
J'ai aussi trouvé un bug qui fait que le bot n'exécute pas les modes enregistrés (autovoice, etc) si personne n'est authentifié.
Une nouvelle version devrait arriver sous peu (dans la soirée ou demain en principe). Une nouvelle section avec les derniers modules (ajoutés ou updatés) devrait voir le jour.
Ouups [12/11/2005]
Il semblerait qu'il y ai un bug dans l'autovoice après que le bot soit relancé : le flag est up mais il ne voice pas. J'avoue ne pas savoir d'où ça vient et surtout ce bug est apparut d'un coup, j'espère le résoudre assez vite.

Note : n'utilisez surtout pas le module modauth qui n'est qu'une ébauche non testée !!
Youuhouu (bis) [06/11/2005]
Release de la version pre-1.4 de NewSyndrome.
Allez voir les rubriques download et changelog.
Youuhouu [06/11/2005]
Ca fait plus de deux mois que j'aurais du sortir la version 1.4 du bot mais j'avoue que je n'ai pas le temps.
Donc j'ai décidé de sortir aujourd'hui la version pre-1.4 que j'estime stable (aucun crash ni bug de cette version depuis un mois).
La prochaine fois je ferais des releases de sous versions ou des nouveaux modules (s'ils conviennent à l'ancien noyau).
Je relance ma requête : si quelqu'un veut développer des modules pour NS faîtes le ! Et si vous avez un problème vous pouvez toujours me mailer : thaeron@sagwin.org je vous répondrai surement dans la journée.
Si quelqu'un a de la doc sur l'inclusion d'un interpréteur TCL au sein d'un programme en C ça m'intéresse.

Copyleft Thaeron 2005 - 2007 - Site sous Licence GPL - Sagwin