Veröffentlichung von OpenBSD 7.2

Die Veröffentlichung des kostenlosen UNIX-ähnlichen Betriebssystems OpenBSD 7.2 wird vorgestellt. Das OpenBSD-Projekt wurde 1995 von Theo de Raadt nach einem Konflikt mit den NetBSD-Entwicklern gegründet, in dessen Folge Theo der Zugriff auf das NetBSD-CVS-Repository verweigert wurde. Danach erstellten Theo de Raadt und eine Gruppe Gleichgesinnter ein neues offenes Betriebssystem auf Basis des NetBSD-Quellbaums, dessen Hauptentwicklungsziele Portabilität (13 Hardwareplattformen werden unterstützt), Standardisierung, korrekter Betrieb und proaktive Sicherheit waren und integrierte kryptografische Tools. Das vollständige Installations-ISO-Image des OpenBSD 7.2-Basissystems ist 556 MB groß.

Neben dem Betriebssystem selbst ist das OpenBSD-Projekt für seine Komponenten bekannt, die in anderen Systemen weit verbreitet sind und sich als eine der sichersten und hochwertigsten Lösungen erwiesen haben. Darunter: LibreSSL (Fork von OpenSSL), OpenSSH, PF-Paketfilter, OpenBGPD- und OpenOSPFD-Routing-Daemons, OpenNTPD-NTP-Server, OpenSMTPD-Mailserver, Text-Terminal-Multiplexer (analog zu GNU Screen) tmux, identd-Daemon mit IDENT-Protokollimplementierung, BSDL-Alternative GNU-Groff-Paket – Mandoc, Protokoll zum Organisieren fehlertoleranter Systeme CARP (Common Address Redundancy Protocol), leichter HTTP-Server, OpenRSYNC-Dienstprogramm zur Dateisynchronisierung.

Wichtigste Verbesserungen:

  • Verbesserte Unterstützung für Systeme, die auf der ARM-Architektur basieren, einschließlich zusätzlicher Unterstützung für Apple M2- und Ampere Altra ARM-Chips. Unterstützung für den Lenovo ThinkPad x13s Laptop und andere Geräte basierend auf dem Qualcomm Snapdragon 8cx Gen 3 SoC (SC8280XP) hinzugefügt.
  • Es wurde die Möglichkeit hinzugefügt, den Kernel für RAM-Disk (bsd.rd) und den Kernel für Multiprozesssysteme (bsd.mp) in Oracle Cloud-Umgebungen zu laden.
  • Das kstat-Gerät ist aktiviert und exportiert Statistiken über die Kernelleistung, die vom kstat-Dienstprogramm angezeigt werden können.
  • Für jeden Prozessorkern mit MPERF/APERF-Unterstützung sind CPU-Frequenzsensoren implementiert. Im Akkubetrieb ist die CPU-Frequenzskalierung abhängig von der Auslastung aktiviert.
  • Erste Unterstützung für den Schlafmodus auf ARM64-Systemen hinzugefügt. Das Limit für die Anzahl der unterstützten CPUs wurde auf 256 erhöht. Die Möglichkeit, von einer Framebuffer-basierten Konsole (Glaskonsole) zu einer seriellen Konsolen-basierten zu wechseln, wurde implementiert.
  • Code zur Erkennung von CPU 386sx/386dx, NexGen, Rise und älteren Cyrix-Prozessoren entfernt, die vor dem Cyrix M2-Chip veröffentlicht wurden.
  • Verbesserte Unterstützung für Multiprozessor-Systeme (SMP). Die Funktionen zur Bandbreitenbegrenzung (Rate Limit), Suche nach ARP-Records und Route-Timer wurden in die Kategorie mp-safe überführt. Die Möglichkeit, parallele Vorgänge wie das erneute Zusammensetzen von IPv4-Paketen und das Umleiten von IP-Paketen durchzuführen, wurde implementiert. Socket-Blockierung mit Mutex zur Verarbeitung eingehender UDP- und IP-Pakete hinzugefügt. Die Systemaufrufe kbind und pledge wurden aus der Blockierung entfernt. Implementierte UNIX-Socket-Blockierung, die auf der Ebene einzelner Sockets funktioniert.
  • Die Implementierung des drm-Frameworks (Direct Rendering Manager) ist mit dem Linux-Kernel 5.15.69 (letzte Version – 5.15.26) synchronisiert. Der inteldrm-Treiber hat Unterstützung für Intel-Chips hinzugefügt, die auf den Mikroarchitekturen Alder Lake und Raptor Lake basieren. Es wurde Unterstützung für Framebuffer implementiert, die nicht an der Speicherseitengrenze ausgerichtet sind (z. B. in MacBook Pro 2021 14″ und 16″ verwendet).
  • Am VMM-Hypervisor wurden Verbesserungen vorgenommen. Unterstützung für MMIO-basierte User-Space-Handler zu vmd hinzugefügt. In vmm wurde die E/A-Port-Emulation in den Benutzerbereich verschoben. Die internen Strukturen und Schnittstellen in vmd, vmctl und vmm wurden vereinheitlicht. Es wurde die Möglichkeit hinzugefügt, virtuelle Maschinen mithilfe von SNMP AgentX mithilfe von VM-MIB-Parametern (RFC7666) zu überwachen.
  • Die Variable $rcexec in den rc.d-Initialisierungsskripten wurde durch die Funktion rc_exec ersetzt. Es wurde eine neue Variable daemon_execdir hinzugefügt, mit der Sie das Verzeichnis ändern können, bevor Sie die Funktion rc_exec ausführen. Zu rc.d und rcctl wurde eine neue configtest-Aktion hinzugefügt, um die Konfigurationssyntax zu überprüfen.
  • Das Dienstprogramm ts ist enthalten, das den über die Standardeingabe empfangenen Zeilen eine Zeit hinzufügt, die den Ankunftszeitpunkt jeder Zeile widerspiegelt.
  • Für eine baumartige Gruppierung von Prozessen wurde dem Dienstprogramm ps die Option „-f“ hinzugefügt, die die Beziehung zwischen übergeordneten und untergeordneten Prozessen widerspiegelt.
  • Das Dienstprogramm openrsync implementiert die Option „--contimeout“, um das Zeitlimit für den Verbindungsaufbau zu bestimmen.
  • Im Dienstprogramm pkg_add ist das Caching standardmäßig aktiviert, die Arbeit mit Paketen wird optimiert und während der Datenübertragung wird eine Betriebsfortschrittsanzeige angezeigt.
  • fdisk hat die Arbeit mit GPT- und MBR-Tabellen verbessert und Warnungen hinzugefügt, wenn MBR- und GPT-Partitionen falsch platziert werden.
  • Das Dienstprogramm disklabel hat Unterstützung für das Schlüsselwort „raid“ in Vorlagen zum automatischen Platzieren von RAID-Partitionen hinzugefügt. Die Unterstützung für die Bearbeitung von Festplattengeometrieinformationen wurde eingestellt. Die Unterstützung für die Attribute „bs“ (Boot-Blockgröße), „sb“ (Superblock-Größe) und d[0-4] (Festplattendaten) wurde eingestellt.
  • Das Verzeichnis /usr/share/btrace enthält eine Auswahl nützlicher Btrace-Skripte für die dynamische Ablaufverfolgung und Überprüfung von Anwendungen.
  • Funktion sio_flush zur Sndio-Soundbibliothek hinzugefügt, um die Wiedergabe sofort zu stoppen.
  • Das Dienstprogramm llvm-profdata ist für die Arbeit mit Profilierungsdaten enthalten.
  • Die Wortzählung im WC-Dienstprogramm wurde beschleunigt.
  • Unterstützung für neue Hardware hinzugefügt, einschließlich neuer Treiber:
    • aplaudio (Apple Audio-Subsystem).
    • aplmca (Apple MCA-Controller).
    • aplsart (Apple SART).
    • alpdc, apldchidev, apldckbd, apldcms, aplrtk (Apple M2-Tastatur und Trackpad).
    • qcgpio, qciic (GPIO- und GENI-I2C-Controller für Qualcomm Snapdragon).
    • sfgpio, stfclock, stfpinctrl, stftemp (Treiber für GPIO, Timer und Sensoren von SiFive-Boards).
    • sxirintc (Interrupt-Controller für Allwinner-Chips).
    • gpiorestart (Treiber zum Zurücksetzen über GPIO).
    • ipmi hat die Unterstützung für Leistungssensoren erweitert.
    • ehci fügt Unterstützung für den in Marvell 3720-Boards verwendeten Controller hinzu.
  • Der IGC-Treiber für Intel I225-Gigabit-Ethernet-Adapter umfasst Hardwarebeschleunigung von Prüfsummenberechnungen für IPv4, TCP und UDP. Treiber ix für Intel 82598/82599/X540/X550-Ethernet-Adapter unterstützt die Hardwarebeschleunigung der Verarbeitung von TCP-Segmenten (Large Receive Offloading), aktiviert mit der Option tso in ifconfig.
  • Der iwx-Treiber implementiert die Unterstützung für Intel AX210/AX211-Chips und erweitert den Bereich erkannter drahtloser Geräte.
  • Es wurde die Möglichkeit hinzugefügt, von Software-RAID-1-Partitionen (Softraid) auf amd64-, sparc64- und arm64-Systemen zu booten.
  • Snmpd und xlock implementieren die Privilegientrennung.
  • Die Bind- und Connect-Funktionen für UNIX-Sockets sorgen für Isolierung basierend auf dem Systemaufruf „enveal“.
  • Es wurde ein neuer ypconnect-Systemaufruf hinzugefügt, um einen Socket zu erstellen, um mithilfe der IP-Adresse aus der gesperrten ypbinding-Datei eine Verbindung zu einem YP-Server herzustellen. Zu ypldap wurde ein „lokaler Bindungsmodus“ hinzugefügt, der einen RPC-Socket an eine Loopback-Schnittstelle bindet, um externe Verbindungen zum Server zu eliminieren.
  • Die Programme hcpleased, mountd, nfsd, pflogd, resolvd, slaacd und unwind im Verzeichnis /sbin wurden so konvertiert, dass sie dynamische Verknüpfungen verwenden, um zusätzliche Schutzmaßnahmen für dynamisch verknüpfte ausführbare Dateien zu ermöglichen.
  • Der Netzwerkstapel implementiert die Systemaufrufe sendmmsg und recvmmsg, die es Ihnen ermöglichen, mehrere Nachrichten gleichzeitig innerhalb eines einzigen Systemaufrufs zu senden und zu lesen, wofür zuvor separate sendmsg- und recvmsg-Aufrufe erforderlich gewesen wären.
  • Im PF-Paketfilter wurde die Verarbeitung von IGMP- und ICMP6-MLD-Paketen (Multicast Listener Discovery) geändert, wodurch in der Standardkonfiguration mit Multicast-Kontrollpaketen gearbeitet werden konnte. Strengere Prüfung von IGMP/MLD-Nachrichten implementiert.
  • IPsec hat den Umgang mit Zertifikaten verbessert. iked hat die Kompatibilität mit OpenIKED verbessert. Statistikausgabe über erfolgreiche und fehlgeschlagene Verbindungen zu iked zum Befehl ikectl show stats hinzugefügt.
  • Dem bgpd wurde ein Max-Communitys-Filter hinzugefügt, um die Anzahl der zulässigen Communities zu begrenzen. RFC 9234 (Route Leak Prevention and Detection Using Roles in UPDATE and OPEN Messages) wurde implementiert. Volle Unterstützung für RFC 7911 (Advertisement of Multiple Paths in BGP). ) bereitgestellt wurde, wurden statische Hashes durch RB-Bäume ersetzt, um die Leistung großer Systeme zu verbessern. Der bgplgd-Prozess wurde mit einer FastCGI-Serverimplementierung hinzugefügt, die eine REST-API für bgpctl-Befehle bereitstellt.
  • rpki-client ermöglicht die Verwendung von mehr als einem CRL-URI in Zertifikaten, implementierte den Skiplist-Parameter zum Ignorieren von Domänen, fügte die Möglichkeit zur Überprüfung von ASPA (Autonomous System Provider Authorization) und Signaturdateien hinzu, implementierte TAL-Dekodierung (RFC 8630) und verschärfte die Überprüfung von EE-Zertifikaten, verbessert. Konform mit HTTP-Spezifikationen.
  • Snmpd erlaubt die Verwendung anderer Objektnamen als OIDs in snmpd.conf. Es wurde die Möglichkeit implementiert, eine Blacklist einzurichten, um Teilbäume von der Ausgabe auszuschließen. Der Implementierung des AgentX-Protokolls wurde Unterstützung für den Master-Agenten hinzugefügt.
  • httpd bietet neue MIME-Typdefinitionen.
  • Das FTP-Dienstprogramm wurde verschoben, um Verbindungen zu verwenden, die im nicht blockierenden Modus mit ppoll verarbeitet werden.
  • In tmux („Terminal-Multiplexer“) wurde die Möglichkeit hinzugefügt, mithilfe von ACLs die Verbindung mehrerer Benutzer über einen Socket zu organisieren.
  • Aktualisierte LibreSSL- und OpenSSH-Pakete. Einen detaillierten Überblick über die Verbesserungen finden Sie in den Testberichten zu LibreSSL 3.6.0 und OpenSSH 9.1.
  • Die Anzahl der Ports für die AMD64-Architektur betrug 11451 (von 11301), für aarch64 - 11261 (von 11081), für i386 - 10225 (von 10136). Zu den Anwendungsversionen in den Ports gehören:
    • Asterisk 16.28.0, 18.14.0 und 19.6.0
    • Kühnheit 2.4.2
    • CMake 3.24.2
    • Chrom 105.0.5195.125
    • Emacs 28.2
    • FFmpeg 4.4.2
    • GCC 8.4.0 und 11.2.0
    • GHC 9.2.4
    • GNOME 42.4
    • Gehe 1.19.1
    • JDK 8u342, 11.0.16 und 17.0.4
    • KDE-Gear 22.08.1
    • KDE-Frameworks 5.98.0
    • Krita 5.1.1
    • LLVM/Clang 13.0.0
    • LibreOffice 7.4.1.2
    • Lua 5.1.5, 5.2.4 und 5.3.6
    • Maria DB 10.9.3
    • Mono 6.12.0.182
    • Mozilla Firefox 105.0.1 und ESR 102.3.0
    • Mozilla Thunderbird 102.3.0
    • Mutt 2.2.7 und NeoMutt 20220429
    • Node.js 16.17.1
    • OCaml 4.12.1
    • OpenLDAP 2.6.3
    • PHP 7.4.30, 8.0.23 und 8.1.10
    • Postfix 3.7.2
    • PostgreSQL 14.5
    • Python 2.7.18, 3.9.14 und 3.10.7
    • Qt 5.15.6 und 6.3.1
    • R4.2.1
    • Ruby 2.7.6, 3.0.4 und 3.1.2
    • Rost 1.63.0
    • SQLite 3.39.3
    • Shotcut 22.06.23
    • Sudo 1.9.11.2
    • Erdmännchen 6.0.6
    • Tcl/Tk 8.5.19 und 8.6.12
    • TeX Live 2021
    • Vim 9.0.0192 und Neovim 0.7.2
    • Xfce 4.16
  • Aktualisierte Komponenten von Drittanbietern, die in OpenBSD 7.2 enthalten sind:
    • Xenocara-Grafikstapel basierend auf
    • LLVM/Clang 13.0.0 (+ Patches)
    • GCC 4.2.1 (+ Patches) und 3.3.6 (+ Patches)
    • Perl 5.32.1 (+ Patches)
    • NSD 4.6.0
    • Ungebunden 1.16.3
    • Ncurses 5.7
    • Binutils 2.17 (+ Patches)
    • Gdb 6.3 (+ Patch)
    • Awk 12.9.2022
    • Expats 2.4.9

Source: opennet.ru

Kommentar hinzufügen