Mes activités libres en février 2015

Mon rapport mensuel couvre une grande partie de mes contributions au logiciel libre. Je l’écris pour mes donateurs (merci à eux !) mais aussi pour la communauté Debian au sens large parce que cela peut donner des idées aux nouveaux venus et que c’est également un des moyens les plus effectifs de trouver des volontaires pour travailler sur les projets qui me tiennent à cœur.

Debian LTS

Ce mois-ci ce sont 14,5 heures de travail sur Debian LTS qui ont été subventionnées. J’ai principalement travaillé au tri des vulnérabilités CVE (41 commits vers le suiveur de sécurité) et aux problèmes d’organisation.

Un mainteneur s’est plaint de ne pas avoir été gardé dans la boucle d’une mise à jour LTS de son paquet. Après discussion, j’ai décidé de changer la façon dont je réalisais le tri des CVE. A partir de maintenant, chaque fois que j’ajoute un paquet à notre liste de paquets nécessitant une mise à jour, j’envoie également un email à son mainteneur, lui offrant ainsi l’opportunité de s’impliquer.

Afin que cela soit supportable en termes de charge, j’ai écrit un petit script qui génère un email à partir d’un modèle. Et pour lancer ce processus, j’ai envoyé un email à tous les mainteneurs de tous les paquets qui étaient déjà dans notre pile de paquets à mettre à jour.

J’ai demandé à ce qu’un export au format JSON des données du suiveur de sécurité soit disponible, de sorte à améliorer les emails générés (cf. les discussions autour du n°761859). Dans l’intervalle, Holger a travaillé dessus et, après quelques itérations, nous avons convergé vers un format de sortie à la fois très utile pour mes besoins en termes de tri CVE, mais également pour le suiveur de paquets, car rendant possible l’affichage de la liste des vulnérabilités de sécurité affectant chaque version (cf. le n°761730).

Last but not least, je ne souhaite pas être le seul à effectuer ce tri des vulnérabilités CVE pour nos versions LTS, en conséquence de quoi j’ai documenté ce processus sur notre page wiki.

Note : j’ai parrainé une mise à jour de e2fsprogs préparée par Nguyen Cong, et j’ai envoyé la DLA pour la mise à jour de la version de samba placée sous embargo, qui a été préparée par Ivo de Decker (merci à tous les deux !).

Tryton

Comme le mois dernier, j’ai passé un temps certain sur Tryton, corrigeant certains bogues qui m’affectaient et améliorant la définition du plan comptable français, ce afin que les achats et ventes au sein de l’Union Européenne soient correctement gérés. Voici quelques liens pour plus de détails :

Debian

J’ai un peu travaillé sur Distro Tracker, où j’ai corrigé le n°777453 (réinitialisation non fonctionnelle du mot de passe car l’email généré utilisait une adresse email « From » invalide) ainsi que le n°779247 (les éléments d’action reproductible des compilations obsolètes n’étaient pas supprimés). J’ai également commencé à restructurer la gestion des emails dans distro-tracker (cf. n°754913), mais ce n’est pas encore publié.

Bien que je n’ai aucune intention d’arrêter ma contribution envers Debian (cela fait partie de mon travail quotidien !), j’ai réduit mon implication – pour ce qui n’est pas lié à mon travail – en reconnaissant officiellement que je n’étais plus en mesure d’assurer correctement certaines de mes responsabilités, et que je suivais trop de listes de diffusions ou de flux RSS. Les changements les plus notables sont mon retrait de la maintenance de dpkg, de developers-reference, quilt, sql-ledger, et de quelques modules perl/python.

Divers

Logiciel de vote Une des raisons de la réduction de ma contribution envers Debian vient de mon implication croissante dans Nouvelle Donne (un parti politique français), et plus particulièrement dans la gestion de son infrastructure numérique (qui tourne actuellement sous Ubuntu, doh !). Corollaire du point précédent, je cherchais un logiciel libre capable de gérer de manière sécurisée les votes et élections (et, si possible, qui adhère au principe de la démocratie liquide). Aucune solution n’est parfaite et il n’y a pas de vainqueur qui émerge clairement.

Ceci étant, j’ai commencé à suivre l’évolution de AgoraVoting, car il semble profiter d’une bonne dynamique et dispose de fonctionnalités intéressantes (il supporte dès à présent les votes par classement des choix, de bons mécanismes de chiffrement, et a été utilisé dans le contexte de Podemos, en Espagne, pour des élections impliquant un nombre important de votants). Il a toutefois des progrès à faire pour obtenir le statut d’un projet réellement international et supporté par la communauté.

Bogue GDM Du fait de mon travail sur Kali, j’ai créé ce rapport concernant GDM (ce dernier a été rapidement corrigé en amont, il est toujours ouvert dans Debian) ainsi que celui-là concernant accountsservice, pour qu’il soit possible de définir la session graphique par défaut.

Formule Dirvish pour Salt J’ai contribué une autre formule pour la gestion des sauvegardes avec dirvish.

Merci

Rendez-vous au mois prochain pour un nouveau résumé de mes activités !

Ceci est une traduction de mon article My Free Software Activities in February 2015 contribuée par Weierstrass01.

Mes activités libres en janvier 2015

Mon rapport mensuel couvre une grande partie de mes contributions au logiciel libre. Je l’écris pour mes donateurs (merci à eux !) mais aussi pour la communauté Debian au sens large parce que cela peut donner des idées aux nouveaux venus et que c’est également un des moyens les plus effectifs de trouver des volontaires pour travailler sur les projets qui me tiennent à cœur.

Debian LTS

Ce mois-ci ce sont 12 heures de travail sur Debian LTS qui ont été subventionnées. Voici le résumé des tâches qui m’ont occupé :

  • Tri de vulnérabilités CVE. J’ai poussé 24 commits vers le suiveur de sécurité. J’ai passé plus de temps que d’habitude à cette tâche ce mois-ci (cf. ci-dessous);
  • J’ai publié la DLA-143-1 concernant python-django (corrigeant 3 vulnérabilités CVE). Alors que j’espérais que la mise à jour soit rapide, mes tests ont révélé que, bien que les patchs fussent bien appliqués en majorité, ils ne fonctionnaient pas comme attendu. J’ai du coup passé 4 heures à rétroporter proprement les correctifs et à effectuer les tests correspondants (afin de m’assurer que les patchs fonctionnaient enfin correctement).

Je souhaite expliciter ici un peu plus avant deux cas auxquels j’ai été confronté dans mon tri des vulnérabilités CVE, et qui ont chacun nécessité pas mal de temps d’investigation. Si la description a posteriori que je vais en faire semble logique, simple et directe, il en a été tout autrement pour en venir à bout, ce qui a impliqué beaucoup d’itérations et de collectes de données que je ne mentionnerai pas ici.

Pour commencer, j’étais en train d’investiguer la vulnérabilité CVE-2012-6685 concernant libnokogiri-ruby, et la discussion du bogue upstream a révélé que libxml2 pouvait également être lié au problème. En utilisant les cas de tests soumis, j’ai confirmé que libxml2 était également affecté par un problème qui lui était propre… puis j’ai commencé à analyser l’historique CVE de libxml2 afin de trouver si un numéro CVE lui avait été affecté. Ce qui était le cas, la n°CVE-2014-0191 (bien que la description n’en souffle mot). Ceci étant, cette vulnérabilité était marquée comme corrigée dans toutes les versions. Comment donc ? Il s’est avéré que le correctif fourni par l’amont pour cette CVE était juste le complément d’un autre commit qui fut intégré beaucoup plus tôt (et qui fut utilisé comme base du commit, comme le montre les copier/coller des commentaires). Lorsque l’équipe de sécurité a intégré ce patch dans Wheezy/Squeeze, ils n’étaient probablement pas au courant que le correctif complet requérait également l’inclusion d’autre chose. En conséquence, j’ai réouvert la vulnérabilité CVE-2014-0191 sur notre suiveur (le commit correspondant).

Le second cas problématique fut pound. Thijs Kinkhorst a ajouté des données relatives à pound en relation avec de nombreux soucis SSL. Ce qui fit apparaître pound sur ma liste des nouveaux paquets vulnérables dans Squeeze, car la vulnérabilité CVE-2009-3555 était marquée comme corrigée dans la version 2.6-2, tandis que Squeeze ne dispose que de la version 2.5-1. Il n’y avait aucune référence à un bogue dans le suiveur de sécurité et l’historique des modifications Debian pour cette version ne mentionnait qu’un « patch anti_beast », qui est encore une autre vulnérabilité (CVE-2011-3389). Je devais creuser encore un peu plus profondément…et je découvris in fine que le patch précédent avait également à voir avec la CVE qui m’intéressait. Mais Brian May avait récemment remonté dans le bogue n°765649 que ce paquet était toujours vulnérable à cette faille ! J’ai essayé de comprendre où ce patch était déficient et j’ai remonté mes trouvailles dans le ticket. J’ai mis à jour les données du suiveur avec mes connaissances nouvellement acquises (commit 31751 et 31752).

Tryton

En ce qui me concerne, janvier est toujours le mois où j’essaye de clôturer les comptes de Freexian. Cette année ne fait pas exception à la règle, bien que ce soit la première fois où j’accomplis cette tâche avec Tryton. J’ai en premier lieu mis à niveau vers la version 3.4 afin de profiter de la dernière version de Tryton.

Malgré cela, j’ai découvert de multiples problèmes lors de la clôture…et comme je ne veux pas être confronté aux mêmes problèmes l’année prochaine, je les ai remontés et ai préparé des correctifs pour ceux concernant le plan comptable français :

  • n°4464: l’export CSV des vues hiérarchiques est inutilisable;
  • n°4466: ajout des propriétés de report manquantes des comptes;
  • n°4468: suppression de propriétés abusives de réconciliation sur certains comptes;
  • n°4469: conversion du compte 6354 en un vrai compte;
  • n°4479: la balance des comptes non reportables ne marche pas avec certains comptes parents.

Saltstack

J’ai mentionné cette idée le mois dernier : mettre en place et maintenir de nombreux chroots sbuild peut être fastidieux, et j’ai donc souhaité l’automatiser le plus possible. A cette fin, j’ai créé trois formules Salt et les ai fait ajouter au dépôt officiel Saltstack :

Chacune est construite par-dessus la précédente. debootstrap-formula crée des chroots avec debootstrap ou cdebootstrap. schroot-formula fait la même chose et enregistre ces chroots dans schroot. sbuild-formula fait la même chose que schroot-formula mais avec différents paramètres par défaut qui sont plus adaptés aux chroots sbuild (et bien entendu contrôle que sbuild est installé et que les chroots générés sont des chroots buildd).

Avec la formule sbuild je peux ajouter ceci aux données pilier :

sbuild:
  chroots:
    wheezy:
      architectures: [amd64, i386]
      extra_dists:
        - wheezy-backports
        - wheezy-security
      extra_aliases:
        - wheezy-backports
        - stable-security
        - wheezy-security
    jessie:
    [...]

Et ensuite un simple salt-call state.highstate (je fonctionne en mode standalone) permettra de contrôler que tous les chroots sont correctement paramétrés.

Empaquetage divers

J’ai empaqueté de nouvelles versions amont de Python dans experimental et ouvert une requête de pré-approbation afin d’avoir la dernière 1.7.x dans Jessie (n°775892). Il semble que cela soit un choix cornélien pour l’équipe en charge de la publication, ce qui est bien dommage : nous avons des développeurs Debian actifs, des développeurs amont actifs, et chacun est parfaitement au courant de la règle « pas de nouvelles fonctionnalités » afin d’éviter les régressions. Que risque-t-on ?

J’ai également créé une requête de déblocage pour Dolibarr (à la demande de l’équipe de sécurité qui souhaite voir le correctif CVE atteindre Jessie). J’ai contribué modestement à deux bogues qui étaient d’un intérêt particulier pour certains de mes donateurs (n°751339 et n°774811). Ils n’étaient pas sous ma responsabilité, mais j’ai essayé de les faire avancer en contactant les bonnes personnes.

J’ai préparé un patch de sécurité pour Django dans Wheezy (python-django_1.4.5-1+deb7u9) et l’ai envoyé à l’équipe chargée de la sécurité. En faisant cela j’ai découvert un petit problème dans leur patch rétroporté que j’ai remonté à l’amont dans le ticket Django n°24239.

Debian France

Avec la nouvelle année vient le temps d’organiser l’assemblée générale avec le renouvellement d’un tiers de son Bureau. Nous avons donc appelé les membres à candidater et j’ai été heureux de voir que nous avons 6 candidatures pour 3 sièges. C’est un signe positif, montrant que nous avons assez de personnes impliquées dans l’association. L’une d’entre elle évoque même une Debconf 17 en France… de grands projets !

De mon côté, j’ai annoncé que je ne concourrai pas pour le poste de président l’année prochaine. Ceci étant, je resterai au Bureau afin d’assurer une transition en douceur.

Merci

Rendez-vous au mois prochain pour un nouveau résumé de mes activités !

Ceci est une traduction de mon article My Free Software Activities for January 2015; contribuée par Weierstrass01.

Mes activités libres en décembre 2014

Des nombreuses heures de travail sur LTS à mes premières contributions dans la communauté Saltstack, le mois de décembre a été riche et varié.

[Continue reading…]

Mes activités libres en novembre 2014

La résolution générale en rapport avec systemd est désormais close, mais les discussions non-productives sur le sujet n’ont pas encore cessées. Malgré ces distractions, j’ai tout de même fait beaucoup de choses ce mois-ci.

[Continue reading…]

Mes activités libres en octobre 2014

Le dernier mois avant la freeze de Jessie a permis de finaliser le packaging de plusieurs logiciels. Mais pas seulement… LTS et Distro Tracker restent dans mes priorités.

[Continue reading…]

Mon rapport Debian LTS d’octobre 2014

J’ai consacré dix heures rémunérées durant le mois d’octobre à travailler sur Debian LTS. J’aurais du travailler quatre heures de plus, mais pour diverses raisons cela n’a pas pu se faire. Je travaillerai donc quatre heures supplémentaires au mois de novembre. Durant ces dix heures donc, j’ai effectué le travail suivant : Tri de bogues […]

[Continue reading…]

Mes activités libres en septembre 2014

Un peu de Django 1.7, un peu de Distro Tracker, un peu de support à long terme de Debian, un peu de packaging, mes contributions de septembre ont été très variées.

[Continue reading…]

Mon rapport Debian LTS de septembre 2014

Grâce au soutien de nombreuses sociétés, j’ai été payé pour travailler (au moins) 11h sur Debian LTS ce mois-ci. J’ai commencé par opérer un tri important dans le systèm de suivi des alertes sécurité (si vous souhaitez aider, les instructions se trouvent ici), car j’ai remarqué que la liste dla-needed.txt (qui contient la liste des […]

[Continue reading…]

Mes activités libres en août 2014

Distro Tracker et Django 1.7 ont dominé le mois, mais la possible migration à git de l’équipe python-modules est importante également.

[Continue reading…]

Mes activités libres en juillet 2014

Distro Tracker et Django 1.7 ont dominé le mois, mais mon travail pour Kali a également permis de débusquer des problèmes dans Debian Jessie.

[Continue reading…]