Joining the OISF coding staff

My collaboration with OISF has been announced today. This is an honor for me to join this excellent team on this wonderful project. I’ve taken a lot of pleasure in the past months contributing to the project and I’m sure the start of an official collaboration will lead to good things. The challenge is high and I will do my best to merit the trust. A big thanks to all people who congrat me for this nomination.

20 avril 2011 · 1 min · Regit

Building Suricata under OpenBSD

Suricata 1.1beta2 has brought OpenBSD to the list of supported operating system. I’m a total newbie to OpenBSD so excuse me for the lack of respect of OpenBSD standards and usages in this documentation. Here’s the different step, I’ve used to finalize the port starting from a fresh install of OpenBSD. If you want to use source taken from git, you will need to install building tools: pkg_add git libtool automake and autoconf need to be installed to. For a OpenBSD 4.8, one can run: ...

17 avril 2011 · 1 min · Regit

More about Suricata multithread performance

Following my preceding post on suricata multithread performance I’ve decided to continue to work on the subject. By using perf-tool, I found out that when the number of detect threads was increasing, more and more time was used in a spin lock. One of the possible explanation is that the default running mode for pcap file (RunModeFilePcapAuto) is not optimal. The only decode thread take some time to treat the packets and he is not fast enough to send data to the multiple detect threads. This is triggering a lot of wait and a CPU usage increase. Following a discussion with Victor Julien, I decide to give a try to an alternate run mode for working on pcap file, RunModeFilePcapAutoFp. ...

15 février 2011 · 2 min · Regit

Optimizing Suricata on multicore CPUs

Suricata IDS/IPS architecture is heavily using multithreading. On almost every runmode (PCAP, PCAP file, NFQ, …) it is possible to setup the number of thread that are used for detection. This is the most CPU intensive task as it does the detection of alert by checking the packet on the signatures. The configuration of the number of threads is done by setting a ratio which decide of the number of threads to be run by available CPUs (detect_thread_ratio variable). ...

26 janvier 2011 · 4 min · Regit

Massive and semantic patching with Coccinelle

I’m currently working on suricata and one of the feature I’m working on change the way the main structure Packet is accessed. One of the consequences is that almost all unit tests need to be rewritten because the use Packet p construction which has to be replace by an dynamically allocated Packet *. Given the number of tests in suricata, this task is very dangerous: ` It is error prone Too long to be done correctly I thus decide to give a try to coccinelle which is a "program matching and transformation engine which provides the language SmPL (Semantic Patch Language) for specifying desired matches and transformations in C code". Well, from user point of view it is a mega over-boosted sed for C. ...

27 novembre 2010 · 4 min · Regit

Splitting and shrinking a git repository

I have recently faced the challenge to rewrite a git repository. It has two problems: First problem was small: an user has commited with a badly setup git and E-mail as well as username were not correctly set. Second problem seems more tricky: I was needing to split the git repository in two different one. To be precise on that issue, from the two directories at root (src and deps) have to become the root of their own repository. I then dig into the doc and it leads me directly to ‘filter-branch’ which was the solution of my two problems. The names of the command is almost self-explanatory: it is used to rewrite branches. ...

2 août 2010 · 3 min · Regit

En route vers le 2.6.30 et encore merci Denis

Oui, bon, vous savez sans doute que le noyau Linux 2.6.30 est en cours de réalisation. Mais saviez-vous que grâce àl’excellent Denis Bodor toute une série de patchs a été incorporée au noyau ? Lors de la rédaction du Hors Série Netfilter de GLMF, j’ai, avec tous les autres rédacteurs (Gwenael, Haypo, Pollux et Toady), voulu faire découvrir les dernières avancées de Netfilter. Et, forcément, lorsque l’on est sur le fil du rasoir et que l’on pousse les choses àfond pour être le plus précis possible, il arrive que l’on découvre des problèmes ou des choses pas aussi pratiques que on le désirerait. ...

3 avril 2009 · 1 min · Regit

Mon bureau en mode noyau

Non, non, vous ne verrez pas dans cet article de screenshots du noyau ! J’ai juste envie de poster ici une capture d’écrans que j’ai réalisée et commentée il y a quelque temps. J’étais àce moment-làen train de réaliser un des mes développements noyau les plus conséquents et cela m’avait conduit àindustrialiser mon environnement de travail pour effectuer développements et tests de la manière la plus efficace possible. ...

3 avril 2009 · 1 min · Regit

Contribution au libre, 2009 commence fort.

Du côté de mes contributions au logiciel libre, l’année 2009 commence assez fort. Il semble que j’ai réussi àdéclencher une petite révolution. Le système de test de NuFW avait mis en évidence un crash rare, non reproductible facilement dans nuauth, le serveur d’authentification de NuFW. Les sorties de gdb ou valgrind révélaient un problème absurde dans la bibliothèque cyrus-sasl. NuFW l’utilise pour réaliser la phase d’authentification des utilisateurs. Le crash apparaissait lors d’un appel àsasl_dispose() qui est la fonction àappeler lorsque l’on a terminé la phase d’authentification. Après maintes vérifications et plusieurs dizaines d’heures de debug, j’étais convaincu que nuauth, le serveur d’authentification de NuFW, utilisait la bibliothèque de manière correcte et que le code environnant était correct. ...

13 janvier 2009 · 5 min · Regit

Journée utilisateurs du Netfilter Workshop

La journée utilisateurs du Netfilter Workshop aura lieu àParis le 29 septembre 2008. Cette journée prendra la forme d’une série de conférences sur Netfilter. Les sujets seront variés allant de la description de l’utilisation de Netfilter chez un ISP dannois àla présentation par David Miller (maiteneur de la couche réseau de Linux) ou Patrick McHardy (Leader du projet Netfilter) de leurs derniers développements. Je donnerai d’ailleurs lors de cette journée une conférence sur ulogd2, la nouvelle infrastructure de journalisation de Netfilter. ...

3 septembre 2008 · 1 min · Regit

Fatiguant de gérer son pare-feu

Jusqu’ici la gestion de pare-feu c’était difficille, il fallait gratter gratter : À partir de lundi, ça sera facile et amusant : Plus d’informations àvenir très bientôt ! Les abonnés de la liste Netfilter seront les premiers avertis 😉

25 avril 2008 · 1 min · Regit

L’art du commit

Lors du Netfilter Workshop 2007, j’ai eu le plaisir de revoir Patrick McHardy et la chance de rencontrer David Miller (Davem) le mainteneur de la couche réseau de Linux. Patrick envoie assez souvent des séries de patchs impressionnantes àDavem pour demander leur intégration dans le noyau officiel. L’ensemble des contributions des développeurs de Netfilter qui est ainsi transféré lors de ces envois. Lors d’un des repas, j’ai cité àDavem l’un des plus gros envois de Patrick et je lui ai demandé ce qu’il ressentait lorsqu’il recevait une telle série de patchs. Sa réponse a été rapide : ...

4 décembre 2007 · 2 min · Regit

MacOS X, la grande salade

Je viens de passer ma journée àtravailler sur Mac OS X àla finalisation du client pour NuFW. Comme d’habitude avec ce système d’exploitation cela a été une drôle de journée. Ce mélange entre puissance d’Unix et expérience end-user est vraiment déroutant. J’en ai encore fait les frais en utilisant le logiciel Platypus. Ce logiciel très pratique permet de générer un script exécutable. Tiens d’ailleurs, le principe en soi est bizarre sous Unix. ...

12 mai 2006 · 1 min · Regit

La Commission Européenne l’affirme : La “documentation” Microsoft est atroce

J’ai très souvent et notamment sur ces pages décrié la documentation fournie par Microsoft. Malgrè un effort d’impartialité certain quant aux impressions que je livrais alors, une partie de moi se demandait si mon analyse n’était pas entachée par mon addiction àGNU/Linux. Que nenni, la commission européenne menace Microsoft de sanctions car la documentation fournie ne suffit toujours pas àassurer l’intéropérabilité notamment pour le développement de services. Le commissaire chargé de l’affaire est assez direct : ...

26 décembre 2005 · 1 min · Regit

Pauvreté sémantique et misère sexuelle sous Windows

Il semble rééllement que l’heuristique microsoftienne consiste àse limiter au premier aspect des choses sans chercher àaller au delà. L’exemple de code suivant est très révélateur. Le code POSIX : pthread_t* checkthread;<br /> pthread_mutex_t * mutex;<br /> pthread_cond_t *check_cond; devient HANDLE checkthread;<br /> HANDLE mutex;<br /> HANDLE check_cond; Làoù POSIX mets du sens, on se trouve sous Windows face àun vulgaire “manipulateur”. Pour en revenir àun équivalent sexuel, on passe d’un “Quelles positions aujourd’hui chérie ?” à“On baise ?”.

15 décembre 2005 · 1 min · Regit

Caisse d’épargne, Optimisation ou incompétence ?

La Caisse d’épargne comme toutes les banques propose un site web pour gérer ses comptes. On peut y faire des opérations courantes comme les virements et même (enfin sous certaines conditions) vendre et acheter des SICAVs et autres obligations. L’ensemble du site est utilisable sous Firefox sauf un seul champ dans un formulaire. Malheureusement il s’agit du champ permettant de saisir le nombre d’objets àvendre ou àacheter (il ne répond pas quand on clique). Bref, il n’est pas possible de passer un seul ordre sous Firefox (ou mozilla). ...

1 septembre 2005 · 2 min · Regit

Comment recruter pour une conf de barbus

Imaginez que vous deviez faire de la publicité pour une conférence sur un langage. Pas facile non ? Trouver un angle d’attaque original et attractif semble assez difficile, mais il suffit de penser àdes choses universelles : Hé oui, une conférence c’est un peu comme un club de rencontres (àcondition d’aimer les barbus).

1 septembre 2005 · 1 min · Regit

Le retour du netstat en furie

Allez cette fois-ci je ne pars pas dans un délire mais je vais vous donner de la matière. En travaillant sur le client windows pour nufw, j’ai trouvé une page sur le site de la respectable société HSC. Ils décrivent de manière précise certains des problèmes relatif ànetstat. Cela va s’en dire qu’il s’agit des problèmes rencontrés avant d’avoir viré la dame pipi. L’article est très technique et très sérieux donc prévoyez un peu de temps avant de le lire (quelques mois si vous n’êtes pas informaticien, le temps d’apprendre les bases 😉 . Je profite de cette brève pour tirer mon chapeau àl’auteur, Jean-Baptiste Marchand. j’aurais sans doute eu du mal àrester aussi calme et impartial en rédigeant un tel texte.

1 septembre 2005 · 1 min · Regit

Des pilotes en Java par défaut ?

Je vous entends tous dire : “Et la marmotte, …” Mais si je suis sérieux , c’est une des nouveautés du Windows DDK 2003 SP1 ! J’en tiens pour preuve ce qu’il se passe lorsque j’ai lancé build dans le répertoire des drivers d’un projet respectable trouvé sur internet (Celui-ci se contente de manière bien politiquement correcte d’inclure le Makefile du DDK et de lui faire confiance.) Dès que la compilation se lance, la console est noyée sous les messages d’erreurs : jvc command not found Ne sachant pas ce que c’est jvc (jvc télécommande not found, j’aurais compris mais lànon), je googlize et apprends qu’il s’agit du compilateur Java de Microsoft. ...

12 août 2005 · 1 min · Regit

Des paramètres constants et autres fioritures

L’API système Windows est vraiment fascinante àplusieurs égards. D’un côté, elle tient de Perl, il y a toujours plus d’un moyen de faire la même chose. Le problème vient ici qu’il ne s’agit pas de trouver des solutions algorithmiques différentes àun même problème mais qu’il y a de multiples systèmes parallèles pour effectuer une même tâche. Il s’ensuit une complexité inutile amplifié par la puissance de l’outil de recherche disponible sur MSDN. ...

12 août 2005 · 1 min · Regit