Hardening consulting

Bits from the cyberspace

A post written after an error I have made while coding UWAC (Using Wayland As Client), my library to use wayland on the client side with the spirit of the Xlib. The symptoms were that an application using UWAC was working with the X11 compositor and was freezing with the RDP compositor. After some testing, it appeared that the pixman renderer was the guilty component (using the X11 compositor and forcing the pixman renderer, the behaviour was the same).

Read more…

Just a small post to say "Happy birthday Mario Bros". 30 years old, and you can measure the progress made by computers.

I have learned that Nintendo is doing a new game, Mario Maker, where you can build your own stages.

code Teasing title for a post on development methods or more specifically coding tools. But we'll see that the two are linked.

My story begins at the XDC 2014, a few places in front of me I could see a venerable developer who was live coding. He was working on Xorg, I could see him use vi or vim, do some changes, compile, run Xorg which was crashing or not, and loop this workflow. I have already worked in Xorg, so I was thinking myself "Wow he codes with vim".

It was a "Wow" meaning: respect and... Oh my god !!!

Read more…

I have searched for a software that could do documents or pictures sharing like DropBox or google drive. I wanted something OpenSource that I could host too. After tests of misc products, I have finally choosen pydio, formerly Ajaxplorer. Despite the name it's not a python application, but a good old dirty PHP application.

Installation has been done on debian wheezy.

Read more…

Back from Bordeaux where I was attending and talking at XDC 2014, the Xorg developpers conference. First of all, it was a nice conference, foreign people seemed to have appreciated the French mood. As a tourist, Bordeaux by night is really a nice town. Really weird to speak english for 3 days while being in France !

Read more…

That's a long time I haven't post something here. Summer was quiet with content that would have their place here.

This year I will attend to XDC 2014, the X Developper Conference. It will take place in Bordeaux this year, that's not so far !

Read more…


These days, I have been working on having writes being non-blocking in FreeRdp. That makes me walk through most of the low level component of FreeRdp, so let me share things I have collected during this code walk.

Setting write calls non-blocking

The actual code is non-blocking for read: it handles a EAGAIN or EWOULDBLOCK for a read() call. But for write calls, it will actively wait until all data have been sent. For the FreeRDP client you almost never hit the case where write calls gets blocked, because most of the traffic is from the server to the client (sending screen updates). You can hit it anyway when using the channels: Disk Redirection (pushing a file to the server) or audio in (microphone exported to the server).

But when you're in FreeRDS acting as a RDP server, blocking writes is very common. Just try to see a fullscreen video through a slow WIFI connection.

Read more…