Der nye version af det frie, kryds-platform UNIX-lignende operativsystem OpenBSD 7.1 er blevet præsenteret. OpenBSD-projektet blev grundlagt af Theo de Raadt i 1995 efter en konflikt med udviklerne af NetBSD, hvilket resulterede i, at Theo fik lukket sin adgang til CVS-repositoriet for NetBSD. Herefter oprettede Theo de Raadt sammen med en gruppe ligesindede en ny åben operativsystem baseret på kildekoden fra NetBSD, hvis hovedmål var portabilitet (understøtter 13 hardwarenheder), standardisering, korrekt drift, proaktiv sikkerhed og integrerede kryptografiske værktøjer. Den fulde installations-ISO-billede af den grundlæggende OpenBSD 7.1-system er 580 MB.
Udover selve operativsystemet er OpenBSD-projektet kendt for sine komponenter, som er blevet udbredt i andre systemer og har vist sig at være nogle af de mest sikre og kvalitetsmæssige løsninger. Blandt dem finder vi: LibreSSL (fork af OpenSSL), OpenSSH, pakkefilteret PF, routing-daemonerne OpenBGPD og OpenOSPFD, NTP-serveren OpenNTPD, e-mail server OpenSMTPD, tekstterminalmultiplexer (svarende til GNU screen) tmux, identd-daemonen med implementering af IDENT-protokollen, BSDL-alternativet til GNU groff-pakken — mandoc, protokollen til opbygning af failover-systemer CARP (Common Address Redundancy Protocol), en letvægts http-server, OpenRSYNC-fil synkronisering.
Hovedforbedringer:
- Støtten til Mac-computere udstyret med Apple M1 ARM-chip (Apple Silicon), såsom Apple M1 Pro/Max og Apple T2 Macs, er nu klar til brug. Der er blevet tilføjet drivere til SPI, I2C, DMA-controller, tastatur, touchpad, strømstyring og ydeevne. Der er sikret support til Wi-Fi, GPIO, framebuffer, USB, skærme og NVMe-lagring.
- Støtten til ARM64-arkitekturen er forbedret. Der er tilføjet drivere til gpiocharger, gpioleds og gpiokeys, der understøtter opladning, belysning og knapper tilsluttet GPIO (som i Pinebook Pro). Nye drivere er blevet tilføjet: mpfclock (PolarFire SoC MSS clock controller), cdsdhc (Cadence SD/SDIO/eMMC vært controller), mpfiic (PolarFire SoC MSS I2C controller) og mpfgpio (PolarFire SoC MSS GPIO).
- Støtten til RISC-V 64-arkitekturen er forbedret, med drivere til uhid og fido, der muliggør installation på diske med GPT.
- I mount_msdos-værktøjet er brugen af lange filnavne som standard aktiveret.
- Koden til affaldshåndteringsprogrammet for unix-sokker er blevet revideret.
- sysctl hw.perfpolicy er sat til standardværdien „auto“, som indebærer, at den fulde ydeevne bliver aktiveret ved tilslutning af stationært strøm, og der benyttes en adaptiv algoritme ved drift på batteri.
- Forbedret understøttelse af multiprocessorsystemer (SMP). Eventfiltre for unormerede kanaler, kqread, lyd og sockets er blevet flyttet til mp-sikker status, ligesom BPF-mekanismen. Systemopkald som poll, select, ppoll og pselect er blevet omskrevet og implementeret oven på kqueue. Systemopkaldene kevent, getsockname, getpeername, accept og accept4 er blevet frigjort for låse. Et kerneinterface til atomiske funktioner for load og store er blevet tilføjet, hvilket muliggør brugen af typerne int og long i struktur-elementer, der anvendes i referenceoptællingen.
- Implementeringen af drm (Direct Rendering Manager) frameworket er blevet synkroniseret med Linux-kernen 5.15.26 (tidligere 5.10.65). Intel-drm driveren har fået støtte til Intel-chips baseret på mikroarkitekturerne Elkhart Lake, Jasper Lake og Rocket Lake. Amdgpu driveren har implementeret støtte for APU/GPU Van Gogh, Rembrandt "Yellow Carp" Ryzen 6000, Navi 22 "Navy Flounder", Navi 23 "Dimgrey Cavefish" og Navi 24 "Beige Goby."
- Sub-pixel rendering af skrifttyper er inkluderet i FreeType-biblioteket.
- Der er tilføjet et realpath-værktøj til at outputte den absolutte sti til en fil.
- Der er tilføjet en "ls rogue" kommando til rcctl værktøjet for at vise baggrundsprocesser, der kører, men ikke er inkluderet i rc.conf.local.
- BPFtrace har fået understøttelse af variabler til kontrol. I btrace er der tilføjet scripts kprofile.bt for profilering af kernestakken og runqlat.bt for at identificere forsinkelser i schedulerens arbejde.
- Der er tilføjet understøttelse for RFC6840 i libc, som definerer understøttelse af AD-flaget og konfigurationen 'trust-ad' til DNSSEC.
- Der er inkluderet en visning af den forventede opladningstid for batteriet i apm og apmd.
- Muligheden for at gemme capability-databaser i /etc/login.conf.d er blevet givet for at forenkle tilføjelsen af brugerdefinerede kontoklasser fra pakker.
- Caching af hukommelsesregioner fra 128k til 2M er blevet sikret i malloc.
- Arkiveringsværktøjet pax har fået understøttelse for udvidede overskrifter med dataene mtime, atime og ctime.
- Der er tilføjet muligheden "-k" i gzip og gunzip værktøjerne for at bevare kildefilen.
- Der er tilføjet følgende muligheder til openrsync værktøjet: "--compare-dest" til at kontrollere tilstedeværelsen af filer i ekstra kataloger; "--max-size" og "--min-size" til at begrænse filernes størrelse.
- Der er tilføjet en seq-kommando til at outputte sekvenser af tal.
- Den universelle softwareimplementering af trigonometriske funktioner er blevet overført fra FreeBSD 13 (assemblerimplementeringer for x86 er deaktiveret).
- Implementeringen af funktionerne lrint, lrintf, llrint og llrintf er blevet overført fra FreeBSD (den tidligere implementering kom fra NetBSD).
- I fdisk-værktøjet er der foretaget mange ændringer og rettelser relateret til håndtering af diskpartitioner.
- Der er tilføjet support til nyt udstyr, herunder Intel PCH GPIO-controller (til Cannon Lake H- og Tiger Lake H-platforme), NXP PCF85063A/TP RTC, Synopsys Designware UART, Intel 2.5Gb Ethernet, SIMCom SIM7600, RTL8156B, MediaTek MT7601U USB wifi og BCM4387 wifi.
- Der er inkluderet re-licenserede firmware til trådløse Realtek-chips, hvilket muliggør brugen af drivere som rsu, rtwn og urtwn uden manuel indlæsning af firmware.
- Drivere som ixl (Intel Ethernet 700), ix (Intel 82598/82599/X540/X550) og aq (Aquantia AQC1xx) har fået tilføjet support til hardwarebehandling af VLAN-tags og beregning/verificering af kontrolsummer for IPv4, TCP4/6 og UDP4/6.
- Der er tilføjet en lyddriver til Intel Jasper Lake-chips. Support til Xbox One-spillekontroller er også inkluderet.
- I den trådløse IEEE 802.11-stak er der implementeret støtte til 40MHz kanaler for 802.11n-tilstand og indledende støtte til 802.11ac (VHT) standarden. For drivere er der tilføjet en valgfri baggrundsscanningsbehandler. Når der vælges et adgangspunkt, prioriteres nu punkter med 5GHz kanaler, hvorefter punkter med 2GHz kanaler vælges.
- Implementeringen af vxlan-driveren er blevet omskrevet, så den nu arbejder uafhængigt af bridgesystemet.
- Installeringslogikken for pkg_add-værktøjet er blevet revideret for at reducere filbevægelser under opdateringsprocessen. Installations- og opdateringskonfigurationsprocessen er dokumenteret i install.site-filen. Firmware, hvis distribution er godkendt i tredjepartsprodukter, er blevet tilføjet til alle arkitekturer. fw_update-værktøjet anvendes til installation af proprietær firmware tilgængelig på installationsmediet.
- I xterm er musetracking som standard deaktiveret af sikkerhedsmæssige årsager.
- Der er sikret filsystemadgangsisolering i usbhidctl og usbhidaction via systemopkaldet unveil.
- I dhcpd er der som standard sikret tilknytning til netværksgrænseflader, der er inaktive (‘down’), for hurtigt at kunne modtage pakker, så snart netværksgrænsefladen aktiveres.
- I OpenSMTPD (smtpd) er TLS-kontrol for udgående forbindelser med præfikserne «smtps://» og «smtp+tls://» aktiveret som standard.
- I httpd er implementeret versionstjek af protokollen, muligheden for at definere egne fejlmeddelelser, og datahåndteringen i komprimeret format er forbedret, herunder er der i httpd.conf tilføjet en gzip-static mulighed til levering af forudkomprimerede filer med gzip-flaget sat i content-encoding headeren.
- I IPsec er det muligt at angive en liste over protokoller i proto parameteren i iked.conf. Kommandoen "show certinfo" er blevet tilføjet til ikectl-værktøjet for at vise betroede certifikationsmyndigheder og certifikater. Behandlingen af fragmenterede meddelelser er blevet forbedret i iked.
- I rpki-client er der tilføjet støtte til kontrol af åbne nøgler til BGPsec Router og den X509-certifikatvalidering er forbedret. Cache for validerede filer er blevet tilføjet. Kompatibiliteten med RFC 6488 er blevet forbedret.
- bgpd har fået parameteren "port", som kan bruges i "listen on" og "neighbor" sektioner til at binde til et ikke-standard netværksportnummer. Koden til behandling af RIB (Routing Information Base) er blevet refaktoreret med fremtidig understøttelse af multipath i tankerne.
- I konsolvinduet tmux ("terminal multiplexer") er mulighederne for farvet output blevet udvidet. Der er blevet tilføjet kommandoer som pane-border-format, cursor-colour og cursor-style.
- I LibreSSL er understøttelsen af RFC 3779 (X.509 udvidelser for og autonome systemer) og mekanismen Certificate Transparency (uafhængig offentlig log over alle udstedte og tilbagekaldte certifikater, der giver mulighed for uafhængig revision af alle ændringer og handlinger fra certifikationsmyndighederne samt muligheden for straks at opdage eventuelle forsøg på at skjule falske poster) blevet porteret fra OpenSSL. Kompatibiliteten med OpenSSL 1.1 er betydeligt forbedret, og der er blevet anvendt de samme krypteringsnavne som i OpenSSL for TLSv1.3. Mange funktioner er blevet oversat til at bruge calloc(). I libssl og libcrypto er der blevet tilføjet en stor mængde nye opkald. IP-adresser OpenSSH-pakken er blevet opdateret. En detaljeret oversigt over forbedringer kan ses i anmeldelserne af OpenSSH 8.9 og OpenSSH 9.0. Kommandoen scp er som standard blevet ændret til at bruge SFTP i stedet for den forældede SCP/RCP protokol.
- OpenSSH-pakken er blevet opdateret. En detaljeret oversigt over forbedringerne kan ses i anmeldelserne af OpenSSH 8.9 og OpenSSH 9.0. Værktøjet scp er som standard blevet ændret til at bruge SFTP i stedet for det forældede SCP/RCP-protokol.
- Antallet af porte til AMD64-arkitektur er 11301 (tidligere 11325), for aarch64 — 11081 (tidligere 11034), for i386 — 10136 (tidligere 10248). Blandt versionerne af applikationerne i portene: Asterisk 16.25.1, 18.11.1 og 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 og 11.2.0 GNOME 41.5 Go 1.17.7 JDK 8u322, 11.0.14 og 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 og 5.3.6 MariaDB 10.6.7 Mono 6.12.0.122 Firefox 99.0 og ESR 91.8.0 Thunderbird 91.8.0 Mutt 2.2.2 og NeoMutt 20211029 Node.js 16.14.2 OpenLDAP 2.4.59 PHP 7.4.28, 8.0.17 og 8.1.4 Postfix 3.5.14 PostgreSQL 14.2 Python 2.7.18, 3.8.13, 3.9.12 og 3.10.4 Qt 5.15.2 og 6.0.4 R 4.1.2 Ruby 2.7.5, 3.0.3 og 3.1.1 Rust 1.59.0 SQLite 2.8.17 og 3.38.2 Shotcut 21.10.31 Sudo 1.9.10 Suricata 6.0.4 Tcl/Tk 8.5.19 og 8.6.8 TeX Live 2021 Vim 8.2.4600 og Neovim 0.6.1 Xfce 4.16
- Komponenter fra tredjepartsudviklere inkluderet i OpenBSD 7.1 er opdateret:
- Grafikstakken Xenocara baseret på X.Org 7.7 med xserver 1.21.1 + patches, 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 (+ patches)
- GCC 4.2.1 (+ patches) og 3.3.6 (+ patches)
- Perl 5.32.1 (+ patches)
- NSD 4.4.0
- Unbound 1.15.0
- Ncurses 5.7
- Binutils 2.17 (+ patches)
- Gdb 6.3 (+ patch)
- Awk 12.10.2021
- Expat 2.4.7
Kilde: opennet.ru
