Premiera OpenBSD 6.9

Została wydana wersja wolnego, wieloplatformowego systemu operacyjnego podobnego do UNIX, OpenBSD 6.9. Zaznacza się, że jest to 50. wydanie projektu, który w tym roku obchodzi 26-lecie. Projekt OpenBSD został założony przez Theo de Raadta w 1995 roku po konflikcie z deweloperami NetBSD, w wyniku którego Theo stracił dostęp do repozytorium CVS NetBSD. Po tym Theo de Raadt wraz z grupą zwolenników stworzył na bazie drzewa źródłowego NetBSD nowy otwarty system operacyjny, którego głównymi celami były przenośność (wsparcie dla 13 platform sprzętowych), standaryzacja, poprawna praca, aktywne bezpieczeństwo i zintegrowane środki kryptograficzne. Rozmiar pełnego obrazu ISO dla podstawowego systemu OpenBSD 6.9 wynosi 544 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.

Zaimplementowano wywołania systemowe waitid (oczekiwanie na zmianę stanu procesu), pinsyscall (do przekazywania informacji o punkcie wejścia execve w celu ochrony przed exploitami ROP), getthrname i setthrname (uzyskiwanie i ustalanie nazwy wątku).

  • Do sterownika softraid dodano tryb RAID1C, realizujący programowe RAID1 z szyfrowaniem danych.
  • Do składników dodano dwa nowe procesy w tle — dhcpleased i resolvd, które współpracują z slaacd i unwind w celu automatycznej konfiguracji interfejsów sieciowych oraz określenia nazw w DNS. W dhcpleased zaimplementowany jest protokół DHCP do uzyskiwania adresów IP, a w resolvd zapewniono zarządzanie zawartością resolv.conf na podstawie danych o serwerach nazw, uzyskanych z dhcpleased, slaacd i podobnych sterowników.
  • Dodano wstępne wsparcie dla urządzeń Apple z procesorem M1. W tym zrealizowano rozpoznawanie rdzeni arm64 Apple Icestorm/Firestorm i dodano wsparcie dla bezprzewodowych chipów BCM4378 używanych w SoC Apple M1.
  • Poprawiona obsługa platformy powerpc64, rozwijanej dla 64-bitowych systemów opartych na procesorach POWER8 i POWER9. W porównaniu do poprzedniej wersji dla powerpc64 wprowadzono wsparcie dla mechanizmu ochrony RETGUARD, dodano sterownik astfb do buforu ramki Aspeed BMC, rozwiązano problemy z działaniem sterowników radeondrm i amdgpu w systemach z GPU AMD, do kompilacji jądra dla ramdysku dodano możliwość uruchamiania z sieci, dodano wsparcie dla trybów oszczędzania energii CPU POWER9, dodano wsparcie dla wyjątków generowanych podczas operacji na liczbach zmiennoprzecinkowych, wprowadzono obsługę IPMI dla systemów PowerNV.
  • Dla platform ARM64 zapewniono wsparcie CPU Cortex-A78AE, Cortex-X1 i Neoverse V1, wprowadzono zoptymalizowane dla ARM64 wersje wywołań copyin, copyout i kcopy, dodano sterownik cryptox dla wsparcia rozszerzeń kryptograficznych ARMv8 oraz sterownik smmu dla RM System MMU z obsługą Guard Page. Poprawiono wsparcie urządzeń Raspberry Pi, Rock Pi N10, NanoPi i Pinebook Pro.
  • W sterowniku video dodano parametr sysctl kern.video.record, który analogicznie do kern.audio.record zarządza włączeniem wyjścia pustego obrazu podczas próby nagrywania wideo (aby zmienić wartość przechwytywania, należy ustawić ją na 1). Procesy mają teraz pozwolenie na wielokrotne otwieranie urządzenia video (rozwiązuje problemy z używaniem kamer internetowych w Firefoxie i BigBlueButton).
  • Dodano punkty śledzenia dla wywołań malloc i free, co umożliwia za pomocą dt i btrace monitorowanie aktywności związanej z alokacją pamięci. W btrace dodano opcję ‘-n’ do parsowania programu bez wykonywania jakichkolwiek działań.
  • Udoskonalono wsparcie dla systemów wieloprocesorowych (SMP). Z ogólnej blokady jądra wyprowadzono implementację UNIX-socketów, dodano wspólny mutex do serializacji operacji z msgbuf, przekształcono w rozrachunek mp-safe wywołanie uvm_pagealloc, usunięto blokady wywołań getppid i sendsyslog.
  • Naprawiono problemy w komponentach DRM (Direct Rendering Manager), w tym usunięto awarie w sterowniku radeondrm w systemach Powerbook5/6 i RV350, nawiązano wsparcie DRI3 w sterownikach amdgpu i ati, dla zgodności z Linuxem wprowadzono tworzenie urządzeń w katalogu /dev/dri/.
  • Wprowadzono ulepszenia w hipernadzorze VMM. W backendzie do zarządzania maszynami wirtualnymi vmd dodano wsparcie dla uruchamiania skompresowanych ramdysków.
  • Wprowadzono ulepszenia w systemie audio. Zapewniono możliwość osobnego przypisania urządzeń dźwiękowych sndio tylko do odtwarzania i tylko do nagrywania. W sndiod zastosowano filtr dolnoprzepustowy o końcowej charakterystyce impulsowej (filtr FIR) ósmego rzędu, co pozwoliło na wyeliminowanie szumów wynikających z nakładania się widm przy ponownym próbkowaniu. Domyślnie wyłączona jest funkcja automatycznego zmniejszania głośności, gdy nowy program zaczyna odtwarzanie (autovolume), a domyślny poziom głośności ustawiono na 127. Zezwolono na miksowanie dźwięku z alternatywnych urządzeń, różniących się poziomem wspieranej funkcjonalności w sndiod.
  • Domyślnie włączono kompilację i instalację debuggera LLDB.
  • W rcctl, rc.subr i rc.d dodano wsparcie dla handlera logger, który umożliwia organizację wyjścia logów z procesów działających w tle, wysyłających dane do stdout/stderr.
  • Dla touchpadów zapewniono możliwość konfigurowania układu przycisków poprzez wsconsctl. W wscons poprawiono obsługę jednoczesnych dotknięć.
  • Dla urządzeń ARM64 wdrożono możliwość korzystania z APM w celu uzyskania danych o zużyciu energii i naładowaniu akumulatora. W celu ograniczenia dostępu procesu apmd do systemu plików zastosowano wywołanie unveil.
  • Rozszerzono wsparcie dla sprzętu. Dodano nowe sterowniki acpige (do obsługi zdarzeń ACPI, takich jak naciśnięcie przycisku zasilania), pchgpio (dla kontrolerów GPIO, które są wyposażone w nowoczesne Intel PCH), ujoy (dla kontrolerów gier), uhidpp (dla urządzeń Logitech HID++). Dodano wsparcie dla rozszerzeń AMD Vi i Intel VTD IOMMU, aby izolować urządzenia PCI i blokować nieprawidłowy dostęp do pamięci. Dodano wsparcie dla komputerów Lynloong LM9002/9003 i LM9013. W sterownikach pcamux i imxiic dodano wsparcie dla ACPI.
  • Poprawiono wsparcie dla kart sieciowych: mvpp (SFP+ i 10G dla Marvel Armada Ethernet), mvneta (1000base-x i 2500base-x), mvsw (swtich'e Marvel SOHO), rge (wsparcie dla Wake on LAN), Netgear ProSecure UTM25. Dla sterowników bezprzewodowych iwm, iwn i athn dodano wsparcie RA (802.11n Tx Rate Adaptation). W bezprzewodowym stosie wprowadzono automatyczny wybór trybów 11a/b/g/n/ac przy użyciu interfejsu sieciowego jako punktu dostępu.
  • W stosie sieciowym zaimplementowano sterownik veb (Virtual Ethernet Bridge). Wprowadzono obsługę trybu monitorowania, w którym przychodzące na interfejs sieciowy pakiety nie są przekazywane dalej do stosu sieciowego, ale mogą być poddawane analizie, takim jak BPF. Dodano nowy typ interfejsów sieciowych — etherbridge. Udostępniono możliwość (komenda route sourceaddr) zmiany adresu źródłowego. adresy IP dla programów, z pominięciem standardowego algorytmu wyboru adresu. Zapewniono automatyczne uruchamianie interfejsów sieciowych podczas włączania trybu automatycznej konfiguracji (AUTOCONF4 i AUTOCONF6).
  • W instalatorze zaimplementowano dostarczanie skompresowanego obrazu ram-dysku (bsd.rd) na wszystkich platformach obsługujących takie uruchamianie.
  • Zrealizowano wysyłanie przez syslog ostrzeżenia o użyciu w printf formatującej podmiany „%n”.
  • W demonie routingu OpenBGPD dodano wsparcie dla protokołu RTR (Resource Public Key Infrastructure (RPKI) to Router Protocol). Dodano komendę „bgpctl show rtr” do wyświetlania podstawowych informacji o sesjach RTR.
  • Przeprowadzono restrukturyzację kodu ospfd i ospf6d w celu zjednoczenia ich z innymi demonami routingu oraz uproszczenia utrzymania. Ustanowiono wsparcie dla interfejsów sieciowych w trybie punkt-punkt.
  • W wbudowanym serwerze HTTP httpd zrealizowano nowe opcje „location (found|notfound)” do sprawdzania istnienia zasobów.
  • W narzędziu rpki-client dodano wsparcie dla protokołu RRDP (The RPKI Repository Delta Protocol, RFC 8182). Umożliwiono wskazanie więcej niż jednego URI w pliku TAL.
  • W narzędziu dig zaimplementowano wsparcie dla RFC 8914 (Extended DNS Error) oraz RFC 8976 (ZONEMD).
  • W dhclient dodano możliwość wskazywania opcji w plikach hostname.if, używając wierszy „dhcp”.
  • W demonie snmpd zaimplementowano pełne wsparcie dla konwersji Trapv1 na Trapv2 (RFC 3584). W snmpd.conf dodano nowe słowa kluczowe read, write i notify. W narzędziu snmp dodano wsparcie dla enumeracji SMI.
  • W DNS resolverze unwind dodano wsparcie dla DNS64 oraz przyjmowania połączeń przez port TCP.
  • W narzędziu ftp dodano wsparcie dla stałych przekierowań (RFC 7538) oraz możliwość wysłania nagłówka If-Modified-Since przy wysyłaniu zapytań przez HTTP/HTTPS.
  • W OpenSMTPD dodano opcję „-a” do realizacji uwierzytelnienia przed wysłaniem wiadomości. Środki szyfrowania przeniesiono na użycie biblioteki libtls. W nasłuchujących gniazdach dla TLS wprowadzono możliwość konfigurowania wielu certyfikatów, wybieranych w zależności od nazwy. domeny (SNI).
  • W LibreSSL dodano wsparcie dla protokołu DTLSv1.2. Zrealizowano możliwość budowy tylko libtls (‘—enable-libtls-only’) bez libcrypto i libssl.
  • Zaktualizowano pakiet OpenSSH. Szczegółowy przegląd ulepszeń można zobaczyć tutaj: OpenSSH 8.5, OpenSSH 8.6.
  • Liczba portów dla architektury AMD64 wyniosła 11310, dla aarch64 — 10943, dla i386 — 10468. Wśród wersji aplikacji w portach: 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 oraz 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.

    Zaktualizowano komponenty od zewnętrznych deweloperów wchodzące w skład OpenBSD 6.9:

    • Stos graficzny Xenocara oparty na X.Org 7.7 z xserver 1.20.10 + poprawki, 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 (+ poprawki)
    • GCC 4.2.1 (+ poprawki) i 3.3.6 (+ poprawki)
    • Perl 5.32.1 (+ łatki)
    • NSD 4.3.6
    • Unbound 1.13.1
    • Ncurses 5.7
    • Binutils 2.17 (+ poprawki)
    • Gdb 6.3 (+ poprawka)
    • Awk 18.12.2020
    • Expat 2.2.10

Nowa piosenka „Vetera Novis” wydana z okazji premiery OpenBSD 6.9.

Źródło: opennet.ru

Kup niezawodny hosting stron z ochroną DDoS, serwery VPS VDS 🔥 Kup niezawodny hosting stron z ochroną DDoS, serwery VPS VDS - ProHoster