Pas 11 muajve zhvillimi, është publikuar edicioni FreeBSD 13.2. Imazhet instalues janë formuar për arkitekturat amd64, i386, powerpc, powerpc64, powerpc64le, powerpcspe, armv6, armv7, aarch64 dhe riscv64. Për më tepër, janë përgatitur ndërtimet për sistemet e virtualizimit (QCOW2, VHD, VMDK, raw) dhe mjediset cloud si Amazon EC2, Google Compute Engine dhe Vagrant.
Ndryshimet kryesore:
- ĂshtĂ« realizuar mundĂ«sia pĂ«r tĂ« krijuar snapshota tĂ« sistemeve tĂ« skedarĂ«ve UFS dhe FFS, tĂ« cilat pĂ«rfshijnĂ« regjistrimin (soft updates). Gjithashtu Ă«shtĂ« shtuar pĂ«rkrahja pĂ«r ruajtjen e sfondit tĂ« dump-Ă«ve (nĂ« funksion dump me flagun "-L") me pĂ«rmbajtjen e sistemeve tĂ« skedarĂ«ve UFS kur regjistrimi Ă«shtĂ« aktivizuar. Nga mundĂ«sitĂ« qĂ« nuk janĂ« tĂ« disponueshme kur pĂ«rdoret regjistrimi, mbetet ekzekutimi nĂ« sfond i kontrollit tĂ« integritetit pĂ«rmes utilitarit fsck.
- Në bërthamë është pranuar drejtuesi në nivelin e bërthamës wg me implementimin e ndërfaqes rrjetësore për VPN WireGuard. Për të përdorur algoritmet kriptografikë të nevojshme për drejtuesin, është kryer zgjerimi i API-së së kriptosistemit të bërthamës FreeBSD, në të cilin është shtuar një mbështetje që lejon përdorimin përmes API-së standarde të kriptosë algoritme që nuk mbështeten në FreeBSD nga biblioteka libsodium. Gjatë procesit të zhvillimit është kryer gjithashtu optimizimi për balancimin e barabartë të lidhjes së detyrave të enkriptimit dhe dekriptimit të paketeve me bërthamat e CPU-së, gjë që ka lejuar reduktimin e kostove operative gjatë përpunimit të paketeve WireGuard.
Tentativa e kaluar për përfshirjen e WireGuard në FreeBSD u bë në vitin 2020, por përfundoi me një skandal, gjatë të cilit kodi i shtuar u hoq për shkak të cilësisë së ulët, menaxhimit të papërgjegjshëm të bufereve, përdorimit të mbështetjeve në vend të kontrolleve, implementimit të papërfunduar të protokollit dhe shkeljes së licencës GPL. Implementimi i ri është përgatitur në bashkëpunim me ekipet kryesore të zhvilluesve të FreeBSD dhe WireGuard me pjesëmarrjen e Jason Donenfeld, autorit të VPN WireGuard, dhe John Baldwin, zhvillues të njohur të FreeBSD. Para miratimit të kodit të ri, me mbështetje nga organizata FreeBSD Foundation, është kryer një rishikim i plotë i ndryshimeve.
- Mbështetje për protokollin komunikues Netlink (RFC 3549) është realizuar, i përdorur në Linux për të organizuar ndërveprimin e bërthamës me proceset në hapësirën e përdoruesit. Projekti kufizohet në mbështetje të familjes së operacioneve NETLINK_ROUTE për menaxhimin e gjendjes së nën-sistemit të rrjetit në bërthamë, duke lejuar përdorimin e mjetit Linux ip nga paketa iproute2 për menaxhimin e ndërfaqeve rrjetësore, vendosjen IP-adresat, konfigurimin e routing-ut dhe manipulimin e objekteve nexthop, të cilat ruajnë të dhënat mbi gjendjen e përdorur për të dërguar paketën në destinacionin e dëshiruar.
- Për të gjitha skedarët ekzekutivë të sistemit bazë në platforma 64-bit është aktivizuar automatikisht randomizimi i hapësirës së adresës (ASLR, Address Space Layout Randomization). Për të çaktivizuar ASLR-në në mënyrë selektive, mund të përdoren komandat «proccontrol -m aslr -s disable» ose «elfctl -e +noaslr».
- NĂ« ipfw, pĂ«rdoren tabelat bazĂ« (Radix table) pĂ«r tĂ« gjetur adresat MAC, gjĂ« qĂ« lejon krijimin e tabelave me adresat MAC dhe pĂ«rdorimin e tyre pĂ«r filtrimin e trafikut. PĂ«r shembull: ipfw table 1 create type mac ipfw table 1 add 11:22:33:44:55:66/48 ipfw add skipto tablearg src-mac âtable(1)â ipfw add deny src-mac âtable(1, 100)â ipfw add deny lookup dst-mac 1
- Modulet e bërthamës dpdk_lpm4 dhe dpdk_lpm6 me implementimin e algoritmit të kërkimit të rrugëve DIR-24-8 për IPv4/IPv6 janë shtuar dhe janë të disponueshme për t'u ngarkuar përmes loader.conf, i cili optimizon funksionalitetin e routing-ut për hostet me tabela shumë të mëdha rrugësh (në testime vërehet një rritje e shpejtësisë në nivelin 25%). Për konfigurimin e moduleve mund të përdoret utilitarja standarde route (është shtuar opsioni FIB_ALGO).
- Implementimi i sistemit dosjeve ZFS Ă«shtĂ« pĂ«rmirĂ«suar deri nĂ« lĂ«shimin OpenZFS 2.1.9. NĂ« skriptin e nisjes zfskeys, Ă«shtĂ« siguruar ngarkimi automatik i çelĂ«save tĂ« ruajtur nĂ« sistemin ZFS. ĂshtĂ« shtuar njĂ« RC-skript i ri zpoolreguid pĂ«r caktimin e identifikuesit GUID pĂ«r njĂ« ose disa zpool (pĂ«r shembull, e dobishme pĂ«r mjediset e virtualizimit me tĂ« dhĂ«na tĂ« pĂ«rbashkĂ«ta).
- Në hipervizorin Bhyve dhe modulin vmm, është realizuar mbështetje për lidhjen e më shumë se 15 CPU-ve virtuale me sistemin e mysafirëve (rregullohet përmes sysctl hw.vmm.maxcpu). Në utilitarin bhyve është realizuar emulimi i pajisjes virtio-input, me anë të së cilës mund të fusin ngjarje të input-it nga tastiera dhe maus në sistemin e mysafiut.
- Në KTLS, implementimi i protokollit TLS, i cili punon në nivelin e bërthamës FreeBSD, është shtuar mbështetjes për akcelerimin harduerik TLS 1.3, duke transferuar disa operacione që lidhen me përpunimin e paketave të kriptuara në kartën rrjetë. Më parë, një mundësi e tillë ishte e disponueshme për TLS 1.1 dhe TLS 1.2.
- Në skriptin fillestar growfs, kur zgjeron sistemin e skedarëve rrënjor, është siguruar shtimi i një seksioni swap, nëse një seksion i tillë mungon fillimisht (p.sh., e dobishme gjatë instalimit në një kartë SD të një imazhi të sistemit të gatshëm). Për menaxhimin e madhësisë së swap-it është shtuar një parametër i ri growfs_swap_size në rc.conf.
- Në skriptin fillestar hostid, është siguruar gjenerimi i një UUID të rastësishëm në rastet kur skeda /etc/hostid mungon dhe nuk është e mundur të merret UUID nga hardueri. Gjithashtu, është shtuar skeda /etc/machine-id me një përfaqësim kompakt të identifikuesit të hostit (pa ndarës).
- Në rc.conf janë shtuar variablat defaultrouter_fibN dhe ipv6_defaultrouter_fibN, përmes të cilave mund të shtoni rrugë të paracaktuara në tabelat FIB, të ndryshme nga të parat.
- Në bibliotekën libmd është shtuar mbështetje për hash-at SHA-512/224.
- Në bibliotekën pthread është realizuar mbështetje për semantikën e funksioneve të përdorura në Linux.
- Në kdump është shtuar mbështetje për dekodimin e thirrjeve të sistemit në Linux. Në kdump dhe sysdecode është shtuar mbështetje për gjurmimin e thirrjeve të sistemit në stilin e Linux.
- Në utilitarin killall është shtuar mundësia e dërgimit të sinjalit proceseve të lidhura me një terminal të caktuar (p.sh., "killall -t pts/1").
- ĂshtĂ« shtuar utilitari nproc pĂ«r tĂ« treguar numrin e njĂ«sive llogarithmĂ«se tĂ« disponueshme pĂ«r procesin aktual.
- Në utilitarin pciconf është shtuar mbështetje për dekodimin e parametrave ACS (Shërbimet e Kontrollit të Qasjes).
- Në bërthamë është shtuar konfiguroja SPLIT_KERNEL_DEBUG, e cila lejon ruajtjen e informacionit përdebugues për bërthamën dhe modulet e bërthamës në skedarë të veçantë.
- Në ABI linux është gati përfundimi i mbështetjes për mekanizmin vDSO (objekte dinamike të ndara virtuale), që ofron një grup të kufizuar të thirrjeve të sistemit të aksesueshme në hapësirën e përdoruesit pa ndërrim konteksti. ABI linux në sistemet ARM64 është çuar në përputhje me implementimin për arkitekturën AMD64.
- PĂ«rmirĂ«suar mbĂ«shtetje e harduerit. Shtuar mbĂ«shtetje pĂ«r monitorimin e performancĂ«s (hwpmc) pĂ«r CPU Intel Alder Lake. PĂ«rditĂ«suar drajveri iwlwifi pĂ«r kartat pa tel Intel me mbĂ«shtetje pĂ«r çipet e rinj dhe standardin 802.11ac. Shtuar drajveri rtw88 pĂ«r kartat pa tel Realtek me ndĂ«rfaqen PCI. Zgjeruar moĆŸnostet e shtresĂ«s linuxkpi pĂ«r pĂ«rdorim nĂ« FreeBSD tĂ« drajverĂ«ve Linux.
- Biblioteka OpenSSL është përditësuar në versionin 1.1.1t, LLVM/Clang në versionin 14.0.5, dhe shërbimi dhe klienti SSH janë përditësuar në OpenSSH 9.2p1 (në versionin e kaluar ishte përdorur OpenSSH 8.8p1). Gjithashtu, janë përditësuar versionet e bc 6.2.4, expat 2.5.0, file 5.43, less 608, libarchive 3.6.2, sendmail 8.17.1, sqlite 3.40.1, unbound 1.17.1, zlib 1.2.13.
Përveç kësaj, është njoftuar kalimi në statusin e vjetruar dhe heqja e, duke filluar nga dega FreeBSD 14.0, fjalëkalimeve të përkohshme OPIE, drajverëve ce dhe cp, drajverëve për karta me ndërfaqen ISA, utilitaret mergemaster dhe minigzip, komponenteve ATM në netgraph (NgATM), procesit të pasagjerëve telnetd dhe klasës VINUM në geom.
Burimi: opennet.ru
