Das HardenedBSD-Projekt, das die Sicherheitsmechanismen von FreeBSD verbessert und geschützte Versionen von FreeBSD veröffentlicht, hat die ersten Ergebnisse seiner Arbeit an der Integration von FreeBSD-Benutzeraumkomponenten, die in der Programmiersprache Rust geschrieben sind, präsentiert. Die Entwicklung erfolgt in einem separaten Branch hardened/current/rust-in-base.
Für die Verwendung von Rust wurde eine neue Build-Datei share/mk/bsd.rust.mk geschrieben, die es ermöglicht, Rust-Anwendungen während des Builds der Basisumgebung (make buildworld) zu kompilieren. Benutzeraumkomponenten in Rust sind optional und befinden sich im Quellbaum von FreeBSD in einem separaten Arbeitsbereich. Bei der Erstellung von Rust-Anwendungen und -Abhängigkeiten wird der Paketmanager Cargo verwendet. Alle Abhängigkeiten, die für das Kompilieren der Rust-Komponenten des Basissystems erforderlich sind, werden in einem separaten Unterverzeichnis src/vendor/rust abgelegt.
Zum Zeitpunkt der Berichterstellung wird lediglich die Unterstützung für die Erstellung und Installation von Rust-Anwendungen, die im Benutzermodus laufen, angegeben. Die Unterstützung für Bibliotheks-crate-Pakete ist für die Zukunft geplant. Die Verwendung von Rust im Kernel wird derzeit nicht unterstützt, da diese Möglichkeit erhebliche Arbeitsaufwände erfordert und über den Rahmen des anfänglichen Prototyps hinausgeht.
Änderungen zur Unterstützung von Rust sollen nach Prüfung der entwickelten Patch-Sammlung und der Implementierung der im Plan festgelegten Grundfunktionen zur Integration in den Hauptbestand von FreeBSD vorgeschlagen werden. Zu den ersten Plänen gehören: Unterstützung für crate-Pakete mit Rust-Bibliotheken, die Möglichkeit, mehrere Rust-Anwendungen mithilfe eines einzigen Makefiles zu erstellen, das Erstellen von Anleitungen zum Import von crate-Paketen und die Unterstützung der Installation von Begleitdateien und Man-Seiten.
Quelle: opennet.ru
