Wydanie OpenBSD 7.8

Została wydana wersja wolnego systemu operacyjnego UNIX-podobnego OpenBSD 7.8. Projekt OpenBSD został założony przez Theo de Raadta w 1995 roku po konflikcie z programistami NetBSD, w wyniku którego Theo stracił dostęp do repozytorium CVS NetBSD. Następnie Theo de Raadt wraz z grupą zwolenników stworzył nowy otwarty system operacyjny oparty na drzewie kodu źródłowego NetBSD, którego głównymi celami rozwoju były przenośność (wspieranych jest 13 platform sprzętowych), standaryzacja, poprawna funkcjonalność, proaktywne bezpieczeństwo oraz zintegrowane środki kryptograficzne. Rozmiar pełnego obrazu ISO podstawowego systemu OpenBSD 7.8 wynosi 597 MB.

Oprócz samego systemu operacyjnego, projekt OpenBSD znany jest z komponentów, które zyskały popularność w innych systemach i zostały uznane za jedne z najbardziej bezpiecznych oraz jakościowych rozwiązań. Wśród nich znajduje się: LibreSSL (fork OpenSSL), OpenSSH, filtr pakietów PF, demony routingu OpenBGPD i OpenOSPFD, serwer NTP OpenNTPD, pocztowy OpenSMTPD, multiplexer terminali tekstowych (odpowiednik GNU screen) tmux, demon identyfikacji identd z implementacją protokołu IDENT, alternatywa pakietu GNU groff - mandoc, protokół organizacji systemów odpornych na awarie CARP (Common Address Redundancy Protocol), lekki serwer http, oraz narzędzie do synchronizacji plików OpenRSYNC. serwer OpenSMTPD, multiplexer terminali tekstowych (odpowiednik GNU screen) tmux, demon identd z realizacją protokołu IDENT, BSDL-alternatywa dla pakietu GNU groff — mandoc, protokół organizujący systemy odporne na awarie CARP (Common Address Redundancy Protocol), lekki serwer http, narzędzie do synchronizacji plików OpenRSYNC.

Główne zmiany:

  • W porcie dla architektury ARM64 dodano wsparcie dla płyt Raspberry Pi 5, wdrożono sterownik acpicpu, zapewniono działanie apm (Advanced Power Management) oraz sysctl hw.cpuspeed na urządzeniach z chipami Qualcomm Snapdragon X Elite.
  • Wdrożono wsparcie dla flagi FD_CLOFORK (close-on-fork), która pozwala na zamknięcie deskryptora pliku dla procesów potomnych po wywołaniu funkcji fork(). W porównaniu do innych implementacji zapewniono zresetowanie tej flagi po wywołaniu funkcji exec() z powodów bezpieczeństwa i wygody.
  • Dodano podsystem do wykonywania wysokopoziomowych operacji alokacji, planowania oraz dyspozycji przerwań programowych (soft interrupt dispatcher).
  • Jądro zostało przetłumaczone na użycie nanosekund zamiast tików timera przy wykonywaniu funkcji sleep, co pozwala uniknąć utraty dokładności spowodowanej przekształceniami z nanosekund na tyki i odwrotnie podczas inicjowania operacji z funkcji bibliotecznych w przestrzeni użytkownika.
  • Zwiększona zgodność z systemami plików opartymi na mechanizmach FUSE (Filesystem in Userspace), w implementacjach których wykorzystuje się bibliotekę libfuse.
  • Ulepszono wsparcie dla trybów uśpienia i hibernacji. Zapewniono wstępne przydzielanie obszaru roboczego dla trybu uśpienia podczas uruchamiania. Dodano możliwość korzystania z trybu hibernacji przy podłączaniu urządzeń przez GPIO. Dodano wsparcie dla przejścia w tryb hibernacji laptopów z CPU AMD przy użyciu trybu niskiego zużycia energii S0ix. Zrealizowano sysctl ddb.suspend, który pozwala pominąć przejście w tryb hibernacji dla sterowników inteldrm i amdgpu, aby ekran pozostał aktywny. Zwiększono niezawodność pracy trybu hibernacji S3 przy użyciu sterownika graficznego amdgpu.
  • Udoskonalono wsparcie dla systemów wieloprocesorowych (SMP). Zapewniono równoległe przetwarzanie stosu TCP na różnych rdzeniach CPU. Do przetwarzania ruchu TCP i przychodzących pakietów sieciowych może teraz być używanych do 8 wątków (ale nie więcej niż rdzeni CPU). Zrealizowano równoległe wykonywanie operacji rekonstruowania fragmentów pakietów IPv6 i analizy parametrów trasowania IPv6. Usunięto globalne blokady z wywołań systemowych close() i listen().
  • Implementacja frameworka drm (Direct Rendering Manager) została zsynchronizowana z jądrem Linux 6.12.50 (w poprzednim wydaniu — 6.12.21). Dodano nowe sterowniki qcdrm i qcdpc dla podsystemu DRM układów Qualcomm Snapdragon oraz kontrolera DisplayPort Qualcomm.
  • Zrealizowano wsparcie dla działania OpenBSD w maszynach wirtualnych kvm/qemu przy użyciu do ochrony gościnnego systemu rozszerzenia AMD SEV-ES (Encrypted State). Do hipernadzorcy vmd dodano możliwość uruchamiania gościnnych systemów w trybie AMD SEV-ES, do włączenia którego do vm.conf dodano parametr „seves”. Zaktualizowane zostały emulowane urządzenia Virtio: network, block, entropy i scsi, w których zaimplementowano wsparcie dla specyfikacji Virtio 1.2.
  • Narzędzie pkg-config zostało przetłumaczone z własnej implementacji w Perl na wykorzystanie narzędzia pkgconf 2.4.3, napisanego w C.
  • Jako narzędzie watch, okresowo uruchamiające polecenia i pokazujące ich wyniki, użyto programu iwatch.
  • Do skryptu security, wykonującego okresową kontrolę bezpieczeństwa, dodano funkcjonalność do tworzenia kopii zapasowych GPT/MBR. Do narzędzia fdisk dodano opcję „-R” do przywracania kopii GPT/MBR z pliku.
  • Do procesu w tle apmd dodano opcję „-w procent” oraz handler /etc/apm/warnlow, aby umożliwić wyświetlenie ostrzeżenia, gdy poziom naładowania baterii spadnie poniżej określonego poziomu.
  • Zrealizowano nowy system profilowania gprof, wykorzystujący wywołanie systemowe profil.
  • Rozszerzona obsługa sprzętu i dodano nowe sterowniki:
    • acpiwmi — Windows Management Instrumentation.
    • amdpmc — kontroler zarządzania zużyciem energii AMD.
    • bcmmip — kontroler MSI BCM2712.
    • bcmstbgpio — kontroler GPIO Broadcom.
    • bcmstbintc — kontroler przerwań Broadcom.
    • bcmstbpinctrl — multiplikacja pinów Broadcom.
    • bcmstbrescal — kontroler kalibracji resetu Broadcom.
    • bcmstbreset — kontroler resetu Broadcom.
    • rpone — kontroler peryferyjny Raspberry Pi RP1.
    • rpiclock — kontroler zegara Raspberry Pi RP1.
    • rpipwm — kontroler PWM Raspberry Pi RP1.
    • rpirtc — zegar rzeczywisty Raspberry Pi.
    • iasuskbd(4) — ASUS I2C HID.
  • W sterowniku kamer internetowych uvideo dodano wsparcie dla kodeka H.264.
  • Dodano proces w tle lldpd z implementacją protokołów LLDP (Link Layer Discovery Protocol) oraz narzędzie lldp do jego zarządzania.
  • Dodano proces w tle bpflogd do przechwytywania pakietów sieciowych za pomocą bpf (Berkeley Packet Filter) i ich zapisywania w logu w formacie tcpdump.
  • W iked, implementacji protokołu IKEv2 dla IPsec, dodano możliwość ładowania wielu certyfikatów z pliku.
  • Biblioteka LibreSSL zaktualizowana do wersji 4.2.0, która wprowadza API do wykorzystania algorytmu wymiany kluczy ML-KEM (CRYSTALS-Kyber), odpornego na ataki z wykorzystaniem komputerów kwantowych.
  • Zaktualizowano OpenSSH. Lista zmian dostępna jest w ogłoszeniach OpenSSH 10.1 i 10.2:
  • Liczba portów dla architektury AMD64 wyniosła 12651 (było 12593), dla aarch64 — 12506 (było 12446), dla i386 — 10457 (było 10429). Wśród wersji aplikacji w portach:
    • Asterisk 22.5.2
    • Audacity 3.7.5
    • CMake 3.31.8
    • Chromium 141.0.7390.54
    • Emacs 30.2
    • FFmpeg 6.1.3
    • GCC 8.4.0 i 11.2.0
    • GHC 9.8.3
    • GNOME 48
    • Go 1.25.1
    • JDK 8u462, 11.0.28, 17.0.16, 21.0.8 i 25.0.0
    • KDE Applications 25.08.1
    • KDE Frameworks 6.18.0
    • KDE Plasma 6.4.5
    • Krita 5.2.13
    • LLVM/Clang 19.1.7, 20.1.8 i 21.1.2
    • LibreOffice 25.8.1.1
    • Lua 5.1.5, 5.2.4, 5.3.6 i 5.4.7
    • MariaDB 11.4.7
    • Mono 6.12.0.199
    • Mozilla Firefox 143.0.3 i ESR 140.3.1
    • Mozilla Thunderbird 143.3.1
    • Mutt 2.2.15 i NeoMutt 20250905
    • Node.js 22.20.0
    • OCaml 4.14.2
    • OpenLDAP 2.6.10
    • PHP 8.2.29, 8.3.26 i 8.4.13
    • Postfix 3.5.25 i 3.10.1
    • PostgreSQL 17.6
    • Python 2.7.18 i 3.12.11
    • Qt 5.15.16 (+ poprawki od kde) i 6.8.3
    • R 4.5.1
    • Ruby 3.2.9, 3.3.9 i 3.4.6
    • Rust 1.90.0
    • SQLite 3.50.4
    • Shotcut 25.08.16
    • Sudo 1.9.17p2
    • Suricata 7.0.7
    • Tcl/Tk 8.5.19 i 8.6.16
    • TeX Live 2025
    • Vim 9.1.1706 i Neovim 0.11.4
    • Xfce 4.20.0
  • Zaktualizowano komponenty od zewnętrznych deweloperów wchodzące w skład OpenBSD 7.8:
    • Grafika Xenocara na bazie X.Org 7.7 z xserver 21.1.18 + poprawki, freetype 2.13.3, fontconfig 2.15.0, Mesa 25.0.7, xterm 399, xkeyboard-config 2.20, fonttosfnt 1.2.4.
    • LLVM/Clang 19.1.7 (+ poprawki)
    • GCC 4.2.1 (+ poprawki) i 3.3.6 (+ poprawki)
    • Perl 5.40.1 (+ łatki)
    • NSD 4.3.0
    • Unbound 1.24.0
    • Ncurses 6.4
    • Binutils 2.17 (+ poprawki)
    • Gdb 6.3 (+ łatki)
    • Awk 20250116
    • Expat 2.7.3
    • 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