Le projet HardenedBSD, qui améliore les mécanismes de protection de FreeBSD et publie des versions sécurisées de FreeBSD, a présenté les premiers résultats de son travail sur la possibilité d'utiliser des composants de l'espace utilisateur de FreeBSD, écrits en Rust. Le développement se déroule dans une branche séparée hardened/current/rust-in-base.
Pour utiliser Rust, un nouveau fichier de construction share/mk/bsd.rust.mk a été écrit, permettant de compiler des applications en Rust lors de la construction de l'environnement du système de base (make buildworld). Les composants de l'espace utilisateur écrits en Rust sont optionnels et placés dans l'arbre des sources de FreeBSD dans un espace de travail distinct. Lors de la compilation des applications Rust et de leurs dépendances, le gestionnaire de paquets Cargo est utilisé. Toutes les dépendances nécessaires à la compilation des composants Rust du système de base sont placées dans un sous-répertoire src/vendor/rust.
Au moment de la rédaction du rapport, seul le soutien à la compilation et à l'installation d'applications Rust fonctionnant dans l'espace utilisateur a été annoncé. Le soutien aux packages de bibliothèque crate est prévu pour l'avenir. L'utilisation de Rust dans le noyau n'est pas encore supportée, car une telle possibilité nécessite un volume de travail important et dépasse le cadre du prototype initial.
Des modifications pour soutenir Rust sont prévues pour être proposées pour inclusion dans le cœur de FreeBSD après vérification de l'ensemble des correctifs en développement et réalisation des fonctionnalités de base identifiées dans le plan. Parmi les plans initiaux figurent : le support des packages crate avec des bibliothèques en Rust, la possibilité de compiler plusieurs applications Rust à l'aide d'un seul Makefile, la création de guides sur l'importation de packages crate et le soutien à l'installation des fichiers associés et des pages man.
Source : opennet.ru
