Je voulais essayer and-httpd qui a l'air robuste, performant avec la sécurité à l'esprit. Bien sûr, aucun paquet Debian n'est disponible donc faut tout compiler à la main, avec trois bibliothèques requises, toutes écrites par le même auteur, dont la célèbre bibliothèque Vstr.
Première blague, je mets plus d'une demie-heure pour télécharger la tarball d'and-httpd, pour un fichier de... 528 Ko. Le serveur, ou la connexion du serveur, plafonne à 1.8 Ko/s maximum. Je me dis qu'il doit y avoir des restrictions sur les User-Agent donc je modifie tout ça et même résultat, j'essaie sur quatre connexions ADSL, une SDSL et une machine en colocation, même chose.
% HEAD http://www.and.org/and-httpd/0.99.11/and-httpd-0.99.11.tar.bz2 200 OK Connection: close Date: Fri, 13 Jul 2007 19:53:26 GMT Accept-Ranges: bytes ETag: "8b470d-80fea-4504f1b5" Server: and-httpd/0.99.11 Vary: Accept-Encoding Content-Length: 528362 Content-Type: application/x-bzip2 Last-Modified: Mon, 11 Sep 2006 05:18:45 GMT Client-Date: Fri, 13 Jul 2007 19:53:26 GMT Client-Peer: 65.172.155.225:80 Client-Response-Num: 1
Donc soit le serveur est hébergé sur une ligne 56K, soit c'est
le serveur qui est pourri 
Toujours est-il qu'après avoir téléchargé les deux premières tarballs, j'en ai eu tellement marre que j'ai abandonné, je suis pourtant sûr du potentiel de ce daemon...
Parlon de Vstr maintenant, c'est une bibliothèque de gestion de chaîne de caractères en C, toutes les fonctions de base (gestion de la mémoire, copie de chaînes, concaténation de caractères, affichage de format, recherche de motif, etc.) sont implémentées en utilisant une structure de données enrobant la chaîne de caractère : nous n'avons plus à disposition un (char *) avec la gestion de la mémoire associée mais une structure opaque qui se charge de toujours vérifier qu'on ne déborde pas.
Utiliser une bibliothèque telle que celle-ci est la clef de voûte dans l'écriture d'un logiciel sécurisé, ce n'est d'ailleurs pas une coïncidence si les logiciels très réputés (vsftpd, qmail pour n'en citer que deux) utilisent des bibliothèques similaires.
Ce qui est remarquable avec cette bibliothèque est que l'auteur a écrit tous les tests unitaires possibles, arrivant fièrement à 100% de couverture de code. Bien sûr, il ne faut pas se fier aveuglément à ce chiffre magique mais plûtot admirer le travail et le soucis de qualité de l'auteur. Bravo!