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

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 20 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é 47 commits vers le suiveur de sécurité. Ce qui m’a amené à soumettre deux demandes d’évolution le concernant : n°772927 et n°772961;
  • J’ai publié la DLA-106-1 qui avait été préparée par Osamu Aoki;
  • J’ai publié la DLA-111-1, corrigeant une vulnéréabilité CVE affectant cpio;
  • J’ai publié les DLA DLA-113-1 et DLA-114-1 affectant bsd-mailx et heirloom-mailx, corrigeant respectivement une vulnérabilité pour le premier, et deux pour le second;
  • J’ai publié la DLA-120-1 affectant xorg-server. Cette mise à jour seule m’a demandé plus de 6 heures pour rétroporter tous les patchs, corrigeant un ensemble conséquent de 12 vulnérabilités CVE.

Hors heures subventionnées, mais toujours en relation avec Debian LTS : j’ai demandé à Linux Weekly News de couvrir Debian LTS dans leur section sécurité, ce qui est maintenant chose faite. Vous pouvez consulter les DLA sur la page de sécurité habituelle, tandis qu’une page dédiée suit ce flux en particulier : http://lwn.net/Alerts/Debian-LTS/.

J’ai modifié la page wiki de Debian LTS afin de disposer d’une sous-page dédiée au financement. Cela permet d’éviter l’affichage d’un lien direct vers l’offre de Freexian sur la page principale du projet (ce qui a surpris quelques personnes). Cela permet également d’expliquer plus avant le contexte et de lister d’autres sociétés/personnes physiques de la même manière, le cas échéant (dans la mesure où il n’y a aucune relation d’exclusivité entre Debian et Freexian ici !).

j’ai également répondu à plusieurs questions de Nguyen Cong (un nouveau contributeur, employé par Toshiba avec leur permission explicite de travailler sur Debian LTS pendant ses heures travaillées ! \o/), via IRC, sur ask.debian.net (encore) et sur la liste de diffusion ! Il est bon de voir le projet LTS trouver un écho au-delà de la communauté des membres actuels du projet Debian.

Distro Tracker

Je souhaite prioriser de nouveau Distro Tracker, a minima afin de compléter la transition de l’ancien suiveur de paquets vers ce nouveau service… le mois dernier fut à cet égard un petit peu mieux que novembre, mais pas de beaucoup.

J’ai passé en revue un patch du rapport de bogue n°771604 (concernant l’affichage des descriptions longues), puis j’ai fusionné un autre patch du rapport n°757443 (corrigeant un mauvais balisage rendant la page inutilisable avec Konqueror). J’ai enfin corrigé le bogue n°760382, affectant les paquets passant par l’état « NEW » et ne le perdant plus par la suite.

Contributions en lien avec Kali

Je ne décris pas ici tout mon travail sur Kali, mais seulement quelques réalisations qui ont été contribuées en amont (ou dans Debian).

En premier lieu, je me suis assuré que nous pouvions compiler l’ISO de Kali avec le live-build 4.x de Jessie. Le résultat en a été de multiples patchs fusionnés dans le projet Debian live (1, 2, 3 et 4).

J’ai également soumis un patch concernant une régression dans la manière de traiter les dépendances dans les listes de paquets. Elle a été corrigée différemment et mon patch a été rejeté. J’ai également créé le rapport de bogue n°772651 pour consigner un problème dans la façon qu’a live-build de décider de la variante du paquet live-config à installer.

Kali a modifié le paquet sysvinit afin de pouvoir désactiver les services par défaut, et j’ai investigué comment porter cette fonctionnalité dans le monde systemd. Il s’est avéré que systemd présente nativement une telle fonctionnalité, nommée Preset files. Ce n’est malheureusement pas utilisable dans Debian car systemctl preset n’est pas appelé lors de l’installation du paquet. J’ai créé le rapport de bogue n°772555 pour demander la modification correspondante (dans Stretch, il est trop tard pour Jessie :-()

Saltstack

J’utilise salt afin d’automatiser certaines tâches d’administration dans Kali, au travail ou à la maison. J’ai découvert récemment que le projet essayait de rassembler des « Salt formulas », qui sont autant d’instructions prêtes à être utilisées, pour autant de services que possible.

J’ai commencé à les utiliser pour des services simples, et j’ai rapidement ressenti le besoin d’étendre « salt-formula », le jeu de formules utilisé pour configurer salt à partir de salt. J’ai soumis 5 demandes d’intégration (les n°73 et n°74 pour configurer salt en mode standalone, la n°75 pour activer les dépôts du paquet amont, la n°76 pour télécharger et activer automatiquement les formules salt désirées, et la n°77 corrigeant quelques bogues) qui ont toutes été intégrées en moins de 24h (ce qui est du genre à vous motiver pour contribuer de nouveau dans le futur !).

J’ai également soumis une correction de bogue pour samba-formula et un rapport de bogue pour salt lui-même (le n°19180).

Je dispose d’ailleurs d’états salt pour mettre en place schroot et sbuild. Je vais essayer de les empaqueter proprement en tant que formules dans le futur…

Travaux divers

Gouvernance de la liste de diffusion. Au sein de Debian, nous nous plaignons souvent des « méta-discussions » qui sont tenues sur les listes de diffusion (c’est-à-dire des discussions qui ont pour sujet la manière dont nous discutons ensemble). Néanmoins il est nécessaire que nous ayons ce type de discussions de temps à temps. J’ai ainsi suggéré d’héberger ces discussions sur une nouvelle liste de diffusion et, afin que cette liste soit effectivement mise en place, nos règles requièrent que d’autres personnes manifestent leurs intérêts pour celle-ci. Cette idée a reçu un certain soutien lorsque nous en avons discuté sur debian-private, je l’ai donc relancé sur debian-project tout en soumettant officiellement la demande via le rapport de bogue n°772645. Je n’ai malheureusement obtenu qu’un soutien jusqu’à maintenant. Aussi, si vous êtes intéressé par l’idée, je vous encourage à vous manifester…

Parrainage. J’ai parrainé un autre plugin de Galette ce mois-ci : galette-plugin-fullcard. Merci à François-Régis Vuillemin pour son travail.

Publican. A la suite d’un de mes rapports de bogue concernant Publican, et avec l’aide de l’auteur amont, nous avons identifié le problème et j’ai soumis un patch.

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 December 2014 contribuée par Weierstrass01.

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…]

Spotify migre 5000 serveurs de Debian à Ubuntu

Des nouvelles de migration de Debian vers Ubuntu nous rappelle l’importance de réussir Debian LTS. Aidez nous à en faire un succès!

[Continue reading…]