Bemutatásra került az OpenBSD 7.2, egy szabad UNIX-szerű operációs rendszer kiadása. Az OpenBSD projektet Theo de Raadt alapította 1995-ben a NetBSD fejlesztőivel folytatott konfliktus után, amely során Theo hozzáférése a NetBSD CVS tárolójához le lett zárva. Ezt követően Theo de Raadt és egy elkötelezett csapata az NetBSD forrásfája alapján új, nyílt forráskódú operációs rendszert hozott létre, melynek fő fejlesztési céljai között szerepelt a hordozhatóság (13 hardverplatform támogatása), a standardizálás, a helyes működés, a proaktív biztonság és az integrált kriptográfiai eszközök. Az OpenBSD 7.2 alap rendszerének teljes telepítő ISO képe 556 MB méretű.
Az operációs rendszeren kívül az OpenBSD projekt híres az olyan komponentseiről, amelyek más rendszerekben is elterjedtek és a legbiztonságosabb és legjobb minőségű megoldásokként szerepelnek. Ezek között található a LibreSSL (az OpenSSL fork), az OpenSSH, a csomagszűrő PF, az OpenBGPD és OpenOSPFD irányító démonok, az OpenNTPD NTP-szerver, az OpenSMTPD levelezőszerver, a tmux szöveges terminál-multiplexor (az GNU screen analógja), az IDENT protokollt megvalósító identd démon, a GNU groff BSDL-alternatívája — a mandoc, a CARP (Common Address Redundancy Protocol) protokoll a hibatűrő rendszerek szervezésére, valamint egy könnyű http-szerver és az OpenRSYNC fájlszinkronizáló segédprogram.
Fő fejlesztések:
- Javult az ARM architektúra alapú rendszerek támogatása, beleértve az Apple M2 és Ampere Altra ARM-Chipek támogatását. Támogatást kapott a Lenovo ThinkPad x13s laptop és más Qualcomm Snapdragon 8cx Gen 3 (SC8280XP) alapú eszközök.
- Hozzáadva a lehetőség, hogy az Oracle Cloud környezeteiben ram-lemez (bsd.rd) és többprocesszoros rendszerek (bsd.mp) magokkal indítsanak.
- Beépítve a kstat eszközt, amely a kernel működésének statisztikáit exportálja, és amelyet a kstat segédprogram használhat.
- Minden MPERF/APERF támogatással rendelkező processzormaghoz külön CPU frekvencia érzékelők kerültek implementálásra. Akkumulátoros üzemmódban a CPU frekvenciája a terhelés függvényében skálázódik.
- ARM64 rendszerekhez kezdeti alvó üzemmód támogatás került bevezetésre. A támogatott CPU-k számának határa 256-ra nőtt. Megvalósult a keret alapú konzolról (glass console) a soros port alapú konzolra (serial console) történő váltás lehetősége.
- Eltávolítva a kód a 386sx/386dx, NexGen, Rise és az előtti Cyrix processzorok, valamint a Cyrix M2 chip előtt kiadott régi processzorok azonosításához.
- Fejlesztett a többprocesszoros rendszerek (SMP) támogatása. Az MP-safe szintre kerültek az átviteli sebesség (rate limit), az ARP bejegyzések keresése és a route timer korlátozó funkciói. Megvalósult a párhuzamos végrehajtás lehetősége olyan műveletekhez, mint az IPv4 csomagok újraépítése és az IP-csomagok irányítása. Az UDP és IP bejövő csomagok feldolgozási funkciókhoz mutex-et használó socket lezárások kerültek bevezetésre. A kbind és pledge rendszerhívásokból eltávolításra kerültek a lock-ok. Bevezetésre kerültek az UNIX socket lezárások, amelyek az egyes socketeken működnek.
- A drm (Direct Rendering Manager) keretrendszer megvalósítása szinkronizálva van a Linux 5.15.69-es kernellel (a legutóbbi kiadás a 5.15.26 volt). Az inteldrm meghajtóban támogatást kaptak az Alder Lake és Raptor Lake mikroarchitektúrával rendelkező Intel chipek. Megvalósították a memóriapage határhoz nem igazodó framebuffer-ek támogatását (például a MacBook Pro 2021 14″ és 16″ modellek esetében).
- Javítások kerültek végrehajtásra a VMM hypervisor-ban. A vmd-be felhasználói térbeli MMIO alapú kezelők támogatása került. Az vmm bemeneti/kimeneti portok emulációja a felhasználói térbe került. Az vmd, vmctl és vmm belső struktúrái és interfészei egységesítve lettek. Lehetőség nyílt a monitorozásra virtuális gépekhez SNMP AgentX segítségével, a VM-MIB (RFC7666) paraméterek használatával.
- Az $rcexec változót az rc.d inicializáló szkriptekben rc_exec funkcióra cserélték. Új daemon_execdir változó került bevezetésre, amely lehetővé teszi a könyvtár megváltoztatását az rc_exec funkció végrehajtása előtt. Az rc.d és rcctl új configtest művelete hozzáadva a konfigurációs szintaxis ellenőrzéséhez.
- A ts segédprogram belekerült, amely az alapértelmezett bemenetről érkező sorokhoz időt fűz, amely a sorok beérkezésének pillanatát tükrözi.
- A ps segédprogramhoz hozzáadva lett a "-f" opció a folyamatok fába rendezett csoportosításához, amely tükrözi a szülő- és gyermek folyamatok közötti kapcsolatot.
- Az openrsync segédprogramban megvalósították a "—contimeout" opciót a kapcsolódási időtúllépés meghatározásához.
- A pkg_add eszközbe alapértelmezés szerint be lett építve a gyorsítótárazás, optimalizálták a csomagok kezelését, és a fájlátvitel során megjelenik a művelet végrehajtási jelzője.
- A fdisk továbbfejlesztette a GPT és MBR táblák kezelését, figyelmeztetéseket vezettek be az MBR és GPT partíciók nem megfelelő elhelyezésénél.
- A disklabel eszközbe integrálva lett a raid kulcsszó támogatása a sablonokban a RAID partíciók automatikus elhelyezéséhez. Megszűnt a lemezgeometria információinak szerkesztésének támogatása. Megszűnt az ‘bs’ (betöltési blokk mérete), ‘sb’ (superblokk mérete) és d[0-4] (lemez adat) attribútumok támogatása.
- A /usr/share/btrace mappába hasznos btrace szkriptek gyűjteménye került elhelyezésre az alkalmazások dinamikus követésére és ellenőrzésére.
- A sndio hangkönyvtárhoz hozzáadva lett a sio_flush funkció a lejátszás azonnali leállításához.
- A llvm-profdata eszköz a profilozási adatok kezeléséhez került bevezetésre.
- A wc eszközben felgyorsult a szavak számlálása.
- Új hardver támogatása került hozzáadásra, beleértve az új meghajtókat is:
- aplaudio (Apple hangrendszer).
- aplmca (Apple MCA vezérlő).
- aplsart (Apple SART).
- alpdc, apldchidev, apldckbd, apldcms, aplrtk (Apple M2 billentyűzet és touchpad).
- qcgpio, qciic (GPIO és GENI I2C vezérlők Qualcomm Snapdragonhoz).
- sfgpio, stfclock, stfpinctrl, stftemp (vezérlők GPIO, időzítő és SiFive lapkák érzékelői számára).
- sxirintc (megszakításvezérlő Allwinner chipekhez).
- gpiorestart (meghajtó GPIO-n keresztüli reseteléshez).
- Az ipmi támogatása kiterjedt az energiaérzékelőkre.
- Az ehci meghajtóhoz hozzá lett adva egy vezérlő támogatása, amelyet a Marvell 3720 lapkákban használnak.
- Az igc meghajtóban az Intel I225 gigabites Ethernet adapterekhez hardveres gyorsítás került bevezetésre az IPv4, TCP és UDP checksumok számításához. Az ix meghajtóban, amely az Intel 82598/82599/X540/X550 Ethernet adapterekhez készült, a TCP szegmensek hardveres gyorsítása (Large Receive Offloading) egy tso opcióval aktiválható az ifconfig-ban.
- Az iwx meghajtó támogatja az Intel AX210/AX211 chipeket, és szélesítette a meghatározott vezeték nélküli eszközök körét.
- Bevezetésre került a lehetőség szoftveres RAID 1 (softraid) partíciókról való bootolásra amd64, sparc64 és arm64 rendszereken.
- A snmpd és xlock funkciókban megvalósult a jogosultságok elkülönítése.
- A bind és connect függvényeknél UNIX socketekhez rendszerv calls alapú izolációt biztosít.
- Új rendszerhívás került hozzáadásra: ypconnect, amely socketet hoz létre a kapcsolódáshoz szerverrel YP-hez, blokkolt ypbinding fájl IP-címét használva. A ypldap-hoz hozzá lett adva a ‘local bind’ mód, amely az RPC socketet a loopback interfészhez köti, hogy elkerülje a külső kapcsolódásokat a szerverhez.
- A /sbin könyvtárban található hcpleased, mountd, nfsd, pflogd, resolvd, slaacd és unwind programokat átkonfigurálták dinamikus linkelésre, hogy további védelmi intézkedéseket aktiváljanak, amelyek a dinamikusan linkelt futtatható fájlokra alkalmazhatók.
- A hálózati stackben megvalósult a sendmmsg és recvmmsg rendszerhívások, amelyek lehetővé teszik, hogy egyetlen hívás keretében több üzenetet küldjünk és olvassunk, ami korábban külön hívásokat igényelt volna sendmsg és recvmsg segítségével.
- A pf csomagszűrőben megváltozott az IGMP és ICMP6 MLD (Multicast Listener Discovery) csomagok kezelése, ami lehetővé tette a multicast csomagok kezelését az alapértelmezett konfiguráció szerint. Szigorúbb ellenőrzést valósítottak meg az IGMP/MLD üzeneteknél.
- Az IPsec egyesített tanúsítványkezelést kapott. Az iked kompatibilitása javult az OpenIKED-del. Az ikectl show stats parancshoz hozzáadódott a statisztikák megjelenítése az iked-hez való sikeres és sikertelen kapcsolódásokról.
- A bgpd-hez hozzá lett adva a max-communities szűrő a megengedett communities számának korlátozására, megvalósítva a RFC 9234-et (Route Leak Prevention and Detection Using Roles in UPDATE and OPEN Messages), teljes támogatást biztosít a RFC 7911-hez (Több útvonal hirdetése a BGP-ben), a statikus hash-eket RB-fákkal helyettesítették a nagy rendszerek teljesítményének növelése érdekében. Hozzáadódott a bgplgd folyamat, amely FastCGI kiszolgálót valósít meg, REST API-t biztosítva a bgpctl parancsokhoz.
- A rpki-clientben lehetővé vált több mint egy CRL URI használata a tanúsítványokban, megvalósítva a skiplist paramétert a domainek figyelmen kívül hagyására, hozzáadva az ASPA (Autonomous System Provider Authorization) és a sig-fájlok ellenőrzésének lehetőségét, megvalósítva a TAL (RFC 8630) dekódolását, szigorodott az EE-tanúsítványok ellenőrzése, javult a HTTP-specifikációkkal való kompatibilitás.
- A snmpd-ben megengedett az snmpd.conf fájlban objektumnevek használata az OID mellett. Lehetővé vált fekete lista megadása az alárendelt fák kiiktatására a kimenetből. Az AgentX protokoll megvalósítása támogatja a master ügynököt.
- Az httpd új MIME-típus definiálásokat ajánlott.
- Az ftp segédprogram át lett állítva nem blokkoló módú kapcsolatok kezelésére ppoll használatával.
- A tmux („terminál multiplexer”) lehetőséget kapott ACL-ek használatára több felhasználó egy socketen keresztüli csatlakoztatásához.
- Frissítették a LibreSSL és OpenSSH csomagokat. A fejlesztések részletes áttekintése megtekinthető a LibreSSL 3.6.0 és OpenSSH 9.1 áttekintéseiben.
- AMD64 architektúrára 11451 port érkezett (11301 volt), a aarch64-re 11261 (11081 volt), i386-ra 10225 (10136 volt). Az alkalmazásverziók a portokban:
- Asterisk 16.28.0, 18.14.0 és 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 és 11.2.0
- GHC 9.2.4
- GNOME 42.4
- Go 1.19.1
- JDK 8u342, 11.0.16 és 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 és 5.3.6
- MariaDB 10.9.3
- Mono 6.12.0.182
- Mozilla Firefox 105.0.1 és ESR 102.3.0
- Mozilla Thunderbird 102.3.0
- Mutt 2.2.7 és NeoMutt 20220429
- Node.js 16.17.1
- OCaml 4.12.1
- OpenLDAP 2.6.3
- PHP 7.4.30, 8.0.23 és 8.1.10
- Postfix 3.7.2
- PostgreSQL 14.5
- Python 2.7.18, 3.9.14 és 3.10.7
- Qt 5.15.6 és 6.3.1
- R 4.2.1
- Ruby 2.7.6, 3.0.4 és 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 és 8.6.12
- TeX Live 2021
- Vim 9.0.0192 és Neovim 0.7.2
- Xfce 4.16
- Frissítették a külső fejlesztők által készített komponenseket, amelyek az OpenBSD 7.2-ben szerepelnek:
- Az Xenocara grafikai stack az X.Org 7.7 alapján xserver 1.21.4 + javításokkal, 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 (+ javítások)
- GCC 4.2.1 (+ javítások) és 3.3.6 (+ javítások)
- Perl 5.32.1 (+ javítások)
- NSD 4.6.0
- Unbound 1.16.3
- Ncurses 5.7
- Binutils 2.17 (+ javítások)
- Gdb 6.3 (+ javítás)
- Awk 12.9.2022
- Expat 2.4.9
Forrás: opennet.ru
