Mes contributions aux logiciels libres
Un article de Haypo.
Sommaire |
[modifier] Patchs
[modifier] Contributions acceptées
- 2008-07-06, Python: invalid ref count on locale.strcoll() error. Patch appliqué dans la révision 65134.
- 2008-07-09, Python: bugs in scanstring_str() and scanstring_unicode() of _json module. Patch inspiré du mien commité dans la révision 65147.
- 2008-07-06, Python: segfault on gettext(None). Patch appliqué dans la révision 65133.
- 2008-07-07, Python: bugs in _sqlite module. Patch appliqué dans la révision 65040
- 2008-07-06, Python: Use Py_XDECREF() instead of Py_DECREF() in MultibyteCodec and MultibyteStreamReader. Patch appliqué dans révision 65038
- 2008-07-07, Python: dlopen() error with no error message from dlerror(). Patch appliqué dans rev 64976, rev 64977 et 64978
- 2008-07-07, Python: missing lock release in BZ2File_iternext(). Appliqué dans le commit 64767.
- 2008-07-06, Python: DoS when lo is negative in bisect.insort_right() / _left(). Appliqué dans le commit 64845.
- 2008-07-06, Python: audioop.findmax() crashs with negative length. Appliqué dans le commit 64775.
- 2008-07-06, Python: invalid call to PyMem_Free() in fileio_init(). Appliqué dans le commit 64758
- 2008-05-08, PyPy: modules pwd et syslog implémentés avec ctypes (bon maintenant j'ai un compte Subversion chez PyPy, alors j'accepte mes propres contrib' :-))
- 2008-03-05, PyPy: _locale module implementation in ctypes
- 2008-02-21, PyPy: resource module implementation using ctypes
- 2007-12-03, Apache: Fix XSS in error page #413. Voir le commit dans Subversion.
- 2007-08-13, Python 3000: Improved patches for sndhdr and imghdr
- 2007-08-10, Python 3000: Fix the ctypes tests, corrige ctypes pour le passage de str/unicode à bytes/str.
- 2007-04-10, Python: Segfaults quand la mémoire est épuisée (rapport de bug avec patch) => patch appliqué (avec un léger changement) dans le commit 54757 (par georg.brandl).
- 2007-02-27, Python: trace.py needs to know about doctests. Patch applied the 23 Nov 2007.
- 2006-09-06, Python:
Bug locale.getdefaultlocale(), lorsque le module _locale est absent, la fonction locale.getdefaultlocale() retourne un charset errorné avec mes locales. Corrigé dans Python 2.5.1. - 2006-09-06, PyPy:
Corrige le module codec pour la casse des charsets(pour être compatible avec CPython) - 2006-08-23, Python:
Bug report with patch, La fonction setup() du module distutils refusait un tuple (au lieu d'une liste) pour la commande « register » (le patch a été retouché pour fonctionner sur Python 2.1) - 2006-08-21, urwid:
Patch setuptools(appliqué dans la version 0.9.6) - 2006-04-27, Dia :
Patch qui corrige un plantage alétoire lors du "dégroupage" d'un objet(appliqué dans Dia 0.95) - 2005-11-25, Python :
bug report + patch. La méthode seek(0,2) d'un objet du module bz2 était boguée dans Python 2.4.2 - 2005-06-16, Gnome :
Patch pour libgnomeui. Nautilus utilisait 500 Mo de mémoire pour générer une miniature d'une image SVG de 28 Ko ! Mon patch limite au maximum le gaspillage de mémoire. (appliqué dans la version 2.11)
[modifier] En attente
- 2008-07-09, Python: _multiprocessing.Connection() doesn't check handle
- 2008-07-07, PHP: count_chars() crashs if both arguments are the same reference
- 2008-07-06, Python: block operation on closed socket/pipe for multiprocessing
- 2008-07-06, Python: invalid check of _bsddb creation failure
- 2008-07-06, Python: invalid object destruction in re.finditer()
- 2007-08-16, yui: container css: "cursor: pointer" instead of "cursor: hand"
- 2007-07-23, Python: Unable to register or upload project (http error 302: moved)
- 2007-07-17, Python: Problem with socket.gethostbyaddr() and KeyboardInterrupt
[modifier] Autres patchs
Dans le cadre de mon emploi chez INL, j'ai contribué à de nombreux logiciels libres. Consultez la liste des contributions d'INL au libre.
En utilisant mon fuzzer Fusil, j'ai également rapporté pas mal de rapports de bugs. Voir la liste des rapports de bug de Fusil.
[modifier] Rapport de bug
- 2008-02-21: PyPy, large-file support and file.seek()
- 2008-01-28: Firefox, Venkman crashs on profiling after clearing profile data
- 2008-01-28: command-not-found, phpize is missing from program.d database
- 2007-10-01: PHP, buffer under- and overflow on clone(null)+array_push()
- Diff sur zend_vm_execute.h
- Tests de non regression : bug36071.phpt, bug42817.phpt, bug42818.phpt
- 2007-07-05, ClamAV:
- #561: OLE2: Long (slow) loop in ole2_walk_property_tree() with huge prop_index value
- #560: bitset_realloc() is not atomic (avec patch et testcase)
- #559: OLE2: Allocate too much memory with invalid file (avec patch et testcase)
- 2007-05-07, ImageMagick:
Crash in EXIF parser with invalid IFD count. The file also crash gwenview application. - 2007-04-30, libc:
vfprintf() segfault with multibyte string and long precision.- Le bug a été corrigé par Ulrich Drepper : patch vfprintf v1.136
-
Rapport de bug Fedora Core - Rapport de bug Debian
- 2007-04-28, FreeType:
Another bug in TTF (cmap), voir le patch sfnt/sfobjs.c version 1.128 - 2007-04-27, FreeType:
Bug in fuzzed TTF file. Voir le patch (dans CVS). - 2007-04-18, ClamAV: Bug in OLE2 file parser (DoS found with fuzzing), dans bugzilla: Bug #466 (fermé au public)
- 2007-04-20, ImageMagick: Bug report in TGA and XCF files (DoS found with fuzzing)
- 2005-06-16, gdb : Display libc function names instead of address?
[modifier] Autres rapports de bugs
Grâce à mon projet Fusil, j'ai trouvé, et parfois corrigé, de nombreux bugs dans divers logiciels. Consulter la liste des crashs trouvés par Fusil.
[modifier] TODO: KDE
Allez, demain je débogue KDE :-)
- 2007-01-07: konqueror: Crash with sample MNG pictures (NEW)
- 2004-12-03: konversation: Use Kde password Wallet for keeping Nickserv's "identify" password's (NEW)
- 2004-07-30: kmail: Kmail corrupted messages headers X-KMail-MDN-Sent (NEW)
Lancer kmail dans gdb : {{{ $ gdb kmail (gdb) run --nofork }}}
- HTTP : Konqueror tient compte du champ Content-Type (HTTP) donné par le serveur, or le serveur raconte souvent des conneries
- Fichiers ZIP, TAR.GZ, RPM, ... ouverts comme un vulgaire fichier texte => arg!
- IMAP : Kmail plante souvent quand on déplace des emails avec IMAP. Déplacer 100 messages d'un dossier dans un autre pour tester.
- IMAP : La recherche avancée plante aussi très vite.
- Ark plantait souvent (y'a 6 mois, faudrait que je reteste bien).
- Parfois, Ark n'arrive pas à extraire un fichier d'une archive .tar.gz (ou .tar.bz2) (quand on ne demande à extraire un fichier seulement)
- Konqueror utilise une quantité gigantesque quand on a plusieurs onglets avec des photos ou une page web avec plusieurs photos
- (En conséquence) Konqueror est très lent pour afficher des pages contenant de nombreuses photos
- Konqueror et Javascript : --aïe--
[modifier] Projets libres
Tous mes projets sont sous licence libre. Voyez la liste de mes projets.
[modifier] Ateliers Lolut
Dans le cadre du club Lolut auquel j'appartiens, j'ai organisé plusieurs ateliers :
- En cours de préparation : Ateliers sécurité durant le semestre 2005/2006 (cf. ateliers automne 2005)
- Atelier sécurité - Introduction générale et failles avec le langage C (6 octobre 2005) : Compte rendu, présentation, exercices et liens sont disponibles.
- Atelier création de sites web avec XML/XSL/CSS (08 avril 2004)
- Compte rendu atelier Gimp (25 mars 2004)
- Programmation C/C++ sous Linux (18 avril 2002) : pas de compte rendu malheureusement.
- Atelier PHP (9 janvier 2003), pas de compte rendu, mais les documents sont disponibles ainsi que les exemples. Je l'ai organisé avec Damien Boucard et Laurent Adda (ce dernier a quitté l'UTBM la même année ...).
[modifier] Bounties
Rien à voir avec mes contributions, mais je savais pas trop où le mettre sinon :-) Récompenses (argent, pas juste morale ;-)) pour des bugs à corriger ou des fonctionnalités à programmer :
- Bounties Gnome
- Bouties Mozilla : 500 US$ pour celui qui trouvera une faille de sécurité dans Mozilla
- Bouties de Donald Knuth, auteur du célèbre formatteur de texte Tex
- Bouties sur Launchpad.net
- Bouties AROS (clone libre d'AmigaOS)
- Bouties Horde
- Bouties Haiku (clone libre de BeOS)
- Bouties wxWidgets
- Bouties Limewire (client Gnutella - peer to peer)
Aggrégateurs de bouties:
[modifier] Wikipédia
J'ai crée un compte Wikipédia le 25 février 2004. En fait, j'ai écrit peu d'articles, mis à part la série sur la Sténographie. Je passe mon temps à retoucher la mise en forme, à ajouter ou corriger les liens entre les articles, à affiner ou ajouter la catégorisation des articles, etc. Je ne m'implique pas encore vraiment dans ce projet qui a pourtant un très fort potentiel.

