La version 7.8 du système d'exploitation libre de type UNIX OpenBSD a été publiée. Le projet OpenBSD a été fondé par Theo de Raadt en 1995, suite à un conflit avec les développeurs de NetBSD, ce qui a conduit à la fermeture de l'accès de Theo au dépôt CVS de NetBSD. Par la suite, Theo de Raadt et un groupe de compagnons ont créé un nouveau système d'exploitation ouvert basé sur l'arbre de codes sources de NetBSD, dont les principaux objectifs de développement sont la portabilité (avec un support de 13 plates-formes matérielles), la normalisation, un fonctionnement correct, la sécurité proactive et des outils cryptographiques intégrés. La taille de l'image ISO d'installation complète du système de base OpenBSD 7.8 est de 597 Mo.
En plus du système d'exploitation lui-même, le projet OpenBSD est connu pour ses composants qui ont été largement adoptés dans d'autres systèmes et reconnus comme parmi les solutions les plus sûres et de la plus haute qualité. Parmi eux : LibreSSL (un fork d'OpenSSL), OpenSSH, le filtre de paquets PF, les démons de routage OpenBGPD et OpenOSPFD, le serveur NTP OpenNTPD, le système de messagerie OpenSMTPD, le multiplexeur de terminal texte (analogique à GNU screen) tmux, le démon identd avec mise en œuvre du protocole IDENT, l'alternative BSDL au paquet GNU groff — mandoc, le protocole pour l'organisation de systèmes résilients CARP (Common Address Redundancy Protocol), un serveur http léger, l'outil de synchronisation de fichiers OpenRSYNC. serveur OpenSMTPD, le multiplexeur de terminal texte (analogique à GNU screen) tmux, le démon identd avec mise en œuvre du protocole IDENT, l'alternative BSDL au paquet GNU groff — mandoc, le protocole pour l'organisation de systèmes résilients CARP (Common Address Redundancy Protocol), un serveur http léger, l'outil de synchronisation de fichiers OpenRSYNC.
Principales modifications :
- La prise en charge des cartes Raspberry Pi 5 a été ajoutée dans le port pour l'architecture ARM64, avec la mise en œuvre d'un pilote acpicpu, la prise en charge de l'apm (Advanced Power Management) et de sysctl hw.cpuspeed sur les dispositifs équipés de puces Qualcomm Snapdragon X Elite.
- Le support du drapeau FD_CLOFORK (close-on-fork) a été implémenté pour fermer le descripteur de fichier pour les processus enfants après l'appel de la fonction fork(). Comparé aux autres mises en œuvre, ce drapeau est réinitialisé après l'appel de la fonction exec() pour des raisons de sécurité et de commodité.
- Un sous-système a été ajouté pour exécuter des opérations de haut niveau concernant l'allocation, la planification et la gestion des interruptions logicielles (soft interrupt dispatcher).
- Le noyau a été transféré à l'utilisation de nanosecondes au lieu de ticks de minuterie lors de l'exécution de la fonction sleep, ce qui permet d'éviter la perte de précision due aux conversions entre nanosecondes et ticks lors de l'initiation d'opérations à partir de fonctions de bibliothèque dans l'espace utilisateur.
- La compatibilité avec les systèmes de fichiers basés sur le mécanisme FUSE (Filesystem in Userspace) a été améliorée, dans les mises en œuvre qui utilisent la bibliothèque libfuse.
- Amélioration de la prise en charge des modes veille et veille prolongée. Allocation préalable de l'espace de travail pour le mode veille lors du démarrage. Ajout de la possibilité d'utiliser le mode veille lors de la connexion d'appareils via GPIO. Ajout de la prise en charge de la mise en veille des ordinateurs portables équipés de CPU AMD lors de l'utilisation du mode d'économie d'énergie S0ix. Mise en œuvre de sysctl ddb.suspend, permettant de contourner l'entrée en mode veille des pilotes inteldrm et amdgpu, afin que l'écran reste actif. Fiabilité améliorée du mode veille S3 lors de l'utilisation du pilote graphique amdgpu.
- Amélioration de la prise en charge des systèmes multiprocesseurs (SMP). Mise en œuvre du parallélisme de la pile TCP sur différents cœurs de CPU. Jusqu'à 8 threads peuvent maintenant être utilisés pour traiter le trafic TCP et les paquets réseau entrants (mais pas plus que le nombre de cœurs de CPU). Exécution parallèle des opérations de réassemblage des segments de paquets IPv6 et d'analyse des paramètres de routage IPv6. Suppression du verrouillage global des appels système close() et listen().
- Mise en œuvre du framework drm (Direct Rendering Manager) synchronisée avec le noyau Linux 6.12.50 (version précédente : 6.12.21). Ajout de nouveaux pilotes qcdrm et qcdpc pour la sous-système DRM des puces Qualcomm Snapdragon et du contrôleur DisplayPort Qualcomm.
- Mise en œuvre de la prise en charge du fonctionnement d'OpenBSD dans des machines virtuelles kvm/qemu en utilisant l'extension AMD SEV-ES (État Chiffré) pour protéger le système invité. Ajout de la possibilité de lancer des systèmes invités en mode AMD SEV-ES dans l'hyperviseur vmd, avec l'ajout du paramètre « seves » dans vm.conf. Mise à jour des dispositifs Virtio émulés : réseau, bloc, entropie et scsi, pour prendre en charge la spécification Virtio 1.2.
- L'outil pkg-config a été transféré de sa propre implémentation en Perl à l'utilisation de l'outil pkgconf 2.4.3, écrit en C.
- En tant qu'outil watch, exécutant périodiquement des commandes et affichant leur sortie, le programme iwatch a été utilisé.
- Dans le script de sécurité, effectuant une vérification de sécurité périodique, une fonctionnalité de création de sauvegardes GPT/MBR a été ajoutée. Option « -R » ajoutée à l'outil fdisk pour restaurer une copie GPT/MBR à partir d'un fichier.
- Ajout de l'option « -w pourcentage » au processus en arrière-plan apmd et d'un gestionnaire /etc/apm/warnlow pour organiser l'affichage d'un avertissement lorsque la charge de la batterie descend en dessous du niveau spécifié.
- Un nouveau système de profilage gprof a été implémenté, utilisant l'appel système profil.
- La prise en charge du matériel a été étendue et de nouveaux pilotes ajoutés :
- acpiwmi — Windows Management Instrumentation.
- amdpmc — contrôleur de gestion de la consommation d'énergie AMD.
- bcmmip — contrôleur MSI BCM2712.
- bcmstbgpio — contrôleur GPIO Broadcom.
- bcmstbintc — contrôleur d'interruption Broadcom.
- bcmstbpinctrl — multiplexage de broches Broadcom.
- bcmstbrescal — contrôleur de calibration de réinitialisation Broadcom.
- bcmstbreset — contrôleur de réinitialisation Broadcom.
- rpone — contrôleur de périphérique Raspberry Pi RP1.
- rpiclock — contrôleur d'horloge Raspberry Pi RP1.
- rpipwm — contrôleur PWM Raspberry Pi RP1.
- rpirtc — horloge en temps réel Raspberry Pi.
- iasuskbd(4) — ASUS I2C HID.
- Le pilote de la webcam uvideo a ajouté le support du codec H.264.
- Ajout d'un processus en arrière-plan lldpd implémentant les protocoles LLDP (Link Layer Discovery Protocol) et d'un utilitaire lldp pour le gérer.
- Ajout d'un processus en arrière-plan bpflogd pour capturer des paquets réseau à l'aide de bpf (Berkeley Packet Filter) et les consigner dans un journal au format tcpdump.
- Dans iked, l'implémentation du protocole IKEv2 pour IPsec, la possibilité de charger plusieurs certificats à partir d'un fichier a été ajoutée.
- La bibliothèque LibreSSL a été mise à jour vers la version 4.2.0, qui propose une API pour l'utilisation de l'algorithme d'échange de clés ML-KEM (CRYSTALS-Kyber), résistant aux attaques par ordinateur quantique.
- OpenSSH a été mis à jour. La liste des changements est disponible dans les annonces OpenSSH 10.1 et 10.2 :
- Le nombre de ports pour l'architecture AMD64 est passé à 12651 (contre 12593), pour aarch64 — 12506 (contre 12446), pour i386 — 10457 (contre 10429). Parmi les versions des applications dans les ports :
- Asterisk 22.5.2
- Audacity 3.7.5
- CMake 3.31.8
- Chromium 141.0.7390.54
- Emacs 30.2
- FFmpeg 6.1.3
- GCC 8.4.0 et 11.2.0
- GHC 9.8.3
- GNOME 48
- Go 1.25.1
- JDK 8u462, 11.0.28, 17.0.16, 21.0.8 et 25.0.0
- KDE Applications 25.08.1
- KDE Frameworks 6.18.0
- KDE Plasma 6.4.5
- Krita 5.2.13
- LLVM/Clang 19.1.7, 20.1.8 et 21.1.2
- LibreOffice 25.8.1.1
- Lua 5.1.5, 5.2.4, 5.3.6 et 5.4.7
- MariaDB 11.4.7
- Mono 6.12.0.199
- Mozilla Firefox 143.0.3 et ESR 140.3.1
- Mozilla Thunderbird 143.3.1
- Mutt 2.2.15 et NeoMutt 20250905
- Node.js 22.20.0
- OCaml 4.14.2
- OpenLDAP 2.6.10
- PHP 8.2.29, 8.3.26 et 8.4.13
- Postfix 3.5.25 et 3.10.1
- PostgreSQL 17.6
- Python 2.7.18 et 3.12.11
- Qt 5.15.16 (+ correctifs de kde) et 6.8.3
- R 4.5.1
- Ruby 3.2.9, 3.3.9 et 3.4.6
- Rust 1.90.0
- SQLite 3.50.4
- Shotcut 25.08.16
- Sudo 1.9.17p2
- Suricata 7.0.7
- Tcl/Tk 8.5.19 et 8.6.16
- TeX Live 2025
- Vim 9.1.1706 et Neovim 0.11.4
- Xfce 4.20.0
- Les composants tiers intégrés dans OpenBSD 7.8 ont été mis à jour :
- La pile graphique Xenocara basée sur X.Org 7.7 avec xserver 21.1.18 + correctifs, freetype 2.13.3, fontconfig 2.15.0, Mesa 25.0.7, xterm 399, xkeyboard-config 2.20, fonttosfnt 1.2.4.
- LLVM/Clang 19.1.7 (+ correctifs)
- GCC 4.2.1 (+ patchs) et 3.3.6 (+ patchs)
- Perl 5.40.1 (+ correctifs)
- NSD 4.3.0
- Unbound 1.24.0
- Ncurses 6.4
- Binutils 2.17 (+ correctifs)
- Gdb 6.3 (+ correctifs)
- Awk 20250116
- Expat 2.7.3
- zlib 1.3.1 (+ correctifs)
Source : opennet.ru
