De nieuwste versie van het open-source, cross-platform UNIX-achtige besturingssysteem OpenBSD 7.1 is gepresenteerd. Het OpenBSD-project werd opgericht door Theo de Raadt in 1995 na een conflict met de ontwikkelaars van NetBSD, waardoor Theo geen toegang meer had tot de CVS-repository van NetBSD. Daarna heeft Theo de Raadt samen met een groep gelijkgestemden een nieuw open-source besturingssysteem ontwikkeld op basis van de broncode van NetBSD, waarbij de belangrijkste ontwikkelingsdoelen draagbaarheid (ondersteuning voor 13 hardwareplatforms), standaardisatie, correcte werking, proactieve beveiliging en geïntegreerde cryptografische middelen zijn. De grootte van het volledige installatieschijfimage van het basissysteem OpenBSD 7.1 bedraagt 580 MB.
Naast het besturingssysteem is het OpenBSD-project bekend om zijn componenten, die ook in andere systemen zijn verspreid en zich als een van de veiligste en kwalitatief hoogstaande oplossingen hebben bewezen. Onder deze componenten bevinden zich: LibreSSL (fork van OpenSSL), OpenSSH, pakketfilter PF, routeringsdemonen OpenBGPD en OpenOSPFD, NTP-server OpenNTPD, mailserver OpenSMTPD, de tekstterminalmultiplexer (vergelijkbaar met GNU screen) tmux, de identd-demon met een implementatie van het IDENT-protocol, de BSDL-alternatief voor het GNU groff-pakket — mandoc, en het protocol voor het opzetten van redundante systemen CARP (Common Address Redundancy Protocol), evenals een lichtgewicht http-server en het hulpprogramma voor het synchroniseren van bestanden OpenRSYNC. server OpenSMTPD, de multiplexor voor tekstterminals (vergelijkbaar met GNU screen) tmux, de identd-demon met een implementatie van het IDENT-protocol, een BSDL-alternatief voor het GNU groff-pakket — mandoc, het protocol voor de opzet van failover systemen CARP (Common Address Redundancy Protocol), een lichte http-server, en het synchronisatiehulpmiddel voor bestanden OpenRSYNC.
Hoofdverbeteringen:
- De ondersteuning voor Mac-computers die zijn uitgerust met de ARM-chip Apple M1 (Apple Silicon), zoals de Apple M1 Pro/Max en Apple T2 Macs, is aangekondigd als zijnde klaar voor gebruik. Er zijn stuurprogramma's toegevoegd voor SPI, I2C, DMA-controller, toetsenbord, touchpad, energiebeheer en prestaties. Ondersteuning voor Wi-Fi, GPIO, framebuffer, USB, schermen en NVMe-opslag is verzekerd.
- De ondersteuning voor de ARM64-architectuur is verbeterd. Er zijn stuurprogramma's toegevoegd voor gpiocharger, gpioleds en gpiokeys, die ondersteuning bieden voor opladers, verlichting en knoppen die zijn aangesloten op GPIO (bijvoorbeeld zoals gedaan in de Pinebook Pro). Nieuwe stuurprogramma's zijn toegevoegd: mpfclock (PolarFire SoC MSS klokcontroller), cdsdhc (Cadence SD/SDIO/eMMC hostcontroller), mpfiic (PolarFire SoC MSS I2C-controller) en mpfgpio (PolarFire SoC MSS GPIO).
- De ondersteuning voor de RISC-V 64-architectuur is verbeterd, met inclusie van stuurprogramma's voor uhid en fido, en installatie op schijven met GPT is ondersteund.
- In de mount_msdos-tool is het gebruik van lange bestandsnamen standaard ingeschakeld.
- De garbage collector-code voor UNIX-sockets is herontworpen.
- sysctl hw.perfpolicy is standaard ingesteld op 'auto', wat inhoudt dat de volledige prestatiemodus wordt ingeschakeld wanneer er netstroom is aangesloten, en een adaptief algoritme wordt gebruikt wanneer er op batterij wordt gewerkt.
- Verbeterde ondersteuning voor multiprocessorsystemen (SMP). Evenementfilters van naamloze kanalen, kqread, geluid en sockets zijn omgezet naar mp-safe, evenals het BPF-mechanisme. Systeemaanroepen poll, select, ppoll en pselect zijn herschreven en worden nu geïmplementeerd bovenop kqueue. Systeemaanroepen kevent, getsockname, getpeername, accept en accept4 zijn vrijgemaakt van vergrendelingen. Er is een kernelinterface toegevoegd voor atomische functies load en store, waarmee typen int en long kunnen worden gebruikt in structuurelementen waarvoor referentietelling geldt.
- De implementatie van het drm (Direct Rendering Manager) framework is gesynchroniseerd met Linux-kernel 5.15.26 (de vorige release was 5.10.65). De inteldrm-driver heeft ondersteuning gekregen voor Intel-chips op basis van de micro-architecturen Elkhart Lake, Jasper Lake en Rocket Lake. In de amdgpu-driver is ondersteuning toegevoegd voor de APU/GPU Van Gogh, Rembrandt 'Yellow Carp' Ryzen 6000, Navi 22 'Navy Flounder', Navi 23 'Dimgrey Cavefish' en Navi 24 'Beige Goby'.
- In de FreeType-bibliotheek is subpixel rendering van lettertypen opgenomen.
- Er is een realpath-tool toegevoegd om het absolute pad naar een bestand weer te geven.
- In de rcctl-tool is de opdracht "ls rogue" toegevoegd om achtergrondprocessen te tonen die zijn gestart maar niet zijn opgenomen in rc.conf.local.
- In BPFtrace is ondersteuning voor variabelen voor controles geïmplementeerd. In btrace zijn scripts kprofile.bt voor het profileren van de kernelstack en runqlat.bt voor het identificeren van vertragingen in de scheduler toegevoegd.
- In libc is ondersteuning voor RFC6840 toegevoegd, wat ondersteuning voor de AD-vlag en de instelling 'trust-ad' voor DNSSEC definieert.
- In apm en apmd is het weergeven van de verwachte tijd tot opladen van de accu toegevoegd.
- De mogelijkheid om de capability-database in /etc/login.conf.d op te slaan, is beschikbaar gesteld voor een eenvoudiger toevoegen van eigen accountklassen vanuit pakketten.
- In malloc is caching van geheugengebieden van 128k tot 2M gegarandeerd.
- In de pax-archiver is ondersteuning voor uitgebreide headers met gegevens mtime, atime en ctime geïmplementeerd.
- In de gzip en gunzip-tools is de optie "-k" toegevoegd om het originele bestand te behouden.
- In de openrsync-tool zijn de opties toegevoegd: "--compare-dest" voor het controleren van de aanwezigheid van bestanden in aanvullende mappen; "--max-size" en "--min-size" voor het beperken van de bestandsgrootte.
- De seq-opdracht is toegevoegd voor het weergeven van getalreeksen.
- De universele software-implementatie van trigonometrische functies is overgenomen uit FreeBSD 13 (de assemblerimplementaties voor x86 zijn uitgeschakeld).
- De implementatie van de functies lrint, lrintf, llrint en llrintf is overgenomen uit FreeBSD (voorheen werd de implementatie uit NetBSD gebruikt).
- In de fdisk-tool zijn talloze wijzigingen en correcties aangebracht met betrekking tot partities op schijven.
- Ondersteuning voor nieuwe hardware is toegevoegd, inclusief de Intel PCH GPIO-controller (voor Cannon Lake H- en Tiger Lake H-platforms), NXP PCF85063A/TP RTC, Synopsys Designware UART, Intel 2.5Gb Ethernet, SIMCom SIM7600, RTL8156B, MediaTek MT7601U USB wifi, BCM4387 wifi.
- Geherlicentieerde firmware voor draadloze chips van Realtek zijn opgenomen, waardoor het mogelijk is om de drivers rsu, rtwn en urtwn te gebruiken zonder handmatige firmware-loading.
- In de drivers ixl (Intel Ethernet 700), ix (Intel 82598/82599/X540/X550) en aq (Aquantia AQC1xx) is ondersteuning voor hardwarematige verwerking van VLAN-tags en het berekenen/controleren van checksums voor IPv4, TCP4/6 en UDP4/6 geïntegreerd.
- Een geluidsdriver voor de Intel Jasper Lake-chips is toegevoegd. Ondersteuning voor de Xbox One-gamecontroller is toegevoegd.
- In de draadloze stack van IEEE 802.11 is ondersteuning voor 40MHz-kanalen in de 802.11n-modus geïmplementeerd, evenals initiële ondersteuning voor de 802.11ac-standaard (VHT). Voor de drivers is een optionele achtergrondscan-handler toegevoegd. Bij het selecteren van een toegangspunt hebben toegangspunten met 5GHz-kanalen nu de voorkeur, gevolgd door toegangspunten met 2GHz-kanalen.
- De implementatie van de vxlan-driver is herschreven, die nu onafhankelijk van het bridge-systeem werkt.
- In de installer is de logica voor het aanroepen van de pkg_add-tool herzien om het aantal bestandstransfers tijdens de update te verminderen. Het proces voor het instellen van installaties en updates is gedocumenteerd in het bestand install.site. Voor alle architecturen zijn firmware toegevoegd waarvan de distributie is toegestaan in externe producten. De fw_update-tool is ingeschakeld voor de installatie van propriëtaire firmware die op het installatiemedium beschikbaar is.
- In xterm is om veiligheidsredenen de muistracking standaard uitgeschakeld.
- In usbhidctl en usbhidaction is toegang tot het bestandssysteem geïsoleerd door gebruik te maken van de systeemaanroep unveil.
- In dhcpd is standaard binding aan netwerkaansluitingen die inactief zijn (‘down’) verzekerd, zodat pakketten onmiddellijk kunnen worden ontvangen zodra de netwerkaansluiting wordt geactiveerd.
- In OpenSMTPD (smtpd) is standaard TLS-controle voor uitgaande verbindingen 'smtps://' en 'smtp+tls://' ingeschakeld.
- In httpd is the version check of the protocol implemented, the option to define custom error message files has been added, and the processing of data in compressed form has been improved, including the addition of the gzip-static option in httpd.conf for delivering pre-compressed files with the gzip flag set in the content-encoding header.
- In IPsec, the proto parameter in iked.conf now allows specifying a list of protocols. The ikectl utility has a new command 'show certinfo' to display trusted certificate authorities and certificates. Improved handling of fragmented messages has been made in iked.
- In rpki-client, support has been added for checking BGPsec Router public keys and enhanced verification of X509 certificates. A cache of verified files has been added. Compatibility with RFC 6488 has been improved.
- bgpd has added the parameter 'port', which can be used in the 'listen on' and 'neighbor' sections to bind to a non-standard network port number. Code refactoring for RIB (Routing Information Base) has been carried out with a view towards future support for multipath.
- The console window manager tmux ('terminal multiplexer') has been enhanced for color output capabilities. Commands pane-border-format, cursor-colour, and cursor-style have been added.
- In LibreSSL, support for RFC 3779 (X.509 extensions for autonomous systems) has been ported from OpenSSL. IP-adressen and Certificate Transparency mechanisms (independent public log of all issued and revoked certificates, which allows for independent auditing of all changes and actions by certificate authorities, and enables immediate tracking of any attempts to covertly create fake entries). Compatibility with OpenSSL 1.1 has been significantly improved, and cipher names identical to OpenSSL have been employed for TLSv1.3. Many functions have been transitioned to use calloc(). A large batch of new calls has been added to libssl and libcrypto.
- The OpenSSH package has been updated. A detailed overview of improvements can be found in the reviews of OpenSSH 8.9 and OpenSSH 9.0. The scp utility has been switched by default to use SFTP instead of the deprecated SCP/RCP protocol.
- Het aantal poorten voor de AMD64-architectuur is 11301 (was 11325), voor aarch64 — 11081 (was 11034), voor i386 — 10136 (was 10248). Onder de applicatieversies in de poorten: Asterisk 16.25.1, 18.11.1 en 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 en 11.2.0, GNOME 41.5, Go 1.17.7, JDK 8u322, 11.0.14 en 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 en 5.3.6, MariaDB 10.6.7, Mono 6.12.0.122, Firefox 99.0 en ESR 91.8.0, Thunderbird 91.8.0, Mutt 2.2.2 en NeoMutt 20211029, Node.js 16.14.2, OpenLDAP 2.4.59, PHP 7.4.28, 8.0.17 en 8.1.4, Postfix 3.5.14, PostgreSQL 14.2, Python 2.7.18, 3.8.13, 3.9.12 en 3.10.4, Qt 5.15.2 en 6.0.4, R 4.1.2, Ruby 2.7.5, 3.0.3 en 3.1.1, Rust 1.59.0, SQLite 2.8.17 en 3.38.2, Shotcut 21.10.31, Sudo 1.9.10, Suricata 6.0.4, Tcl/Tk 8.5.19 en 8.6.8, TeX Live 2021, Vim 8.2.4600 en Neovim 0.6.1, Xfce 4.16.
- Componenten van derden zijn bijgewerkt, die deel uitmaken van OpenBSD 7.1:
- De grafische stapel Xenocara is gebaseerd op X.Org 7.7 met 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) en 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
Bron: opennet.ru
