Raporti mbi zhvillimin e FreeBSD për tremujorin e dytë të vitit 2019

Publikuar raporti mbi zhvillimin e projektit FreeBSD nga prilli deri në qershor 2019. Ndër ndryshimet e veçanta mund të përmenden:

  • Çështje tĂ« pĂ«rgjithshme dhe sistemore
    • Ekipa kryesore mori vendim pĂ«r tĂ« krijuar njĂ« grup pune pĂ«r tĂ« studiuar mundĂ«sinĂ« e transferimit tĂ« teksteve burimore nga sistemin qendror tĂ« menaxhimit tĂ« tĂ« dhĂ«nave Subversion nĂ« njĂ« sistem tĂ« decentralizuar Git.
    • U krye testimi fuzzing i bĂ«rthamĂ«s FreeBSD duke pĂ«rdorur sistemin syzkaller dhe u rregulluan njĂ« sĂ«mundje e zbuluar gjatĂ« kĂ«tij procesi. U shtua njĂ« ndĂ«rfaqe pĂ«r testimin fuzzing tĂ« bibliotekave pĂ«r pĂ«rputhshmĂ«ri me ambientin 32-bit nĂ« sisteme me bĂ«rthamĂ« 64-bit. U realizua mundĂ«sia e pĂ«rdorimit tĂ« syzkaller nĂ« makina virtuale tĂ« bazuara nĂ« bhyve. NĂ« fazĂ«n e ardhshme planifikohet tĂ« zgjerohet mbulimi i testimit tĂ« thirrjeve sistemore, tĂ« pĂ«rdorim LLVM sanitizer pĂ«r kontrollin e bĂ«rthamĂ«s, tĂ« pĂ«rdorim netdump pĂ«r ruajtjen e dump-eve tĂ« bĂ«rthamĂ«s gjatĂ« dĂ«shtimeve gjatĂ« testimit fuzzing, dhe tĂ« tjera.
    • Ka filluar puna pĂ«r pĂ«rditĂ«simin e implementimit tĂ« zlib nĂ« nivelin e bĂ«rthamĂ«s. PĂ«r qasje tĂ« bĂ«rthamĂ«s nĂ« kodin zlib, katalogu contrib/zlib Ă«shtĂ« riemĂ«ruar nĂ« sys/contrib/zlib, gjithashtu Ă«shtĂ« riemĂ«ruar skedari i titullit crc.h pĂ«r tĂ« shmangur konfliktin me zlib/crc.h. ËshtĂ« bĂ«rĂ« pastrimi i kodit tĂ« vjetruar, i varur nga zlib dhe inflate. MĂ« tej, planifikohet tĂ« mundĂ«sohet ndĂ«rtimi i bĂ«rthamĂ«s nĂ« tĂ« njĂ«jtĂ«n kohĂ« me zlib tĂ« vjetĂ«r dhe tĂ« ri pĂ«r kalimin gradual nĂ« versionin e ri tĂ« funksioneve qĂ« pĂ«rdorin kompresim;
    • Infrastruktura e emulimit tĂ« mjedisit Linux (Linuxulator) Ă«shtĂ« pĂ«rditĂ«suar. ËshtĂ« zgjeruar mbĂ«shtetje pĂ«r mjetet debug tĂ« Linux, siç Ă«shtĂ« utilitarja strace. NĂ« porte Ă«shtĂ« shtuar paketa linux-c7-strace, e cila mund tĂ« pĂ«rdoret pĂ«r gjurmimin e skedarĂ«ve ekzekutues tĂ« Linux pĂ«rveç mjeteve standarde truss dhe ktrace, tĂ« cilat akoma nuk mund tĂ« dekodojnĂ« disa flamuj dhe struktura specifike pĂ«r Linux. PĂ«r mĂ« tepĂ«r, Ă«shtĂ« shtuar paketa linux-ltp me skedarĂ« ekzekutues tĂ« Linux Test Project dhe janĂ« zgjidhur problemet me pĂ«rputhshmĂ«rinĂ« me skedarĂ«t ekzekutues, tĂ« kompaktuar me versionet e reja tĂ« glibc;
    • Implementimi i operacioneve tĂ« pastrimit tĂ« vonuar tĂ« lidhjeve me faqet fizike tĂ« memories (delayed invalidation) nĂ« mekanizmin pmap Ă«shtĂ« pĂ«rkthyer pĂ«r tĂ« pĂ«rdorur njĂ« algoritĂ«m tĂ« pĂ«rpunimit tĂ« radhĂ«s pa bllokime, qĂ« ka lejuar zgjidhjen e problemeve tĂ« shkallĂ«zueshmĂ«risĂ« gjatĂ« ekzekutimit tĂ« njĂ« numri tĂ« madh operacioneve unmap paralel;
    • Mekanizmi i bllokimit tĂ« vnode Ă«shtĂ« modifikuar gjatĂ« ekzekutimit tĂ« thirrjeve sistemike tĂ« familjes execve(), qĂ« ka sjellĂ« pĂ«rmirĂ«sime nĂ« efikasitetin e punĂ«s gjatĂ« ekzekutimit njĂ«kohĂ«sisht tĂ« execve() pĂ«r tĂ« njĂ«jtin skedar (pĂ«r shembull, gjatĂ« operacioneve tĂ« ndĂ«rtimit me paralelizimin e nisjes sĂ« kompilatorit);
  • Siguria
    • NĂ« hipervizorin bhyve Ă«shtĂ« vazhduar pĂ«rmirĂ«simi i mbĂ«shtetjes pĂ«r Live-migrimin e mjediseve tĂ« mysafirĂ«ve nga njĂ« host nĂ« tjetĂ«r dhe funksionalitetit Save/Restore, qĂ« lejon ngrirjen e sistemit mysafir me ruajtjen e gjendjes nĂ« njĂ« skedar dhe mĂ« pas rifillimin e ekzekutimit.
    • PĂ«rmes pĂ«rdorimit tĂ« bibliotekĂ«s libvdsk, nĂ« bhyve Ă«shtĂ« shtuar mbĂ«shtetje pĂ«r imazhet e diskut nĂ« formatin QCOW2. PĂ«r funksionimin e saj kĂ«rkohet instalimi
      i modifikuar veçmas versioni bhyve, e cila është transformuar për të përdorur menaxhues të operacioneve të skedarëve të bazuar në libvdsk. Gjatë periudhës së raportimit, janë kryer gjithashtu punë në libvdsk për të thjeshtuar integrimin e mbështetjes për formate të reja, për të përmirësuar performancën e leximit dhe të shkruarit, dhe për të shtuar mbështetje për Copy-On-Write. Nga detyrat e mbetura, u theksua integrimi i libvdsk në përbërjen kryesore të bhyve;
    • NĂ« porta Ă«shtĂ« shtuar njĂ« sistem mbledhjeje informacioni pĂ«r trafikun.
      Maltrail, i cili lejon krijimin e kurthesh për kërkesat e dëmshme në rrjet (kontrollohen IP-të dhe domene nga lista e zezë) dhe dërgon informacionin për aktivitetin e identifikuar në një server të centralizuar për bllokim ose analizë të përpjekjeve të sulmeve;
    • NĂ« porta Ă«shtĂ« shtuar njĂ« platformĂ« pĂ«r identifikimin e sulmeve, analizimin e logĂ«ve dhe monitorimin e integritetit tĂ« skedarĂ«ve. Wazuh (fork i Ossec me mbĂ«shtetje pĂ«r integrimin me ELK-Stack);
  • Sistemi i rrjetit
    • Drejtuesi ena Ă«shtĂ« pĂ«rmirĂ«suar me mbĂ«shtetje pĂ«r adaptatorĂ«t e rrjetit tĂ« gjeneratĂ«s sĂ« dytĂ« ENAv2 (Elastic Network Adapter), tĂ« pĂ«rdorur nĂ« infrastrukturĂ«n Elastic Compute Cloud (EC2) pĂ«r organizimin e lidhjeve midis nyjeve EC2 me shpejtĂ«si deri nĂ« 25 Gb/s. NĂ« drejtuesin ena Ă«shtĂ« shtuar mbĂ«shtetje pĂ«r NETMAP.
    • NĂ« FreeBSD HEAD Ă«shtĂ« pĂ«rfshirĂ« njĂ« grackĂ« e re MMC/SD, e bazuar nĂ« kornizĂ«n CAM, e cila lejon lidhjen e pajisjeve me ndĂ«rfaqe SDIO (Secure Digital I/O). PĂ«r shembull, SDIO pĂ«rdoret nĂ« modulat WiFi dhe Bluetooth pĂ«r shumĂ« bord, si Raspberry Pi 3. Gracka e re gjithashtu lejon pĂ«rdorimin e ndĂ«rfaqes CAM pĂ«r tĂ« dĂ«rguar komanda SD nga aplikacionet nĂ« hapĂ«sirĂ«n e pĂ«rdoruesit, duke mundĂ«suar krijimin e pajisjeve qĂ« funksionojnĂ« nĂ« nivelin e pĂ«rdoruesit. Ka filluar puna pĂ«r krijimin e drejtpĂ«rdrejtuesve pĂ«r çipat e palosshĂ«m Broadcom, qĂ« funksionojnĂ« nĂ« modin FullMAC (nĂ« anĂ«n e çipit ekzekutohet njĂ« sistem operativ i ngjashĂ«m me implementimin e grackĂ«s wireless 802.11);
    • Po punohet pĂ«r implementimin e NFSv4.2 (RFC-7862) pĂ«r FreeBSD. NĂ« versionin e ri NFS Ă«shtĂ« shtuar mbĂ«shtetje pĂ«r funksionet posix_fadvise, posix_fallocate, modalitetet SEEKHOLE/SEEKDATA nĂ« lseek, operacionin e kopjimit lokal tĂ« pjesĂ«ve tĂ« skedarit nĂ« server (pa e transferuar te klienti).

      Aktualisht, për FreeBSD është implementuar mbështetje bazike për operacionet LayoutError, IOAdvise, Allocate dhe Copy. Duhet të implementohet operacioni Seek, i nevojshëm për përdorimin e lseek(SEEKHOLE/SEEKDATA) me NFS. Mbështetje për NFSv4.2 planifikohet të përfshihet në FreeBSD 13;

  • Sistem storage dhe sisteme skedarĂ«sh
    • Projekti pĂ«r ripĂ«rtĂ«ritjen e drejtuesit tĂ« nĂ«n-sistemit FUSE (File system in USErspace) po pĂ«rfundon, i cili mundĂ«son krijimin e implementimeve tĂ« sistemeve tĂ« skedarĂ«ve nĂ« hapĂ«sirĂ«n e pĂ«rdoruesit. Drejtuesi fillestar ishte i tejkaluar dhe kishte shumĂ« defekte. NĂ« kuadĂ«r tĂ« projektit pĂ«r modernizimin e drejtuesit, Ă«shtĂ« implementuar mbĂ«shtetje pĂ«r protokollin FUSE 7.23 (mĂ« parĂ« Ă«shtĂ« mbĂ«shtetur versione 7.8, e lĂ«shuar 11 vjet mĂ« parĂ«), Ă«shtĂ« shtuar kodi pĂ«r verifikimin e tĂ« drejtave tĂ« qasjes nĂ« anĂ«n e bĂ«rthamĂ«s ("-o default_permissions"), janĂ« shtuar thirrjet VOP_MKNOD, VOP_BMAP dhe VOP_ADVLOCK, Ă«shtĂ« siguruar mundĂ«sia e ndĂ«rprerjes sĂ« operacioneve FUSE, Ă«shtĂ« shtetur mbĂ«shtetje pĂ«r kanalet e paemĂ«ruara dhe unix-sockets nĂ« fusefs, Ă«shtĂ« krijuar mundĂ«sia e pĂ«rdorimit tĂ« kqueue pĂ«r \/dev\/fuse, Ă«shtĂ« lejuar pĂ«rditĂ«simi i parametrave tĂ« montimit pĂ«rmes "mount -u", Ă«shtĂ« shtuar mbĂ«shtetje pĂ«r eksportimin e fusefs pĂ«rmes NFS, Ă«shtĂ« realizuar llogaritja e RLIMIT_FSIZE, janĂ« shtuar flamujt FOPEN_KEEP_CACHE dhe FUSE_ASYNC_READ, janĂ« bĂ«rĂ« optimizime tĂ« rĂ«ndĂ«sishme tĂ« performancĂ«s dhe Ă«shtĂ« pĂ«rmirĂ«suar organizimi i caching-ut;
    • NĂ« kodin e shtypjes sĂ« faqeve tĂ« memories nĂ« skedarin swap Ă«shtĂ« shtuar mbĂ«shtetje pĂ«r operacionin BIO_DELETE, i cili lejon pĂ«rdorimin e urdhrit TRIM gjatĂ« fshirjes sĂ« blloqeve nga SSD pĂ«r tĂ« zgjatur jetĂ«n e tyre.
  • MbĂ«shtetje pĂ«r pajisjet
    • Ka vazhduar puna pĂ«r realizimin e mbĂ«shtetjes pĂ«r ARM64 SoC Broadcom BCM5871X me procesorĂ«t ARMv8 Cortex-A57, tĂ« destinuar pĂ«r pĂ«rdorim nĂ« routera, porta dhe ruajtje nĂ« rrjet. GjatĂ« periudhĂ«s raportuese, Ă«shtĂ« pĂ«rmirĂ«suar mbĂ«shtetja pĂ«r autobuzat e brendshĂ«m dhe tĂ« jashtĂ«m iProc PCIe, Ă«shtĂ« shtuar mbĂ«shtetje pĂ«r BNXT Ethernet, dhe po punohet pĂ«r aktivizimin e motorit tĂ« kriptografisĂ« sĂ« integruar pĂ«r pĂ«rshpejtimin e IPsec. Integrimi i kodit nĂ« degĂ«n HEAD pritet nĂ« gjysmĂ«n e dytĂ« tĂ« vitit.
    • Ka filluar puna pĂ«r mbĂ«shtetje tĂ« SoC NXP LS1046A 64-bit, i bazuar nĂ« procesorin ARMv8 Cortex-A72 me motor tĂ« integruar pĂ«r pĂ«rshpejtimin e pĂ«rpunimit tĂ« paketave rrjet, 10 Gb Ethernet, PCIe 3.0, SATA 3.0 dhe USB 3.0. ËshtĂ« realizuar mbĂ«shtetje pĂ«r platformĂ«n bazĂ« (multi-user SMP) dhe SATA 3.0. NĂ« zhvillim Ă«shtĂ« mbĂ«shtetje pĂ«r USB 3.0, SD/MMC dhe I2C. NĂ« planet Ă«shtĂ« mbĂ«shtetje pĂ«r Ethernet, GPIO dhe QSPI. Pritet pĂ«rfundimi i punĂ«s dhe pĂ«rfshirja nĂ« degĂ«n HEAD nĂ« tremujorin e katĂ«rt tĂ« vitit 2019.
    • Drejtuesit mlx5en dhe mlx5ib pĂ«r kartelat Ethernet dhe InfiniBand tĂ« Mellanox ConnectX-4 [Lx], ConnectX-5 [Ex] dhe ConnectX-6 [Dx] janĂ« azhurnuar. ËshtĂ« shtuar mbĂ«shtetje pĂ«r kartelat Mellanox Socket Direct (ConnectX-6), qĂ« mundĂ«sojnĂ« njĂ« latencĂ« deri nĂ« 200Gb/s nĂ« PCIe Gen 3.0. PĂ«r çipat shumĂ«-nĂ«nshtesĂ« "BlueField", Ă«shtĂ« shtuar mbĂ«shtetje pĂ«r drejtuesin RShim. NĂ« porte Ă«shtĂ« shtuar paketa mstflint me njĂ« grup veglesh diagnostikuese pĂ«r kartelat Mellanox;
  • Aplikacionet dhe sistemi i porteve
    • KomponentĂ«t e grafikĂ«s janĂ« azhurnuar. Drejtuesi drm.ko (Menaxheri i Renderimit tĂ« DrejtĂ«) Ă«shtĂ« portuar nga bĂ«rthama Linux 5.0. Ky drejtues konsiderohet eksperimental dhe Ă«shtĂ« shtuar nĂ« pemĂ«n e porteve si graphics/drm-devel-kmod. Duke qenĂ« se drejtuesi pĂ«rdor kornizĂ«n e pĂ«rmirĂ«suar tĂ« Linux KPI pĂ«r pajtueshmĂ«ri me API-nĂ« DRM tĂ« bĂ«rthamĂ«s Linux, kĂ«rkohet FreeBSD CURRENT pĂ«r funksionimin. Gjithashtu Ă«shtĂ« portuar drejtuesi drm vboxvideo.ko pĂ«r GPU-nĂ« virtuale VirtualBox. Paketa Mesa Ă«shtĂ« azhurnuar nĂ« versionin 18.3.2 dhe Ă«shtĂ« kaluar nĂ« pĂ«rdorimin e LLVM nga porta devel/llvm80 nĂ« vend tĂ« devel/llvm60.
    • Pema e porteve FreeBSD ka kaluar kufirin prej 37000 porte, numri i PR-ve qĂ« nuk janĂ« mbyllur Ă«shtĂ« 2146. GjatĂ« raportit, janĂ« bĂ«rĂ« 7837 ndryshime nga 172 zhvillues. TĂ« tre anĂ«tarĂ«t e rinj morĂ«n tĂ« drejtat e komitimit. NdĂ«r azhurnimet e rĂ«ndĂ«sishme tĂ« Versioneve nĂ« porte, shĂ«nohen: MySQL 5.7, Python 3.6, Ruby 2.5, Samba 4.8, Julia 1.0, Firefox 68.0, Chromium 75.0.3770.100. TĂ« gjitha portet nĂ« gjuhĂ«n Go janĂ« tĂ« konvertuara pĂ«r tĂ« pĂ«rdorur flamurin "USES=go". Flamuri "USES=cabal" Ă«shtĂ« shtuar pĂ«r menaxherin e paketave Cabal, i cili pĂ«rdoret pĂ«r kodin nĂ« Haskell. MĂ«nyra e rreptĂ« e mbrojtjes sĂ« grumbullit Ă«shtĂ« aktivizuar. NĂ« parazgjedhje, versioni Python 3.6 propozoni nĂ« vend tĂ« 2.7.
    • ËshtĂ« pĂ«rgatitur lĂ«shimi i utility-t nsysctl 1.0, qĂ« ofron njĂ« zĂ«vendĂ«sim /sbin/sysctl, duke pĂ«rdorur libxo pĂ«r daljen dhe duke ofruar njĂ« set tĂ« zgjeruar mundĂ«sish. Nsysctl mund tĂ« pĂ«rdoret pĂ«r tĂ« monitoruar vizualisht gjendjen e vlerave sysctl dhe pĂ«r tĂ« paraqitur informacionin mbi objektet nĂ« njĂ« format tĂ« strukturuar. Ka mundĂ«si pĂ«r dalje nĂ« formatet XML, JSON dhe HTML;

Burimi: opennet.ru

Bleni hostim tĂ« besueshĂ«m pĂ«r faqe me mbrojtje nga DDoS, serverĂ« VPS VDS đŸ”„ Bleni hostim tĂ« besueshĂ«m pĂ«r faqe me mbrojtje nga DDoS, serverĂ« VPS VDS | ProHoster