Une nouvelle version pour le serveur XMPP en Lua

L'équipe de Prosody a annoncé la publication de la version 13.0.6 de son serveur XMPP (Jabber) écrit en Lua. Cette mise à jour, qualifiée de mineure, est destinée à la branche stable du logiciel. Elle intervient après la version 13.0.5 et intègre un ensemble de corrections de bugs découverts et résolus depuis cette dernière.

Corrections importantes et améliorations

Parmi les correctifs jugés importants, l'équipe mentionne la correction d'une fuite mémoire dans le module mod_cloud_notify, qui utilisait désormais un identifiant de stanza correct lors du nettoyage des entrées d'une table. De plus, le module mod_admin_shell ne renvoie plus le nouveau mot de passe en clair au client, ce qui constitue une amélioration de la sécurité.

Le module util.pubsub a également été corrigé : il retire désormais les identifiants JID (Jabber ID) qui n'ont pas la permission d'être abonnés lors d'un changement d'affiliation. Cette correction répond à un problème signalé sur le traqueur de bugs du projet.

Modifications mineures et corrections diverses

De nombreuses autres modifications, plus mineures, ont été apportées à divers modules. Par exemple, mod_account_activity ne génère plus d'erreur de traceback lorsqu'il est appelé sans options. La gestion des schémas JSON via util.jsonschema a été améliorée pour toujours accepter la valeur zéro pour les propriétés multipleOf.

Plusieurs corrections concernent la gestion des chemins et des paquets : util.paths corrige un problème d'ajout du chemin de l'installateur à package.cpath, et util.datamanager voit son fonctionnement d'affichage des magasins d'hôte rectifié. Le module util.crypto a été mis à jour pour utiliser l'API de buffer post-Lua 5.1, améliorant ainsi la sécurité mémoire.

D'autres modules, tels que l'util.dataforms, ne traitent plus les champs jid-multi invalides comme manquants, et l'util.crypto s'assure que le paramètre de signature est bien une chaîne de caractères. Le module util.poll rejette désormais les descripteurs de fichier non supportés lors de l'utilisation du backend select().

Corrections de logique et de stabilité

Plusieurs corrections de logique ont été apportées à util.pubsub, notamment pour garantir qu'un nœud supprimé reste en mémoire en cas d'échec de la suppression en base. Les modules util.ringbuffer et util.pposix ont également été corrigés : le premier pour un problème de position renvoyée par la méthode :find() pour des aiguilles de taille différente de 1, et le second pour un mauvais mappage de la priorité du syslog.

D'autres corrections touchent la gestion des signaux (util.signal) pour les systèmes non-Linux, la fermeture des descripteurs signalfd, et le module net.websocket qui ne génère plus d'erreur traceback si le serveur ne répond pas avec l'en-tête Connection. Le module net.server_event corrige une logique de drapeau incorrecte pour les handles watchfd.

Autres modules et téléchargement

Les corrections se poursuivent dans divers modules : mod_debug_stanzas ne nettoie les filtres actifs qu'en l'absence d'abonnés, mod_carbons corrige l'attribut 'to' des stanzas destinées au propre compte, net.stun corrige l'analyse des paquets STUN avec des attributs de longueur nulle, et mod_storage_memory résout une affectation incorrecte lors de l'appel à archive:set().

Le module net.http.parser inclut désormais le composant final dans la vérification de normalisation des chemins, mod_register_ibr utilise la méthode set_password() au lieu de create_user() pour les réinitialisations de mot de passe, et mod_vcard ignore les données photo invalides. Enfin, util.timer corrige un problème de reprogrammation incorrecte de certains types de minuteries.

Les instructions de téléchargement pour cette nouvelle version sont disponibles sur la page de téléchargement du site officiel de Prosody. L'équipe invite les utilisateurs rencontrant des problèmes à les signaler via les canaux de discussion du projet.

A propos de Prosody

Prosody est un serveur XMPP conçu pour être léger et flexible, avec un accent mis sur la facilité d'utilisation et l'extensibilité. Cette nouvelle version s'inscrit dans la continuité des efforts de l'équipe pour maintenir un logiciel stable et sécurisé.