Predstavljen je izdanje slobodnog UNIX-sličnog operativnog sustava OpenBSD 7.2. Projekt OpenBSD osnovao je Theo de Raadt 1995. godine nakon sukoba s programerima NetBSD, uslijed kojeg mu je zatvoren pristup CVS repozitoriju NetBSD. Nakon toga, Theo de Raadt je s grupom istomišljenika stvorio novu otvorenu operativnu sustav na temelju izvornog koda NetBSD, čiji su glavni ciljevi razvoja postali prenosivost (podržava 13 hardverskih platformi), standardizacija, ispravnost, proaktivna sigurnost i integrirani kriptografski alati. Veličina kompletnog instalacijskog ISO-a osnovnog sustava OpenBSD 7.2 iznosi 556 MB.
Osim izravno operativnog sustava, projekt OpenBSD poznat je po svojim komponentama koje su se raširile u drugim sustavima i pokazale se kao jedna od naj sigurnijih i najkvalitetnijih rješenja. Među njima su: LibreSSL (fork OpenSSL), OpenSSH, filtarski paket PF, demoni usmjeravanja OpenBGPD i OpenOSPFD, NTP poslužitelj OpenNTPD, poštanski poslužitelj OpenSMTPD, višekanalni terminal (analog GNU screena) tmux, demon identd s implementacijom protokola IDENT, BSDL alternativa paketu GNU groff — mandoc, protokol za organizaciju sustava otpornosti na greške CARP (Common Address Redundancy Protocol), lagani http poslužitelj, alat za sinkronizaciju datoteka OpenRSYNC.
Glavna poboljšanja:
- Poboljšana je podrška za sustave temeljene na ARM arhitekturi, uključujući dodanu podršku za ARM čipove Apple M2 i Ampere Altra. Dodana je podrška za prijenosnik Lenovo ThinkPad x13s i druga uređaja temeljena na SoC Qualcomm Snapdragon 8cx Gen 3 (SC8280XP).
- Dodana je mogućnost pokretanja u okruženjima Oracle Clouda jezgre za ram-disk (bsd.rd) i jezgre za višestruke sustave (bsd.mp).
- Uključena je kstat naprava, koja izlaže statistiku o radu jezgre, koju je moguće pregledati pomoću alata kstat.
- Za svaku procesorsku jezgru s podrškom za MPERF/APERF implementirani su senzori CPU frekvencije. Kada se radi na bateriji, uključeno je skaliranje frekvencije CPU-a ovisno o opterećenju.
- Na sustavima ARM64 dodana je osnovna podrška za način spavanja. Ograničenje broja podržanih CPU-a povećano je na 256. Implementirana je mogućnost prijelaza s konzole zasnovane na framebufferu (glass console) na konzolu temeljenu na serijskom portu (serial console).
- Uklonjen je kod za prepoznavanje CPU-a 386sx/386dx, NexGen, Rise i starih procesora Cyrix, izdanih prije čipa Cyrix M2.
- Poboljšana je podrška za višestruke procesorske sustave (SMP). Prevedene su u mp-safe kategoriju funkcije ograničavanja propusnosti (rate limit), pretraživanja ARP zapisa i route timer. Implementirana je mogućnost paralelnog izvršavanja takvih operacija kao što su rekonstrukcija IPv4 paketa i preusmjeravanje IP paketa. U funkcije obrade dolaznih UDP i IP paketa dodane su blokade soketa koje koriste mutex. Uklonjene su blokade iz sistemskih poziva kbind i pledge. Implementirane su blokade UNIX soketa, koje djeluju na razini pojedinačnih soketa.
- Implementacija okvira drm (Direct Rendering Manager) usklađena je s kernelom Linux 5.15.69 (u prethodnoj verziji — 5.15.26). U inteldrm drajveru dodana je podrška za Intel čipove temeljen na mikroarhitekturama Alder Lake i Raptor Lake. Implementirana je podrška za framebuffer-e koji nisu poravnati s granicom stranice memorije (koriste se, na primjer, u MacBook Pro 2021 14″ i 16″).
- Unaprijeđenja su uvedena u hipervizor VMM. U vmd je dodana podrška za korisničke prostore bazirane na MMIO. U vmm je emulacija ulazno/izlaznih portova premještena u korisnički prostor. Unificirane su unutarnje strukture i sučelja u vmd, vmctl i vmm. Dodana je mogućnost nadzora virtualnih mašina putem SNMP AgentX, koristeći parametre VM-MIB (RFC7666).
- Varijabla $rcexec u skriptama inicijalizacije rc.d zamijenjena je funkcijom rc_exec. Dodana je nova varijabla daemon_execdir koja omogućava promjenu direktorija prije izvođenja funkcije rc_exec. U rc.d i rcctl dodana je nova akcija configtest za provjeru sintakse konfiguracije.
- U sastav je uključena alatka ts koja dodaje vremenske oznake u redove primljene putem standardnog ulaza, odražavajući trenutak kada je svaki red zaprimljen.
- U alatku ps dodana je opcija "-f" za hijerarhijsko grupiranje procesa, reflektirajući odnos između roditeljskih i dječjih procesa.
- U alatki openrsync implementirana je opcija "—contimeout" za postavljanje vremenskog ograničenja za uspostavljanje veze.
- U alatki pkg_add po defaultu je uključeno keširanje, optimiziran je rad s paketima i osiguran je prikaz indikatora napretka operacije tijekom prijenosa podataka.
- U fdisk-u poboljšan je rad s GPT i MBR tablicama, dodana su upozorenja za neprimjereno postavljanje MBR i GPT particija.
- U alatki disklabel dodana je podrška za ključnu riječ raid u predlošcima za automatsko postavljanje particija s RAID-om. Prekinuta je podrška za uređivanje informacija o geometriji diska. Prekinuta je podrška za atribute 'bs' (veličina pokretačkog bloka), 'sb' (veličina superbloka) i d[0-4] (podatci diska).
- U katalog /usr/share/btrace stavljena je zbirka korisnih btrace skripti za dinamičko praćenje i inspekciju aplikacija.
- U zvučnoj biblioteci sndio dodana je funkcija sio_flush za trenutno zaustavljanje reprodukcije.
- U sastav je uključena alatka llvm-profdata za rad s podacima o profiliranju.
- U alatki wc ubrzan je brojanje riječi.
- Dodana podrška za novu opremu, uključujući nove drajvere:
- aplaudio (Apple zvučni sistem).
- aplmca (MCA kontroler Apple).
- aplsart (Apple SART).
- alpdc, apldchidev, apldckbd, apldcms, aplrtk (Apple M2 tastatura i touchpad).
- qcgpio, qciic (GPIO i GENI I2C kontroleri za Qualcomm Snapdragon).
- sfgpio, stfclock, stfpinctrl, stftemp (drajveri za GPIO, tajmer i senzore SiFive ploča).
- sxirintc (kontroler prekida za Allwinner čipove).
- gpiorestart (drajver za reset preko GPIO).
- U ipmi proširena podrška za senzore napajanja.
- U ehci dodana podrška za kontroler korišćen u Marvell 3720 pločama.
- U igc drajveru za gigabitne Ethernet adaptore Intel I225 uključeno je hardversko ubrzanje obračuna kontrolnih zbirki za IPv4, TCP i UDP. U ix drajveru za Ethernet adaptore Intel 82598/82599/X540/X550 implementirana je podrška za hardversko ubrzanje obrade TCP segmenata (Large Receive Offloading), koja se može aktivirati opcijom tso u ifconfig.
- U iwx drajveru implementirana je podrška za Intel AX210/AX211 čipove i proširen je spektar prepoznatih bežičnih uređaja.
- Dodana mogućnost podizanja sa softverskih RAID 1 particija (softraid) na amd64, sparc64 i arm64 sistemima.
- U snmpd i xlock implementirano je razdvajanje privilegija.
- U funkcijama bind i connect za UNIX sokete omogućena je izolacija na bazi sistemskog poziva unveil.
- Dodana nova sistemska funkcija ypconnect za kreiranje soketa za povezivanje sa serverom YP, koristeći IP adresu iz blokiranog ypbinding fajla. U ypldap dodan je režim 'local bind', u kojem se RPC soket vezuje za loopback interfejs, kako bi se isključila spoljna povezivanja sa serverom.
- Programi smješteni u direktoriju /sbin hcpleased, mountd, nfsd, pflogd, resolvd, slaacd i unwind prebačeni su na korišćenje dinamičkog povezivanja za aktiviranje dodatnih zaštitnih sredstava primenljivih na dinamički povezane izvršne datoteke.
- U mrežnom steku implementirani su sistemski pozivi sendmmsg i recvmmsg, koji omogućavaju slanje i čitanje nekoliko poruka u okviru jednog sistemskog poziva, što bi inače zahtevalo odvojene pozive sendmsg i recvmsg.
- U paketnom filteru pf promenjena je obrada IGMP i ICMP6 MLD (Multicast Listener Discovery) paketa, što je omogućilo rad s upravljačkim multicast paketima u zadatoj konfiguraciji. Implementirana je stroža provera IGMP/MLD poruka.
- U IPsec je poboljšan rad s certifikatima. U iked je poboljšana kompatibilnost s OpenIKED-om. U timu ikectl show stats dodan je izlaz statistike o uspješnim i neuspješnim vezama na iked.
- U bgpd je dodat max-communities filtar za ograničavanje broja dopuštenih zajednica, implementirana je RFC 9234 (Sprječavanje i otkrivanje curenja ruta korištenjem uloga u UPDATE i OPEN porukama), osigurana je potpuna podrška za RFC 7911 (Oglašavanje više putanja u BGP-u), a statički hashovi su zamijenjeni RB-stablima radi poboljšanja performansi velikih sustava. Dodat je proces bgplgd s implementacijom FastCGI poslužitelja koji pruža REST API za bgpctl naredbe.
- U rpki-clientu je dopušteno korištenje više od jednog CRL URI-a u certifikatima, implementirana je opcija skiplist za ignoriranje domena, dodana je mogućnost provjere ASPA (Autonomous System Provider Authorization) i sig-datoteka, implementirano je dekodiranje TAL (RFC 8630), pojačana je provjera EE-certifikata, poboljšana je kompatibilnost sa specifikacijama HTTP.
- U snmpd je dopušteno korištenje imena objekata u snmpd.conf, osim OID-a. Implementirana je mogućnost definiranja crne liste za isključivanje podstabala iz izlaza. U implementaciju protokola AgentX dodana je podrška za master agenta.
- U httpd su predložene nove definicije MIME-tipa.
- Alat ftp je prebačen na korištenje veza obrađenih u neblokirajućem režimu putem ppoll-a.
- U tmux-u („terminal multiplexer“) dodana je mogućnost korištenja ACL-a za organizaciju povezivanja više korisnika kroz jedan socket.
- Ažurirani su paketi LibreSSL i OpenSSH. Detaljan pregled poboljšanja može se vidjeti u pregledima LibreSSL 3.6.0 i OpenSSH 9.1.
- Broj portova za arhitekturu AMD64 iznosi 11451 (bilo je 11301), za aarch64 — 11261 (bilo je 11081), za i386 — 10225 (bilo je 10136). Među verzijama aplikacija u portovima:
- Asterisk 16.28.0, 18.14.0 i 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 i 11.2.0
- GHC 9.2.4
- GNOME 42.4
- Go 1.19.1
- JDK 8u342, 11.0.16 i 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 i 5.3.6
- MariaDB 10.9.3
- Mono 6.12.0.182
- Mozilla Firefox 105.0.1 i ESR 102.3.0
- Mozilla Thunderbird 102.3.0
- Mutt 2.2.7 i NeoMutt 20220429
- Node.js 16.17.1
- OCaml 4.12.1
- OpenLDAP 2.6.3
- PHP 7.4.30, 8.0.23 i 8.1.10
- Postfix 3.7.2
- PostgreSQL 14.5
- Python 2.7.18, 3.9.14 i 3.10.7
- Qt 5.15.6 i 6.3.1
- R 4.2.1
- Ruby 2.7.6, 3.0.4 i 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 i 8.6.12
- TeX Live 2021
- Vim 9.0.0192 i Neovim 0.7.2
- Xfce 4.16
- Ažurirane su komponente od trećih proizvođača koje čine dio OpenBSD 7.2:
- Grafički stack Xenocara temeljen na X.Org 7.7 s xserver 1.21.4 + zakrpe, 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 (+ zakrpe)
- GCC 4.2.1 (+ zakrpe) i 3.3.6 (+ zakrpe)
- Perl 5.32.1 (+ zakrpe)
- NSD 4.6.0
- Unbound 1.16.3
- Ncurses 5.7
- Binutils 2.17 (+ zakrpe)
- Gdb 6.3 (+ zakrpa)
- Awk 12.9.2022
- Expat 2.4.9
Izvor: opennet.ru
