Viene presentata la versione gratuita del sistema operativo UNIX-like OpenBSD 7.6. Il progetto OpenBSD è stato fondato da Theo de Raadt nel 1995 dopo un conflitto con gli sviluppatori NetBSD, a seguito del quale a Theo è stato negato l'accesso al repository CVS di NetBSD. Successivamente, Theo de Raadt e un gruppo di persone affini hanno creato un nuovo sistema operativo aperto basato sull'albero dei sorgenti NetBSD, i cui principali obiettivi di sviluppo erano la portabilità (sono supportate 13 piattaforme hardware), la standardizzazione, il corretto funzionamento, la sicurezza proattiva e strumenti crittografici integrati. L'immagine ISO di installazione completa del sistema base OpenBSD 7.6 è di 702 MB.
Oltre al sistema operativo stesso, il progetto OpenBSD è noto per i suoi componenti, che si sono diffusi in altri sistemi e si sono dimostrati una delle soluzioni più sicure e di alta qualità. Tra questi: LibreSSL (fork di OpenSSL), OpenSSH, filtro pacchetti PF, demoni di routing OpenBGPD e OpenOSPFD, server NTP OpenNTPD, server di posta OpenSMTPD, multiplexer terminale di testo (analogo allo schermo GNU) tmux, demone identd con implementazione del protocollo IDENT, alternativa BSDL Pacchetto GNU groff - mandoc, protocollo per l'organizzazione di sistemi tolleranti agli errori CARP (Common Address Redundancy Protocol), server http leggero, utilità di sincronizzazione file OpenRSYNC.
Principali miglioramenti:
- Il supporto per l'architettura ARM64 è stato ampliato. È incluso il supporto per l'estensione ARM8 EPAN (Enhanced Privileged Access Never), che blocca l'accesso privilegiato alle pagine di memoria utilizzate solo per l'esecuzione del codice. Aggiunto il supporto per il processore Qualcomm Snapdragon X Elite (X1E80100) e implementato il rilevamento della CPU Cortex-A520AE (Hayes AE) e Cortex-A720AE (Hunter AE). Per i sistemi basati sull'architettura ARM64 è stata implementata la protezione contro le vulnerabilità della classe Spectre-V4 ed è stata migliorata anche la protezione contro le vulnerabilità Spectre-BHB.
- Per i sistemi basati sull'architettura AMD64 è stato aggiunto il supporto per le istruzioni AVX-512. Protezione implementata contro la vulnerabilità RFDS nei processori Intel Atom.
- Aggiunto supporto per la scheda Milk-V Pioneer basata sull'architettura RISC-V.
- Il meccanismo msyscall, utilizzato per contrassegnare le aree di memoria da cui possono essere eseguite le chiamate di sistema, è stato rimosso. msyscall è stato sostituito dalle chiamate di sistema mimmutable e pinsyscalls.
- È stato svolto un lavoro per migliorare il supporto degli stati S0 di risparmio energetico e la transizione alla modalità di sospensione sulle apparecchiature moderne. I sistemi Amd64 implementano una modalità "suspend-to-idle" che può essere utilizzata su hardware che non supporta la modalità di sospensione S3. Molti problemi dei driver che interferivano con l'uso della modalità di sospensione sono stati risolti.
- Aggiunto un controllo alla chiamata di sistema readdir per la presenza di '/' nei nomi dei file per bloccare possibili attacchi alle applicazioni quando si lavora con file system non attendibili.
- Supporto migliorato per i sistemi multiprocessore (SMP). Aggiunte funzionalità per l'elaborazione parallela su diversi core CPU di pacchetti UDP in entrata e socket IPv4/IPv6 grezzi. Lavoro migliorato con il blocco per socket Unix4 e UDP. I socket AF_ROUTE sono stati trasferiti in un nuovo schema per lavorare con i lock. Le chiamate di sistema shutdown, sigsuspend e kbind, così come i timer TCP e molti sysctl, sono stati rimossi dal blocco globale.
- Sono stati apportati miglioramenti all'hypervisor VMM. Aggiunto il supporto per il meccanismo AMD SEV (Secure Encrypted Virtualization) per proteggere le macchine virtuali dalle interferenze dell'hypervisor o dell'amministratore del sistema host. Accesso migliorato alle funzionalità della CPU dalle macchine virtuali. Aggiunto il comando "status -r" a vmctl per mostrare solo lo stato delle macchine virtuali in esecuzione.
- L'implementazione del framework drm (Direct Rendering Manager) è sincronizzata con il kernel Linux 6.6.52 (versione precedente: 6.6.19). Il driver inteldrm implementa il supporto per la GPU utilizzata nei processori Intel basati sulla microarchitettura Meteor Lake.
- La funzione scandirat per enumerare il contenuto delle directory è stata spostata da FreeBSD.
- Il vecchio client DHCP dhclient è stato rimosso dal sistema di base a favore del processo in background sempre in esecuzione dhcpleased, fornito con OpenBSD 6.9 e utilizza l'utilità ifconfig per abilitare la configurazione automatica delle interfacce di rete tramite DHCP (abilitato eseguendo "ifconfig $ if autoconf" o aggiungendo "inet autoconf" in /etc/hostname.$if).
- È vietato utilizzare un carattere null negli script di shell elaborati dall'interprete dei comandi ksh predefinito. La presenza di caratteri nulli negli script ora porterà all'esecuzione che termina con un errore, tranne quando vengono inseriti tra i dati allegati alla fine del file dopo il codice.
- L'utilità tar è stata spostata per utilizzare il formato PAX predefinito durante la creazione degli archivi. L'utilizzo del formato PAX ti consentirà di memorizzare nomi di file più lunghi, gestire collegamenti, utilizzare informazioni temporali precise e archiviare file molto grandi.
- Allo stack Xenocara X11, utilizzato in OpenBSD per creare un ambiente grafico, è stata aggiunta la libreria libva, che consente di utilizzare l'interfaccia software VA-API (Video Acceleration API) per l'accelerazione hardware della codifica e decodifica video in vari formati. L'accelerazione hardware è stata testata con driver per GPU Intel e AMD utilizzando il browser Firefox e il lettore video mpv. I driver necessari per le GPU Intel sono offerti nelle porte graphics/intel-media-driver e graphics/intel-vaapi-driver, mentre i componenti standard di Mesa vengono utilizzati per funzionare con le GPU AMD.
- Fornita la possibilità di eseguire l'ambiente desktop KDE Plasma 6.
- È stato aggiunto il supporto per nuovo hardware e sono stati inclusi nuovi driver relativi ai componenti di vari SoC e supporto per controller Ethernet. Ai driver igc e dwqe è stato aggiunto il supporto per il tagging VLAN hardware, mentre i driver dwqe, vmx, igc e vio(4) assicurano che le operazioni di rete vengano eseguite dal lato delle schede di rete.
- Il compilatore ha aggiunto un'opzione "-fret-clean" per cancellare l'indirizzo di ritorno dallo stack al termine della chiamata.
- Abilitato il funzionamento delle interfacce PPP nel dominio di routing (rdomain).
- Per IPv6 è stata aggiunta la modalità “sysctl net.inet6.ip6.forwarding = 2” che consente l'inoltro dei pacchetti solo per IPsec.
- La funzione getsockopt() ha aggiunto il supporto per il flag SO_ACCEPTCONN, che consente di verificare se sul socket è stata effettuata una chiamata alla funzione listen().
- iked, un'implementazione del protocollo IKEv2 per IPsec, aggiunge il supporto per l'autenticazione, l'autorizzazione e la contabilità tramite il protocollo RADIUS.
- Il server RADIUS radiusd ora supporta DAE (Dynamic Authorization Extensions) e consente di memorizzare le impostazioni di accounting in radiusd.conf. Sono stati aggiunti i moduli radiusd_ipcp per la configurazione del pool. Indirizzi IP, radiusd_file per l'autenticazione tramite un file locale. Il comando "ipcp delete" è stato aggiunto a radiusctl per eliminare una sessione specifica senza disconnettersi.
- OpenSMTPD ha aggiunto l'API smtpd-tables per utilizzare le tabelle in smtpd e ha implementato il servizio K_AUTH per recuperare le credenziali dalle tabelle.
- Aggiunto il processo in background dhcp6leased per ottenere i prefissi IPv6 da server DHCPv6.
- OpenSSH aggiornato. L'elenco delle modifiche è disponibile negli annunci OpenSSH 9.8 e OpenSSH 9.9.
- Il numero di porte per l'architettura AMD64 era 12312 (da 12309), per aarch64 - 12148 (da 12145), per i386 - 10534 (da 10830). Tra le versioni dell'applicazione nei porti:
- Asterisco 16.30.1, 18.24.3, 20.9.3
- Audacity 3.6.3
- CRendere 3.30.1
- Chromium 128.0.6613.137
- Emacs 29.4
- FFmpeg 4.4.5
- GCC 8.4.0 e 11.2.0
- GHC 9.6.6
- GNOME 46
- Andare 1.23.1
- JDK 8u402, 11.0.24, 17.0.12 e 21.0.4
- Applicazioni KDE 24.05.2
- KDE Frameworks 6.5.0
- KDE Plasma 6.1.4
- Krita 5.2.3
- LLVM/Clang 13.0.0, 16.0.6 e 17.0.6
- LibreOffice 24.8.1.2
- Lua 5.1.5, 5.2.4, 5.3.6 e 5.4.7
- Maria DB 10.9.8
- Scimmia 6.12.0.199
- Mozilla Firefox 130.0.1 e ESR 128.2.0
- Mozilla Thunderbird 128.2.3
- Nodo.js 20.17.0
- OpenLDAP 2.6.8
- PHP 8.1.29, 8.2.23 e 8.3.11
- Postfisso 3.9.0
- PostgreSQL 16.4
- Pitone 2.7.18, 3.11.10
- Qt 5.15.13 (+ patch da kde) e 6.6.3
- R 4.4.1
- Ruby 3.1.6, 3.2.5 e 3.3.5
- Ruggine 1.81.0
- SQLite 3.44.2
- Shotcut 24.04.28
- Sudo 1.9.15.5
- Meerkat 7.0.6
- Tcl/Tk 8.5.19 e 8.6.13
- TeX Live 2023
- Vim 9.1.707 e Neovim 0.10.1
- Xfce 4.18.1
- Componenti di terze parti aggiornati inclusi con OpenBSD 7.6:
- Stack grafico Xenocara basato su X.Org 7.7 con xserver 21.1.13 + patch, freetype 2.13.2, fontconfig 2.14.2, Mesa 23.3.6, xterm 393, xkeyboard-config 2.20, fonttosfnt 1.2.3.
- LLVM/Clang 16.0.6 (+ patch)
- GCC 4.2.1 (+ patch) e 3.3.6 (+ patch)
- Perl 5.38.2 (+ patch)
- NSD4.9.1
- Non legato 1.21.0
- Ncurses 6.4
- Binutils 2.17 (+ patch)
- Gdb 6.3 (+ patch)
- Awk, 28 luglio 2024
- Espatriato 2.6.3
- zlib 1.3.1 (+ patch)
Fonte: opennet.ru
