È stato rilasciato OpenBSD 7.1, un sistema operativo open source multipiattaforma simile a UNIX. Il progetto OpenBSD è stato fondato da Theo de Raadt nel 1995 dopo un conflitto con gli sviluppatori di NetBSD, che portò alla revoca dell'accesso di Theo al repository CVS di NetBSD. Successivamente, Theo de Raadt e un gruppo di collaboratori crearono un nuovo sistema operativo open source basato sui sorgenti di NetBSD, con obiettivi principali di portabilità (supporta 13 piattaforme hardware), standardizzazione, correttezza, sicurezza proattiva e strumenti crittografici integrati. La dimensione dell'immagine ISO di installazione completa della base di OpenBSD 7.1 è di 580 MB.
Oltre al sistema operativo, il progetto OpenBSD è noto per i suoi componenti, che hanno guadagnato popolarità in altri sistemi e si sono affermati come alcune delle soluzioni più sicure e di alta qualità. Tra questi: LibreSSL (fork di OpenSSL), OpenSSH, filtro di pacchetto PF, demoni di routing OpenBGPD e OpenOSPFD, server NTP OpenNTPD, posta elettronica un server OpenSMTPD, il multiplexor del terminale (equivalente a GNU screen) tmux, il demone identd con implementazione del protocollo IDENT, l'alternativa BSD della suite GNU groff — mandoc, il protocollo per organizzare sistemi ridondanti CARP (Common Address Redundancy Protocol), un server http leggero, l'utilità per la sincronizzazione dei file OpenRSYNC.
Miglioramenti principali:
- È stata annunciata la disponibilità del supporto per i computer Mac dotati di chip ARM Apple M1 (Apple Silicon), come Apple M1 Pro/Max e Apple T2 Macs. Sono stati aggiunti driver per SPI, I2C, controller DMA, tastiera, touchpad, gestione dell'alimentazione e delle prestazioni. È stato assicurato il supporto per Wi-Fi, GPIO, framebuffer, USB, schermo e unità NVMe.
- Migliorato il supporto per l'architettura ARM64. Aggiunti i driver gpiocharger, gpioleds e gpiokeys, che consentono il supporto per la ricarica, l'illuminazione e i pulsanti collegati a GPIO (ad esempio, come nel Pinebook Pro). Aggiunti nuovi driver: mpfclock (controller di clock PolarFire SoC MSS), cdsdhc (controller host Cadence SD/SDIO/eMMC), mpfiic (controller I2C PolarFire SoC MSS) e mpfgpio (GPIO PolarFire SoC MSS).
- Migliorato il supporto per l'architettura RISC-V 64, per la quale sono stati inclusi i driver uhid e fido, garantendo il supporto per l'installazione su dischi con GPT.
- Nell'utilità mount_msdos è abilitato di default l'uso di nomi di file lunghi.
- Rivisitato il codice del garbage collector per i socket unix.
- Il parametro sysctl hw.perfpolicy è impostato di default su "auto", il che implica l'attivazione della modalità di massima prestazione quando è collegata l'alimentazione e l'utilizzo di un algoritmo adattivo quando si utilizza l'alimentazione a batteria.
- Migliorato il supporto per i sistemi multiprocessore (SMP). I filtri per eventi dei canali anonimi, kqread, audio e socket sono stati rinominati in mp-safe, così come il meccanismo BPF. Le chiamate di sistema poll, select, ppoll e pselect sono state riscritte e ora sono implementate sopra kqueue. Le chiamate di sistema kevent, getsockname, getpeername, accept e accept4 sono state liberate dai blocchi. È stata aggiunta un'interfaccia del kernel per funzioni atomiche di load e store, che consentono di utilizzare i tipi int e long all'interno degli elementi delle strutture che utilizzano il conteggio dei riferimenti.
- L'implementazione del framework drm (Direct Rendering Manager) è stata sincronizzata con il kernel Linux 5.15.26 (nella versione precedente era 5.10.65). Nel driver inteldrm è stata aggiunta la supporto per i chip Intel basati sulle microarchitetture Elkhart Lake, Jasper Lake e Rocket Lake. Nel driver amdgpu è stata realizzata la supporto per APU/GPU Van Gogh, Rembrandt 'Yellow Carp' Ryzen 6000, Navi 22 'Navy Flounder', Navi 23 'Dimgrey Cavefish' e Navi 24 'Beige Goby'.
- Nella libreria FreeType è stata inclusa la resa subpixel dei caratteri.
- È stata aggiunta l'utilità realpath per visualizzare il percorso assoluto di un file.
- È stato aggiunto il comando 'ls rogue' all'utilità rcctl per visualizzare i processi in background che sono in esecuzione ma non sono inclusi in rc.conf.local.
- In BPFtrace, support for variables for checks has been implemented. The kprofile.bt scripts for profiling the kernel stack and runqlat.bt for identifying scheduling delays have been added.
- Support for RFC6840 has been added to libc, defining support for the AD flag and the 'trust-ad' setting for DNSSEC.
- The apm and apmd tools now display the predicted time to recharge the battery.
- The capability database can now be stored in /etc/login.conf.d to simplify adding custom account classes from packages.
- Memory regions from 128k to 2M are now cached in malloc.
- The pax archiver now supports extended headers with mtime, atime, and ctime data.
- The gzip and gunzip utilities have added the '-k' option to keep the original file.
- The openrsync utility has added the options: '--compare-dest' to check for file presence in additional directories; '--max-size' and '--min-size' to limit file size.
- The seq command has been added to output sequences of numbers.
- The universal software implementation of trigonometric functions has been ported from FreeBSD 13 (assembler implementations for x86 have been disabled).
- Dal sistema FreeBSD è stata trasferita l'implementazione delle funzioni lrint, lrintf, llrint e llrintf (in precedenza si utilizzava l'implementazione di NetBSD).
- Numerosi cambiamenti e correzioni sono stati apportati all'utilità fdisk per migliorare la gestione delle partizioni del disco.
- Aggiunta la compatibilità con nuovo hardware, tra cui il controller Intel PCH GPIO (per le piattaforme Cannon Lake H e Tiger Lake H), NXP PCF85063A/TP RTC, Synopsys Designware UART, Intel 2.5Gb Ethernet, SIMCom SIM7600, RTL8156B, MediaTek MT7601U USB wifi, BCM4387 wifi.
- Inclusi firmware ri-licenziati per chip wireless Realtek, consentendo l'uso dei driver rsu, rtwn e urtwn senza il caricamento manuale dei firmware.
- Nei driver ixl (Intel Ethernet 700), ix (Intel 82598/82599/X540/X550) e aq (Aquantia AQC1xx) è stata aggiunta la supporto per l'elaborazione hardware dei tag VLAN e il calcolo/verifica dei checksum per IPv4, TCP4/6 e UDP4/6.
- Aggiunto un driver audio per i chip Intel Jasper Lake. Aggiunta la supporto per il controller di gioco XBox One.
- Nello stack wireless IEEE 802.11 è stato implementato il supporto per canali da 40 MHz per la modalità 802.11n e il supporto iniziale per lo standard 802.11ac (VHT). Per i driver è stata aggiunta un'opzione per gestire la scansione in background. Nella selezione dei punti di accesso, ora sono prioritari quelli con canali 5 GHz, seguiti da quelli con canali 2 GHz.
- È stata riscritta l'implementazione del driver vxlan, che ora opera in modo indipendente dal sottosistema bridge.
- Nell'installer è stata rielaborata la logica di chiamata dell'utilità pkg_add per ridurre l'intensità dei trasferimenti di file durante l'aggiornamento. Nel file install.site è documentato il processo di configurazione per l'installazione e l'aggiornamento. Per tutte le architetture sono state aggiunte le firmware la cui distribuzione è consentita in prodotti di terze parti. Per l'installazione delle firmware proprietarie disponibili sui supporti d'installazione, è stata utilizzata l'utilità fw_update.
- In xterm, per motivi di sicurezza, il tracciamento del mouse è disabilitato per impostazione predefinita.
- In usbhidctl e usbhidaction è stata garantita l'isolazione dell'accesso al file system tramite la chiamata di sistema unveil.
- In dhcpd, by default, binding is provided both to network interfaces that are in the inactive state ('down') to ensure packet reception as soon as the network interface is activated.
- In OpenSMTPD (smtpd), TLS verification for outgoing connections 'smtps://' and 'smtp+tls://' is enabled by default.
- In httpd, protocol version checking has been implemented, allowing the specification of custom error text files, and improved handling of compressed data. The option gzip-static has been added to httpd.conf for delivering pre-compressed files while setting the gzip flag in the content-encoding header.
- In IPsec, the parameter proto in iked.conf allows for the specification of a list of protocols. The ikectl utility has been enhanced with the 'show certinfo' command to display trusted certificate authorities and certificates. The handling of fragmented messages has been improved in iked.
- In rpki-client, support for verifying BGPsec Router public keys has been added, as well as enhanced validation of X509 certificates. A cache of verified files has been introduced. Compatibility with RFC 6488 has been improved.
- bgpd è stato aggiunto il parametro «port», che può essere utilizzato nelle sezioni «listen on» e «neighbor» per legare a numeri di porta non standard. Il codice è stato rifattorizzato per funzionare con il RIB (Routing Information Base), considerando il supporto futuro per multipath.
- Nel gestore di finestre console tmux («terminal multiplexer») sono state ampliate le funzionalità per l'output a colori. Sono stati aggiunti i comandi pane-border-format, cursor-colour e cursor-style.
- In LibreSSL è stata effettuata la portabilità da OpenSSL del supporto RFC 3779 (estensioni X.509 per IP addresses e sistemi autonomi) e del meccanismo di Certificate Transparency (un registro pubblico indipendente di tutti i certificati emessi e revocati, che consente di condurre audit indipendenti di tutte le modifiche e le azioni delle autorità di certificazione, e permette di monitorare immediatamente qualsiasi tentativo di creazione nascosta di registrazioni false). È stata notevolmente migliorata la compatibilità con OpenSSL 1.1 e sono stati utilizzati nomi di cifratura identici a quelli di OpenSSL per TLSv1.3. Molte funzioni sono state convertite per utilizzare calloc(). Una sostanziosa porzione di nuove chiamate è stata aggiunta in libssl e libcrypto.
- È stato aggiornato il pacchetto OpenSSH. Puoi consultare un'analisi dettagliata delle novità nelle versioni OpenSSH 8.9 e OpenSSH 9.0. L'utilità scp è stata impostata per utilizzare SFTP come predefinito invece del protocollo obsoleto SCP/RCP.
- Il numero di porte per l'architettura AMD64 è sceso a 11301 (precedentemente 11325), per aarch64 a 11081 (precedentemente 11034), per i386 a 10136 (precedentemente 10248). Tra le versioni delle applicazioni nei port troviamo: Asterisk 16.25.1, 18.11.1 e 19.3.1, Audacity 2.4.2, CMake 3.20.3, Chromium 100.0.4896.75, Emacs 27.2, FFmpeg 4.4.1, GCC 8.4.0 e 11.2.0, GNOME 41.5, Go 1.17.7, JDK 8u322, 11.0.14 e 17.0.2, KDE Applications 21.12.2, KDE Frameworks 5.91.0, Krita 5.0.2, LLVM/Clang 13.0.0, LibreOffice 7.3.2.2, Lua 5.1.5, 5.2.4 e 5.3.6, MariaDB 10.6.7, Mono 6.12.0.122, Firefox 99.0 ed ESR 91.8.0, Thunderbird 91.8.0, Mutt 2.2.2 e NeoMutt 20211029, Node.js 16.14.2, OpenLDAP 2.4.59, PHP 7.4.28, 8.0.17 e 8.1.4, Postfix 3.5.14, PostgreSQL 14.2, Python 2.7.18, 3.8.13, 3.9.12 e 3.10.4, Qt 5.15.2 e 6.0.4, R 4.1.2, Ruby 2.7.5, 3.0.3 e 3.1.1, Rust 1.59.0, SQLite 2.8.17 e 3.38.2, Shotcut 21.10.31, Sudo 1.9.10, Suricata 6.0.4, Tcl/Tk 8.5.19 e 8.6.8, TeX Live 2021, Vim 8.2.4600 e Neovim 0.6.1, Xfce 4.16.
- Aggiornati i componenti di terze parti inclusi in OpenBSD 7.1:
- Stack grafico Xenocara basato su X.Org 7.7 con xserver 1.21.1 + patch, freetype 2.11.0, fontconfig 2.12.94, Mesa 21.3.7, xterm 369, xkeyboard-config 2.20, fonttosfnt 1.2.2.
- LLVM/Clang 13.0.0 (+ patch)
- GCC 4.2.1 (+ patch) e 3.3.6 (+ patch)
- Perl 5.32.1 (+ patch)
- NSD 4.4.0
- Unbound 1.15.0
- Ncurses 5.7
- Binutils 2.17 (+ patch)
- Gdb 6.3 (+ patch)
- Awk 12.10.2021
- Expat 2.4.7
Fonte: opennet.ru
