wydanie wolnego, wieloplatformowego systemu operacyjnego podobnego do UNIX . Projekt OpenBSD został założony przez Theo de Raadta w 1995 roku po z deweloperami NetBSD, w wyniku którego Theo został pozbawiony dostępu do repozytorium CVS NetBSD. Po tym Theo de Raadt wraz z grupą zwolenników stworzył nowy otwarty system operacyjny na bazie drzewka kodu źródłowego NetBSD, którego głównymi celami rozwoju stały się przenośność ( 13 platform sprzętowych), standaryzacja, prawidłowe działanie, aktywne zabezpieczenia i zintegrowane środki kryptograficzne. Rozmiar pełnego instalatora podstawowego systemu OpenBSD 6.6 wynosi 460 MB.
Oprócz samego systemu operacyjnego, projekt OpenBSD jest znany ze swoich komponentów, które zyskały popularność w innych systemach i zdobyły reputację jednych z najbezpieczniejszych i najwyższej jakości rozwiązań. Wśród nich znajdują się: ( OpenSSL), , filtr pakietów , demony routingu , serwer NTP , serwer pocztowy , multiplexer terminali tekstowych (analog GNU screen) , demon z realizacją protokołu IDENT, alternatywa BSDL dla pakietu GNU groff — , protokół do organizacji systemów odpornych na awarie CARP (Common Address Redundancy Protocol), lekki , narzędzie synchronizacji plików .
Podstawowe :
- W skład wchodzi narzędzie , do automatycznej aktualizacji systemu do nowej wersji. Sysupgrade pobiera niezbędne pliki do aktualizacji, sprawdza je przy użyciu , kopiuje ramdisk bsd.rd do bsd.upgrade i inicjuje restart systemu. Bootloader, wykrywając obecność bsd.upgrade, rozpoczyna jego automatyczne ładowanie i automatyczne aktualizowanie systemu. Dla poprzedniej wersji OpenBSD 6.5 przygotowano syspatch, który dodaje sysupgrade i umożliwia aktualizację systemu do OpenBSD 6.6 na architekturach amd64, arm64 i i386 poprzez wykonanie „syspatch && sysupgrade”;
- Dla procesorów Cavium OCTEON (mips64) jako główny kompilator podstawowego systemu użyto Clang. Dla architektury powerpc dodano opcjonalne wsparcie kompilacji z użyciem Clang. Dla architektur armv7 i i386 kompilator GCC jest domyślnie wyłączony (został tylko Clang);
- W skład wchodzi sterownik dla GPU AMD. Zaktualizowano sterownik (Direct Rendering Manager). Dodano możliwość dostępu do urządzenia drm przez nieuprzywilejowanych użytkowników poprzez zmianę właściciela urządzenia przy pierwszym dostępie. Kod sterowników inteldrm i radeondrm zsynchronizowano z jądrem Linux 4.19.78. Dodano wsparcie dla GPU używanych w chipach Intel Broxton/Apollo Lake, Amber Lake, Gemini Lake, Coffee Lake, Whiskey Lake i Comet Lake;
- Wdrożono interfejs zgodny z Linuxem i dodano wsparcie dla ACPI w sterownikach radeon i amdgpu;
- Dodany sterownik dla kontrolerów GPIO używanych w SoC Intel Apollo Lake;
- Ulepszono wsparcie dla kontrolerów SAS3, zwiększono niezawodność wykrywania dysków podczas rozruchu oraz dodano wsparcie 64-bitowego DMA w sterowniku mpii;
- Dla urządzeń PCI wprowadzono wsparcie specyfikacji 1.0;
- Dodano wsparcie dla kryptograficznych koprocesorów stosowanych w CPU/APU AMD Ryzen. Dodano sterownik ksmn dla czujników temperatury stosowanych w 17. generacji procesorów AMD;
- Ulepszono wsparcie dla architektury ARM64. Dodano wsparcie dla systemów opartych na CPU Ampere eMAG. Dodano nowe sterowniki dla SoC Amlogic, Allwinner A64, i.MX8M, Armada 3700. Dodano wsparcie dla CPU Cortex-A65;
- Do wszystkich bezprzewodowych sterowników dodano możliwość przesyłania odebranych pakietów do stosu sieciowego w trybie pakietowym, przetwarzając jednocześnie kilka pakietów w ramach jednego przerwania;
- Zwiększona wydajność pamięci podręcznej systemów plików na komputerach z architekturą AMD64;
- Udoskonalono działanie startx i xinit w nowoczesnych systemach, wykorzystując graficzne sterowniki inteldrm, radeondrm i amdgpu;
- Udoskonalono wywołanie systemowe unveil, które zapewnia izolację dostępu do systemu plików. Liczba aplikacji z podstawowego systemu, dla których wdrożono ochronę przy użyciu unveil, wzrosła do 77;
- Usunięto globalne blokady w wywołaniach systemowych getrlimit, setrlimit, read i write, a także w kodzie dostępu do ograniczeń zasobów i zmiany pozycji w plikach;
- Udoskonalono metodę blokowania podatności Spectre w procesorach Intel. Dodano ochronę przed klasą MDS (Microarchitectural Data Sampling) w procesorach Intel;
- W ntpd pojawił się bezpieczny tryb ustawiania i uzyskiwania wartości zegarów systemowych podczas uruchamiania, nawet w przypadku braku zegara z zasilaniem awaryjnym;
- W multiplexorze terminali tmux dodano możliwość używania wyrażeń regularnych w poleceniach search, match i substitute. Dodano prosty system menu z obsługą myszy lub klawiatury. Aby wyświetlić menu w wierszu stanu, zaproponowano polecenie „display-menu”. Wprowadzono automatyczne przewijanie podczas przesuwania kursora myszy poza górne lub dolne krawędzie ekranu podczas zaznaczania obszarów;
- Zwiększono wydajność bgpd. Przeprojektowano kod dla dopasowania community, znacznie przyspieszono działanie konfiguracji z wieloma community i dużą liczbą peerów. W bgpctl dodano polecenie 'show mrt neighbors';
- W resolverze DNS dodano wsparcie dla list blokujących;
- Dodano narzędzie z realizacją nowego klienta SNMP, który zastąpił snmpctl;
- Zaktualizowano wersję serwera pocztowego OpenSMTPD. Dodano API do pisania zewnętrznych filtrów, które mogą być dystrybuowane osobno przez porty. Dodano także wsparcie dla wbudowanych filtrów, które zapewniają proste funkcje segregacji przychodzących sesji. Dodano opcję dostarczania odfiltrowanej poczty do katalogu Junk w mail.maildir. Zrealizowano wsparcie dla protokołu proxy-v2, umożliwiającego umieszczanie serwera SMTP za proxy. Zrealizowano wsparcie dla certyfikatów ECDSA.
- Zaktualizowano pakiet OpenSSH 8.1, szczegółowy przegląd ulepszeń można zobaczyć ;
- Zaktualizowano pakiet LibreSSL, w którym zakończono portowanie struktury RSA_METHOD z OpenSSL 1.1, umożliwiającej korzystanie z różnych implementacji funkcji do pracy z RSA;
- Liczba portów dla architektury AMD64 wyniosła 10736, dla aarch64 — 10075, dla i386 — 10682. Zaktualizowane komponenty od zewnętrznych deweloperów, wchodzące w skład OpenBSD 6.6:
- Stos graficzny Xenocara oparty na X.Org 7.7 z xserver 1.20.5 + poprawkami, freetype 2.10.1, fontconfig 2.12.4, Mesa 19.0.8, xterm 344, xkeyboard-config 2.20;
- LLVM/Clang 8.0.1 (z łatkami)
- GCC 4.2.1 (z łatkami) oraz 3.3.6 (z łatkami)
- Perl 5.28.2 (z poprawkami)
- NSD 4.2.2
- Unbound 1.9.4
- Ncurses 5.7
- Binutils 2.17 (z łatkami)
- Gdb 6.3 (z łatkami)
- Awk 10 sierpnia 2011
- Expat 2.2.8
Źródło: opennet.ru
