Comme de nombreux logiciels dignes de ce nom, OpenVPN est capable d'accepter des plugins écrits en C et disponibles sous la forme de bibliothèques partagées. Regardons comment écrire les nôtres.
OpenVPN est livré avec tellement de possibilités de configuration et d'extensions via des scripts qu'on se demande parfois ce que l'on pourrait vouloir rajouter. Cependant selon le bon vieux principe du « plus on en rajoute plus le client en veut », il faut parfois se retrousser les manches et mettre les mains dans le cambouis. Nous allons ici écrire un petit plugin en C qui permettra simplement d'aller vérifier la présence d'une chaîne de caractères arbitraire dans un fichier. C'est très bête, mais si ce fichier est sur une clé USB, cela rajoute une couche de sécurité non négligeable : pas de clé, pas de connexion.
1. Les principes
Chercher de la documentation sur l'écriture de plugins sous OpenVPN semble peine perdue jusqu'à ce que l'on pense à aller regarder les sources et notamment le fichier openvpn-plugin.h. Ce dernier est parfaitement documenté et montre que la gestion des plugins sous OpenVPN est presque un jeu d'enfant.
Il va nous falloir...
- Accédez à tous les contenus de Connect en illimité
- Découvrez des listes de lecture et des contenus Premium
- Consultez les nouveaux articles en avant-première