De uitgave van het vrije UNIX-achtige besturingssysteem OpenBSD 7.2 is gepresenteerd. Het OpenBSD-project werd in 1995 opgericht door Theo de Raadt na een conflict met de ontwikkelaars van NetBSD, waardoor Theo de toegang tot de CVS-repository van NetBSD werd ontzegd. Daarna creëerde Theo de Raadt met een groep gelijkgestemden een nieuw open besturingssysteem op basis van de broncode van NetBSD, met als belangrijkste ontwikkelingsdoelen draagbaarheid (ondersteuning voor 13 hardwareplatforms), standaardisatie, stabiliteit, proactieve beveiliging en geïntegreerde cryptografische middelen. De grootte van de volledige installatie ISO-image van het basisbesturingssysteem OpenBSD 7.2 bedraagt 556 MB.
Naast het besturingssysteem zelf, is het OpenBSD-project bekend om zijn componenten die populair zijn geworden in andere systemen en zich hebben bewezen als een van de veiligste en hoogst kwalitatieve oplossingen. Onder deze componenten zijn: LibreSSL (fork van OpenSSL), OpenSSH, het packetfilter PF, de routeringsdemons OpenBGPD en OpenOSPFD, de NTP-server OpenNTPD, de mailserver OpenSMTPD, de multiplexor voor tekstterminals (vergelijkbaar met GNU screen) tmux, de identd-demons met implementatie van het IDENT-protocol, de BSDL-alternatief voor het GNU groff-pakket — mandoc, het protocol voor het organiseren van redundante systemen CARP (Common Address Redundancy Protocol), en de lichte http-server en het bestandssynchronisatieprogramma OpenRSYNC.
Hoofdverbeteringen:
- De ondersteuning voor systemen op basis van ARM-architectuur is verbeterd, inclusief ondersteuning voor de ARM-chips van Apple M2 en Ampere Altra. Ondersteuning is toegevoegd voor de Lenovo ThinkPad x13s laptop en andere apparaten op basis van de SoC Qualcomm Snapdragon 8cx Gen 3 (SC8280XP).
- De mogelijkheid om te booten in Oracle Cloud-omgevingen met de kernel voor ramdisks (bsd.rd) en de kernel voor multiprocessorsystemen (bsd.mp) is toegevoegd.
- Het kstat-apparaat is inbegrepen, dat statistieken over de werking van de kernel exporteert en die kunnen worden bekeken met de kstat-tool.
- Voor elke CPU-core met ondersteuning voor MPERF/APERF zijn frekwentsensoren geïmplementeerd. Bij gebruik op batterijstroom is CPU-frequentieschaling op basis van belasting ingeschakeld.
- Op ARM64-systemen is er een eerste ondersteuning voor slaapstand toegevoegd. De limiet voor het aantal ondersteunde CPU's is verhoogd tot 256. De mogelijkheid om van de framebuffer-console (glass console) naar de seriële console (serial console) te schakelen, is gerealiseerd.
- De code voor het identificeren van CPU 386sx/386dx, NexGen, Rise en oudere Cyrix-processoren die vóór de Cyrix M2-chip zijn uitgebracht, is verwijderd.
- De ondersteuning voor multiprocessorsystemen (SMP) is verbeterd. De functies voor bandbreedtebeperkingen (rate limit), ARP-opzoeken en route timer zijn omgezet naar mp-safe. De mogelijkheid voor parallelle uitvoering van operaties zoals het opnieuw bouwen van IPv4-pakketten en IP-pakketroutering is gerealiseerd. In de verwerking van inkomende UDP- en IP-pakketten zijn socketlocks toegevoegd die gebruik maken van mutexen. Systeemoproepen zoals kbind en pledge zijn bevrijd van locks. UNIX-socketlocks die op het niveau van individuele sockets werken, zijn geïmplementeerd.
- De implementatie van het drm-framework (Direct Rendering Manager) is gesynchroniseerd met de Linux-kernel 5.15.69 (in de vorige versie — 5.15.26). De inteldrm-driver heeft ondersteuning gekregen voor Intel-chips op basis van de microarchitecturen Alder Lake en Raptor Lake. Ondersteuning voor niet-aligned framebuffer wordt geïmplementeerd, die bijvoorbeeld wordt gebruikt in de MacBook Pro 2021 14″ en 16″.
- Verbeteringen zijn aangebracht in de hypervisor VMM. In vmd is ondersteuning voor gebruikersruimte-handlers op basis van MMIO toegevoegd. De emulatie van invoer-/uitvoerpoorten is verplaatst naar de gebruikersruimte in vmm. Interne structuren en interfaces in vmd, vmctl en vmm zijn geharmoniseerd. Er is een mogelijkheid voor monitoring toegevoegd. virtuele machines met behulp van SNMP AgentX, gebruikmakend van de parameters VM-MIB (RFC7666).
- De variabele $rcexec in de rc.d-initiatiescripts is vervangen door de functie rc_exec. Een nieuwe variabele daemon_execdir is toegevoegd, waarmee de map kan worden gewijzigd voordat de functie rc_exec wordt uitgevoerd. In rc.d en rcctl is een nieuwe actie configtest toegevoegd voor het controleren van de syntaxis van configuraties.
- De utility ts is inbegrepen, die aan de regels die via de standaardinvoer worden ontvangen, tijd toevoegt die het moment van ontvangst van elke regel weerspiegelt.
- In de utility ps is de optie "-f" toegevoegd voor hiërarchische groepering van processen, die de relatie tussen ouder- en kindprocessen weerspiegelt.
- In de utility openrsync is de optie "—contimeout" geïmplementeerd om de tijdslimiet voor het tot stand brengen van een verbinding te bepalen.
- In de utility pkg_add is caching standaard ingeschakeld, het werken met pakketten is geoptimaliseerd en er is een voortgangsindicator voor de uitvoering van de operatie tijdens gegevensoverdracht toegevoegd.
- In fdisk is de werking met GPT- en MBR-tabellen verbeterd, en zijn waarschuwingen toegevoegd bij ongepaste plaatsing van MBR- en GPT-partities.
- In de utility disklabel is ondersteuning voor het trefwoord raid in sjablonen toegevoegd voor automatische plaatsing van partities met RAID. Ondersteuning voor het bewerken van schijfgeometrie-informatie is stopgezet. Ondersteuning voor de attributen 'bs' (grootte van de opstartblok), 'sb' (grootte van het superblok) en d[0-4] (schijfgegevens) is stopgezet.
- In de map /usr/share/btrace is een verzameling nuttige btrace-scripts geplaatst voor dynamische trace en inspectie van toepassingen.
- In de geluidsbibliotheek sndio is de functie sio_flush toegevoegd voor onmiddellijke stopzetting van de weergave.
- De utility llvm-profdata is toegevoegd voor het werken met profileringgegevens.
- In de utility wc is de woordteller versneld.
- Ondersteuning voor nieuwe hardware is toegevoegd, waaronder nieuwe stuurprogramma's:
- aplaudio (geluidsysteem van Apple).
- aplmca (MCA-controller van Apple).
- aplsart (Apple SART).
- alpdc, apldchidev, apldckbd, apldcms, aplrtk (toetsenbord en trackpad van Apple M2).
- qcgpio, qciic (GPIO en GENI I2C-controllers voor Qualcomm Snapdragon).
- sfgpio, stfclock, stfpinctrl, stftemp (stuurprogramma's voor GPIO, timers en sensoren op SiFive-borden).
- sxirintc (onderbrekingscontroller voor Allwinner-chips).
- gpiorestart (stuurprogramma voor reset via GPIO).
- In ipmi is de ondersteuning voor voedingssensoren uitgebreid.
- In ehci is ondersteuning voor de controller toegevoegd die wordt gebruikt op Marvell 3720-borden.
- In de igc-stuurprogramma voor gigabit Ethernet-adapters van Intel I225 is hardwareversnelling voor het berekenen van checksums toegevoegd voor IPv4, TCP en UDP. In de ix-stuurprogramma voor Ethernet-adapters van Intel 82598/82599/X540/X550 is ondersteuning geïmplementeerd voor hardwareversnelling van TCP-segmentverwerking (Large Receive Offloading), die kan worden ingeschakeld met de optie tso in ifconfig.
- In de iwx-stuurprogramma is ondersteuning voor Intel AX210/AX211-chips geïmplementeerd en is het scala aan gedetecteerde draadloze apparaten uitgebreid.
- De mogelijkheid om op software-RAID 1 (softraid) te starten is toegevoegd op systemen amd64, sparc64 en arm64.
- In snmpd en xlock is privilege-segregatie geïmplementeerd.
- In de functies bind en connect voor UNIX-sockets is isolatie gebaseerd op de systeemoproep unveil gewaarborgd.
- Een nieuwe systeemoproep ypconnect is toegevoegd voor het maken van een socket voor verbinding met server YP, met behulp van een IP-adres uit het geblokkeerde ypbinding-bestand. In ypldap is de modus 'local bind' toegevoegd, waarbij de RPC-socket aan de loopback-interface wordt gekoppeld om externe verbindingen met de server uit te sluiten.
- De programma's hcpleased, mountd, nfsd, pflogd, resolvd, slaacd en unwind in de map /sbin zijn overgezet naar het gebruik van dynamische linking om extra beveiligingsmiddelen toe te passen die van toepassing zijn op dynamisch gelinkte uitvoerbare bestanden.
- In de netstack zijn de systeemoproepen sendmmsg en recvmmsg geïmplementeerd, die het mogelijk maken om in één systeemoproep meerdere berichten te verzenden en te lezen, die eerder afzonderlijke oproepen van sendmsg en recvmsg vereisen.
- In de packet filter pf is de verwerking van IGMP- en ICMP6 MLD-pakketten (Multicast Listener Discovery) gewijzigd, waardoor de werking met multicast-beheerpakketten in de standaardconfiguratie is geoptimaliseerd. Een strengere controle van IGMP/MLD-berichten is geïmplementeerd.
- In IPsec is de interactie met certificaten verbeterd. De compatibiliteit van iked met OpenIKED is verbeterd. De opdracht ikectl show stats biedt nu statistieken van succesvolle en mislukte verbindingen met iked.
- In bgpd is een filter voor max-communities toegevoegd om het aantal toegestane gemeenschappen te beperken, RFC 9234 (Route Leak Prevention and Detection Using Roles in UPDATE and OPEN Messages) is geïmplementeerd, en volledige ondersteuning voor RFC 7911 (Advertisement of Multiple Paths in BGP) is verzekerd. Statische hash-tabellen zijn vervangen door RB-bomen om de prestaties van grote systemen te verbeteren. Een bgplgd-proces is toegevoegd met de implementatie van een FastCGI-server die een REST API voor bgpctl-commando's biedt.
- In rpki-client is het gebruik van meerdere CRL URI's in certificaten toegestaan, de parameter skiplist voor het negeren van domeinen is geïmplementeerd, er is een mogelijkheid toegevoegd om ASPA (Autonomous System Provider Authorization) en sig-bestanden te controleren, en de decodering van TAL (RFC 8630) is gerealiseerd. De controle op EE-certificaten is aangescherpt en de compatibiliteit met HTTP-specificaties is verbeterd.
- In snmpd is het gebruik van objectnamen in snmpd.conf, naast OID, toegestaan. Er is een mogelijkheid geïmplementeerd om een blacklist in te stellen om subtrees uit de uitvoer te uitsluiten. Ondersteuning voor een master-agent is toegevoegd in de implementatie van het AgentX-protocol.
- In httpd zijn nieuwe MIME-typedefinities voorgesteld.
- De ftp-tool is overgeschakeld naar het gebruik van verbindingen die in niet-blokkerende modus worden verwerkt met behulp van ppoll.
- In tmux ('terminal multiplexer') is de mogelijkheid toegevoegd om ACL's te gebruiken om verbindingen van meerdere gebruikers via één socket te organiseren.
- De pakketten LibreSSL en OpenSSH zijn bijgewerkt. Een gedetailleerd overzicht van de verbeteringen is te vinden in de updates van LibreSSL 3.6.0 en OpenSSH 9.1.
- Het aantal poorten voor de AMD64-architectuur is gestegen naar 11451 (was 11301), voor aarch64 naar 11261 (was 11081), voor i386 naar 10225 (was 10136). Onder de applicatieversies in de poorten zitten:
- Asterisk 16.28.0, 18.14.0 en 19.6.0
- Audacity 2.4.2
- CMake 3.24.2
- Chromium 105.0.5195.125
- Emacs 28.2
- FFmpeg 4.4.2
- GCC 8.4.0 en 11.2.0
- GHC 9.2.4
- GNOME 42.4
- Go 1.19.1
- JDK 8u342, 11.0.16 en 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 en 5.3.6
- MariaDB 10.9.3
- Mono 6.12.0.182
- Mozilla Firefox 105.0.1 en ESR 102.3.0
- Mozilla Thunderbird 102.3.0
- Mutt 2.2.7 en NeoMutt 20220429
- Node.js 16.17.1
- OCaml 4.12.1
- OpenLDAP 2.6.3
- PHP 7.4.30, 8.0.23 en 8.1.10
- Postfix 3.7.2
- PostgreSQL 14.5
- Python 2.7.18, 3.9.14 en 3.10.7
- Qt 5.15.6 en 6.3.1
- R 4.2.1
- Ruby 2.7.6, 3.0.4 en 3.1.2
- Rust 1.63.0
- SQLite 3.39.3
- Shotcut 22.06.23
- Sudo 1.9.11.2
- Suricata 6.0.6
- Tcl/Tk 8.5.19 en 8.6.12
- TeX Live 2021
- Vim 9.0.0192 en Neovim 0.7.2
- Xfce 4.16
- De componenten van derden die deel uitmaken van OpenBSD 7.2 zijn bijgewerkt:
- De grafische stack Xenocara gebaseer op X.Org 7.7 met xserver 1.21.4 + patches, freetype 2.12.1, fontconfig 2.13.94, Mesa 22.1.7, xterm 372, xkeyboard-config 2.20, fonttosfnt 1.2.2.
- LLVM/Clang 13.0.0 (+ patches)
- GCC 4.2.1 (+ patches) en 3.3.6 (+ patches)
- Perl 5.32.1 (+ patches)
- NSD 4.6.0
- Unbound 1.16.3
- Ncurses 5.7
- Binutils 2.17 (+ patches)
- Gdb 6.3 (+ patch)
- Awk 12.9.2022
- Expat 2.4.9
Bron: opennet.ru
