ИздаванС Π½Π° Rust 1.99.0. Microsoft прСмСсти Rust Π² катСгорията Π½Π° основнитС Π΅Π·ΠΈΡ†ΠΈ

ОбявСн Π΅ новия Ρ€Π΅Π»ΠΈΠ· Π½Π° програмния Π΅Π·ΠΈΠΊ Rust 1.99, ΠΊΠΎΠΉΡ‚ΠΎ ΠΏΡŠΡ€Π²ΠΎΠ½Π°Ρ‡Π°Π»Π½ΠΎ Π΅ Ρ€Π°Π·Ρ€Π°Π±ΠΎΡ‚Π΅Π½ ΠΎΡ‚ Mozilla, Π½ΠΎ сСга сС Ρ€Π°Π·Π²ΠΈΠ²Π° ΠΏΠΎΠ΄ Π΅Π³ΠΈΠ΄Π°Ρ‚Π° Π½Π° нСзависима нСправитСлствСна организация, Π½Π°Ρ€Π΅Ρ‡Π΅Π½Π° Rust Foundation. Π•Π·ΠΈΠΊΡŠΡ‚ Π΅ насочСн към бСзопасната Ρ€Π°Π±ΠΎΡ‚Π° с ΠΏΠ°ΠΌΠ΅Ρ‚Ρ‚Π° ΠΈ ΠΏΡ€Π΅Π΄Π»Π°Π³Π° срСдства Π·Π° постиганС Π½Π° високо Π½ΠΈΠ²ΠΎ Π½Π° паралСлност Π² ΠΈΠ·ΠΏΡŠΠ»Π½Π΅Π½ΠΈΠ΅Ρ‚ΠΎ Π½Π° Π·Π°Π΄Π°Ρ‡ΠΈ, ΠΊΠ°Ρ‚ΠΎ Π² ΡΡŠΡ‰ΠΎΡ‚ΠΎ Π²Ρ€Π΅ΠΌΠ΅ Π½Π΅ ΠΈΠ·ΠΏΠΎΠ»Π·Π²Π° Garbage Collector ΠΈ runtime (runtime сС ΡΡŠΡΡ‚ΠΎΠΈ Π² основна инициализация ΠΈ ΠΏΠΎΠ΄Π΄Ρ€ΡŠΠΆΠΊΠ° Π½Π° стандартната Π±ΠΈΠ±Π»ΠΈΠΎΡ‚Π΅ΠΊΠ°).

ΠœΠ΅Ρ‚ΠΎΠ΄ΠΈΡ‚Π΅ Π·Π° Ρ€Π°Π±ΠΎΡ‚Π° с ΠΏΠ°ΠΌΠ΅Ρ‚Ρ‚Π° Π² Rust са насочСни към прСдотвратяванС Π½Π° Π³Ρ€Π΅ΡˆΠΊΠΈ ΠΏΡ€ΠΈ ΠΌΠ°Π½ΠΈΠΏΡƒΠ»ΠΈΡ€Π°Π½Π΅ Π½Π° ΡƒΠΊΠ°Π·Π°Ρ‚Π΅Π»ΠΈ ΠΈ Π·Π°Ρ‰ΠΈΡ‚Π° ΠΎΡ‚ ΠΏΡ€ΠΎΠ±Π»Π΅ΠΌΠΈ, ΠΏΡ€ΠΎΠΈΠ·Ρ‚ΠΈΡ‡Π°Ρ‰ΠΈ ΠΎΡ‚ нискоуровнСва Ρ€Π°Π±ΠΎΡ‚Π° с ΠΏΠ°ΠΌΠ΅Ρ‚Ρ‚Π°, ΠΊΠ°Ρ‚ΠΎ Π΄ΠΎΡΡ‚ΡŠΠΏ Π΄ΠΎ освобоТдавано пространство, Ρ€Π°Π·ΠΈΠΌΠ΅Π½ΠΎΠ²Π°Π½Π΅ Π½Π° Π½ΡƒΠ»Π΅Π²ΠΈ ΡƒΠΊΠ°Π·Π°Ρ‚Π΅Π»ΠΈ, ΠΈΠ·Π»ΠΈΠ·Π°Π½Π΅ извън Π³Ρ€Π°Π½ΠΈΡ†ΠΈΡ‚Π΅ Π½Π° Π±ΡƒΡ„Π΅Ρ€Π° ΠΈ Π΄Ρ€. Π—Π° разпространСниС Π½Π° Π±ΠΈΠ±Π»ΠΈΠΎΡ‚Π΅ΠΊΠΈ, осигуряванС Π½Π° построяванС ΠΈ ΡƒΠΏΡ€Π°Π²Π»Π΅Π½ΠΈΠ΅ Π½Π° зависимости, ΠΏΡ€ΠΎΠ΅ΠΊΡ‚ΡŠΡ‚ Ρ€Π°Π·Π²ΠΈΠ²Π° пакСтния ΠΌΠ΅Π½ΠΈΠ΄ΠΆΡŠΡ€ Cargo. ΠŸΠΎΠ΄Π΄ΡŠΡ€ΠΆΠ° сС Ρ…Ρ€Π°Π½ΠΈΠ»ΠΈΡ‰Π΅ Π·Π° Π±ΠΈΠ±Π»ΠΈΠΎΡ‚Π΅ΠΊΠΈ Π½Π° crates.io.

БСзопасната Ρ€Π°Π±ΠΎΡ‚Π° с ΠΏΠ°ΠΌΠ΅Ρ‚Ρ‚Π° Π² Rust сС осигурява ΠΏΠΎ Π²Ρ€Π΅ΠΌΠ΅ Π½Π° компилацията Ρ‡Ρ€Π΅Π· ΠΏΡ€ΠΎΠ²Π΅Ρ€ΠΊΠ° Π½Π° Ρ€Π΅Ρ„Π΅Ρ€Π΅Π½Ρ‚ΠΈΡ‚Π΅, прослСдяванС Π½Π° ΠΏΡ€ΠΈΡ‚Π΅ΠΆΠ°Π½ΠΈΠ΅Ρ‚ΠΎ Π½Π° ΠΎΠ±Π΅ΠΊΡ‚ΠΈ, Π²Π·Π΅ΠΌΠ°Π½Π΅ ΠΏΠΎΠ΄ Π²Π½ΠΈΠΌΠ°Π½ΠΈΠ΅ Π½Π° Π²Ρ€Π΅ΠΌΠ΅Ρ‚ΠΎ Π½Π° ΠΆΠΈΠ²ΠΎΡ‚ Π½Π° ΠΎΠ±Π΅ΠΊΡ‚ΠΈΡ‚Π΅ (област Π½Π° видимост) ΠΈ ΠΎΡ†Π΅Π½ΠΊΠ° Π½Π° корСктността Π½Π° Π΄ΠΎΡΡ‚ΡŠΠΏΠ° Π΄ΠΎ ΠΏΠ°ΠΌΠ΅Ρ‚Ρ‚Π° ΠΏΠΎ Π²Ρ€Π΅ΠΌΠ΅ Π½Π° ΠΈΠ·ΠΏΡŠΠ»Π½Π΅Π½ΠΈΠ΅Ρ‚ΠΎ Π½Π° ΠΊΠΎΠ΄Π°. Rust ΡΡŠΡ‰ΠΎ Ρ‚Π°ΠΊΠ° прСдоставя срСдства Π·Π° Π·Π°Ρ‰ΠΈΡ‚Π° срСщу ΠΏΡ€Π΅ΠΏΡŠΠ»Π²Π°Π½Π΅ Π½Π° Ρ†Π΅Π»ΠΈ числа, изисква Π·Π°Π΄ΡŠΠ»ΠΆΠΈΡ‚Π΅Π»Π½Π° инициализация Π½Π° стойноститС Π½Π° ΠΏΡ€ΠΎΠΌΠ΅Π½Π»ΠΈΠ²ΠΈΡ‚Π΅ ΠΏΡ€Π΅Π΄ΠΈ тяхната ΡƒΠΏΠΎΡ‚Ρ€Π΅Π±Π°, ΠΏΠΎ-Π΄ΠΎΠ±Ρ€Π΅ ΠΎΠ±Ρ€Π°Π±ΠΎΡ‚Π²Π° Π³Ρ€Π΅ΡˆΠΊΠΈΡ‚Π΅ Π² стандартната Π±ΠΈΠ±Π»ΠΈΠΎΡ‚Π΅ΠΊΠ°, ΠΏΡ€ΠΈΠ»Π°Π³Π° концСпцията Π·Π° нСизмСняСмост (immutable) Π½Π° Ρ€Π΅Ρ„Π΅Ρ€Π΅Π½Ρ‚ΠΈΡ‚Π΅ ΠΈ ΠΏΡ€ΠΎΠΌΠ΅Π½Π»ΠΈΠ²ΠΈΡ‚Π΅ ΠΏΠΎ ΠΏΠΎΠ΄Ρ€Π°Π·Π±ΠΈΡ€Π°Π½Π΅ ΠΈ ΠΏΡ€Π΅Π΄Π»Π°Π³Π° силна статична типизация Π·Π° ΠΌΠΈΠ½ΠΈΠΌΠΈΠ·ΠΈΡ€Π°Π½Π΅ Π½Π° логичСскитС Π³Ρ€Π΅ΡˆΠΊΠΈ.

Основни нововъвСдСния:

  • Π”ΠΎΠ±Π°Π²Π΅Π½Π° Π΅ Π²ΡŠΠ·ΠΌΠΎΠΆΠ½ΠΎΡΡ‚Ρ‚Π° Π·Π° създаванС Π½Π° Ρ„ΡƒΠ½ΠΊΡ†ΠΈΠΈ Π½Π° Rust с ΠΏΡ€ΠΎΠΌΠ΅Π½Π»ΠΈΠ² Π±Ρ€ΠΎΠΉ Π°Ρ€Π³ΡƒΠΌΠ΅Π½Ρ‚ΠΈ (variadic), Скспортирани Π·Π° ΠΈΠ·Π²ΠΈΠΊΠ²Π°Π½Π΅ ΠΎΡ‚ ΠΏΡ€ΠΎΠ΅ΠΊΡ‚ΠΈ Π½Π° C (C ABI). ΠšΠ°Ρ‚ΠΎ послСдСн Π΅Π»Π΅ΠΌΠ΅Π½Ρ‚ Π½Π° списъка с ΠΏΠ°Ρ€Π°ΠΌΠ΅Ρ‚Ρ€ΠΈ Π² Ρ‚Π°ΠΊΠΈΠ²Π° Ρ„ΡƒΠ½ΠΊΡ†ΠΈΠΈ ΠΌΠΎΠΆΠ΅ Π΄Π° сС посочва конструкция β€ž...β€œ, която сС ΠΎΠ±Ρ€Π°Π±ΠΎΡ‚Π²Π° Π² Rust с ΠΏΠΎΠΌΠΎΡ‰Ρ‚Π° Π½Π° спСциалСн Ρ‚ΠΈΠΏ VaList, дСйствуващ Π°Π½Π°Π»ΠΎΠ³ΠΈΡ‡Π½ΠΎ Π½Π° va_list Π² C. unsafe extern Β«CΒ» fn sum(mut args: ...) -> i32 { let a = unsafe { args.next_arg::() }; let b = unsafe { args.next_arg::() }; a + b } fn foo() -> i32 { unsafe { sum(0i32, 2i32) } }
  • Π€ΡƒΠ½ΠΊΡ†ΠΈΠΈΡ‚Π΅ Layout::for_value_raw, mem::size_of_val_raw ΠΈ mem::align_of_val_raw са стабилизирани, ΠΊΠΎΠ΅Ρ‚ΠΎ позволява бСзопасно опрСдСлянС Π½Π° Ρ€Π°Π·ΠΌΠ΅Ρ€Π° ΠΈ подравняванСто Π½Π° сурови ΡƒΠΊΠ°Π·Π°Ρ‚Π΅Π»ΠΈ (raw pointer), Π²ΠΊΠ»ΡŽΡ‡ΠΈΡ‚Π΅Π»Π½ΠΎ ΠΏΡ€ΠΈ ΠΈΠ·ΠΏΠΎΠ»Π·Π²Π°Π½Π΅ Π½Π° Ρ‚ΠΈΠΏΠΎΠ²Π΅ с Π΄ΠΈΠ½Π°ΠΌΠΈΡ‡Π΅Π½ Ρ€Π°Π·ΠΌΠ΅Ρ€, ΠΊΠ°Ρ‚ΠΎ срСзовС, Π±Π΅Π· нСобходимост ΠΎΡ‚ създаванС Π½Π° ΠΏΡ€Π΅ΠΏΡ€Π°Ρ‚ΠΊΠΈ към Π΄Π°Π½Π½ΠΈ.
  • Π’ докумСнтацията Π΅ Π΄ΠΎΠ±Π°Π²Π΅Π½ΠΎ ΠΏΡ€Π΅ΠΏΠΎΡ€ΡŠΡ‡ΠΈΡ‚Π΅Π»Π½ΠΎ избягванС Π½Π° освобоТдаванСто Π½Π° ΠΏΠ°ΠΌΠ΅Ρ‚, Π·Π° която Π΅ ΠΏΠΎΠ»ΡƒΡ‡Π΅Π½Π° статична ΠΏΡ€Π΅ΠΏΡ€Π°Ρ‚ΠΊΠ° с Π½Π΅ΠΎΠ³Ρ€Π°Π½ΠΈΡ‡Π΅Π½Π° ΠΏΡ€ΠΎΠ΄ΡŠΠ»ΠΆΠΈΡ‚Π΅Π»Π½ΠΎΡΡ‚ Π½Π° ΠΆΠΈΠ²ΠΎΡ‚Π° (&’static) Ρ‡Ρ€Π΅Π· ΠΈΠ·Π²ΠΈΠΊΠ²Π°Π½Π΅ Π½Π° Box::leak (round-trip unleaking), Ρ‚ΡŠΠΉ ΠΊΠ°Ρ‚ΠΎ Ρ‚Π°ΠΊΠΎΠ²Π° дСйствиС ΠΏΠΎΡ‚Π΅Π½Ρ†ΠΈΠ°Π»Π½ΠΎ ΠΌΠΎΠΆΠ΅ Π΄Π° Π΄ΠΎΠ²Π΅Π΄Π΅ Π΄ΠΎ ΠΏΡ€ΠΎΠ±Π»Π΅ΠΌΠΈ ΠΏΠΎΡ€Π°Π΄ΠΈ Π½Π΅ΡΡŠΠ²ΠΌΠ΅ΡΡ‚ΠΈΠΌΠΎΡΡ‚ с Π±ΡŠΠ΄Π΅Ρ‰ΠΈ ΠΎΠΏΡ‚ΠΈΠΌΠΈΠ·Π°Ρ†ΠΈΠΈ Π½Π° ΠΊΠΎΠΌΠΏΠΈΠ»Π°Ρ‚ΠΎΡ€Π° ΠΈ ΡΠ²ΡŠΡ€Π·Π°Π½ΠΈΡ‚Π΅ ΠΌΠ΅Ρ…Π°Π½ΠΈΠ·ΠΌΠΈ Π·Π° Ρ€Π°Π·ΠΏΡ€Π΅Π΄Π΅Π»Π΅Π½ΠΈΠ΅ Π½Π° ΠΏΠ°ΠΌΠ΅Ρ‚. ВмСсто Π΄Π° сС създава статична ΠΏΡ€Π΅ΠΏΡ€Π°Ρ‚ΠΊΠ° Π·Π° Π²Ρ€Π΅ΠΌΠ΅Π½Π½ΠΎ ΠΏΡ€Π΅Π΄Π°Π²Π°Π½Π΅ Π½Π° собствСността, сС ΠΏΡ€Π΅ΠΏΠΎΡ€ΡŠΡ‡Π²Π° ΠΈΠ·ΠΏΠΎΠ»Π·Π²Π°Π½Π΅Ρ‚ΠΎ Π½Π° сурови ΡƒΠΊΠ°Π·Π°Ρ‚Π΅Π»ΠΈ, Π½Π°ΠΏΡ€ΠΈΠΌΠ΅Ρ€, Ρ‡Ρ€Π΅Π· ΠΈΠ·Π²ΠΈΠΊΠ²Π°Π½Π΅ Π½Π° Box::into_non_null.
  • Нов Π½Π°Π±ΠΎΡ€ ΠΎΡ‚ API Π΅ ΠΏΡ€Π΅Π²Π΅Π΄Π΅Π½ Π² катСгорията стабилни, Π²ΠΊΠ»ΡŽΡ‡ΠΈΡ‚Π΅Π»Π½ΠΎ стабилизирани ΠΌΠ΅Ρ‚ΠΎΠ΄ΠΈ ΠΈ Ρ€Π΅Π°Π»ΠΈΠ·Π°Ρ†ΠΈΠΈ Π½Π° Ρ‚ΠΈΠΏΠ°ΠΆΠΈ:
    • IntoIterator Π·Π° Box<[T; N]>
    • IntoIterator Π·Π° &Box<[T; N]>
    • IntoIterator Π·Π° &mut Box<[T; N]>
    • VecDeque::retain_back
    • core::ffi::VaList
    • Box::into_non_null
    • Box::from_non_null
    • Vec::into_parts
    • Vec::from_parts
    • core::mem::size_of_val_raw
    • core::mem::align_of_val_raw
    • core::alloc::Layout::for_value_raw
    • String::from_utf8_lossy_owned
    • string::FromUtf8Error::into_utf8_lossy
    • FusedIterator Π·Π° StepBy<I>
    • std::fs::set_times
    • std::fs::set_times_nofollow
  • Π’ пакСтния ΠΌΠ΅Π½ΠΈΠ΄ΠΆΡŠΡ€ cargo Π΅ Ρ€Π΅Π°Π»ΠΈΠ·ΠΈΡ€Π°Π½ Π½ΠΎΠ² Π²Π³Ρ€Π°Π΄Π΅Π½ ΠΏΡ€ΠΎΡ„ΠΈΠ» β€ždebugβ€œ, Π°Π½Π°Π»ΠΎΠ³ΠΈΡ‡Π΅Π½ Π½Π° ΠΏΡ€ΠΎΡ„ΠΈΠ»Π° β€ždevβ€œ (Π² Π±ΡŠΠ΄Π΅Ρ‰Π΅ Π²ΡŠΠ·ΠΌΠΎΠΆΠ½ΠΎΡΡ‚ΠΈΡ‚Π΅ Π·Π° отстраняванС Π½Π° Π³Ρ€Π΅ΡˆΠΊΠΈ ΠΈ Ρ€Π°Π·Ρ€Π°Π±ΠΎΡ‚ΠΊΠΈ Ρ‰Π΅ Π±ΡŠΠ΄Π°Ρ‚ Ρ€Π°Π·Π΄Π΅Π»Π΅Π½ΠΈ). ΠŸΡ€ΠΈ ΠΈΠ·Π³Ρ€Π°ΠΆΠ΄Π°Π½Π΅ Π² CI, ΠΈΠ½ΠΊΡ€Π΅ΠΌΠ΅Π½Ρ‚Π°Π»Π½Π°Ρ‚Π° компилация Π΅ Π΄Π΅Π°ΠΊΡ‚ΠΈΠ²ΠΈΡ€Π°Π½Π° ΠΏΠΎ ΠΏΠΎΠ΄Ρ€Π°Π·Π±ΠΈΡ€Π°Π½Π΅.
  • Π¦Π΅Π»Π΅Π²Π°Ρ‚Π° ΠΏΠ»Π°Ρ‚Ρ„ΠΎΡ€ΠΌΠ° riscv64-unknown-linux-musl Π΅ прСмСстСна Π½Π° Π²Ρ‚ΠΎΡ€ΠΎ Π½ΠΈΠ²ΠΎ Π½Π° ΠΏΠΎΠ΄Π΄Ρ€ΡŠΠΆΠΊΠ°, ΠΊΠΎΠ΅Ρ‚ΠΎ ΠΏΡ€Π΅Π΄ΠΏΠΎΠ»Π°Π³Π° гаранция Π·Π° ΠΈΠ·Π³Ρ€Π°ΠΆΠ΄Π°Π½Π΅, Π½ΠΎ Π±Π΅Π· Π³Π°Ρ€Π°Π½Ρ†ΠΈΠΈ ΠΏΡ€ΠΈ ΠΏΡ€Π΅ΠΌΠΈΠ½Π°Π²Π°Π½Π΅ Π½Π° тСстовия Π½Π°Π±ΠΎΡ€.

Π”ΠΎΠΏΡŠΠ»Π½ΠΈΡ‚Π΅Π»Π½ΠΎ ΠΌΠΎΠΆΠ΅ Π΄Π° сС ΠΎΡ‚Π±Π΅Π»Π΅ΠΆΠΈ, Ρ‡Π΅ наскоро бяха анонсирани ΠΏΡ€ΠΎΠ΅ΠΊΡ‚ΠΈ ΠΈ ΡΡŠΠ±ΠΈΡ‚ΠΈΡ, ΡΠ²ΡŠΡ€Π·Π°Π½ΠΈ с Rust:

  • ΠšΠΎΠΌΠΏΠ°Π½ΠΈΡΡ‚Π° Microsoft Π΅ ΠΏΡ€Π΅Π²Π΅Π»Π° Rust Π² списъка Π½Π° Π΅Π·ΠΈΡ†ΠΈΡ‚Π΅ Π·Π° ΠΏΡŠΡ€Π²ΠΎΠ½Π°Ρ‡Π°Π»Π½Π° ΠΏΠΎΠ΄Π΄Ρ€ΡŠΠΆΠΊΠ° ΠΈ Ρ‰Π΅ осигури пълна ΠΏΠΎΠ΄Π΄Ρ€ΡŠΠΆΠΊΠ° Π½Π° всички Π΅Ρ‚Π°ΠΏΠΈ Π½Π° Ρ€Π°Π·Ρ€Π°Π±ΠΎΡ‚ΠΊΠ° Π² компанията. ΠŸΡ€Π΅Π΄ΠΈ Ρ‚ΠΎΠ²Π°, ΠΏΡŠΡ€Π²ΠΎΠ½Π°Ρ‡Π°Π»Π½Π°Ρ‚Π° ΠΏΠΎΠ΄Π΄Ρ€ΡŠΠΆΠΊΠ° Π²ΡŠΡ‚Ρ€Π΅ Π² компанията Π΅ Π±ΠΈΠ»Π° прСдоставяна Π·Π° Π΅Π·ΠΈΡ†ΠΈΡ‚Π΅ C++, C# ΠΈ TypeScript. ΠžΡ‚Π±Π΅Π»ΡΠ·Π²Π° сС, Ρ‡Π΅ Rust Π²Π΅Ρ‡Π΅ сС ΠΈΠ·ΠΏΠΎΠ»Π·Π²Π° Π² Π½Π°Π΄ 100 рСпозитория Π½Π° Microsoft. ОсвСн Ρ‚ΠΎΠ²Π°, ΠΊΠΎΠΌΠΏΠΎΠ½Π΅Π½Ρ‚ΠΈ Π½Π° Rust Π²Π΅Ρ‡Π΅ сС ΠΏΡ€ΠΈΠ»Π°Π³Π°Ρ‚ Π² ΠΏΡ€ΠΎΠ΄ΡƒΠΊΡ‚ΠΈ ΠΊΠ°Ρ‚ΠΎ Microsoft 365 ΠΈ Copilot, Π° Π·Π° ΠΊΠΎΠΌΠΏΠΈΠ»Π°Ρ‚ΠΎΡ€Π° MSVC Π΅ ΠΏΠΎΠ΄Π³ΠΎΡ‚Π²Π΅Π½ ΠΎΡ‚Π΄Π΅Π»Π΅Π½ Π±Π΅ΠΊΠ΅Π½Π΄ rustc_codegen_utc Π·Π° Rust, основан Π½Π° ΠΊΠΎΠΌΠΏΠΈΠ»Π°Ρ‚ΠΎΡ€Π° rustc.

    ΠžΡΠ½ΠΎΠ²Π½Π°Ρ‚Π° Ρ†Π΅Π» Π½Π° ΠΏΡ€ΠΈΠ»Π°Π³Π°Π½Π΅Ρ‚ΠΎ Π½Π° Rust Π² Microsoft Π΅ засилванСто Π½Π° сигурността Π½Π° ΠΊΠΎΠ΄Π°, ΠΊΡ€ΠΈΡ‚ΠΈΡ‡Π΅Π½ ΠΎΡ‚ Π³Π»Π΅Π΄Π½Π° Ρ‚ΠΎΡ‡ΠΊΠ° Π½Π° бСзопасността. Π‘ΠΏΠΎΡ€Π΅Π΄ тСхничСския Π΄ΠΈΡ€Π΅ΠΊΡ‚ΠΎΡ€ Π½Π° Microsoft Azure ΠΎΠΊΠΎΠ»ΠΎ 70% ΠΎΡ‚ всички уязвимости Π² Windows са ΠΏΡ€ΠΈΡ‡ΠΈΠ½Π΅Π½ΠΈ ΠΎΡ‚ ΠΏΡ€ΠΎΠ±Π»Π΅ΠΌΠΈ с ΠΏΠ°ΠΌΠ΅Ρ‚Ρ‚Π°, ΠΊΠΎΠΈΡ‚ΠΎ ΠΌΠΎΠ³Π°Ρ‚ Π΄Π° Π±ΡŠΠ΄Π°Ρ‚ ΠΈΠ·Π±Π΅Π³Π½Π°Ρ‚ΠΈ ΠΏΡ€ΠΈ ΠΈΠ·ΠΏΠΎΠ»Π·Π²Π°Π½Π΅ Π½Π° Rust.

  • ΠšΠΎΠΌΠΏΠ°Π½ΠΈΡΡ‚Π° Google ΠΏΡ€Π΅ΠΌΠ°Ρ…Π½Π° старата рСализация Π½Π° ΠΌΠ΅Ρ…Π°Π½ΠΈΠ·ΠΌΠ° Π·Π° мСТдупроцСсно взаимодСйствиС Binder ΠΎΡ‚ ядрото Π½Π° Linux, написана Π½Π° Π΅Π·ΠΈΠΊ C, Π² ΠΏΠΎΠ»Π·Π° Π½Π° новия Π΄Ρ€Π°ΠΉΠ²Π΅Ρ€ Binder IPC, прСнаписан Π½Π° Rust. ΠžΡ‚Π±Π΅Π»ΡΠ·Π²Π° сС, Ρ‡Π΅ Π² ΠΏΡ€ΠΎΠ΄ΡŠΠ»ΠΆΠ΅Π½ΠΈΠ΅ Π½Π° 15 Π³ΠΎΠ΄ΠΈΠ½ΠΈ ΡΡŠΡ‰Π΅ΡΡ‚Π²ΡƒΠ²Π°Π½Π΅Ρ‚ΠΎ Π½Π° стария Π΄Ρ€Π°ΠΉΠ²Π΅Ρ€ Π΅ Π½Π°Ρ‚Ρ€ΡƒΠΏΠ°Π»ΠΎ Π·Π½Π°Ρ‡ΠΈΡ‚Π΅Π»Π΅Π½ тСхничСски дълг ΠΈ мноТСство услоТнСния, ΠΊΠΎΠΈΡ‚ΠΎ затрудняваха откритията Π½Π° Π³Ρ€Π΅ΡˆΠΊΠΈ, ΠΏΠΎΠ΄Π΄Ρ€ΡŠΠΆΠΊΠ°Ρ‚Π° ΠΈ добавянСто Π½Π° Π½ΠΎΠ²ΠΈ Π²ΡŠΠ·ΠΌΠΎΠΆΠ½ΠΎΡΡ‚ΠΈ. Π”Ρ€Π°ΠΉΠ²Π΅Ρ€ΡŠΡ‚ Binder IPC Π½Π° Rust Π΅ ΠΏΡ€ΠΈΠ·Π½Π°Ρ‚ Π·Π° основСн ΠΈ Π²Π΅Ρ‡Π΅ Π½Π΅ сС прСдставя ΠΊΠ°Ρ‚ΠΎ СкспСримСнтална Ρ€Π°Π·Ρ€Π°Π±ΠΎΡ‚ΠΊΠ°.
  • ОбявСн Π΅ ΠΈΠ·Π΄Π°Π²Π°Π½Π΅Ρ‚ΠΎ Π½Π° Arti 2.7.0, Ρ€Π΅Π°Π»ΠΈΠ·ΠΈΡ€Π°Ρ‰Π° инструмСнтария Tor, написан Π½Π° Π΅Π·ΠΈΠΊ Rust. ΠšΠΎΠ³Π°Ρ‚ΠΎ ΠΊΠΎΠ΄ΡŠΡ‚ Π½Π° Arti достигнС Π½ΠΈΠ²ΠΎ, способно напълно Π΄Π° Π·Π°ΠΌΠ΅Π½ΠΈ вСрсията Π½Π° C, Ρ€Π°Π·Ρ€Π°Π±ΠΎΡ‚Ρ‡ΠΈΡ†ΠΈΡ‚Π΅ Π½Π° Tor ΠΈΠΌΠ°Ρ‚ Π½Π°ΠΌΠ΅Ρ€Π΅Π½ΠΈΠ΅ Π΄Π° ΠΏΡ€ΠΈΠ΄Π°Π΄Π°Ρ‚ Π½Π° Arti статус Π½Π° основна рСализация Π½Π° Tor ΠΈ постСпСнно Π΄Π° прСкратят ΠΏΠΎΠ΄Π΄Ρ€ΡŠΠΆΠΊΠ°Ρ‚Π° Π½Π° рСализацията Π½Π° C. Π’ Π½ΠΎΠ²Π°Ρ‚Π° вСрсия Π΅ обособСно Ρ€Π°Π·Π²ΠΈΡ‚ΠΈΠ΅ Π½Π° функционалността Π·Π° Ρ€Π΅Π»Π΅ΠΉ ΠΈ ΡΡŠΡ€Π²ΡŠΡ€ΠΈ Π΄ΠΈΡ€Π΅ΠΊΡ‚ΠΎΡ€ΠΈΠΈ (Directory Authority), ΡΠ²ΡŠΡ€Π·Π°Π½ΠΈ с парсинг Π½Π° Π΄ΠΎΠΊΡƒΠΌΠ΅Π½Ρ‚ΠΈ, ΠΏΠΎΠ΄Π΄ΡŠΡ€ΠΆΠ°Π½Π΅ Π½Π° ΠΎΠ³Π»Π΅Π΄Π°Π»Π½ΠΈ ΡΡŠΡ€Π²ΡŠΡ€ΠΈ ΠΈ ΠΎΠ±Ρ€Π°Π±ΠΎΡ‚ΠΊΠ° Π½Π° DNS Ρ‚Ρ€Π°Ρ„ΠΈΠΊ. Π”ΠΎΠ±Π°Π²Π΅Π½Π° Π΅ рСализация Π½Π° RPC Π·Π° промяна ΠΈ ΠΏΡ€ΠΎΠ²Π΅Ρ€ΠΊΠ° Π½Π° конфигурацията. УстранСни са няколко уязвимости - Π½Π° администраторитС Π½Π° onion услуги сС ΠΏΡ€Π΅ΠΏΠΎΡ€ΡŠΡ‡Π²Π° спСшно Π΄Π° Π°ΠΊΡ‚ΡƒΠ°Π»ΠΈΠ·ΠΈΡ€Π°Ρ‚ своитС систСми.

Π˜Π·Ρ‚ΠΎΡ‡Π½ΠΈΠΊ: opennet.ru

ΠšΡƒΠΏΠ΅Ρ‚Π΅ Π½Π°Π΄Π΅ΠΆΠ΄Π΅Π½ хостинг Π·Π° сайтовС със Π·Π°Ρ‰ΠΈΡ‚Π° ΠΎΡ‚ DDoS, VPS ΠΈ VDS ΡΡŠΡ€Π²ΡŠΡ€ΠΈ πŸ”₯ ΠšΡƒΠΏΠ΅Ρ‚Π΅ Π½Π°Π΄Π΅ΠΆΠ΄Π΅Π½ хостинг Π·Π° сайтовС със Π·Π°Ρ‰ΠΈΡ‚Π° ΠΎΡ‚ DDoS, VPS ΠΈ VDS ΡΡŠΡ€Π²ΡŠΡ€ΠΈ | ProHoster