A fost lansată versiunea sistemului de operare OpenBSD 7.0, o platformă UNIX-like multiplă. Acesta este al 51-lea număr al proiectului, care împlinește 26 de ani pe 18 octombrie. Proiectul OpenBSD a fost fondat de Theo de Raadt în 1995, după un conflict cu dezvoltatorii NetBSD, care i-a restricționat accesul la repository-ul CVS al NetBSD. După aceea, Theo de Raadt, împreună cu un grup de susținători, a creat un nou sistem de operare deschis, bazat pe copacul sursă al NetBSD, având ca principale obiective portabilitatea (suport pentru 13 platforme hardware), standardizarea, funcționarea corectă, securitatea proactivă și instrumentele criptografice integrate. Dimensiunea ISO-ului de instalare complet al sistemului de bază OpenBSD 7.0 este de 554 MB.
Pe lângă sistemul de operare în sine, proiectul OpenBSD este cunoscut pentru componentele sale, care au fost adoptate în alte sisteme și s-au dovedit a fi unele dintre cele mai sigure și de calitate soluții. Printre acestea se numără: LibreSSL (fork al OpenSSL), OpenSSH, filtrul de pachete PF, demonii de rutare OpenBGPD și OpenOSPFD, serverul NTP OpenNTPD, poșta OpenSMTPD, multiplexorul de terminal text tmux, demonul identd cu implementarea protocolului IDENT, alternativa BSDL a pachetului GNU groff — mandoc, protocolul pentru organizarea sistemelor de redundanță CARP (Common Address Redundancy Protocol), serverul http ușor, utilitarul de sincronizare a fișierelor OpenRSYNC. serverul Au fost implementate apelurile de sistem waitid (așteptarea modificării stării unui proces), pinsyscall (pentru transmiterea informațiilor despre punctul de intrare execve pentru protecția împotriva exploit-urilor ROP), getthrname și setthrname (obținerea și setarea numelui firului).
Îmbunătățiri principale:
- A fost adăugat un port pentru sistemele de 64 de biți bazate pe arhitectura RISC-V. În prezent, este suportată funcționarea pe plăcile HiFive Unmatched și parțial pe PolarFire SoC Icicle Kit.
- În portul pentru platformele ARM64, suportul pentru dispozitivele Apple cu procesor M1 a fost îmbunătățit, dar încă nu este complet. În starea actuală, suportul permite instalarea OpenBSD pe un disc GPT și includ drivere pentru USB 3, NVMe, GPIO și SPMI. Pe lângă M1, suportul ARM64 a fost de asemenea extins pentru Raspberry Pi 3 Model B+ și plăci bazate pe SoC Rockchip RK3399.
- Pentru arhitectura AMD64, compilatorul GCC este dezactivat din start (rămâne doar Clang). Anterior, GCC a fost dezactivat pentru arhitecturile armv7 și i386.
- S-a oprit suportul pentru platforma SGI.
- Pentru platformele amd64, arm64, i386, sparc64 și powerpc64, compilarea kernel-ului cu suport pentru sistemul de urmărire dinamică dt este activată prin default. A fost adăugat un furnizor kprobes pentru colectarea informațiilor despre evenimentele la nivel de kernel.
- În btrace, a fost implementat suportul pentru operatorii '' în filtre și a fost asigurat output-ul timpului petrecut în spațiul utilizatorului în timpul analizei stivei kernel-ului.
- A fost adăugat un fișier de configurare /etc/bsd.re-config, care poate fi utilizat pentru configurarea kernel-ului în timpul boot-ului și pentru activarea/dezactivarea anumitor dispozitive.
- A fost asigurat detectarea dispozitivelor TPM 2.0 și executarea corectă a comenzilor pentru a intra în modul de repaus (rezolvă problema de ieșire din modul de repaus pentru laptopurile ThinkPad X1 Carbon Gen 9 și ThinkPad X1 Nano).
- Implementarea kqueue a fost translată pentru a folosi mutex-uri.
- A fost implementată posibilitatea de a configura dimensiunea bufferului pentru socketurile PF_UNIX prin sysctl. Dimensiunea bufferului implicit a fost crescută la 8 KB.
- S-a îmbunătățit suportul pentru sisteme multicore (SMP). Funcția pmap_extract() a fost clasată ca mp-safe pe sistemele hppa și amd64. Codul pentru numărarea referințelor la obiectele anonime, parte a gestionării excepțiilor, a fost extras din blocarea globală a nucleului, alături de funcțiile lseek, connect și setrtable. S-au implementat buffere de mesaje separate pentru fiecare nucleu CPU în caz de panica (panic).
- Implementarea framework-ului drm (Direct Rendering Manager) a fost sincronizată cu nucleul Linux 5.10.65. În driverul inteldrm, s-a îmbunătățit suportul pentru cipurile Intel bazate pe arhitectura Tiger Lake. Driverul amdgpu a implementat suport pentru GPU-urile Navi 12, Navi 21 „Sienna Cichlid”, Arcturus și APU Cezanne „Green Sardine” Ryzen 5000.
- A fost adăugat suport pentru hardware nou, inclusiv Aquantia AQC111U/AQC112U USB Ethernet, Aquantia 1/2.5/5/10Gb/s PCIe Ethernet, Cadence GEM, Broadcom BCM5725, RTL8168FP/RTL8111FP/RTL8117. S-a îmbunătățit suportul pentru platformele Intel bazate pe arhitectura Tiger Lake. A fost adăugat driverul ucc pentru tastaturi cu interfață USB HID Consumer Control, care utilizează butoane pentru deschiderea aplicațiilor, controlul redării audio și modificarea volumului.
- Au fost aduse îmbunătățiri la hypervisorul VMM. A fost adăugat un limit de 512 VCPU pe mașină virtuală. S-au rezolvat problemele de blocare a VCPU-urilor. În backendul pentru gestionarea mașinilor virtuale vmd a fost adăugat suportul pentru protecția împotriva sistemelor gazdă cu drivere malițioase virtio.
- Utilitatea timeout a fost transferată din NetBSD, permițând limitarea timpului de execuție al comenzilor.
- În utilitarul de sincronizare a fișierelor openrsync, au fost implementate opțiunile „include” și „exclude”.
- În utilitarul ps, au fost furnizate informații despre grupurile asociate.
- În editorul de text mg, a fost adăugată comanda „dired-jump”.
- În utilitarele fdisk și newfs, s-a îmbunătățit suportul pentru discuri cu dimensiunea sectorului de 4K. În fdisk, s-a refăcut codul de inițializare MBR/GPT și s-a adăugat recunoașterea partițiilor GPT „BIOS Boot”, „APFS”, „APFS ISC”, „APFS Recovery” (sic), „HiFive FSBL” și „HiFive BBL”. A fost adăugată opțiunea „-A” pentru inițializarea GPT fără a șterge partițiile de boot.
- În utilitarul traceroute, pentru a accelera funcționarea, a fost implementată procesarea pachetelor de verificare și a cererilor DNS în mod asincron.
- În utilitarul doas, sunt oferite trei tentative de introducere a parolei.
- În xterm, s-a asigurat izolarea accesului la sistemul de fișiere prin intermediul apelului de sistem unveil(). Procesele ftpd sunt protejate prin pledging.
- S-a implementat emiterea în jurnal a informațiilor despre utilizarea incorectă a parametrului de formatare „%n” în funcția printf.
- În implementarea IPsec în iked a fost adăugată suport pentru configurarea DNS-ului de către client.
- În snmpd, suportul pentru protocoalele SNMPv1 și SNMPv2c este dezactivat în favoarea utilizării SNMPv3.
- În mod implicit, sunt activate procesele dhcpleased și resolvd, care permit configurarea adreselor IPv4 prin DHCP. Utilitarul dhclient rămâne în sistem ca opțiune. În utilitarul route a fost adăugată comanda „nameserver” pentru a transmite informații despre serverul DNS în resolvd.
- În LibreSSL a fost adăugat suport pentru API TLSv3 OpenSSL 1.1.1 și a fost activat un nou validator X.509, care suportă verificarea corectă a certificatelor semnate încrucișat.
- În OpenSMTPD a fost adăugat suport pentru opțiunile TLS „cafile=(path)”, „nosni”, „noverify” și „servername=(name)”. În smtp, este permisă alegerea parametrilor de criptare și protocoalelor TLS.
- Pachetul OpenSSH a fost actualizat. O revizuire detaliată a îmbunătățirilor poate fi consultată aici: OpenSSH 8.7, OpenSSH 8.8. Suportul pentru semnăturile digitale rsa-sha a fost dezactivat.
- Numărul de porturi pentru arhitectura AMD64 a fost de 11325, pentru aarch64 – 11034, pentru i386 – 10248. Printre versiunile aplicațiilor disponibile în porturi se numără: FFmpeg 4.4 GCC 8.4.0 și 11.2.0 GNOME 40.4 Go 1.17 JDK 8u302, 11.0.12 și 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 și 5.3.6 MariaDB 10.6.4 Node.js 12.22.6 PHP 7.3.30, 7.4.23 și 8.0.10 Postfix 3.5.12 PostgreSQL 13.4 Python 2.7.18, 3.8.12 și 3.9.7 Qt 5.15.2 și 6.0.4 Ruby 2.6.8, 2.7.4 și 3.0.2 Rust 1.55.0 SQLite 3.35.5 Xfce 4.16
- Componentele de la dezvoltatori terți incluse în OpenBSD 7.0 au fost actualizate:
- Stiva grafică Xenocara bazată pe X.Org 7.7 cu xserver 1.20.13 + patch-uri, 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 (+ patch-uri)
- GCC 4.2.1 (+ patch-uri) și 3.3.6 (+ patch-uri)
- Perl 5.32.1 (+ patch-uri)
- NSD 4.3.7
- Unbound 1.13.3
- Ncurses 5.7
- Binutils 2.17 (+ patch-uri)
- Gdb 6.3 (+ patch)
- Awk 18.12.2020
- Expat 2.4.1
Sursa: opennet.ro
