De uitgave van het gratis cross-platform UNIX-achtige besturingssysteem OpenBSD 6.9 is gepresenteerd. Het is opmerkelijk dat dit de 50e uitgave van het project is, dat dit jaar 26 jaar bestaat. Het OpenBSD-project werd in 1995 opgericht door Theo de Raadt na een conflict met de ontwikkelaars van NetBSD, waardoor Theo de toegang tot de CVS-repository van NetBSD werd ontzegd. Na dit conflict creëerde Theo de Raadt met een groep gelijkgestemden een nieuw open besturingssysteem op basis van de broncode van NetBSD, waarbij de belangrijkste ontwikkelingsdoelen draagbaarheid (ondersteuning voor 13 hardwareplatforms), standaardisering, correcte werking, actieve beveiliging en geïntegreerde cryptografische middelen waren. De grootte van de volledige installatie-ISO-afbeelding van het basisbesturingssysteem OpenBSD 6.9 bedraagt 544 MB.
Naast het besturingssysteem zelf, is het OpenBSD-project bekend om zijn componenten die populair zijn geworden in andere systemen en zich hebben bewezen als een van de veiligste en hoogst kwalitatieve oplossingen. Onder deze componenten zijn: LibreSSL (fork van OpenSSL), OpenSSH, het packetfilter PF, de routeringsdemons OpenBGPD en OpenOSPFD, de NTP-server OpenNTPD, de mailserver OpenSMTPD, de multiplexor voor tekstterminals (vergelijkbaar met GNU screen) tmux, de identd-demons met implementatie van het IDENT-protocol, de BSDL-alternatief voor het GNU groff-pakket — mandoc, het protocol voor het organiseren van redundante systemen CARP (Common Address Redundancy Protocol), en de lichte http-server en het bestandssynchronisatieprogramma OpenRSYNC.
Hoofdverbeteringen:
- In de softraid-stuurprogramma is een RAID1C-modus toegevoegd met de implementatie van software RAID1 met gegevensversleuteling.
- Er zijn twee nieuwe achtergrondprocessen toegevoegd — dhcpleased en resolvd, die samenwerken met slaacd en unwind voor de automatische configuratie van netwerkinterfaces en het bepalen van namen in DNS. In dhcpleased is het DHCP-protocol geïmplementeerd voor het verkrijgen van IP-adressen, en in resolvd wordt het beheer van de inhoud van resolv.conf op basis van gegevens over naamservers, verkregen van dhcpleased, slaacd en soortgelijke stuurprogramma's, afgestemd.
- Eerste ondersteuning voor Apple-apparaten met de M1-processor is toegevoegd. Dit omvat de herkenning van arm64-kernen van Apple Icestorm/Firestorm en ondersteuning voor draadloze chips BCM4378 die worden gebruikt in SoCs van Apple M1.
- De ondersteuning voor het powerpc64-platform, ontwikkeld voor 64-bits systemen gebaseerd op POWER8- en POWER9-processoren, is verbeterd. In vergelijking met de vorige uitgave is er ondersteuning voor de beveiligingsmechanisme RETGUARD toegevoegd voor powerpc64, is de astfb-stuurprogramma voor het framebuffer van Aspeed BMC toegevoegd, en zijn problemen met de werking van de stuurprogramma's radeondrm en amdgpu op systemen met AMD GPU's opgelost. De kernel-build voor ramdisk heeft netwerklading mogelijk gemaakt, ondersteuning voor energiezuinige CPU POWER9-modus is toegevoegd, evenals ondersteuning voor uitzonderingen die worden gegenereerd bij floating-point-bewerkingen, evenals IPMI-ondersteuning voor PowerNV-systemen.
- Voor ARM64-platforms is ondersteuning voor de CPU Cortex-A78AE, Cortex-X1 en Neoverse V1 voorzien, geoptimaliseerde ARM64-aanroepen zoals copyin, copyout en kcopy zijn geïmplementeerd, en een cryptox-driver is toegevoegd ter ondersteuning van de crypto-uitbreidingen ARMv8, evenals een smmu-driver voor RM System MMU met ondersteuning voor Guard Page. De ondersteuning voor Raspberry Pi, Rock Pi N10, NanoPi en Pinebook Pro is verbeterd.
- In de video-driver is een sysctl-parameter kern.video.record toegevoegd, die vergelijkbaar is met kern.audio.record en het inschakelen van de weergave van een lege afbeelding bij het proberen vast te leggen van video beheert (de waarde moet op 1 worden gezet om het vastleggen mogelijk te maken). Processen mogen het video-apparaat meerdere keren openen (oplossing voor problemen met webcamera's in Firefox en BigBlueButton).
- Tracepoints voor malloc- en free-aanroepen zijn toegevoegd, waardoor het mogelijk is om gerelateerde activiteiten met geheugentoewijzing te volgen met behulp van dt en btrace. Btrace is uitgebreid met de optie '-n' voor het parseren van een programma zonder enige actie uit te voeren.
- De ondersteuning voor symmetrische multiprocessorsystemen (SMP) is verbeterd. De implementatie van UNIX-sockets is uit de algemene kernelvergrendeling gehaald, er is een gedeelde mutex toegevoegd voor het serialiseren van bewerkingen met msgbuf, de uvm_pagealloc-aanroep is omgezet naar mp-safe, en de aanroepen getppid en sendsyslog zijn onbelemmerd.
- Problemen in de DRM-componenten (Direct Rendering Manager) zijn opgelost, waaronder crashes in de radeondrm-driver op systemen Powerbook5/6 en RV350, en de ondersteuning voor DRI3 in de amdgpu- en ati-drivers is verbeterd, hierbij is het mogelijk gemaakt om apparaten in de map /dev/dri/ te creëren voor compatibiliteit met Linux.
- Verbeteringen zijn aangebracht aan de hypervisor VMM. In de backend voor het beheren van virtuele machines (vmd) is ondersteuning voor het opstarten van ingepakte RAM-schijven toegevoegd.
- Verbeteringen zijn aangebracht aan het audiosysteem. Het is nu mogelijk om geluidsapparaten sndio afzonderlijk vast te leggen, uitsluitend voor weergave of alleen voor opname. In sndiod is een laagdoorlaatfilter met eindige impulsrespons (KIR-filter) van de achtste orde ingeschakeld, waardoor ongewenste ruis door spectrumsoverlap bij het resamplen is geëlimineerd. Als standaard is de functie voor automatische volumeverlaging uitgeschakeld wanneer een nieuw programma begint met afspelen (autovolume), en het standaard volume is ingesteld op 127. Het mengen van geluid van alternatieve apparaten met verschillende niveaus van ondersteunde functionaliteit in sndiod is toegestaan.
- Standaard ingeschakeld: het bouwen en installeren van de LLDB-debugger.
- Ondersteuning voor de logger-handler is toegevoegd aan rcctl, rc.subr en rc.d, waarmee het mogelijk wordt om logs van achtergrondprocessen die gegevens naar stdout/stderr sturen, te organiseren.
- Voor touchpads is de mogelijkheid toegevoegd om de knoplay-out in te stellen via wsconsctl. In wscons is de verwerking van gelijktijdige aanrakingen verbeterd.
- Voor ARM64-apparaten is de mogelijkheid geïmplementeerd om APM te gebruiken voor het verkrijgen van gegevens over energieverbruik en batterijstatus. Voor het beperken van de toegang van het apmd-proces tot het bestandssysteem is de unveil-aanroep ingeschakeld.
- De ondersteuning voor hardware is uitgebreid. Nieuwe stuurprogramma's zijn toegevoegd, zoals acpige (voor de verwerking van ACPI-gebeurtenissen, zoals het indrukken van de aan-/uitknop), pchgpio (voor GPIO-controllers die in moderne Intel PCH's zijn ingebouwd), ujoy (voor gamecontrollers), uhidpp (voor Logitech HID++-apparaten). Ondersteuning voor AMD Vi- en Intel VTD IOMMU-extensies is toegevoegd voor de isolatie van PCI-apparaten en het blokkeren van ongebruikelijke geheugenaccessen. Ondersteuning voor Lynloong LM9002/9003 en LM9013-computers is toegevoegd. Ondersteuning voor ACPI is toegevoegd aan de stuurprogramma's pcamux en imxiic.
- De ondersteuning voor netwerkadapters is verbeterd: mvpp (SFP+ en 10G voor Marvel Armada Ethernet), mvneta (1000base-x en 2500base-x), mvsw (Marvel SOHO-switches), rge (ondersteuning voor Wake on LAN), Netgear ProSecure UTM25. Voor draadloze stuurprogramma's zoals iwm, iwn en athn is ondersteuning voor RA (802.11n Tx Rate Adaptation) toegevoegd. In de draadloze stack is de automatische modusselectie 11a/b/g/n/ac ingesteld bij gebruik van het netwerkinterface als toegangspunt.
- In de netwerkstack is de stuurprogramma veb (Virtual Ethernet Bridge) geïmplementeerd. Er is ondersteuning voor de monitoringsmodus geïmplementeerd, waarbij inkomende pakketten op de netwerkinterface niet naar de netwerkstack worden doorgestuurd voor verwerking, maar waarop verkeersanalysetools zoals BPF kunnen worden toegepast. Een nieuw type netwerkinterfaces is toegevoegd: etherbridge. De mogelijkheid om het bronadres opnieuw in te stellen (opdracht route sourceaddr) is geboden voor programma's, om de standaard adresselectie te omzeilen. IP-adressen Automatisch netwerkinterfaces worden geactiveerd wanneer de autotuning-modus (AUTOCONF4 en AUTOCONF6) is ingeschakeld.
- In de installer is de levering van een gecomprimeerd ramdisk-image (bsd.rd) geïmplementeerd op alle platforms die een dergelijke opstartmogelijkheid ondersteunen.
- Waarschuwingen over het gebruik van de printf-plaatsvervanging voor stringformattering "%n" worden nu via syslog weergegeven.
- De OpenBGPD-routerdaemon heeft ondersteuning toegevoegd voor het RTR-protocol (Resource Public Key Infrastructure (RPKI) to Router Protocol). De opdracht "bgpctl show rtr" is toegevoegd voor het weergeven van basisinformatie over RTR-sessies.
- De code van ospfd en ospf6d is herstructureerd om ze te uniformeren met andere routerdaemons en om het onderhoud te vereenvoudigen. Ondersteuning voor netwerkinteresse in point-to-point-modus is opgezet.
- De ingebouwde HTTP-server httpd heeft nieuwe opties "location (found|notfound)" geïmplementeerd voor het controleren van de beschikbaarheid van middelen.
- De rpki-client tool heeft ondersteuning toegevoegd voor het RRDP-protocol (The RPKI Repository Delta Protocol, RFC 8182). Het is nu mogelijk om meer dan één URI in het TAL-bestand op te geven.
- De dig-tool heeft ondersteuning toegevoegd voor RFC 8914 (Extended DNS Error) en RFC 8976 (ZONEMD).
- In dhclient is de mogelijkheid toegevoegd om opties in de bestanden hostname.if op te geven met behulp van de regel "dhcp".
- De snmpd-daemon heeft volledige ondersteuning geïmplementeerd voor de conversie van Trapv1 naar Trapv2 (RFC 3584). Nieuwe sleutelwoorden read, write en notify zijn toegevoegd in snmpd.conf. De snmp utility ondersteunt nu enumeraties van SMI.
- In de DNS-resolver unwind is ondersteuning toegevoegd voor DNS64 en het accepteren van verbindingen via de TCP-poort.
- De ftp-tool heeft ondersteuning toegevoegd voor permanente omleidingen (RFC 7538) en de mogelijkheid om de header If-Modified-Since te verzenden bij het doen van verzoeken via HTTP/HTTPS.
- In OpenSMTPD is de optie "-a" toegevoegd voor authenticatie vóór het verzenden van een bericht. Encryptiemiddelen zijn overgezet naar het gebruik van de libtls-bibliotheek. In luisterende sockets voor TLS is de mogelijkheid toegevoegd om meerdere certificaten in te stellen, afhankelijk van de naam (SNI). domein (SNI).
- In LibreSSL is ondersteuning toegevoegd voor het DTLSv1.2-protocol. Het is nu mogelijk om alleen libtls te bouwen (‘--enable-libtls-only’) zonder libcrypto en libssl.
- Het OpenSSH-pakket is bijgewerkt. Een gedetailleerd overzicht van verbeteringen is hier te bekijken: OpenSSH 8.5, OpenSSH 8.6.
- Het aantal poorten voor de AMD64-architectuur bedraagt 11310, voor aarch64 10943, en voor i386 10468. Onder de versies van toepassingen in de poorten zijn: Xfce 4.16, Asterisk 18.3.0, Chromium 90.0.4430.72, FFmpeg 4.3.2, GCC 8.4.0, GNOME 3.38, Go 1.16.2, KDE Applications 20.12.3, Krita 4.4.3, LLVM/Clang 10.0.1, LibreOffice 7.0.5.2, Lua 5.3.6, MariaDB 10.5.9, Firefox 88.0 en ESR 78.10.0, Thunderbird 78.10.0, Node.js 12.16.1, PHP 8.0.3, Postfix 3.5.10, PostgreSQL 13.2, Python 3.9.2, Ruby 3.0.1, Rust 1.51.0.
De componenten van derden die zijn opgenomen in OpenBSD 6.9 zijn bijgewerkt:
- De grafische stack Xenocara op basis van X.Org 7.7 met xserver 1.20.10 + patches, freetype 2.10.4, fontconfig 2.12.4, Mesa 20.0.8, xterm 367, xkeyboard-config 2.20, fonttosfnt 1.2.1.
- LLVM/Clang 10.0.1 (+ patches)
- GCC 4.2.1 (+ patches) en 3.3.6 (+ patches)
- Perl 5.32.1 (+ patches)
- NSD 4.3.6
- Unbound 1.13.1
- Ncurses 5.7
- Binutils 2.17 (+ patches)
- Gdb 6.3 (+ patch)
- Awk 18.12.2020
- Expat 2.2.10
Bij de release van OpenBSD 6.9 is een nieuw nummer «Vetera Novis» uitgekomen.
Bron: opennet.ru
