Hardening consulting

Projets

Quelques projets sur lesquels je travaille, et mes contributions.

Wayland / weston

Compositeur RDP

Je suis l'auteur et le mainteneur officiel du compositeur RDP dans weston, le compositeur de référence de wayland. Ce compositeur headless permet d'avoir un desktop wayland exporté en RDP. Un de mes articles couvre ce sujet plus en détails.

A noter que ce compositeur est utilisé par le fullscreen shell de Jason Ekstrand pour exporter le desktop en RDP. Et surtout c'est la brique de base de WSL2 pour avoir des applications linux sous windows.

Ce projet a fait un peu de bruit lors de sa sortie (voir la section Presse).

Compositeur ogon

Il s'agit d'un projet proche du compositeur RDP mais cette fois-ci il s'agit de pouvoir avoir un desktop weston intégré avec ogon. Avec ce backend, on peut demander au session manager d'ogon d'instancier un desktop tournant sous weston. Pour l'instant, celà est utile surtout à des fins de tests (tester des applications wayland sans faire tourner wayland nativement). Mais au fur et à mesure des avancées de wayland, il va devenir intéressant d'avoir un desktop ogon sans X11 / Xogon.

Un de mes articles donne plus de détails techniques.

FreeRDP

Je suis un contributeur régulier de FreeRDP, j'ai notament contribué:

  • tout un ensemble de corrections de sécurité visant le code gérant les paquets RDP ;
  • une série de patch visant à gérer les cas limites ;
  • le support d'openCL ;
  • des travaux autour de la couche transport de FreeRDP.

Ogon

Je fais partie de l'équipe qui a créé ogon. Tant sur la partie serveur elle-même que sur les services périphériques.

Autour de Qt

Qfreerdp

Il s'agit d'un platform plugin pour Qt permettant d'exporter l'affichage et les entrées souris / claviers d'une application Qt5 en RDP. Avec ce plugin, on peut prendre n'importe quelle application Qt existante et la rendre disponible en RDP sans qu'aucune recompilation soit nécessaire (il faut quand même que l'application n'utilise pas d'OpenGL).

Le projet est hébergé sur github. Il est disponible sous licence Apache 2 et je sais qu'il est utilisé en interne par des produits commerciaux.

QOgon

Ce projet est le pendant de qfreerdp pour Ogon. Il permet de tranquillement développer une application Qt5 sur son desktop, avec tous les outils Qt5 intégrés, et de la rendre disponible via Ogon.

Le greeter (application qui demande un login / mot de passe) d'ogon de cette vidéo utilise ce projet:

https://www.youtube.com/watch?v=hGErMsA8kG4

Dans ce projet, on dispose aussi de widgets Qt pour interagir avec Ogon. On a par exemple un widget de changement de résolution utilisable directement dans QtDesigner. Ce widget se présente sous la forme d'une combobox avec des résolutions d'écrans. Quand l'utilisateur choisit une résolution, le client RDP aura sa résolution changée à la valeur demandée.

D'autre widgets vont être développés au grés des avancées de Ogon, l'idée est vraiment de pouvoir développer une application sur son desktop et de pouvoir la diffuser via Ogon avec le moins de changements possibles.