En lansering av den fria UNIX-liknande operativsystemet OpenBSD 7.2 har presenterats. OpenBSD-projektet grundades av Theo de Raadt 1995 efter en konflikt med utvecklarna av NetBSD, vilket resulterade i att Theo stÀngdes ute frÄn CVS-repositoriet för NetBSD. Efter detta skapade Theo de Raadt tillsammans med en grupp likasinnade ett nytt öppet operativsystem baserat pÄ kÀllkodstrÀdet frÄn NetBSD, dÀr de frÀmsta utvecklingsmÄlen var portabilitet (stöd för 13 hÄrdvaruplattformar), standardisering, korrekt funktion, proaktiv sÀkerhet och integrerade kryptografiska verktyg. Den fullstÀndiga installations-ISO-avbilden för basversionen av OpenBSD 7.2 Àr 556 MB.
Förutom sjĂ€lva operativsystemet Ă€r projektet OpenBSD kĂ€nt för sina komponenter, som har spridit sig till andra system och visat sig vara en av de mest sĂ€kra och kvalitativa lösningarna. Bland dessa finns: LibreSSL (en fork av OpenSSL), OpenSSH, paketfiltren PF, routingdemoner OpenBGPD och OpenOSPFD, NTP-servern OpenNTPD, postservern OpenSMTPD, terminalmultiplexern (motsvarigheten till GNU screen) tmux, identd-demonen med implementation av IDENT-protokollet, BSDL-alternativet till GNU groff â mandoc, protokollet för att skapa redundanta system CARP (Common Address Redundancy Protocol), en lĂ€ttvikts http-server, och filsynkroniseringsverktyget OpenRSYNC.
Huvudsakliga förbÀttringar:
- Stödet för system baserade pÄ ARM-arkitektur har förbÀttrats, inklusive stöd för ARM-chips frÄn Apple M2 och Ampere Altra. Stöd har lagts till för bÀrbara datorer som Lenovo ThinkPad x13s och andra enheter baserade pÄ SoC Qualcomm Snapdragon 8cx Gen 3 (SC8280XP).
- Möjlighet för boot i Oracle Cloud-miljöer med kÀrnor för ramdisk (bsd.rd) och kÀrnor för multiprocessorsystem (bsd.mp) har lagts till.
- Enheten kstat, som exporterar statistik om kÀrnans funktioner, har inkluderats och kan visas med verktyget kstat.
- För varje CPU-kÀrna med stöd för MPERF/APERF har frekvenssensorer implementerats. Vid drift pÄ batteri har skalning av CPU-frekvensen aktiverats beroende pÄ belastningen.
- För ARM64-system har grundlÀggande stöd för vilolÀge lagts till. BegrÀnsningen för antalet stödda CPU:er har ökat till 256. Möjligheten att vÀxla frÄn framebuffer-konsol (glass console) till seriell portkonsol (serial console) har implementerats.
- Koden för att identifiera CPU 386sx/386dx, NexGen, Rise och Àldre Cyrix-processorer som slÀpptes före Cyrix M2 har tagits bort.
- Stödet för multiprocessorsystem (SMP) har förbÀttrats. Funktioner för hastighetsbegrÀnsning (rate limit), ARP-sökning och route timer har blivit mp-sÀkra. Möjlighet till parallell exekvering av operationer som nykompilering av IPv4-paket och omdirigering av IP-paket har implementerats. LÄsningsmekanismer för UDP- och IP-paketbehandling har lagts till med mutexar. Systemanropen kbind och pledge har tagits bort frÄn lÄsningarna. LÄsningsmekanismer för UNIX-sockets, verksamma pÄ nivÄ av individuella sockets, har implementerats.
- Implementeringen av DRM-ramverket (Direct Rendering Manager) Àr synkroniserad med Linux-kÀrnan 5.15.69 (den tidigare versionen var 5.15.26). Stödet för Intel-chips baserade pÄ mikroarkitekturerna Alder Lake och Raptor Lake har lagts till i inteldrm-drivrutinen. Stöd för framebuffer som inte Àr justerade pÄ minnessidans grÀnser har genomförts (anvÀnds till exempel i MacBook Pro 2021 14" och 16").
- FörbÀttringar har gjorts i hypervisor VMM. Stöd för anvÀndarutrymmehanterare baserade pÄ MMIO har lagts till i vmd. I vmm har emuleringen av in- och utgÄngsportar flyttats till anvÀndarutrymmet. Interna strukturer och grÀnssnitt i vmd, vmctl och vmm har enhetligats. Möjlighet till övervakning har lagts till virtuella maskiner genom SNMP AgentX, med anvÀndning av VM-MIB-parametrarna (RFC7666).
- Variabeln $rcexec i init-skript för rc.d har ersatts med funktionen rc_exec. En ny variabel, daemon_execdir, har lagts till för att byta katalog innan funktionen rc_exec utförs. I rc.d och rcctl har en ny ÄtgÀrd, configtest, lagts till för att kontrollera konfigurationens syntax.
- Verktyget ts har inkluderats, vilket lÀgger till tidsstÀmplar till de rader som tas emot via standardindatan, vilket reflekterar tidpunkten för varje rad.
- I verktyget ps har alternativet "-f" lagts till för trÀdgruppering av processer, vilket visar relationen mellan förÀldra- och barnprocesser.
- I verktyget openrsync har alternativet "âcontimeout" implementerats för att ange en timeout för anslutningsetablering.
- I verktyget pkg_add har caching som standard aktiverats, arbetet med paket har optimerats och en indikator har lagts till för att visa progress under datatransfereringen.
- I fdisk har arbetet med GPT- och MBR-tabeller förbÀttrats, varningar har lagts till vid olÀmplig placering av MBR- och GPT-partitioner.
- I verktyget disklabel har stöd för nyckelordet raid lagts till i mallar för automatisk placering av partitioner med RAID. Stödet för redigering av diskens geometri har avbrutits. Stödet för attributen âbsâ (storlek pĂ„ bootblock), âsbâ (storlek pĂ„ superblock) och d[0-4] (diskdata) har avbrutits.
- I katalogen /usr/share/btrace har en samling anvÀndbara btrace-skript för dynamisk spÄrning och inspektering av applikationer lagts till.
- I ljudbiblioteket sndio har funktionen sio_flush lagts till för att omedelbart stoppa uppspelning.
- Verktyget llvm-profdata för att arbeta med profildata har lagts till.
- I verktyget wc har ordberÀkningen hastighetsökats.
- Stöd för ny hÄrdvara har lagts till, inklusive nya drivrutiner:
- aplaudio (ljudsystem frÄn Apple).
- aplmca (MCA-kontroller frÄn Apple).
- aplsart (Apple SART).
- alpdc, apldchidev, apldckbd, apldcms, aplrtk (tangentbord och pekplatta för Apple M2).
- qcgpio, qciic (GPIO och GENI I2C-kontroller för Qualcomm Snapdragon).
- sfgpio, stfclock, stfpinctrl, stftemp (drivrutiner för GPIO, timer och sensorer pÄ SiFive-kort).
- sxirintc (interruptkontroller för Allwinner-chips).
- gpiorestart (drivrutin för omstart via GPIO).
- I ipmi har stödet för strömmonitorer utökats.
- I ehci har stöd för kontroller som anvÀnds i Marvell 3720-kort lagts till.
- I drivrutinen igc för gigabit Ethernet-adaptrar Intel I225 har hÄrdvaruacceleration för berÀkning av checksummor för IPv4, TCP och UDP lagts till. I drivrutinen ix för Ethernet-adaptrar Intel 82598/82599/X540/X550 har stöd för hÄrdvaruacceleration av TCP-segmenthantering (Large Receive Offloading) implementerats, aktiveras med alternativet tso i ifconfig.
- I drivrutinen iwx har stöd för Intel AX210/AX211-chips lagts till och utbudet av identifierade trÄdlösa enheter har utvidgats.
- Möjligheten att ladda frÄn mjukvaru-RAID 1 (softraid) pÄ system med amd64, sparc64 och arm64 har lagts till.
- I snmpd och xlock har privilegierats separation genomförts.
- I funktionerna bind och connect för UNIX-sockets har isolering baserad pÄ systemanropet unveil införts.
- Ett nytt systemanrop ypconnect har lagts till för att skapa en socket för anslutning till servern YP, med hjÀlp av IP-adressen frÄn den blockerade filen ypbinding. I ypldap har lÀget 'local bind' lagts till, dÀr RPC-socketen binds till loopback-grÀnssnittet för att utesluta externa anslutningar till servern.
- Programmen hcpleased, mountd, nfsd, pflogd, resolvd, slaacd och unwind, som finns i katalogen /sbin, har övergÄtt till att anvÀnda dynamisk lÀnkning för att aktivera ytterligare sÀkerhetsÄtgÀrder som Àr tillÀmpliga pÄ dynamiskt lÀnkade exekverbara filer.
- I nÀtverksstacken har systemanropen sendmmsg och recvmmsg implementerats, vilka tillÄter att skicka och lÀsa flera meddelanden i ett enda systemanrop, vilket tidigare skulle ha krÀvt separata anrop av sendmsg och recvmsg.
- I paketfiltret pf har behandlingen av IGMP- och ICMP6 MLD (Multicast Listener Discovery) paket Àndrats, vilket möjliggjorde hantering av multicast-paket i standardkonfigurationen. En striktare kontroll av IGMP/MLD-meddelanden har implementerats.
- IPsec har förbÀttrat arbetet med certifikat. I iked har kompatibiliteten med OpenIKED förbÀttrats. Kommandot ikectl show stats har fÄtt en utökning som visar statistik om framgÄngsrika och misslyckade anslutningar till iked.
- I bgpd har en max-communities filter lagts till för att begrÀnsa antalet tillÄtna communitys. RFC 9234 (Route Leak Prevention and Detection Using Roles in UPDATE and OPEN Messages) har implementerats, och fullstÀndigt stöd för RFC 7911 (Advertisement of Multiple Paths in BGP) har sÀkerstÀllts. Statisk hashing har ersatts med RB-trÀd för att öka prestanda i större system. En ny bgplgd-process har lagts till med en FastCGI-server som tillhandahÄller REST API för kommandon i bgpctl.
- I rpki-client har anvÀndning av mer Àn en CRL URI i certifikat tillÄtits, parameter skiplist har implementerats för att ignorera domÀner, och möjligheten att kontrollera ASPA (Autonomous System Provider Authorization) och sig-filer har lagts till. Dekodning av TAL (RFC 8630) har implementerats, kontrollen av EE-certifikat har skÀrpts och kompatibiliteten med HTTP-specifikationer har förbÀttrats.
- I snmpd har anvÀndning av objekt namn i snmpd.conf tillÄtits, förutom OID. Möjlighet att specificera en svartlista för att utesluta underrÀknade frÄn utdata har implementerats. Stöd för master-agent har lagts till i implementationen av AgentX-protokollet.
- Nya MIME-typdefinitioner har föreslagits för httpd.
- Verktyget ftp har översatts till att anvÀnda anslutningar som bearbetas i icke-blockerande lÀge med hjÀlp av ppoll.
- I tmux ('terminal multiplexer') har stöd för ACL lagts till för att organisera anslutning av flera anvÀndare via en enda socket.
- Paket av LibreSSL och OpenSSH har uppdaterats. En detaljerad översikt av förbÀttringarna kan ses i recensionerna av LibreSSL 3.6.0 och OpenSSH 9.1.
- Antalet portar för AMD64-arkitektur uppgick till 11451 (tidigare 11301), för aarch64 till 11261 (tidigare 11081), för i386 till 10225 (tidigare 10136). Bland versionerna av programverken i portarna:
- Asterisk 16.28.0, 18.14.0 och 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 och 11.2.0
- GHC 9.2.4
- GNOME 42.4
- Go 1.19.1
- JDK 8u342, 11.0.16 och 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 och 5.3.6
- MariaDB 10.9.3
- Mono 6.12.0.182
- Mozilla Firefox 105.0.1 och ESR 102.3.0
- Mozilla Thunderbird 102.3.0
- Mutt 2.2.7 och NeoMutt 20220429
- Node.js 16.17.1
- OCaml 4.12.1
- OpenLDAP 2.6.3
- PHP 7.4.30, 8.0.23 och 8.1.10
- Postfix 3.7.2
- PostgreSQL 14.5
- Python 2.7.18, 3.9.14 och 3.10.7
- Qt 5.15.6 och 6.3.1
- R 4.2.1
- Ruby 2.7.6, 3.0.4 och 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 och 8.6.12
- TeX Live 2021
- Vim 9.0.0192 och Neovim 0.7.2
- Xfce 4.16
- Komponenter frÄn tredje part som ingÄr i OpenBSD 7.2 har uppdaterats:
- Grafikstacken Xenocara baserat pÄ X.Org 7.7 med xserver 1.21.4 + patchar, 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 (+ patchar)
- GCC 4.2.1 (+ patchar) och 3.3.6 (+ patchar)
- Perl 5.32.1 (+ patchar)
- NSD 4.6.0
- Unbound 1.16.3
- Ncurses 5.7
- Binutils 2.17 (+ patchar)
- Gdb 6.3 (+ patch)
- Awk 12.9.2022
- Expat 2.4.9
KĂ€lla: opennet.ru
