Izdanje OpenBSD 7.7

Predstavljeno je izdanje besplatnog operativnog sustava OpenBSD 7.7 sličnog UNIX-u. Projekt OpenBSD utemeljio je Theo de Raadt 1995. godine nakon sukoba s programerima NetBSD-a, zbog čega je Theu uskraćen pristup NetBSD CVS repozitoriju. Nakon toga, Theo de Raadt i grupa istomišljenika stvorili su novi otvoreni operativni sustav temeljen na NetBSD izvornom stablu, čiji su glavni razvojni ciljevi bili prenosivost (podržano je 13 hardverskih platformi), standardizacija, ispravan rad, proaktivna sigurnost i integrirani kriptografski alati. Puna instalacijska ISO slika osnovnog sustava OpenBSD 7.7 je 746 MB.

Osim po samom operativnom sustavu, projekt OpenBSD poznat je po svojim komponentama koje su se raširile iu drugim sustavima te su se pokazale kao jedno od najsigurnijih i najkvalitetnijih rješenja. Među njima: LibreSSL (fork OpenSSL), OpenSSH, PF filtar paketa, OpenBGPD i OpenOSPFD demoni usmjeravanja, OpenNTPD NTP poslužitelj, OpenSMTPD poslužitelj e-pošte, multiplekser tekstualnog terminala (analogno GNU ekranu) tmux, identd demon s implementacijom IDENT protokola, BSDL alternativa GNU groff paket - mandoc, protokol za organiziranje sustava otpornih na pogreške CARP (Common Address Redundancy Protocol), lagani http poslužitelj, uslužni program za sinkronizaciju datoteka OpenRSYNC.

Velike promjene:

  • Implementacija okvira drm (Direct Rendering Manager) sinkronizirana je s Linux kernelom 6.12.21 (u prethodnom izdanju - 6.6.52). Upravljački program inteldrm implementira podršku za GPU koji se koristi u Intelovim procesorima koji se temelje na mikroarhitekturi Arrow Lake. Amdgpu upravljački program ažuriran je za podršku Ryzen AI 300 (Strix Point, Strix Halo, Krackan Point) i Radeon RX 9070 (Navi 48) GPU-ova.
  • Port za ARM64 arhitekturu implementira podršku za SVE (Scalable Vector Extension) skup vektorskih instrukcija. Na sustavima s Apple M1 ARM čipovima postavljaju se stanja potrošnje energije. U mehanizmu preslikavanja stranica fizičke memorije (pmap), optimizirane su operacije pražnjenja translacijskog lookaside buffer-a (TLB), što je ubrzalo izvođenje testa sklopa jezgre za približno 5%. Na hardveru koji podržava QARMA3 šifru, Pointer Authentication Code (PAC) je omogućen za zaštitu korisničkog prostora.
  • Na x86_64 sustavima, za gostujuće sustave koji rade pomoću QEMU-a implementirana je podrška za AMD SEV (Secure Encrypted Virtualization) mehanizam, koji se koristi u sustavima virtualizacije za zaštitu. virtualni strojevi Od smetnji hipervizora ili administratora glavnog sustava. Naredba za učitavanje firmvera u čip dodana je PSP upravljačkom programu koji se koristi za konfiguriranje i pokretanje gostujućih sustava s omogućenim AMD SEV-om.
  • Na sustavima x86_64 dodana je mogućnost dodjele memorijskih područja većih od 4 GB za DMA.
  • Poboljšana podrška za RISC-V, Sparc64, HPPA, i386 i Powerpc64 arhitekture.
  • Poboljšano rukovanje situacijama nedostatka memorije (OOM).
  • Mehanizam praćenja ptrace poboljšan je kako bi omogućio postavljanje prijelomnih točaka u višenitnim procesima u gdb debuggeru. Dodane naredbe za čitanje i pisanje područja gdje nadzirani proces sprema stanje procesora kada se koristi instrukcija XSAVE.
  • Podrška za višelinijske konstrukcije dodana je BT (BPFtrace ili Bug Tracing) skriptama koje se koriste u btrace sustavu praćenja. Dodatni profili i imenovanja vremenskih intervala (hz, us, ms, s) dodani su uslužnom programu btrace.
  • Dodan sysctl parametar kern.audio.kbdcontrol, kada je postavljen na 0, multimedijske tipke za kontrolu glasnoće na tipkovnici tretirat će se kao obične tipke.
  • Poboljšano rukovanje rušenjima i proširene provjere pri prebacivanju u stanje mirovanja i stanje mirovanja.
  • Prerađen je kod za zaustavljanje procesa kada se primi signal, što je riješilo probleme sa zaustavljanjem višenitnih procesa koji su se pojavljivali u paketima kao što su golang i mpv.
  • Poboljšana podrška za višeprocesorske sustave (SMP). TCP ulazni i izlazni tajmeri sada su omogućeni za paralelni rad, a sistemski pozivi send() i recv() sada su konfigurirani za korištenje zajedničkog zaključavanja. Višestruke korisničke niti sada mogu raditi na različitim utičnicama paralelno, a TCP izlaz više ne blokira obradu IP paketa.

    Sistemski pozivi open, openat, ptsignal, psignal i prsignal, kao i kern.timeout_stats, kern.allowkmem, kern.video.record, net.inet.gre.allow, net.inet.gre.wccp, kern.global_ptrace, kern.wxabort, kern.malloc.kmemstat sysctls oslobođeni su globalnog zaključavanja. Upravljački programi za psp, wsmouse i wstpad, kao i struktura video_filtops, prebačeni su u kategoriju mp-safe.

  • VMM hipervizor implementirao je mogućnost korištenja acpipcija za priključivanje PCI sabirnica.
  • Omogućena je mogućnost definiranja alternativne politike izvedbe (perfpolicy) koja se primjenjuje kada sustav radi na baterijsko napajanje.
  • Naredba sysctl sada ima opciju "-f datoteka" za učitavanje svih postavki iz datoteke odjednom. U rc skriptama, nova se opcija koristi za učitavanje sysctl.conf-a kao cjeline, umjesto da se analizira redak po redak.
  • Naredba pkg_add implementira poziv za ldconfig ako se popis dijeljenih biblioteka promijenio kao rezultat instaliranja novih paketa.
  • Dodana podrška za novi hardver. Poboljšana podrška za MediaTek i Qualcomm Snapdragon SoC (uključujući X Elite). Poboljšana podrška za Samsung Galaxy Book4 Edge, ThinkPad T14 Gen 5, Vivobook, ThinkPad X1 Nano Gen 2, ThinkPad X13 i razne Chromebookove. Dodan ice upravljački program za Intel E810 Ethernet 1Gb/10Gb/25Gb/50Gb/100Gb i ixv upravljački program za virtualne funkcije Intel Ethernet 82598EB, 82559 i X540. Nastavljen je rad na premještanju mrežnih operacija na stranu mrežne kartice.
  • Sysupgrade ima način rada za offline ažuriranje sustava pomoću paketa pohranjenih u lokalnom datotečnom sustavu.
  • Uslužni program fw_update je ažuriran kako bi omogućio preuzimanje (ne instaliranje) firmware-a kao običnom korisniku bez root prava. Dodana je zastavica "-l" na popis upravljačkih programa i datoteka.
  • Proces sshd-auth ima uključenu zaštitu od iskorištavanja ranjivosti, temeljenu na nasumičnim relinkovima izvršne datoteke pri svakom pokretanju sustava (relink). Rekombinantni kod čini pomake funkcija manje predvidljivima, što otežava stvaranje eksploatacija koje koriste tehnike programiranja usmjerene na povratak.
  • Proces mountd izoliran je pomoću sistemskog poziva unveil.
  • Mrežni skup implementira podršku za AF_FRAME utičnice i obitelj IFT_ETHER protokola, dopuštajući aplikacijama slanje i primanje Ethernet okvira. Implementirana je nova metoda raspršivanja za odlazne UDP i TCP pakete, koja je optimizirala distribuciju prometa kroz redove i značajno (~20%) ubrzala slanje UDP za IPv4/IPv6 i TCP za IPv6. Tun uređaj ima implementiran TUNSCAP ioctl i interakcija između kernela i korisničkog prostora je optimizirana. Implementirana je posebna predmemorija usmjeravanja za svaki tok. Upravljački program vio ima omogućen višestruki način čekanja.
  • Uslužni program pfctl omogućuje konfiguraciju mrežnih sučelja i redova s ​​propusnošću većom od 4 Gbita.
  • U iked, implementacija IKEv2 protokola za IPsec, dodana je opcija "natt" za prisilnu upotrebu nat-t-a.
  • Relayd, pozadinski proces za preusmjeravanje i balansiranje zahtjeva, sada podržava klijentsku stranu TLS certifikati.
  • Alat za mjerenje performansi mreže tcpbench dodao je TLS podršku.
  • bgpd implementira podršku za RFC 8654 (BGP Extended Message), RFC 8538 (BGP Notification Message), opcija "reject as-set" je omogućena prema zadanim postavkama, a Adj-RIB-Out caching je omogućen.
  • LibreSSL 4.1.0 dodaje eksperimentalnu podršku za loongarch64 arhitekturu, nudi nove asemblerske implementacije SHA-1, SHA-256 i SHA-512 algoritama za amd64 arhitekturu (koristeći SHA-NI instrukciju), nove asemblerske implementacije SHA-256 i SHA-512 za Aarch64 (koristeći CE ekstenziju), pojednostavio je implementaciju MD5 za amd64, pruža predmemoriju popisa opozvanih certifikata (CRL) i prenio implementaciju ML-KEM 768 i 1024 s BoringSSL-a.
  • OpenSSH je ažuriran. Popis promjena nalazi se u najavi OpenSSH 10 (uklonjena je podrška za DSA digitalni potpis, operacije autentifikacije odvojene su u zaseban sshd-auth proces, a prema zadanim postavkama koristi se hibridni algoritam za razmjenu ključeva “mlkem768x25519-sha256”).
  • Broj portova za AMD64 arhitekturu bio je 12593 (bio je 12312), za aarch64 - 12446 (bio je 12148), za i386 - 10429 (bio je 10534). Među verzijama aplikacija u portovima:
    • Asterisk 16.30.1, 18.26.1, 20.13.0 i 22.3.0
    • Audacity 3.7.3
    • CMake 3.31.6
    • Krom 135.0.7049.52
    • Emacs 30.1
    • ffmpeg 6.1.2
    • GCC 8.4.0 i 11.2.0
    • GNOME 47
    • Idi 1.24.1
    • JDK 8u442, 11.0.26, 17.0.14 i 21.0.6
    • KDE Gears 24.12.3
    • KDE Okviri 6.12.0
    • KDE Plazma 6.3.3
    • Krita 5.2.9
    • LLVM/Clang 13.0.0, 16.0.6, 18.1.8, 19.1.7
    • LibreOffice 25.2.1.2
    • Lua 5.1.5, 5.2.4, 5.3.6, 5.4.7
    • MariaDB 11.4.5
    • Majmun 6.12.0.199
    • Mozilla Firefox 137.0 i ESR 128.9.0
    • Mozilla Thunderbird 128.9.0
    • Mutt 2.2.14 i NeoMutt 20250113
    • Čvor.js 22.14.0
    • OpenLDAP 2.6.9
    • PHP 8.2.28, 8.3.19 i 8.4.5
    • Postfiks 3.10.1
    • PostgreSQL 17.4
    • Python 2.7.18 i 3.12.9
    • Qt 5.15.16 (+ zakrpe iz KDE projekta) i 6.8.2
    • Ruby 3.2.8, 3.3.7, 3.4.2
    • Rđa 1.86.0
    • SQLite 3.49.1
    • Streljaštvo 25.01.25
    • Sudo 1.9.16p1
    • Meerkat 7.0.7
    • Tcl/Tk 8.5.19 i 8.6.16
    • Vim 9.1.1265 i Neovim 0.10.4
    • Xfce 4.20.0
  • Ažurirane komponente treće strane uključene u OpenBSD 7.7:
    • Xenocara grafički skup temeljen na X.Org 7.7 s xserverom 21.1.16 + zakrpama, freetype 2.13.3, fontconfig 2.15.0, Mesa 23.3.6, xterm 395, xkeyboard-config 2.20, fonttosfnt 1.2.4.
    • LLVM/Clang 16.0.6 (+ zakrpe)
    • GCC 4.2.1 (+ zakrpe) i 3.3.6 (+ zakrpe)
    • Perl 5.40.1 (+ zakrpe)
    • 4.9.1 dinara
    • Nevezano 1.22.0
    • Ncurses 6.4
    • Binutils 2.17 (+ zakrpe)
    • Gdb 6.3 (+ zakrpe)
    • Awk 20250116
    • Expat 2.7.1
    • zlib 1.3.1 (+ zakrpe)

Izvor: opennet.ru