Wydanie OpenBSD 7.7

Wydano wydanie wolnego systemu operacyjnego podobnego do UNIX, OpenBSD 7.7. Projekt OpenBSD został założony przez Theo de Raadta w 1995 roku po konflikcie z deweloperami NetBSD, który skutkował zablokowaniem dostępu Theo do repozytorium CVS NetBSD. Po tym wydarzeniu Theo de Raadt z grupą zwolenników stworzył nowy otwarty system operacyjny na bazie drzewa źródłowego NetBSD, którego głównymi celami rozwoju stały się przenośność (obsługiwane 13 platform sprzętowych), standaryzacja, poprawna funkcjonalność, proaktywne bezpieczeństwo oraz zintegrowane środki kryptograficzne. Rozmiar pełnego obrazu ISO bazowego systemu OpenBSD 7.7 wynosi 746 MB.

Oprócz samego systemu operacyjnego, projekt OpenBSD znany jest ze swoich komponentów, które zyskały popularność w innych systemach i ugruntowały swoją pozycję jako jedno z najbardziej bezpiecznych i jakościowych rozwiązań. Należą do nich: LibreSSL (fork OpenSSL), OpenSSH, filtr pakietów PF, demony routingu OpenBGPD i OpenOSPFD, serwer NTP OpenNTPD, serwer pocztowy OpenSMTPD, multiplexer terminali tekstowych (analog GNU screen) tmux, demon identd z implementacją protokołu IDENT, BSDL-alternatywa dla pakietu GNU groff — mandoc, protokół do organizacji systemów odpornych na awarie CARP (Common Address Redundancy Protocol), oraz lekki serwer http, narzędzie do synchronizacji plików OpenRSYNC.

Główne zmiany:

  • Implementacja frameworka drm (Direct Rendering Manager) została zsynchronizowana z jądrem Linux 6.12.21 (w poprzednim wydaniu — 6.6.52). W sterowniku inteldrm dodano wsparcie dla GPU używanego w procesorach Intel opartych na mikroarchitekturze Arrow Lake. W sterowniku amdgpu dodano wsparcie dla GPU Ryzen AI 300 (Strix Point, Strix Halo, Krackan Point) oraz Radeon RX 9070 (Navi 48).
  • W porcie dla architektury ARM64 zaimplementowano wsparcie dla zestawu instrukcji wektorowych SVE (Scalable Vector Extension). Na systemach z chipami ARM Apple M1 wprowadzono ustawienie stanów poboru energii. W mechanizmie mapowania fizycznych stron pamięci (pmap, physical mapping) zoptymalizowane operacje resetowania bufora asocjacyjnej translacji (TLB), co przyspieszyło wykonanie testu kompilacji jądra o około 5%. Na sprzęcie z obsługą szyfru QARMA3 dla ochrony przestrzeni użytkownika włączono uwierzytelnianie wskaźników (PAC, Pointer Authentication Code).
  • Na systemach x86_64 dla systemów gościnnych uruchamianych przy użyciu QEMU wprowadzono wsparcie dla mechanizmu AMD SEV (Secure Encrypted Virtualization), wykorzystywanego w systemach wirtualizacji do zabezpieczania maszyn wirtualnych przed ingerencją ze strony hipernadzorcy lub administratora systemu hosta. Do sterownika psp, używanego do konfigurowania i uruchamiania systemów gościnnych z włączoną obsługą AMD SEV, dodano polecenie do załadowania oprogramowania układowego do chipu.
  • Na systemach x86_64 dodano możliwość rezerwacji obszarów pamięci większych niż 4 GB dla DMA.
  • Ulepszono wsparcie dla architektur RISC-V, Sparc64, HPPA, i386 i Powerpc64.
  • Zoptymalizowano sposób obsługi sytuacji niedoboru pamięci w systemie (OOM).
  • W mechanizmie śledzenia ptrace dodano możliwości umożliwiające ustalanie punktów zatrzymania w debuggerze gdb w wątkowych procesach. Dodano polecenia do odczytu i zapisu obszaru, w którym w śledzonym procesie przechowywany jest stan procesora przy użyciu instrukcji XSAVE.
  • W skryptach w języku BT (BPFtrace lub Bug Tracing), stosowanych w systemie śledzenia btrace, dodano wsparcie dla wieloliniowych konstrukcji. W narzędziu btrace dodano dodatkowe profile i nazewnictwo przedziałów czasowych (hz, us, ms, s).
  • Dodano parametr sysctl kern.audio.kbdcontrol, który, gdy jest ustawiony na 0, sprawia, że multimedia klawisze sterujące głośnością na klawiaturze będą traktowane jak zwykłe klawisze.
  • Usprawniono obsługę awarii oraz rozszerzono kontrole podczas przechodzenia w tryb uśpienia i oczekiwania.
  • Przebudowano kod odpowiedzialny za zatrzymywanie procesów w przypadku otrzymania sygnału, co rozwiązało problemy z zatrzymywaniem procesów wielowątkowych, które występowały w takich pakietach jak golang i mpv.
  • Udoskonalono wsparcie dla systemów wieloprocesorowych (SMP). Zapewniono równoległą pracę timerów wejścia i wyjścia TCP, a wywołania systemowe send() i recv() przeszły na korzystanie ze wspólnej blokady. Kilka wątków użytkowników może teraz pracować równolegle z różnymi gniazdami, a wyjście TCP już nie blokuje przetwarzania pakietów IP.

    Usunięto globalną blokadę z wywołań systemowych open, openat, ptsignal, psignal i prsignal, a także sysctl kern.timeout_stats, kern.allowkmem, kern.video.record, net.inet.gre.allow, net.inet.gre.wccp, kern.global_ptrace, kern.wxabort, kern.malloc.kmemstat. Przeniesiono do kategorii mp-safe sterowniki psp, wsmouse i wstpad oraz strukturę video_filtops.

  • W hipernadzorze VMM wprowadzono możliwość wykorzystania acpipci do dołączania magistrali PCI.
  • Umożliwiono określenie alternatywnej polityki z ustawieniami wydajności (perfpolicy), stosowanej podczas pracy systemu na akumulatorze.
  • Do polecenia sysctl dodano opcję „-f file” do ładowania wszystkich ustawień z pliku. W skryptach rc nowa opcja jest stosowana do ładowania sysctl.conf w całości, zamiast przetwarzania go linia po linii.
  • W poleceniu pkg_add zaimplementowano wywołanie ldconfig, gdy w wyniku instalacji nowych pakietów zmieniła się lista bibliotek współdzielonych.
  • Dodano wsparcie dla nowego sprzętu. Ulepszono wsparcie dla SoC MediaTek i Qualcomm Snapdragon (w tym X Elite). Ulepszono wsparcie urządzeń Samsung Galaxy Book4 Edge, ThinkPad T14 Gen 5, Vivobook, ThinkPad X1 Nano Gen 2, ThinkPad X13 oraz różnych Chromebooków. Dodano sterownik ice dla Intel E810 Ethernet 1Gb/10Gb/25Gb/50Gb/100Gb oraz sterownik ixv dla wirtualnych funkcji Intel Ethernet 82598EB, 82559 i X540. Kontynuowano prace nad przenoszeniem wykonania operacji sieciowych na stronę kart sieciowych.
  • W sysupgrade wprowadzono tryb offline do aktualizacji systemu z wykorzystaniem pakietów zapisanych na lokalnym dysku.
  • Do narzędzia fw_update dodano możliwość pobierania (nie instalowania) firmware'u jako zwykły użytkownik bez uprawnień root. Dodano flagę „-l” do wyświetlania listy sterowników i plików.
  • Dla procesu sshd-auth włączono zabezpieczenia przed wykorzystaniem luk, polegające na losowej rekonfiguracji pliku wykonywalnego przy każdym uruchomieniu systemu (relink). Rekompilacja pozwala uczynić przesunięcia funkcji mniej przewidywalnymi, co utrudnia tworzenie exploitów wykorzystujących metody programowania oparte na powrocie.
  • Zrealizowano izolację procesu mountd z wykorzystaniem wywołania systemowego unveil.
  • W stosie sieciowym wprowadzono wsparcie dla gniazd AF_FRAME oraz rodziny protokołów IFT_ETHER, co umożliwia aplikacjom wysyłanie i odbieranie ram Ethernet. Dla wychodzących pakietów UDP i TCP zastosowano nową metodę haszowania, co pozwoliło zoptymalizować rozkład ruchu według kolejek i znacznie (~20%) przyspieszyć wysyłanie UDP dla IPv4/IPv6 oraz TCP dla IPv6. Dla urządzenia tun zrealizowano ioctl TUNSCAP oraz zoptymalizowano interakcję między jądrem a przestrzenią użytkownika. Wprowadzono oddzielną pamięć podręczną trasowania dla każdego wątku. W sterowniku vio włączono tryb multiqueue.
  • W narzędziu pfctl dla interfejsów sieciowych i kolejek zezwolono na określenie przepustowości przekraczającej 4Gbit.
  • W iked, realizacji protokołu IKEv2 dla IPsec, dodano opcję «natt» do wymuszenia użycia nat-t.
  • W relayd, procesie w tle do przekierowywania i równoważenia zapytań, zaimplementowano wsparcie dla klientów. certyfikatów TLS.
  • Narzędzie do pomiaru wydajności sieci tcpbench zyskało wsparcie TLS.
  • W bgpd wdrożono wsparcie dla RFC 8654 (BGP Extended Message), RFC 8538 (BGP Notification Message), domyślnie aktywowano opcję «reject as-set», zapewniono buforowanie Adj-RIB-Out.
  • W LibreSSL 4.1.0 dodano eksperymentalne wsparcie dla architektury loongarch64, wprowadzono nowe asemblerowe implementacje algorytmów SHA-1, SHA-256 i SHA-512 dla architektury amd64 (wykorzystano instrukcję SHA-NI), nowe assemblerowe implementacje SHA-256 i SHA-512 dla Aarch64 (wykorzystano rozszerzenie CE), uproszczono implementację MD5 dla amd64, zapewniono buforowanie listy unieważnionych certyfikatów (CRL), przeniesiono implementację ML-KEM 768 i 1024 z BoringSSL.
  • Zaktualizowano OpenSSH. Listę zmian można znaleźć w ogłoszeniu OpenSSH 10 (usunięto wsparcie dla podpisów cyfrowych DSA, operacje uwierzytelniania przeniesiono do oddzielnego procesu sshd-auth, domyślnie zastosowano hybrydowy algorytm wymiany kluczy «mlkem768x25519-sha256»).
  • Liczba portów dla architektury AMD64 wyniosła 12593 (wcześniej 12312), dla aarch64 — 12446 (wcześniej 12148), dla i386 — 10429 (wcześniej 10534). Wśród wersji aplikacji w portach:
    • Asterisk 16.30.1, 18.26.1, 20.13.0 i 22.3.0
    • Audacity 3.7.3
    • CMake 3.31.6
    • Chromium 135.0.7049.52
    • Emacs 30.1
    • FFmpeg 6.1.2
    • GCC 8.4.0 i 11.2.0
    • GNOME 47
    • Go 1.24.1
    • JDK 8u442, 11.0.26, 17.0.14 i 21.0.6
    • KDE Gears 24.12.3
    • KDE Frameworks 6.12.0
    • KDE Plasma 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
    • Mono 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
    • Node.js 22.14.0
    • OpenLDAP 2.6.9
    • PHP 8.2.28, 8.3.19 i 8.4.5
    • Postfix 3.10.1
    • PostgreSQL 17.4
    • Python 2.7.18 i 3.12.9
    • Qt 5.15.16 (+ łatki z projektu KDE) i 6.8.2
    • Ruby 3.2.8, 3.3.7, 3.4.2
    • Rust 1.86.0
    • SQLite 3.49.1
    • Shotcut 25.01.25
    • Sudo 1.9.16p1
    • Suricata 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
  • Zaktualizowano komponenty od zewnętrznych dostawców wchodzące w skład OpenBSD 7.7:
    • Graficzny stos Xenocara oparty na X.Org 7.7 z xserver 21.1.16 + łatki, 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 (+ łatki)
    • GCC 4.2.1 (+ łatki) i 3.3.6 (+ łatki)
    • Perl 5.40.1 (+ łatki)
    • NSD 4.9.1
    • Unbound 1.22.0
    • Ncurses 6.4
    • Binutils 2.17 (+ poprawki)
    • Gdb 6.3 (+ łatki)
    • Awk 20250116
    • Expat 2.7.1
    • zlib 1.3.1 (+ łatki)

Źródło: opennet.ru

Kup solidny hosting stron z ochroną przed DDoS, serwery VPS VDS 🔥 Kup solidny hosting stron z ochroną przed DDoS, serwery VPS VDS | ProHoster