De release van het gratis cross-platform UNIX-achtige besturingssysteem OpenBSD 7.0 is aangekondigd. Dit is de 51e release van het project, dat op 18 oktober 26 jaar oud wordt. Het OpenBSD-project werd in 1995 opgericht door Theo de Raadt na een conflict met de ontwikkelaars van NetBSD, waardoor de toegang van Theo tot de CVS-repository van NetBSD werd afgesloten. Hierna creëerde Theo de Raadt met een groep gelijkgestemden een nieuw open source-besturingssysteem op basis van de broncode van NetBSD, waarvan de belangrijkste ontwikkelingsdoelen draagbaarheid (ondersteuning voor 13 hardwareplatforms), standaardisatie, correcte werking, proactieve beveiliging en geïntegreerde cryptografische middelen zijn. De grootte van de volledige installatie-ISO van het basisbesturingssysteem OpenBSD 7.0 bedraagt 554 MB.
Naast het besturingssysteem is het OpenBSD-project bekend om zijn componenten, die ook in andere systemen zijn verspreid en zich als een van de veiligste en kwalitatief hoogstaande oplossingen hebben bewezen. Onder deze componenten bevinden zich: LibreSSL (fork van OpenSSL), OpenSSH, pakketfilter PF, routeringsdemonen OpenBGPD en OpenOSPFD, NTP-server OpenNTPD, mailserver OpenSMTPD, de tekstterminalmultiplexer (vergelijkbaar met GNU screen) tmux, de identd-demon met een implementatie van het IDENT-protocol, de BSDL-alternatief voor het GNU groff-pakket — mandoc, en het protocol voor het opzetten van redundante systemen CARP (Common Address Redundancy Protocol), evenals een lichtgewicht http-server en het hulpprogramma voor het synchroniseren van bestanden OpenRSYNC. server OpenSMTPD, de multiplexor voor tekstterminals (vergelijkbaar met GNU screen) tmux, de identd-demon met een implementatie van het IDENT-protocol, een BSDL-alternatief voor het GNU groff-pakket — mandoc, het protocol voor de opzet van failover systemen CARP (Common Address Redundancy Protocol), een lichte http-server, en het synchronisatiehulpmiddel voor bestanden OpenRSYNC.
Hoofdverbeteringen:
- Er is een port voor 64-bit systemen op basis van de RISC-V-architectuur toegevoegd. Momenteel is er ondersteuning voor werking op de HiFive Unmatched-borden en gedeeltelijk op het PolarFire SoC Icicle Kit.
- In de port voor ARM64-platforms is de ondersteuning voor Apple-apparaten met de M1-processor verbeterd, maar is nog niet volledig afgerond. In de huidige staat kan OpenBSD op een schijf met GPT worden geïnstalleerd en zijn er stuurprogramma's voor USB 3, NVME, GPIO en SPMI aanwezig. Naast de M1 is de ondersteuning voor de Raspberry Pi 3 Model B+ en borden op basis van de SoC Rockchip RK3399 ook uitgebreid in de ARM64-port.
- Voor de AMD64-architectuur is de GCC-compiler standaard uitgeschakeld (alleen Clang is overgebleven). Eerder was GCC al uitgeschakeld voor de architecturen armv7 en i386.
- De ondersteuning voor het SGI-platform is beëindigd.
- Voor de platforms amd64, arm64, i386, sparc64 en powerpc64 is de kernel-build met ondersteuning voor het dynamische traceersysteem dt standaard ingeschakeld. Een kprobes-provider is toegevoegd voor het verzamelen van informatie over gebeurtenissen op kernniveau.
- In btrace is ondersteuning voor de operators "" in filters geïmplementeerd en is de weergave van de tijd in de gebruikersruimte tijdens de analyse van de kernelstack mogelijk gemaakt.
- Een configuratiebestand /etc/bsd.re-config is toegevoegd, dat kan worden gebruikt voor het configureren van de kernel tijdens het opstarten en het in- of uitschakelen van bepaalde apparaten.
- Het is mogelijk gemaakt om apparaten met TPM 2.0 te detecteren en om commando's correct uit te voeren voor het overgaan naar de slaapstand (dit lost het probleem op met het ontwaken van de ThinkPad X1 Carbon Gen 9 en ThinkPad X1 Nano-laptops).
- De implementatie van kqueue is overgezet naar het gebruik van mutexen.
- De mogelijkheid om de buffergrootte voor PF_UNIX-sockets via sysctl in te stellen is geïmplementeerd. De standaard buffergrootte is verhoogd naar 8 KB.
- De ondersteuning voor multiprocessorsystemen (SMP) is verbeterd. De aanroep pmap_extract() is gemarkeerd als mp-safe op hppa- en amd64-systemen. De code voor het tellen van referenties naar anonieme objecten, een deel van de uitzonderinghandler en de functies lseek, connect en setrtable zijn uit de algemene vergrendeling van de kernel gehaald. Er zijn aparte message buffers voor elke CPU geïmplementeerd bij crashes (panic).
- De implementatie van het drm (Direct Rendering Manager) framework is gesynchroniseerd met de Linux-kernel 5.10.65. In de inteldrm-driver is de ondersteuning voor chips op basis van de Tiger Lake-microarchitectuur verbeterd. In de amdgpu-driver is ondersteuning toegevoegd voor de GPU's Navi 12, Navi 21 "Sienna Cichlid", Arcturus en de APU Cezanne "Green Sardine" Ryzen 5000.
- Ondersteuning voor nieuwe hardware is toegevoegd, waaronder Aquantia AQC111U/AQC112U USB Ethernet, Aquantia 1/2.5/5/10Gb/s PCIe Ethernet, Cadence GEM, Broadcom BCM5725, RTL8168FP/RTL8111FP/RTL8117. De ondersteuning voor Intel-platforms op basis van de Tiger Lake-microarchitectuur is verbeterd. Een ucc-driver voor toetsenborden met USB HID Consumer Control-interface is toegevoegd, waarbij gebruik wordt gemaakt van knoppen voor applicatie-aanroep, geluidsbediening en volumeverandering.
- Verbeteringen zijn aangebracht in de hypervisor VMM. Een limiet van 512 VCPU voor virtuele machines is toegevoegd. Problemen met VCPU-vergrendelingen zijn opgelost. In de backend voor het beheren van virtuele machines (vmd) is ondersteuning voor bescherming tegen gastsystemen met schadelijke virtio-stuurprogramma's toegevoegd.
- De timeout-tool is vanuit NetBSD overgebracht, waarmee de uitvoeringstijd van commando's kan worden beperkt.
- In de openrsync-bestandsynchronisatie-tool zijn de opties "inclusief" en "exclusief" geïmplementeerd.
- In de ps-tool zijn gegevens over gerelateerde groepen beschikbaar gesteld.
- In de teksteditor mg is de commandocommand "dired-jump" toegevoegd.
- In de hulpprogramma's fdisk en newfs is de ondersteuning voor schijven met een sectorformaat van 4K verbeterd. In fdisk is de initialisatiecode voor MBR/GPT aangepast en is er herkenning van GPT-partities "BIOS Boot", "APFS", "APFS ISC", "APFS Recovry" (sic), "HiFive FSBL" en "HiFive BBL" toegevoegd. Er is een optie "-A" toegevoegd voor de initialisatie van GPT zonder het verwijderen van opstartpartities.
- In de traceroute-tool is de verwerking van verificatiepakketten en DNS-verzoeken in asynchrone modus geïmplementeerd om de snelheid te verhogen.
- In de doas-tool zijn drie pogingen om het wachtwoord in te voeren beschikbaar gesteld.
- In xterm is de toegang tot het bestandssysteem geïsoleerd met behulp van de systeemaanroep unveil(). De processen ftpd zijn beveiligd met pledge.
- Er is logging van onjuiste gebruik van de formatteringsparameter «%n» in de printf-functie geïmplementeerd.
- In de IPsec-implementatie van iked is ondersteuning voor het configureren van DNS aan de clientzijde toegevoegd.
- In snmpd is de ondersteuning voor de protocollen SNMPv1 en SNMPv2c standaard uitgeschakeld ten gunste van het gebruik van SNMPv3.
- Standaard zijn de processen dhcpleased en resolvd ingeschakeld, die de mogelijkheid bieden om IPv4-adressen via DHCP in te stellen. De tool dhclient is in het systeem achtergelaten als optie. De tool route heeft het commando «nameserver» gekregen voor het doorgeven van informatie over de DNS-server aan resolvd.
- LibreSSL heeft ondersteuning voor TLSv3 API OpenSSL 1.1.1 toegevoegd en een nieuwe X.509-validator geactiveerd die een correcte controle van onderling ondertekende certificaten ondersteunt.
- OpenSMTPD heeft ondersteuning voor TLS-opties «cafile=(pad)», «nosni», «noverify» en «servername=(naam)» toegevoegd. In smtp is het toegestaan om cipher- en TLS-protocolinstellingen te kiezen.
- Het OpenSSH-pakket is bijgewerkt. Een gedetailleerd overzicht van de verbeteringen is hier te bekijken: OpenSSH 8.7, OpenSSH 8.8. De ondersteuning voor digitale handtekeningen rsa-sha is uitgeschakeld.
- Het aantal ports voor de AMD64-architectuur was 11325, voor aarch64 — 11034, en voor i386 — 10248. Onder de versies van applicaties in de ports: FFmpeg 4.4, GCC 8.4.0 en 11.2.0, GNOME 40.4, Go 1.17, JDK 8u302, 11.0.12 en 16.0.2, KDE Applications 21.08.1, KDE Frameworks 5.85.0, LLVM/Clang 11.1.0, LibreOffice 7.2.1.2, Lua 5.1.5, 5.2.4 en 5.3.6, MariaDB 10.6.4, Node.js 12.22.6, PHP 7.3.30, 7.4.23 en 8.0.10, Postfix 3.5.12, PostgreSQL 13.4, Python 2.7.18, 3.8.12 en 3.9.7, Qt 5.15.2 en 6.0.4, Ruby 2.6.8, 2.7.4 en 3.0.2, Rust 1.55.0, SQLite 3.35.5, Xfce 4.16.
- Componenten van derden die deel uitmaken van OpenBSD 7.0 zijn bijgewerkt:
- De grafische stack Xenocara, gebaseerd op X.Org 7.7 met xserver 1.20.13 + patches, freetype 2.10.4, fontconfig 2.12.4, Mesa 21.1.8, xterm 367, xkeyboard-config 2.20, fonttosfnt 1.2.2.
- LLVM/Clang 11.1.0 (+ patches)
- GCC 4.2.1 (+ patches) en 3.3.6 (+ patches)
- Perl 5.32.1 (+ patches)
- NSD 4.3.7
- Unbound 1.13.3
- Ncurses 5.7
- Binutils 2.17 (+ patches)
- Gdb 6.3 (+ patch)
- Awk 18.12.2020
- Expat 2.4.1
Bron: opennet.ru
