NewSyndrome
Version : 1.6.8
Changelog
Changelog :


* Version 1.6.8

-Kernel-
-ajout d'une fonction dans l'API : bot_get_my_handle.
-bot_unload_module() utilise maintenant l'ident et non le nom du fichier du module.
-ajout d'une routine dans l'API : string_to_argu.
[Fixed] -correction du bug lors du déchargement d'un module, durant l'exécution du timeout du module qui le précéde en mémoire.
-ajout d'une fonction dans l'API : bot_update_info_from_conf (ticket : https://cryptofractal.ath.cx/projects/newsyndrome/ticket/126 )
-la chaîne "name" de la structure "module" et "mod_list" contient maintenant exactement le nom du fichier du module chargé, il n'y a plus d'ajout de l'extension.
-ajout du support natif du SSL via OpenSSL.
-ajout du support natif du SSL via GnuTLS.
-ajout du support IPv6.
[Fixed] -correction des flags de linking sous MacOS/Darwin.
-ajout du support du format %i dans les API : strf, bot_send_*f, log_module_infof.
-portage sur Haiku.
-passage de la vérification des file descriptors des modules au sein du noyau, permettant une énorme optimisation de la boucle principale.
-ajout d'une fonction dans l'API : bot_add_fd_handler.
-ajout d'une fonction dans l'API : bot_rm_fd.
-ajout d'une fonction dans l'API : bot_rm_fd_handler.
-ajout de vérifications et protections contre les changements brutaux du timestamp du système (ticket #118).
-les timeouts ne sont plus supprimés lors d'une déconnexion (ticket #119).
-ajout d'une routine dans l'API : strpndup.
-les chaînes passées dans bot_send_privmsg* et bot_send_notice* sont maintenant tronquées si elles contiennent des retours chariots ou de nouvelles lignes (ticket #159).
-les messages des chargements réussis des fonctions des modules ne sont plus affichés.
[Fixed] -amélioration de la connexion lorsqu'on a compilé avec --enable-ipv6 (merci à KoRn69).


-Modules-
-ajout d'un nouveau module : reversemd5 qui recherche le plaintext d'un hash MD5 sur gdataonline.com, md5hood.com, tdark-knight.com, isc.sans.org et passcracking.
-ajout d'un nouveau module : get_bot_ip qui permet de récupérer l'ip du bot.
-ajout d'un nouveau module : nioutaik qui renvoie une expression du site nioutaik.fr.
-ajout d'un nouveau module : bugmenot qui permet d'obtenir un login/password d'un site (via bugmenot.com).
-ajout d'un nouveau module : mod_update qui permet de mettre à jour des modules depuis les sources du SVN.

coda:
[Fixed] -correction d'un bug lors de la conversion d'un nombre à virgule avec 1 seul chiffre de partie entière ( http://leo01.sagwin.org/projects/newsyndrome/ticket/139 )
[Fixed] -traitement de l'argument "blanc" pour la couleur d'un des anneaux.
-ajout du suffixe G lorsque la puissance dépasse 1000M.

coding :
-ajout de la commande sha160 si le module est compilé en utilisant OpenSSL (par [Leo_01]).
-ajout de la commande sha224 si le module est compilé en utilisant OpenSSL (par [Leo_01]).
-ajout de la commande sha384 si le module est compilé en utilisant OpenSSL (par [Leo_01]).
-ajout de la commande sha512 si le module est compilé en utilisant OpenSSL (par [Leo_01]).
-ajout de la commande unixtimestamp pour connaître et convertir un unixtimestamp (par [Leo_01]).
-ajout de la commande rot13 (par [Leo_01]).
-changement des symboles des fonctions SHA1 et SHA256 internes pour éviter les collisions avec libcrypto (utilisée par openssl) ( http://leo01.sagwin.org/projects/newsyndrome/ticket/143 )
-ajout de la commande convtime qui permet de convertir un nombre de secondes/heures/minutes en Njours Xheures Yminutes Zsecondes ( http://leo01.sagwin.org/projects/newsyndrome/ticket/160 )
-ajout des options -prefix et -space à la commande ascii2hex (ticket #124 et #172).

dico :
[Fixed] -mise à niveau du parser (ticket #173).

extension :
[Fixed] -réécriture complète du parser, le module est de nouveau opérationnel (ticket #150).

google :
[Fixed] -mise à niveau du parser googlecalc (par [Leo_01]).
[Fixed] -suppression des balises restantes (ticket #149).
[Fixed] -suppression des infos ajoutées par google sur les faux-rhums (ticket #146).
[Fixed] -mise à niveau du parser google.
[Fixed] -mise à niveau du parser googlecalc (ticket #180).
[Fixed] -correction du nombre de résultats erratique lorsque google_max vaut 0 ou 1 (ticket #171) (bug soumis par Kitu).

hlmoi :
[Fixed] -correction d'un bug lorsqu'il n'y a pas de message.

lists :
-ajout de la possibilité d'afficher une ligne précise d'une liste.

livesearch :
-adaptation à bing le remplaçant de livesearch.
-le module est renommé bing.

parser :
-ajout du tableau raw_tab pointant sur les sous-chaînes de raw_txt (ticket : https://cryptofractal.ath.cx/projects/newsyndrome/ticket/114 )

pasting :
[Fixed] -non coloration des nombres héxadécimaux.
[Fixed] -bug dans la coloration des nombres typés (ex: 0L).
[Fixed] -non prise en compte de '"' ce qui colore tout le reste du code.
[Fixed] -non prise en compte de "\\" ce qui colore tout le reste du code.
[Fixed] -bug de coloration avec //****
-modification du CSS intégré aux pages pour éviter que firefox 3.5.x saute à la ligne tout seul.

say :
-ajout de la commande asay qui permet d'envoyer un message à tous les salons du bot (par [Leo_01]).

sysinfo :
-ajout compatibilité cpuinfo sur Haiku.

tele :
[Fixed] -ajout d'une chaîne manquante.

telesoir :
[Fixed] -bypass des faux résultats (journal, mini magazine) (ticket #169).
-ajout de la commande telesoir2 pour avoir le programme télé de la 2ème partie de soirée (par [Leo_01]).
-ajout de la commande tntsoir2 pour avoir le programme TNT de la 2ème partie de soirée (par [Leo_01]).
[Fixed] -remplacement de la balise "&" par & (ticket #178).

topic :
-si le nouveau topic commence par + il est ajouté à la fin de l'ancien (par [Leo_01]).

trad :
-adaptation du parser à la nouvelle page web de google trad.
-ajout de la commande !langue qui permet de détecter la langue d'une phrase ou d'un mot.
-amélioration de la prise en charge des accents.
-possibilité de traduire vers le japonais, chinois etc.

urbandico :
[Fixed] -correction du collage des mots lors de la suppression des retours à la ligne (ticket #140).
[Fixed] -Maj du parser (ticket #183).
-"optimisation" du nettoyage HTML.

videolink :
-petite MAJ du parser dailymotion.
-réécriture du parser youtube (x2).

wikipedia :
[Fixed] -mise à niveau du parser (ticket #167).

*_mysql :
[Fixed] -suppression des memory leaks lors du déchargement.

Composant requete :
-adapation à la vérification des sockets au sein du noyau du bot.



* Version 1.6.6

libtd_bdd :
[Fixed] -correction d'un bug critique entrainant une mauvaise lecture et une mauvaise écriture des bases.
[Fixed] -correction de la protection des sessions invalides.

td_browser :
[Fixed] -correction de quelques memory-leaks.



* Version 1.6.5

-Kernel-
-ajout d'une fonction dans l'API : bot_rm_timeout_handler.
-modification de la fonction de l'API bot_add_timeout_with_param_handler : si 0 est passé en taille l'adresse est directement recopiée.
-ajout d'un define dans l'API : bot_add_timeout_ptr_param_handler.
-ajout d'une fonction dans l'API : bot_send_action.
-ajout d'une fonction dans l'API : bot_send_actionf.
-ajout d'une fonction dans l'API : bot_get_time_online.
-ajout d'une fonction dans l'API : bot_rm_handler.
-les fonctions bot_add_timeout* renvoie maintenant le type (abstrait) ns_timeout_t.
-certaines dépendances avaient été oubliées pour win32.
[Fixed] -correction du bug concernant l'unload des modules (ticket : http://leo01.sagwin.org/projects/newsyndrome/ticket/54 )
-iconv est désactivable à la compilation par -DDISABLE_ICONV.
-utilisation d'iconv sous windows.
-arrêt propre du bot quand on ferme la console sous windows.
-ajout de deux moniteurs d'allocations dynamiques (activable à la compilation par -DENABLE_NS_MALLOC et (-DNS_MALLOC_DEV ou -DNS_MALLOC_PROD)).
-ajout des hooks permettant d'appeler des fonctions de modules lors d'une action particulière du bot.
-ajout d'une fonction dans l'API : bot_add_privmsg_hook.
-ajout d'une fonction dans l'API : bot_add_notice_hook.
-ajout d'une fonction dans l'API : bot_add_type_hook.
[Fixed] -correction des protections dans libtd_bdd qui bloquaient certaines commandes du module admin.
-libtd_bdd écriture des bases dans le même ordre que la lecture.
-ajout d'une protection empêchant un handler/hook de se supprimer lui-même.
-compilation et exécution sans problème sous Syllable.


-Modules-
-ajout d'un nouveau module : synonyme qui permet de rechercher les synonymes d'un mot.
-ajout d'un nouveau module : noforcing qui permet de quitter un channel blacklisté lors d'un JOIN automatique.
-ajout d'un nouveau module : allcompo qui permet comme compo de trouver la description et la datasheet d'un composant mais à partir d'une autre base de données.
-tous les modules utilisant le composant requete ont été adaptés à la nouvelle version du composant.

admin :
[Fixed] -correction de la commande chgadminpass.

bind_python :
[Fixed] -corrections mineures.

boggle :
-ajout de la possibilité de mettre la grille en majuscules.

botinfo :
[Fixed] -l'online n'est plus dépendant du chargement du module.

coding :
-toutes les commandes du modules gèrent maintenant les espaces consécutifs.
-ajout de la commande ascii2hex.
-ajout de la commande ascii2dec.
-ajout de la commande hex2ascii.

compo :
[Fixed] -tronquage de la description si elle est sur plusieurs lignes ou trop longue.

google :
[Fixed] -correction de l'invalid free (double free).
[Fixed] -mise à niveau du parser (par [Leo_01]).
[Fixed] -correction d'un bug qui permettait à un utilisateur de dépasser le nombre maxium de résultats à afficher.

hlmoi :
-ajout d'un ID correspond à un HL.
-ajout de la commande rmhl qui permet de supprimer des HL à partir des ID.
-ajout de la commande flushhl qui permet de supprimer tous les HL d'un channel.

joinpart :
-ajout de la possibilité d'indiquer un message lors de la commande PART.

livesearch :
-ajout de la possibilité de spécifier le nombre de résultats à afficher.

tele :
[Fixed] -réécriture quasi-complète du module.
-les programmes sont affichés tout en minuscule pour améliorer la lisibilité.

telesoir :
[Fixed] -MAJ de l'url, le module est de nouveau fonctionnel. (x2)
[Fixed] -MAJ de la requête, le module fonctionne de nouveau.

trad :
[Fixed] -remplacement de "<" et ">" qui pouvaient apparaître par '<' et '>'.
[Fixed] -remplacement du single quote par une apostrophe lorsqu'on traduit en français.

sysinfo :
[Fixed] -correction d'un leak de 1 octet sur la commande cpuinfo.
-compatibilité de la commande cpuinfo avec NetBSD.
-ajout de la commande cpuinfo pour windows.

uptime :
[Fixed] -l'online n'est plus dépendant du chargement du module.

urbandico :
[Fixed] -mise à jour du parser (par [Leo_01] & Thaeron).
[Fixed] -le parser accepte maintenant les définitions dont l'exemple est présent mais vide.

videolink :
[Fixed] -mise à jour du parser youtube.

Composant items2 :
[Fixed] -correction du free invalide d'un élément ajouté par additem_p.

Composant module_mysql :
[Fixed] -ajout d'un tronquage manquant [Leo_01].
[Fixed] -les channels sont maintenant insensible à la casse.
[Fixed] -suppression d'un free invalide.

Composant requete :
[Fixed] -correction du plantage lorsque la résolution DNS foire ( http://leo01.sagwin.org/projects/newsyndrome/ticket/87 )
-réécriture d'une partie du module pour le rendre ses API plus propre.



* Version 1.6.1

-Kernel-
[Fixed] -compatibilité de bot_get_info_from_conf avec l'ancienne API (avant 1.6) (le '=' est supprimé).
[Fixed] -correction de la détection du path du user ( https://leo01.sagwin.org/projects/newsyndrome/ticket/22 ).
[Fixed] -libtd_bdd : arrêt de la lecture des bases si elles sont corrompues.
[fixed] -correction d'un memory leak dans le mapping users/channels.


-Modules-
-ajout d'un petit module (inutile) : discours, qui génère un petit discours en parfaite langue de bois.

*_mysql :
[Fixed] -correction de la lecture de la conf (par [Leo_01], https://leo01.sagwin.org/projects/ns/ticket/20 ).

admin :
[Fixed] -compatibilité complète avec MacOS/Darwin.

auth :
[Fixed] -compatibilité complète avec MacOS/Darwin.

ban :
-réécriture du module (utilisation des routines à la place de sprintf etc).
-utilisation de bot_get_mask à la place du whois.

sysinfo :
[Fixed] -compatibilité de cpuinfo avec FreeBSD.

eval :
[Fixed] -correction du bug sur les multifactorielles (par DHX, https://leo01.sagwin.org/projects/newsyndrome/ticket/8 ).
[Fixed] -correction de factorielle 0 (par DHX, https://leo01.sagwin.org/projects/newsyndrome/ticket/7 ).
[Fixed] -compatibilité du module avec windoz (par DHX).
-possibilité de compiler en utilisant des (double) ou des (long double) (par DHX).
-amélioration du mode auto pour l'affichage du résultat (par DHX).

quote_mysql :
[Fixed] -correction d'un bug dans les résultats (par [Leo_01], https://leo01.sagwin.org/projects/newsyndrome/ticket/30 )
[Fixed] -correction d'un petit memory leak.
[Fixed] -correction d'un message incorrect dans le log.

ideal_mysql :
[Fixed] -compatibilité avec mysql < 4.1 ( https://leo01.sagwin.org/projects/newsyndrome/ticket/11 ).
[Fixed] -correction de plusieurs memory leaks.

telesoir :
[Fixed] -remise à niveau du module, le module est de nouveau fonctionnel.

trad :
[Fixed] -MAJ du parser ( https://leo01.sagwin.org/projects/newsyndrome/ticket/28 ) (bug soumis par Cks).

urbandico :
[Fixed] -correction d'un bug du parser ( https://leo01.sagwin.org/projects/ns/ticket/45 ) (bug soumis par sebbu).

videolink :
[Fixed] -correction d'une faille du parser.
[Fixed] -remise à niveau du parser youtube, le module est de nouveau fonctionnel.
[Fixed] -remise à niveau du parser dailymotion, le module est de nouveau fonctionnel.

wikipedia :
-amélioration du parser qui donne enfin un début d'article propre.



* Version 1.6

-Kernel-
[Fixed] -correction des nicks incorrects dans la userlist.
[Fixed] -le user est toujours disponible dans la userlist & chanlist lors d'un QUIT, il n'est effacé qu'aprés les handlers.
[Fixed] -l'état du bot est maintenant en MODULE durant l'exécution des timeouts des modules.
[Fixed] -les valeurs de retour de la fonction identify_mask correspondent maintenant à la doc (bug trouvé par [Leo_01]).
[Fixed] -correction d'un memory leak lorsqu'une commande n'a pas pu être chargée.
-portage complet du bot sous Solaris.
-le log est maintenant par défaut dans $HOME/.newsyndrome/ ou dans /tmp/.
-les modules sans identifiant sont maintenant déchargés.
-ajout de la possibilité de configurer un path pour tous les modules (module_path= dans la conf).
-recodage de la lecture du fichier de config : on peut maintenant mettre des espaces avant/après le mot clef le = etc.
-suppression du caractère '=' dans bot_get_info_from_conf() (il faut marquer le mot clef sans le =).
-le caractère de commentaire dans le fichier de config est maintenant fixé c'est '%'.
-les messages du kernel sont maintenant disponibles (automatiquement) en anglais (si LANG=en_US) (désactivé par défaut).
-les timeouts en mémoire sont supprimés lors d'une déconnexion.
-les messages d'erreurs (de bind et socket) sont plus détaillés.
-ajout de l'option de lancement "-p filename" qui permet d'écrire le pid du bot dans un fichier.
-relecture de la conf lors de la réception du signal système SIGHUP.
-envoi du signal REHASH aux modules lors de la réception du signal système SIGHUP.
-possibilité de changer l'user et le group du bot au lancement via --user et --group.
-ajout d'une fonction dans l'API : bot_rm_cmd_handler.
-ajout d'une fonction dans l'API : bot_rm_type_handler.
-ajout d'une fonction dans l'API : is_on_chan.
-ajout d'une fonction dans l'API : bot_set_handler_data.
-ajout d'une fonction dans l'API : bot_get_handler_data.
-ajout dans libtd_bdd de l'API : td_select_subbase_r.
-ajout dans libtd_bdd de l'API : td_select_row_r.


-Modules-
Ajout d'un nouveau module : livesearch pour faire des recherches sur le moteur de live search.
Ajout d'un nouveau module : urbandico pour chercher la définition d'un mot sur urbandictionnay (par [Leo_01]).
Ajout d'un nouveau module : sondes qui permet de connaître des infos sur la machine (température, tensions, etc) (par aerith).
Ajout d'un nouveau module : lists qui permet de sortir des lignes au hasard de listes.
Ajout d'un nouveau module : wikipedia qui permet de sortir le début d'un article wikipedia (fr), (la sortie est en UTF8).
Ajout d'un nouveau module : bind_python qui permet de faire des scripts en python pour le bot (par [Leo_01]) (EXPERIMENTAL).


Admin :
[Fixed] -un admin ne peut plus être authentifié sur plusieurs accès en même temps.

Auth :
[Fixed] -un user ne peut plus être authentifié sur plusieurs accès d'un même channel en même temps.
[Fixed] -protections au cas où le module admin serait déchargé.

Bruteforce :
[Fixed] -suppression du fichier temporaire avant le lancement du bruteforce pour éviter un bloquage du pclose durant le timeout.

Coding :
-ajout du hash SHA-1 : commande sha1.
-ajout du hash SHA-256 : commande sha256.
-ajout de l'encodage en base64 : commande encode64.
-ajout du décodage de la base64 : commande decode64.
-ajout de la distance de levenshtein : commande levenshtein.

Dico :
[Fixed] -correction mineure en cas de problème.
[Fixed] -changement de l'url demandée, correction du parser pour remettre le module fonctionnel.

Eval :
[Fixed] -le module est maintenant correctement linké sous openbsd (et fonctionne).

Extension :
[Fixed] -corrections mineures en cas de problème.

Google :
[Fixed] -correction du parser (par [Leo_01]).
[Fixed] -corrections mineures en cas de problème.
-ajout de la fonction googlecalc pour utiliser google comme une calculatrice (par [Leo_01]).

Log :
-réécriture d'une partie du module.
-ajout des requêtes NICK dans les logs.
-ajout des requêtes QUIT dans les logs.
-date complète sur l'ouverture des logs.
[Fixed] -les commandes raw, addadmin et chgadminpass sont maintenant cachées.

Mot_proche :
[Fixed] -le module ne fait plus la recherche quand le mot dépasse 15 caractères.

Parser :
-ajout dans la structure msg du membre raw_txt qui permet d'avoir le contenu du tableau argu directement en chaîne sans passer par argu_to_string().
-optimisation du parser (moins d'appels à realloc).
[Fixed] -le message de la requête QUIT n'est plus tronqué.

Quote_mysql :
-randomisation des résultats quand le nombre résultats dépasse le nombre affichable (par [Leo_01], idée : aerith).
[Fixed] -compatibilité avec mysql < 4.1.

Sysinfo :
-cpuinfo affiche maintenant le modèle sur Solaris (testé sur Solaris 9).
[Fixed] -correction du nombre de cpu affichés sous *BSD (un seul même quand il y en avait plusieurs).

Telesoir :
[Fixed] -changement de l'url du serveur.

Urbandico :
[Fixed] -correction d'un bug du parser (par [Leo_01]).
-ajout de la commande rand_ud qui permet de sortir un mot au hasard (par [Leo_01]).

Url_mysql :
-randomisation des résultats quand le nombre résultats dépasse le nombre affichable (par [Leo_01], idée : aerith).
[Fixed] -compatibilité avec mysql < 4.1.

Composant items2 :
-ajout de la fonction additem_p pour passer un pointeur sans recopie (par [Leo_01]).
[Fixed] -delitem supprime le premier élément qui correspond et non plus le dernier (bug trouvé par [Leo_01]).



* Version 1.5

[Fixed] -correction de la déconnexion du bot lors du passage à l'heure d'été<=>d'hiver
[Fixed] -correction du déclenchement erratique des timeouts lors du passage à l'heure d'été<=>d'hiver
-portage complet du bot pour OpenBSD.
-portage complet du bot pour Darwin (MacOS).
-portage complet du bot pour FreeBSD.
-portage complet du bot pour les architectures 64 bits.
-ajout du mask dans le mapping des users en mémoire.
-ajout d'une fonction dans l'API : bot_get_mask (permettant d'avoir le mask d'un user présent sur au moins un channel du bot).
-ajout d'une fonction dans l'API : multi_str_replace.
-ajout d'une fonction dans l'API : multi_str_suppr.
-ajout d'une fonction dans l'API : bot_load_module_cmd.
-ajout d'une fonction dans l'API : bot_unload_module_cmd.
-amélioration de la proctection anti-segfault (distinction des états du bot : kernel, module, unload d'un module).
-ajout du mask des users dans le mapping.
[Fixed] -correction d'un bug dans l'écriture des bases de la libtd_bdd.
-ajout d'une fonction td_print_base dans la lib td_bdd.
-modification du script de démarrage afin de changer d'user s'il est lancé en root.
-ajout de la conversion de charset configurable par charset_to= et charset_from= dans le fichier de configuration.
-ajout de la prise en charge de l'authentification au NickServ (nickserv= dans la conf) avant l'entrée dans les salons.
-ajout du signal REINIT qui est envoyé à chaque reconnexion.
-ajout de la prise en charge de l'envoi d'un password à la connexion (server_pass= dans la conf) avant l'envoi du pseudo.


-Modules-
Ajout d'un nouveau module : quote_mysql (par [Leo_01]) permettant d'enregistrer vos quotes dans une db mysql via le channel IRC.
Ajout d'un nouveau module : friendbot.
Ajout d'un nouveau module : boggle qui est la version IRC du jeu de lettres.
Ajout d'un nouveau module : videolink permettant de trouver le lien pour télécharger des vidéos de youtube et dailymotion.
Ajout d'un nouveau module : coda qui permet d'avoir la valeur ohmique d'une résistance par son code couleur et inversement.
Ajout d'un nouveau module : nicklen qui permet de virer automatiquement ceux qui ont des nicks trop longs (limite paramétrable).
Ajout d'un nouveau module : hlmoi qui permet de se faire appeler par le bot à une heure précise ou au bout d'un certain temps.
Ajout d'un nouveau module : mot_proche qui permet de trouver les 5 mots se rapprochant le plus de celui que l'on demande.
Ajout d'un nouveau module : last5 (par [Leo_01]) pour afficher les 5 dernières phrases des channels.
Suppression d'un module : le module tele2 est supprimé (page web totalement modifiée et impossible à parser).


Admin :
-ajout de la commande : loadcmd pour activer une commande d'un module.
-ajout de la commande : unloadcmd pour désactiver une commande d'un module.
-ajout de la commande : addadmin pour ajouter un accès d'administrateur du bot.
-ajout de la commande : deladmin pour supprimer un accès d'administrateur du bot.
-ajout de la commande : suspendadmin pour susprendre un accès d'administrateur du bot.
-ajout de la commande : unsuspendadmin pour remettre actif un accès d'administrateur du bot.
-ajout de la commande : chgadminpass pour changer le mot de passe de son accès d'administrateur du bot.

Auth :
[Fixed] -la chanmap interne du module est refaite à chaque reconnexion.

Auto :
[Fixed] -correction du bug qui empéchait le bot d'utiliser les auto* lors d'une reconnexion sans requete auth ou auto* (voir module auth).

Bruteforce :
-bruteforce de toutes les ips (plus lent) et affiche toutes les ips décryptées qui correspondent.

Dico :
[Fixed] -correction du module qui affichait des balises HTML depuis peu.

Eval :
[Fixed] -compatibilité avec FreeBSD / OpenBSD et windoz.

Google :
[Fixed] -remplacement de l'unicode par les vrais caractères.
[Fixed] -correction du parser.

Modes_chans :
[Fixed] -correction de la notice channel sur une requête mode sans droit.

Raw :
[Fixed] -correction de l'ident du module.

Sysinfo :
-cpuinfo maintenant compatible avec MacOS / FreeBSD / OpenBSD.

Tele :
-module entièrement recodé utilisant programme-television.org.
-ajout du programme de la TNT.

Telesoir :
-module entièrement recodé, utilisant un flux rss (de programme-television.org).
-ajout du programme de la TNT.
-suppression du programme de toute la semaine, seule la soirée qui arrive est disponible.

Trad :
[Fixed] -remplacement de l'unicode par les vrais caractères.
[Fixed] -adaptation au nouveau formatage de la page web.

Url_mysql :
-réécriture du module permettant de gérer plusieurs tables (doc disponible sur http://euclide.euclide.free.fr/wikini/wakka.php?wiki=UrlMysql ).
-ajout de la commande randomurl (par [Leo_01]).
-ajout de la commande urlurl (par [Leo_01]).
-ajout de la commande lasturl.

Composant items2 :
[Fixed] -ajout de vérifications avant d'exécuter clean_items dans le composant items2.
[Fixed] -correction de la fonction delitemlist.
[Fixed] -correction de l'attribution des id de liste.
-ajout d'une fonction pour trier (sur le modèle de qsort).
-ajout d'une fonction pour aller au premier item.
-ajout d'une fonction pour aller à l'item suivant.

Composant requête :
-simplification de l'API.



* Version 1.4 (finale):

[Fixed] -correction d'un memory leak sur libtd_bdd.
-modification du script de lancement, on peut donner des arguments au script qui seront pris en compte par le bot.
-ajout du pid du bot au début du log.
-modification du paramètre pour indiquer le fichier de conf (--conf file).
-ajout du paramètre pour indiquer le fichier de log (--log file).
-ajout du paramètre pour daemonizer le bot (--daemon ou -d), le flux de sortie est redirigé vers /dev/null.
-mise à jour automatique de la liste des channels selon les requêtes JOIN/PART/KICK.
[Fixed] -correction du bug des doublons dans la liste des channels.
[Fixed] -correction du problème qui empéchait le bot de joindre les channels sur certains serveurs.
-ajout dans le log des erreurs de pseudos.
-ajout dans le log des erreurs de salons.
-ajout d'une fonction dans l'API : strf.
-ajout d'une fonction dans l'API : log_module_infof.
-ajout d'une fonction dans l'API : bot_send_privmsgf.
-ajout d'une fonction dans l'API : bot_send_noticef.
-ajout d'une fonction dans l'API : bot_send_rawf.
-ajout d'une fonction dans l'API : str_suppr.
-ajout d'une fonction dans l'API : free_identity (permettant de free les structures de type identity).
-ajout d'une fonction dans l'API : bot_get_userlist.
-ajout d'une fonction dans l'API : bot_get_chanlist.
[Fixed] -correction d'un memory leak.
[Fixed] -correction de la proctection contre les doublons de modules.
-portage vers *BSD completé (testé sous FreeBSD) (merci à DbD- pour le serveur sous FreeBSD).
-ajout du mapping des users et channels en mémoire.
[Fixed] -correction du makefile (warnings DT_TEXTREL).


-Modules-
Ajout d'un nouveau module : check_version permettant de connaître la dernière version du kernel et des modules.
Ajout d'un nouveau module : dico permettant de rechercher la définition d'un mot (par [Leo01]).
Ajout d'un nouveau module : telesoir permettant d'accéder au programme télé de chaque soir (ou un en particulier) pour toutes les chaînes (ou une en particulier) (par [Leo01]).
Ajout d'un nouveau module : le module télé étant parfois défaillant, un autre module tele (tele2) utilisant un autre serveur (celui de voila) est ajouté.
Ajout d'un nouveau module : ext permettant de connaître quel programme est lié à quel type d'extension de fichiers.
Ajout d'un nouveau module : url_mysql permettant de gérer des listes d'urls dans une base mysql.
[Fixed] -correction d'un memory leak dans le composant requete.

Admin :
[Fixed] -correction de deux memories leaks.
[Fixed] -correction de la gestion en mémoire des ax.

Alist :
[Fixed] -correction d'un memory leak.

Auth :
[Fixed] -correction d'un memory leak.
[Fixed] -correction de la gestion en mémoire des ax.
[Fixed] -correction de la suppression des fonctions linkées.
[Fixed] -les levels négatifs ne sont plus possibles.
-ajout de la commande deauth.

Bruteforce :
-le fichier temporaire est désormais placé dans /tmp/ (unix seulement).

Coding :
-suppression de la partie d'encodage64 (résultat faux et risque de plantage).
-ajout du crc16.

Google :
-configuration possible du nombre maximum de recherches (google_max= dans le fichier de conf).
-réécriture complète du parser.

Kick :
[Fixed] -correction de la formation des requêtes.
-ajout de la commande kickall.

Modauth :
-ajout de la commande suspend pour bloquer un ax.
-ajout de la commande unsuspend pour débloquer un ax.
-ajout de la commande deluser pour supprimer un ax.

Pasting :
[Fixed] -correction du dictionnaire de keywords (ifndef apparaissait en ifdef).

Sysinfo :
-le fichier temporaire est désormais placé dans /tmp/ (unix seulement).
-ajout de la fonction cpuinfo spécifique à *BSD.

Tele :
[Fixed] -correction des bugs d'affichages : décalages (module entièrement recodé).

Topic :
[Fixed] -correction de la formation des requêtes.

Trad :
[Fixed] -correction du parser.

Users_modes :
[Fixed] -correction de la formation des requêtes.
-ajout des commandes voiceall/devoiceall.
-ajout des commandes opall/deopall.
-ajout des commandes hopall/dehopall.



* Version pre-1.4 r4 :

[Fixed] -correction de l'overflow écrasant le nom du fichier de configuration.
[Fixed] -correction d'un bug potentiel sur le path du répertoire du user.
-modification du script de lancement (possibilité de lancer le bot de n'importe où) (par Bultom).

-Modules-

Modauth :
-correction du module, maintenant utilisable (seulement les fonctions chgpass et chgmask).



* Version pre-1.4 r3 :

[Fixed] -plusieurs bugs corrigés sur libtd_bdd.
-ajout d'un browser (en texte) pour explorer/modifier les bases de libtd_bdd (il faut relancer le bot après avoir modifié à la main les fichiers !).


* Version pre-1.4.r2 :

-Modules-

Auth :
[Fixed] -correction du bug qui empechait le bot d'utiliser les modes enregistrés quand personne n'était authentifié.

Trad :
[Fixed] -ajout d'une courte chaine avant la traduction pour éviter de passer des commandes lorsque le bot a des ax sur d'autres bots op.



* Version pre-1.4 :

-Kernel-
-anti freeze (execution > 3s par défaut) des modules.
-anti segmentation fault des modules.
-anti division par zéro des modules.
-ajout de fonctions pour activer/désactiver la protection anti freeze indépendement pour chaque module.
-configuration possible de l'anti freeze (via le fichier de config) : antifreeze_default et antifreeze_delay.
-ajout de timeout avec paramètre (le paramètre sera passé à la fonction chargée par le timeout).
-configuration possible du délai d'inactivité du serveur (entrainant la reconnexion, via le fichier de config) : reco_delay.
[Fixed] -correction de fuites mémoires lors de l'unload d'un module (utilisant des timeouts).
-ajout de macros pour les timeouts avec paramètre (pour simplifier l'appel à la fonction d'ajout de timeouts).
-bot_send_privmsg et bot_send_notice permettent d'envoyer le message en plusieurs requêtes (si la taille dépasse 400 caractères).
-horodatage des messages du log du bot.
[Fixed] -correction de plusieurs memory leaks.
-les messages d'erreurs relatifs à la connexion ne sont plus écrits en boucle.
-les déchargements des timeouts ne sont plus loggés.
-les chargements des timeouts ne sont plus loggés.
-ajout de la librairie de base de données td_bdd.
-recherche du fichier de configuration dans ~/.newsyndrome/ s'il n'est pas dans le répertoire du bot.
-le path des bases de la bdd est configurable par bases= dans le fichier de configuration.
-vérification que le user n'est pas root.

-Modules-
-ajout d'un nouveau module : protect (instable) (permet de protèger un salon contre des attaques de bots).
-ajout d'un nouveau module : rejoin (rejoins automatiquement les salons après un kick).
-ajout d'un nouveau module : raw (permet à un admin de faire envoyer des raws au server par le bot).
-ajout d'un nouveau module : carac (envoie le caractère de commande en notice).
-ajout d'un code générique permettant l'utilisation et la gestion simple des sockets non bloquantes vers un site web (requete.c requete.h).
-changement de tous les idents des modules vers le nom usuel.
-modification du module htmllog qui devient botinfo.

Admin :
-utilisation de la lib td_bdd à la place des fichiers maisons.
-création d'un compte admin (owner) lors du premier lancement du bot avec pass aléatoire.
-changement du nick du bot en mémoire lors d'une réception d'une requete NICK.

Auth :
[Fixed] -correction de fuites mémoires lors de l'unload du module.
-utilisation de la lib td_bdd à la place des fichiers maisons.
-inclusion de admin_is_admin dans auth_is_auth, le level renvoyé est le plus élevé.
-limitation du level.
-limite du minimum de lettres du pass.
-ajout de la fonction add_chan qui enregistre un channel, l'access du owner et joint le channel.
-ajout d'une fonction partagée : auth_get_sid pour récuperer l'id de la session du module auth.

Auto :
-les différents modes auto sont stockés dans la bdd.

Botinfo :
-meilleure présentation de la page web.
-ajout des plusieurs informations (antifreeze, online, configuration...).

Bruteforce :
[Fixed] -correction de l'incompatibilité du module sous windoz.
-optimisation de l'algo de decrypt_ip.
-énorme optimisation de l'algo ainsi que du crc32 employé ([Leo01]).
-ajout de domaines dans decrypt_ip.
-correction des segments ip à bruteforcer.

Coding :
-ajout de la commande base pour convertir de la base 2 à 36 vers la base 2 à 36.

Contrepeterie :
[Fixed] -correction d'un memory leak.

Google :
[Fixed] -bloquage du module lors d'un problème de connexion.
[Fixed] -Les résultats en PDF n'affichent plus des bouts de codes HTML.

Info :
-recherche des modules par l'ident et non plus par le nom du fichier.

Log :
-les informations des commandes adduser chgpass sont maintenant cachées.
-les informations de la commande addchan sont cachées.
[Fixed] -suppression du message FIN du log après un kick.
[Fixed] -correction d'un memory leak.

Modes_chans :
-ajout de la fonction defmode pour définir les modes du salon qui sont stockés dans la bdd.
-ajout de la fonction rdefmode pour remettre les modes enregistrés.

Tele :
[Fixed] -bloquage du module lors d'un problème de connexion.

Topic :
-ajout de la fonction deftopic pour définir le topic du salon qui est stocké dans la bdd.
-ajout de la fonction rdeftopic pour remettre le topic enregistré.

Trad :
[Fixed] -bloquage du module lors d'un problème de connexion.

Uptime :
-rajout de la fonction online.



* Version 1.3 :

-Kernel-
[Fixed] -bug des ips dédiées: impossible de rebind le socket lors d'une reconnexion.
[Fixed] -bug des ips dédiées: le port n'était pas aléatoire et libre lors du bind.
[Fixed] -arret imprévu du bot après de nombreux échecs de connexion.
[Fixed] -faille de sécurité sous win32 (snprintf non tronqué).
[Fixed] -correction des bugs la fonction cmpstar.
-ajout de la fonction str_replace dans le kernel.
-arrêt propre du bot par signal SIGINT (Ctrl + C).


-Modules-

-ajout d'un nouveau module : info.

Tous :
[Fixed] -faille de sécurité sous win32 (snprintf non tronqué).

Pasting :
[Fixed] -bug de coloration pour les specs dans les commentaires.

Coding :
[Fixed] -plantage de la fonction urlencode sous win32.

Trad :
-nouveau module pour la traduction des phrases.
[Fixed] -plantage du module sous win32.

Google :
-prise en compte du caractère de commande.

Sysinfo :
-prise en compte du caractère de commande.

Coding :
-fonctions accessibles en pv et plus seulement sur le général.
-ajout des fonctions d'encodage et décodage en base64.

Log :
-modification du format de log pour une meilleure compatiblité avec pisg.

Conseil :
-modification des fonctions pour "dédicasser" des conseils.
-modification des fonctions pour envoyer des conseils sur des channels par pv.

Pasting :
-suppression du fichier temporaire après coloration.
Sagwin
Miroir SVN [03/07/2011]
Le serveur hébergeant le dépôt SVN est down en ce moment. Heureusement un miroir est en place permettant de checkout : svn co http://svn.sagwin.org/newsyndrome/trunk/ newsyndrome

N'hésitez pas à nous soumettre vos idées, suggestions, ou vos souhaits via les tickets (quand le serveur sera de nouveau up) ou par mail ou sur l'IRC car la période de développement instensif devrait bientôt commencer.
1.6.8 RELEASED [07/11/2010]
Voici une release intermédiaire afin d'éprouver les changements qu'il y a eu dans le bot et de mettre à jour les modules web (dico, urbandico, tele, telesoir etc). Rendez-vous section téléchargement pour la récupèrer.
Maintenant NewSyndrome supporte la connexion à l'IRCd en IPv6 (option --enable-ipv6 de configure), ainsi que le SSL sans vérifications (option --enable-ssl de configure). Beaucoup d'améliorations (consommation de ressources CPU diminuée de 97%), corrections de bugs et en plus de nouveaux modules sont présents dont bugmenot, nioutaik, mod_update (pour mettre à jour les autres modules), reversemd5 et bot_get_ip. Je vous invite à jeter un oeil sur le changelog et sur la documentation des modules.

En cas de problèmes : ticket sur TRAC | IRC | mail.
Si vous utilisez NewSyndrome ça serait sympa de vous ajouter sur la NSList.
NS logo redesigned [27/10/2010]
Vous avez sûrement remarqué que le logo et la bannière de NewSyndrome ont changé (contrairement au reste du site qui est toujours aussi moche) ! Eh bien on doit ces merveilles à lastrodamo qui a eu la gentillesse et le talent de créer ces robots 3D pour NewSyndrome. Allez faire un petit tour sur son site qui contient d'autres de ses créations : http://www.3dminfographie.com/
<joke>Pour chaque visite sur son site un module de plus sera codé.</joke>

Encore merci lastrodamo !
NS is not dead [21/10/2010]
Non NewSyndrome n'est pas mort ! Bien que la release 1.7 ait plus d'un an de retard, les évolutions et les modifications se font régulièrement.
J'invite tous les utilisateurs à passer à la version courante des sources du dépôt SVN. Toutes les modifications apportées dans le trunk sont stables et fonctionnelles. Vous pouvez télécharger les snapshots ici.

Depuis plus d'un mois une grosse amélioration du noyau du bot est testée, elle permet de diminuer de plus de 97% les ressources système consommées !!
Le système de mise à jour des modules directement via l'IRC est en cours de test et pour l'instant fonctionne parfaitement.
Je remercie Blopdak qui a travaillé sur un bind permettant de charger des modules écrits en Java dans NS.

Si vous codez des modules n'hésitez pas à me les envoyer et n'hésitez pas à me contacter (par IRC, TRAC ou mail) si vous avez une question ou un problème.
1.6.6 RELEASED [15/03/2009]
Le bug est corrigé ! Ce genre de mésaventure ne devrait plus se reproduire puisque nous avons prévu de coder des modules de non-régression et d'auto test (pour la version 1.7).

Allez section téléchargement pour la récupèrer.

Si vous trouvez des bugs (ou des failles) n'hésitez pas à laisser un ticket sur le TRAC, ou m'envoyer un mail ou via l'IRC.

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