ΠΠ°ΡΡΠ΅ ΠΠΎΠ»Π»ΠΈΠ½ (Lasse Collin), ΡΡΠ°ΡΡΠΉ ΡΠΎΠΏΡΠΎΠ²ΠΎΠΆΠ΄Π°ΡΡΠΈΠΉ ΠΏΡΠΎΠ΅ΠΊΡΠ° xz, Π² 2022 Π³ΠΎΠ΄Ρ ΠΏΠ΅ΡΠ΅Π΄Π°Π²ΡΠΈΠΉ ΠΏΡΠ°Π²Π° Π½ΠΎΠ²ΠΎΠΌΡ ΡΠΎΠΏΡΠΎΠ²ΠΎΠΆΠ΄Π°ΡΡΠ΅ΠΌΡ Jia Tan, Π΄Π΅ΡΡΠ΅Π»ΡΠ½ΠΎΡΡΡ ΠΊΠΎΡΠΎΡΠΎΠ³ΠΎ ΠΏΡΠΈΠ²Π΅Π»Π° ΠΊ Π²Π½Π΅Π΄ΡΠ΅Π½ΠΈΡ Π±ΡΠΊΠ΄ΠΎΡΠ°, ΠΎΠΏΡΠ±Π»ΠΈΠΊΠΎΠ²Π°Π» ΠΊΠΎΡΡΠ΅ΠΊΡΠΈΡΡΡΡΠΈΠ΅ Π²ΡΠΏΡΡΠΊΠΈ ΠΏΠ°ΠΊΠ΅ΡΠ° XZ Utils 5.2.13, 5.4.7 ΠΈ 5.6.2, Π² ΠΊΠΎΡΠΎΡΡΡ ΡΠ΄Π°Π»Π΅Π½Ρ ΠΊΠΎΠΌΠΏΠΎΠ½Π΅Π½ΡΡ Π±ΡΠΊΠ΄ΠΎΡΠ° ΠΈ ΠΏΡΠΎΡΠΈΠ΅ ΠΏΠΎΠ΄ΠΎΠ·ΡΠΈΡΠ΅Π»ΡΠ½ΡΠ΅ ΠΈΠ·ΠΌΠ΅Π½Π΅Π½ΠΈΡ, Π΄ΠΎΠ±Π°Π²Π»Π΅Π½Π½ΡΠ΅ Π² ΡΠ΅Π·ΡΠ»ΡΡΠ°ΡΠ΅ Π²ΡΠ΅Π΄ΠΎΠ½ΠΎΡΠ½ΠΎΠΉ Π΄Π΅ΡΡΠ΅Π»ΡΠ½ΠΎΡΡΠΈ ΠΏΡΠΎΡΠ»ΠΎΠ³ΠΎ ΡΠΎΠΏΡΠΎΠ²ΠΎΠΆΠ΄Π°ΡΡΠ΅Π³ΠΎ.
ΠΡΠΎΠΌΠ΅ ΡΠΎΠ³ΠΎ, ΠΎΠΏΡΠ±Π»ΠΈΠΊΠΎΠ²Π°Π½ ΠΎΡΡΡΡ ΠΎ ΡΠ΅ΡΠ΅Π½Π·ΠΈΡΠΎΠ²Π°Π½ΠΈΠΈ Git-ΡΠ΅ΠΏΠΎΠ·ΠΈΡΠΎΡΠΈΡ ΠΈ ΠΈΠ·ΠΌΠ΅Π½Π΅Π½ΠΈΠΉ, Π΄ΠΎΠ±Π°Π²Π»Π΅Π½Π½ΡΡ Ρ Π΄Π΅ΠΊΠ°Π±ΡΡ 2022 Π³ΠΎΠ΄Π° Π²ΠΎ Π²ΡΠ΅ΠΌΡ Π½Π°Ρ ΠΎΠΆΠ΄Π΅Π½ΠΈΡ Jia Tan Π½Π° ΠΏΠΎΡΡΡ ΡΠΎΠΏΡΠΎΠ²ΠΎΠΆΠ΄Π°ΡΡΠ΅Π³ΠΎ. ΠΠ·ΠΌΠ΅Π½Π΅Π½ΠΈΡ ΡΠ°Π·ΠΎΠ±ΡΠ°Π½Ρ Π½Π° ΡΡΠΎΠ²Π½Π΅ ΠΎΡΠ΄Π΅Π»ΡΠ½ΡΡ ΠΊΠΎΠΌΠΌΠΈΡΠΎΠ². ΠΠΎΠΌΠΌΠΈΡΡ Π² ΡΠ΅ΠΏΠΎΠ·ΠΈΡΠΎΡΠΈΠΈ Π½Π΅ Π±ΡΠ»ΠΈ Π·Π°Π²Π΅ΡΠ΅Π½Ρ ΡΠΈΡΡΠΎΠ²ΠΎΠΉ ΠΏΠΎΠ΄ΠΏΠΈΡΡΡ, Π½ΠΎ ΡΠ»Π΅Π΄ΠΎΠ² ΠΏΠΎΠ΄Π΄Π΅Π»ΠΊΠΈ ΡΠΎ ΡΡΠΎΡΠΎΠ½Ρ ΠΊΠΎΠΌΠΌΠΈΡΡΠ΅ΡΠΎΠ² Π½Π΅ Π²ΡΡΠ²Π»Π΅Π½ΠΎ. ΠΡΠ΅Π³ΠΎ ΠΈΠ· ΡΠ΅ΠΏΠΎΠ·ΠΈΡΠΎΡΠΈΡ ΡΠ΄Π°Π»Π΅Π½ΠΎ 8 Π²ΡΠ΅Π΄ΠΎΠ½ΠΎΡΠ½ΡΡ ΠΊΠΎΠΌΠΌΠΈΡΠΎΠ².
ΠΠ· ΠΊΠΎΠ΄ΠΎΠ²ΠΎΠΉ Π±Π°Π·Ρ ΠΏΠΎΠΊΠ° Π½Π΅ ΡΠ΄Π°Π»ΡΠ½ ΠΊΠΎΠ΄ CRC CLMUL, ΠΏΡΠΈΠ²ΠΎΠ΄ΡΡΠΈΠΉ ΠΊ Π»ΠΎΠΆΠ½ΡΠΌ ΡΡΠ°Π±Π°ΡΡΠ²Π°Π½ΠΈΡΠΌ ΠΏΡΠΈ ΠΏΡΠΎΠ²Π΅ΡΠΊΠ΅ Π² MSAN (Memory sanitizer) ΠΈ ΠΏΡΠΎΠ±Π»Π΅ΠΌΠ°ΠΌ Ρ OSS Fuzz. Π Π΄Π°Π»ΡΠ½Π΅ΠΉΡΠ΅ΠΌ Π΄Π°Π½Π½ΡΠΉ ΠΊΠΎΠ΄ ΠΏΠ»Π°Π½ΠΈΡΡΡΡ ΠΏΠ΅ΡΠ΅ΡΠ°Π±ΠΎΡΠ°ΡΡ, Π½ΠΎ ΠΏΠΎΠΊΠ° Π΅Π³ΠΎ ΡΠ΅ΡΠ΅Π½ΠΎ Π½Π΅ ΡΡΠΎΠ³Π°ΡΡ, ΡΡΠΎΠ±Ρ ΠΈΠ·Π±Π΅ΠΆΠ°ΡΡ ΡΠ΅Π³ΡΠ΅ΡΡΠΈΠΉ Π² ΡΡΠ°ΡΡΡ Π²Π΅ΡΠΊΠ°Ρ . ΠΠΎΠ΄ΠΎΠ·ΡΠΈΡΠ΅Π»ΡΠ½ΡΡ ΠΈΠ·ΠΌΠ΅Π½Π΅Π½ΠΈΠΉ Π² ΡΡΠ°ΡΡΡ ΠΊΠΎΠΌΠΌΠΈΡΠ°Ρ , Π΄ΠΎΠ±Π°Π²Π»Π΅Π½Π½ΡΡ Π΄ΠΎ Π²Π½Π΅ΡΠ΅Π½ΠΈΡ ΠΈΠ·ΠΌΠ΅Π½Π΅Π½ΠΈΠΉ, ΡΠ²ΡΠ·Π°Π½Π½ΡΡ Ρ ΠΏΡΠΎΠ΄Π²ΠΈΠΆΠ΅Π½ΠΈΠ΅ΠΌ Π±ΡΠΊΠ΄ΠΎΡΠ°, Π½Π΅ Π²ΡΡΠ²Π»Π΅Π½ΠΎ. ΠΡΠ΄Π΅Π»ΡΠ½ΠΎ Π±ΡΠ»ΠΈ ΠΏΡΠΎΠ²Π΅ΡΠ΅Π½Ρ po-ΡΠ°ΠΉΠ»Ρ Π»ΠΎΠΊΠ°Π»ΠΈΠ·Π°ΡΠΈΠΈ, ΠΌΠ΅ΡΠ°Π΄Π°Π½Π½ΡΠ΅ Π² ΡΠ°ΠΉΠ»Π°Ρ tar ΠΈ Π°ΡΡ ΠΈΠ²Ρ Ρ ΡΠ΅Π»ΠΈΠ·Π°ΠΌΠΈ ΠΈ ΠΏΠ΅ΡΠ΅Π²ΠΎΠ΄Π°ΠΌΠΈ.
ΠΠ· ΠΈΠ·ΠΌΠ΅Π½Π΅Π½ΠΈΠΉ ΡΠ°ΠΊΠΆΠ΅ ΠΎΡΠΌΠ΅ΡΠ°Π΅ΡΡΡ Π²ΠΊΠ»ΡΡΠ΅Π½ΠΈΠ΅ Π½Π°ΠΊΠΎΠΏΠΈΠ²ΡΠΈΡ ΡΡ ΠΈΡΠΏΡΠ°Π²Π»Π΅Π½ΠΈΠΉ ΠΎΡΠΈΠ±ΠΎΠΊ ΠΈ ΡΠ΄Π°Π»Π΅Π½ΠΈΠ΅ ΠΏΠΎΠ΄Π΄Π΅ΡΠΆΠΈ ΠΌΠ΅Ρ Π°Π½ΠΈΠ·ΠΌΠ° IFUNC, ΠΏΡΠ΅Π΄ΠΎΡΡΠ°Π²Π»ΡΠ΅ΠΌΠΎΠ³ΠΎ Π²Glibc Π΄Π»Ρ ΠΊΠΎΡΠ²Π΅Π½Π½ΠΎΠ³ΠΎ Π²ΡΠ·ΠΎΠ²Π° ΡΡΠ½ΠΊΡΠΈΠΉ, ΠΊΠΎΡΠΎΡΡΠΉ Π±ΡΠ» Π·Π°Π΄Π΅ΠΉΡΡΠ²ΠΎΠ²Π°Π½ Π΄Π»Ρ ΠΎΡΠ³Π°Π½ΠΈΠ·Π°ΡΠΈΠΈ ΠΏΠ΅ΡΠ΅Ρ Π²Π°ΡΠ° ΡΡΠ½ΠΊΡΠΈΠΉ Π² Π±ΡΠΊΠ΄ΠΎΡΠ΅. ΠΡΠΌΠ΅ΡΠ΅Π½ΠΎ, ΡΡΠΎ ΠΈΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°Π½ΠΈΠ΅ IFUNC Π»ΠΈΡΡ ΡΡΠ»ΠΎΠΆΠ½ΡΠ΅Ρ ΠΊΠΎΠ΄, Π° Π²ΡΠΈΠ³ΡΡΡ Π² ΠΏΡΠΎΠΈΠ·Π²ΠΎΠ΄ΠΈΡΠ΅Π»ΡΠ½ΠΎΡΡΠΈ ΠΎΡ Π½Π΅Π³ΠΎ Π½Π΅ ΡΡΡΠ΅ΡΡΠ²Π΅Π½Π½ΡΠΉ. Π ΠΊΠ°ΡΠ΅ΡΡΠ²Π΅ ΠΏΠ΅ΡΠ΅ΡΡΡΠ°Ρ ΠΎΠ²ΠΊΠΈ ΠΈΠ· ΠΏΠ°ΠΊΠ΅ΡΠ° c ΠΈΡΡ ΠΎΠ΄Π½ΡΠΌΠΈ ΡΠ΅ΠΊΡΡΠ°ΠΌΠΈ ΡΠ°ΠΊΠΆΠ΅ ΡΠ΄Π°Π»Π΅Π½Ρ Π»ΠΎΠ³ΠΎΡΠΈΠΏ XZ, PDF-Π²Π΅ΡΡΠΈΠΈ man-ΡΡΡΠ°Π½ΠΈΡ ΠΈ Π΄Π²Π° ΡΠ΅ΡΡΠ° Π΄Π»Ρ Π°ΡΡ ΠΈΡΠ΅ΠΊΡΡΡ x86 ΠΈ SPARC, Π² ΠΊΠΎΡΠΎΡΡΡ Π² ΠΊΠ°ΡΠ΅ΡΡΠ²Π΅ Π²Ρ ΠΎΠ΄Π½ΡΡ Π΄Π°Π½Π½ΡΡ ΠΎΠ±ΡΠ°Π±Π°ΡΡΠ²Π°Π»ΠΈΡΡ ΠΎΠ±ΡΠ΅ΠΊΡΠ½ΡΠ΅ ΡΠ°ΠΉΠ»Ρ.
ΠΠ· Π½ΠΎΠ²ΡΠ΅ΡΡΠ² Π² Π΄Π΅ΠΊΠΎΠ΄ΠΈΡΠΎΠ²ΡΠΈΠΊ xzdec Π΄ΠΎΠ±Π°Π²Π»Π΅Π½Π° ΠΏΠΎΠ΄Π΄Π΅ΡΠΆΠΊΠ° 4 Π²Π΅ΡΡΠΈΠΈ ABI ΠΌΠ΅Ρ
Π°Π½ΠΈΠ·ΠΌΠ° ΠΈΠ·ΠΎΠ»ΡΡΠΈΠΈ ΠΏΡΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΠΉ Landlock. Π ΡΠ±ΠΎΡΠΎΡΠ½ΡΠ΅ ΡΠΊΡΠΈΠΏΡΡ Autotools Π΄ΠΎΠ±Π°Π²Π»Π΅Π½Π° ΠΎΠΏΡΠΈΡ «—enable-doxygen», Π° Π² ΡΡΠ΅Π½Π°ΡΠΈΠΈ Cmake ΠΏΠ°ΡΠ°ΠΌΠ΅ΡΡ ENABLE_DOXYGEN Π΄Π»Ρ Π³Π΅Π½Π΅ΡΠ°ΡΠΈΠΈ ΠΈ ΡΡΡΠ°Π½ΠΎΠ²ΠΊΠΈ Π΄ΠΎΠΊΡΠΌΠ΅Π½ΡΠ°ΡΠΈΠΈ Π½Π° API liblzma, ΠΈΡΠΏΠΎΠ»ΡΠ·ΡΡ Doxygen. Π£ΠΆΠ΅ ΡΠ³Π΅Π½Π΅ΡΠΈΡΠΎΠ²Π°Π½Π½Π°Ρ Π΄ΠΎΠΊΡΠΌΠ΅Π½ΡΠ°ΡΠΈΡ ΡΠ΄Π°Π»Π΅Π½Π° ΠΈΠ· ΠΏΠ°ΠΊΠ΅ΡΠ°.
ΠΡΡΠΎΡΠ½ΠΈΠΊ: opennet.ru