Vydanie uutils 0.9, variantu GNU Coreutils v programovacom jazyku Rust

Bol vykonaný výstup projektu uutils coreutils 0.9.0 (Rust Coreutils), ktorý vyvíja analóg balíka GNU Coreutils napísaný v jazyku Rust. Súčasťou coreutils je viac ako sto utilít, vrátane sort, cat, chmod, chown, chroot, cp, date, dd, echo, hostname, id, ln a ls. Cieľom projektu je vytvorenie multiplatformnej alternatívnej implementácie Coreutils, ktorá bude schopná fungovať na platformách Windows, Redox a Fuchsia.

Rust Coreutils
je predvolene zapojený vo vydaní Ubuntu 25.10 a čiastočne v Ubuntu 26.04. Rust Coreutils sa tiež používa v distribúciách AerynOS (Serpent OS) a Apertis (vychádza od spoločnosti Collabora). Na rozdiel od GNU Coreutils je implementácia na Rust šírená pod permissívnou licenciou MIT, namiesto copyleft licencie GPL. Dodatočne tá istá skupina vývojárov vyvíja analogické balíky utilít na Rust, ako sú util-linux, diffutils, findutils, procps a acl, ako aj programy sed a login.

V novej verzii Rust Coreutils:

  • Úroveň kompatibility s referenčným súborom testov GNU Coreutils dosiahla 90,58 % (predtým 94,74 %). Úspešne bolo vykonaných 625 testov, čo je o 5 menej ako v predchádzajúcej verzii (630). 56 testov bolo neúspešných (predtým 21), jeden test spôsobil chybu a 8 testov bolo preskočených (predtým 14). Zníženie úrovne kompatibility je spôsobené aktualizáciou testovacieho súboru na verziu GNU Coreutils 9.11, ktorá pridala 25 nových testov.
  • Bolo odstránených 44 zraniteľností zistených počas auditu vykonaného spoločnosťou Zellic. Väčšina zraniteľností je spôsobená rozporom v správaní oproti GNU coreutils alebo stavom pretekania, ktorý umožňuje zmenu údajov v okamihu po overení správnosti informácií, ale pred vykonaním operácie s nimi, napríklad nahradením súboru symbolickým odkazom v okamihu medzi dokončením overovania a začiatkom vykonania operácie. V kontexte použitia utilít cp, chmod a mv v systémových skriptoch, ktoré sú spúšťané s právami root, takéto zraniteľnosti umožňujú kopírovať alebo prepisovať ľubovoľné súbory. Na ochranu pred zraniteľnosťami spôsobenými stavom pretekania bol v projekte zapojený modul uucore::safe_copy. Informácie o zraniteľnostiach boli zverejnené v samostatnej správe.
  • Pokračoval preklad utilít na crate-balík rustix namiesto crate-balíka nix. Na rustix boli preložené utility id, tr, timeout, sort, wc, tail, cp, who a factor.
    Prebehla čistka kódu od unsafe operácií v rôznych utilitách.
  • V nástrojoch cat, wc, head, tail, yes, cp, tee a unexpand sú použité obsluhy vstupu/výstupu založené na systémových volaniach splice(), tee() a pipe(), čo umožnilo zrýchliť prácu vylúčením nadbytočného kopírovania údajov medzi vyrovnávacími pamäťami.
  • Zlepšená kompatibilita s GNU Coreutils pre nástroje numfmt, date, tr, cksum, factor, head, stat a sort.
  • Do nástrojov ln, dd, mktemp a tty bola pridaná podpora pre zostavenie vo formáte WebAssembly a používanie rozhrania WASI (WebAssembly System Interface).
  • Rozšírené možnosti, odstránené problémy a pridané chýbajúce možnosti pre nástroje cat, chroot, cksum,
    cp, date, dd, df, dirname, du, echo, env, expr, factor, fmt, head, id, install, join, ln, logname, ls, md5sum, mkdir, mknod, mktemp, more, mv, nl, nohup, nproc, numfmt, od, paste, pinky, pr, realpath, rm, rmdir, shred, sort, split, stat, stdbuf, stty, sum, sync, tail, tee, timeout, touch, tr, tty, unexpand, uniq, uptime, wc, who, yes.
  • Zdroj: opennet.ru

Kúpte si spoľahlivý hosting pre webové stránky s ochranou proti DDoS, VPS VDS servery 🔥 Kúpte si spoľahlivý hosting pre webové stránky s ochranou proti DDoS, VPS VDS servery | ProHoster