ΠΡΠ΅Π΄ΠΏΠΎΠ»ΠΎΠΆΠΈΡΠ΅Π»ΡΠ½ΠΎ Π±ΡΠΊΠ΄ΠΎΡ Π² ΠΏΠ°ΠΊΠ΅Ρ xz Π±ΡΠ» Π²Π½Π΅Π΄ΡΡΠ½ ΡΠ°Π·ΡΠ°Π±ΠΎΡΡΠΈΠΊΠΎΠΌ Jia Tan, ΠΊΠΎΡΠΎΡΡΠΉ Π² 2022 Π³ΠΎΠ΄Ρ ΠΏΠΎΠ»ΡΡΠΈΠ» ΡΡΠ°ΡΡΡ ΡΠΎΠΏΡΠΎΠ²ΠΎΠΆΠ΄Π°ΡΡΠ΅Π³ΠΎ ΠΈ Π²ΡΠΏΡΡΠΊΠ°Π» ΡΠ΅Π»ΠΈΠ·Ρ Π½Π°ΡΠΈΠ½Π°Ρ Ρ Π²Π΅ΡΡΠΈΠΈ 5.4.2. ΠΠΎΠΌΠΈΠΌΠΎ ΠΏΡΠΎΠ΅ΠΊΡΠ° xz ΠΏΡΠ΅Π΄ΠΏΠΎΠ»Π°Π³Π°Π΅ΠΌΡΠΉ Π°Π²ΡΠΎΡ Π±ΡΠΊΠ΄ΠΎΡΠ° ΡΠ°ΠΊΠΆΠ΅ ΡΡΠ°ΡΡΠ²ΠΎΠ²Π°Π» Π² ΡΠ°Π·ΡΠ°Π±ΠΎΡΠΊΠ΅ ΠΏΠ°ΠΊΠ΅ΡΠΎΠ² xz-java ΠΈ xz-embedded, ΠΈ Π±ΡΠ» Π²ΠΊΠ»ΡΡΡΠ½ Π² ΡΠΈΡΠ»ΠΎ ΠΌΡΠΉΠ½ΡΠ΅ΠΉΠ½Π΅ΡΠΎΠ² ΠΏΡΠΎΠ΅ΠΊΡΠ° XZ Embedded, ΠΈΡΠΏΠΎΠ»ΡΠ·ΡΠ΅ΠΌΠΎΠ³ΠΎ Π² ΡΠ΄ΡΠ΅ Linux.
Π ΠΎΡΠ³Π°Π½ΠΈΠ·Π°ΡΠΈΠΈ ΠΏΡΠΎΠ΄Π²ΠΈΠΆΠ΅Π½ΠΈΡ Π±ΡΠΊΠ΄ΠΎΡΠ° ΡΠ°ΠΊΠΆΠ΅ Π·Π°ΠΌΠ΅ΡΠ΅Π½Ρ Π΅ΡΡ Π΄Π²Π° ΡΡΠ°ΡΡΠ½ΠΈΠΊΠ° — Jigar Kumar ΠΈ Hans Jansen, ΠΊΠΎΡΠΎΡΡΠ΅, ΡΡΠ΄Ρ ΠΏΠΎ Π²ΡΠ΅ΠΌΡ, ΡΠ²Π»ΡΡΡΡΡ Π²ΠΈΡΡΡΠ°Π»ΡΠ½ΡΠΌΠΈ ΠΏΠ΅ΡΡΠΎΠ½Π°ΠΆΠ°ΠΌΠΈ. Jigar Kumar Π² Π°ΠΏΡΠ΅Π»Π΅ 2022 Π³ΠΎΠ΄Π° ΡΠΏΠΎΡΠΎΠ±ΡΡΠ²ΠΎΠ²Π°Π» ΠΏΡΠΈΠ½ΡΡΠΈΡ Π² xz ΡΠ°Π½Π½ΠΈΡ ΠΏΠ°ΡΡΠ΅ΠΉ Jia Tan c ΡΠ΅Π°Π»ΠΈΠ·Π°ΡΠΈΠ΅ΠΉ ΠΏΠΎΠ΄Π΄Π΅ΡΠΆΠΊΠΈ ΡΡΡΠΎΠΊΠΎΠ²ΡΡ ΡΠΈΠ»ΡΡΡΠΎΠ² ΠΈ ΠΎΠΊΠ°Π·ΡΠ²Π°Π» ΠΌΠΎΡΠ°Π»ΡΠ½ΠΎΠ΅ Π΄Π°Π²Π»Π΅Π½ΠΈΠ΅ Π½Π° Lasse Collin, ΡΠΎΠ³Π΄Π°ΡΠ½Π΅Π³ΠΎ ΡΠΎΠΏΡΠΎΠ²ΠΎΠΆΠ΄Π°ΡΡΠ΅Π³ΠΎ, ΠΊΡΠΈΡΠΈΠΊΡΡ, ΡΡΠΎ ΠΎΠ½ Π½Π΅ ΡΠΏΠΎΡΠΎΠ±Π΅Π½ Π²ΡΠΏΠΎΠ»Π½ΡΡΡ ΡΠ²ΠΎΠΈ ΠΎΠ±ΡΠ·Π°Π½Π½ΠΎΡΡΠΈ ΠΈ Π½Π΅ ΠΏΡΠΈΠ½ΠΈΠΌΠ°Π΅Ρ ΠΏΠΎΠ»Π΅Π·Π½ΡΠ΅ ΠΏΠ°ΡΡΠΈ. Π ΠΈΡΠ½Π΅ Lasse Collin ΡΠΎΠ³Π»Π°ΡΠΈΠ»ΡΡ, ΡΡΠΎ ΠΏΡΠΎΠ΅ΠΊΡΡ Π½ΡΠΆΠ΅Π½ Π½ΠΎΠ²ΡΠΉ ΡΠΎΠΏΡΠΎΠ²ΠΎΠΆΠ΄Π°ΡΡΠΈΠΉ, ΠΏΠΎΡΠ΅ΡΠΎΠ²Π°Π» Π½Π° Π²ΡΠ³ΠΎΡΠ°Π½ΠΈΠ΅ ΠΈ ΠΏΡΠΎΠ±Π»Π΅ΠΌΡ Ρ ΠΏΡΠΈΡ ΠΈΡΠ΅ΡΠΊΠΈΠΌ Π·Π΄ΠΎΡΠΎΠ²ΡΠ΅ΠΌ, ΠΈ ΠΏΠ΅ΡΠ΅Π΄Π°Π» ΠΏΡΠ°Π²ΠΎ ΠΌΡΠΉΠ½ΡΠ΅ΠΉΠ½Π΅ΡΠ° Jia Tan. ΠΠΎΡΠ»Π΅ ΡΡΠΎΠ³ΠΎ ΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°ΡΠ΅Π»Ρ Jigar Kumar Π±ΠΎΠ»ΡΡΠ΅ Π½Π΅ ΠΏΠΎΡΠ²Π»ΡΠ»ΡΡ Π² ΡΠ°ΡΡΡΠ»ΠΊΠ΅.
ΠΠΎΠ»ΡΡΠΈΠ² ΠΏΡΠ°Π²Π° ΠΌΡΠΉΠ½ΡΠ΅ΠΉΠ½Π΅ΡΠ° Jia Tan ΡΡΠ°Π» Π°ΠΊΡΠΈΠ²Π½ΠΎ Π΄ΠΎΠ±Π°Π²Π»ΡΡΡ ΠΈΠ·ΠΌΠ΅Π½Π΅Π½ΠΈΡ Π² ΠΏΡΠΎΠ΅ΠΊΡ ΠΈ ΠΏΠΎ ΡΡΠ°ΡΠΈΡΡΠΈΠΊΠ΅ Π·Π° Π΄Π²Π° Π³ΠΎΠ΄Π° Π·Π°Π½ΡΠ» Π²ΡΠΎΡΠΎΠ΅ ΠΌΠ΅ΡΡΠΎ ΡΡΠ΅Π΄ΠΈ ΡΠ°Π·ΡΠ°Π±ΠΎΡΡΠΈΠΊΠΎΠ² ΠΏΠΎ ΡΠΈΡΠ»Ρ ΠΈΠ·ΠΌΠ΅Π½Π΅Π½ΠΈΠΉ. Π ΠΌΠ°ΡΡΠ΅ 2023 Π³ΠΎΠ΄Π° ΠΎΡΠ²Π΅ΡΡΡΠ²Π΅Π½Π½ΡΠΉ Π·Π° ΡΠ΅ΡΡΠΈΡΠΎΠ²Π°Π½ΠΈΠ΅ ΠΏΠ°ΠΊΠ΅ΡΠ° xz Π² ΡΠ΅ΡΠ²ΠΈΡΠ΅ oss-fuzz Π±ΡΠ» Π·Π°ΠΌΠ΅Π½ΡΠ½ Ρ Lasse Collin Π½Π° Jia Tan, Π° Π² ΠΈΡΠ½Π΅ Π² ΡΠΎΡΡΠ°Π² xz Π±ΡΠ»ΠΈ ΠΏΡΠΈΠ½ΡΡΡ ΠΈΠ·ΠΌΠ΅Π½Π΅Π½ΠΈΡ, Π΄ΠΎΠ±Π°Π²Π»ΡΡΡΠΈΠ΅ Π² liblzma ΠΏΠΎΠ΄Π΄Π΅ΡΠΆΠΊΡ ΠΌΠ΅Ρ Π°Π½ΠΈΠ·ΠΌΠ° IFUNC (ΠΊΠΎΠ½ΡΡΡΡΠΊΡΠΎΡ crc64_fast Π±ΡΠ» Π·Π°ΠΌΠ΅Π½ΡΠ½ Π½Π° ifunc), ΠΊΠΎΡΠΎΡΡΠΉ ΠΏΠΎΠ·Π΄Π½Π΅Π΅ Π±ΡΠ» Π·Π°Π΄Π΅ΠΉΡΡΠ²ΠΎΠ²Π°Π½ Π΄Π»Ρ ΠΎΡΠ³Π°Π½ΠΈΠ·Π°ΡΠΈΠΈ ΠΏΠ΅ΡΠ΅Ρ Π²Π°ΡΠ° ΡΡΠ½ΠΊΡΠΈΠΉ Π² Π±ΡΠΊΠ΄ΠΎΡΠ΅. ΠΠ·ΠΌΠ΅Π½Π΅Π½ΠΈΠ΅ ΠΏΡΠ΅Π΄Π»ΠΎΠΆΠΈΠ» Hans Jansen, Π° Jia Tan ΠΏΡΠΈΠ½ΡΠ» Π΅Π³ΠΎ Π² ΡΠΎΡΡΠ°Π² xz. Π£ΡΡΡΠ½Π°Ρ Π·Π°ΠΏΠΈΡΡ Hans Jansen Π±ΡΠ»Π° ΡΠΎΠ·Π΄Π°Π½Π° Π½Π΅ΠΏΠΎΡΡΠ΅Π΄ΡΡΠ²Π΅Π½Π½ΠΎ ΠΏΠ΅ΡΠ΅Π΄ ΠΎΡΠΏΡΠ°Π²ΠΊΠΎΠΉ pull-Π·Π°ΠΏΡΠΎΡΠ°.
Π ΠΈΡΠ»Π΅ 2023 Π³ΠΎΠ΄Π° Jia Tan ΠΎΡΠΏΡΠ°Π²ΠΈΠ» ΡΠ°Π·ΡΠ°Π±ΠΎΡΡΠΈΠΊΠ°ΠΌ oss-fuzz Π·Π°ΠΏΡΠΎΡ Π½Π° ΠΎΡΠΊΠ»ΡΡΠ΅Π½ΠΈΠ΅ ΠΏΡΠΎΠ²Π΅ΡΠΊΠΈ ifunc ΠΈΠ·-Π·Π° Π΅Π³ΠΎ Π½Π΅ΡΠΎΠ²ΠΌΠ΅ΡΡΠΈΠΌΠΎΡΡΠΈ Ρ ΡΠ΅ΠΆΠΈΠΌΠΎΠΌ «-fsanitize=address». Π Π½Π°ΡΠ°Π»Π΅ ΡΠ΅Π²ΡΠ°Π»Ρ 2024 Π³ΠΎΠ΄Π° ΡΡΡΠ»ΠΊΠ° Π½Π° ΡΠ°ΠΉΡ ΠΏΡΠΎΠ΅ΠΊΡΠ° Π² oss-fuzz ΠΈ Π½Π° Π³Π»Π°Π²Π½ΠΎΠΉ ΡΡΡΠ°Π½ΠΈΡΠ΅ tukaani.org Π±ΡΠ»Π° ΠΈΠ·ΠΌΠ΅Π½Π΅Π½Π° Ρ «tukaani.org/xz/» Π½Π° «xz.tukaani.org», Π³Π΄Π΅ ΠΏΠΎΠ΄Π΄ΠΎΠΌΠ΅Π½ «xz.tukaani.org» ΡΠ°Π·ΠΌΠ΅ΡΠ°Π»ΡΡ Π² ΡΠ΅ΡΠ²ΠΈΡΠ΅ GitHub Pages ΠΈ ΠΊΠΎΠ½ΡΡΠΎΠ»ΠΈΡΠΎΠ²Π°Π»ΡΡ Π»ΠΈΡΠ½ΠΎ Jia Tan. 23 ΡΠ΅Π²ΡΠ°Π»Ρ Π² ΡΠ΅ΠΏΠΎΠ·ΠΈΡΠΎΡΠΈΠΈ xz Π±ΡΠ»ΠΈ ΡΠ°Π·ΠΌΠ΅ΡΠ΅Π½Ρ Π°ΡΡ ΠΈΠ²Ρ Π΄Π»Ρ ΡΠ΅ΡΡΠΈΡΠΎΠ²Π°Π½ΠΈΡ ΡΠ°Π±ΠΎΡΡ Π΄Π΅ΠΊΠΎΠ΄ΠΈΡΠΎΠ²ΡΠΈΠΊΠ°, ΡΡΠ΅Π΄ΠΈ ΠΊΠΎΡΠΎΡΡΡ Π±ΡΠ»ΠΈ ΡΠ°ΠΉΠ»Ρ bad-3-corrupt_lzma2.xz ΠΈ good-large_compressed.lzma ΡΠΎ ΡΠΊΡΡΡΡΠΌ Π±ΡΠΊΠ΄ΠΎΡΠΎΠΌ. M4-ΠΌΠ°ΠΊΡΠΎΡΡ Π΄Π»Ρ Π°ΠΊΡΠΈΠ²Π°ΡΠΈΠΈ Π±ΡΠΊΠ΄ΠΎΡΠ° Π±ΡΠ»ΠΈ Π²ΠΊΠ»ΡΡΠ΅Π½Ρ ΡΠΎΠ»ΡΠΊΠΎ Π² tar-Π°ΡΡ ΠΈΠ² Ρ ΡΠ΅Π»ΠΈΠ·ΠΎΠΌ 5.6.0 ΠΈ Π±ΡΠ»ΠΈ ΠΈΡΠΊΠ»ΡΡΠ΅Π½Ρ ΠΈΠ· Git-ΡΠ΅ΠΏΠΎΠ·ΠΈΡΠΎΡΠΈΡ, Π½ΠΎ Π·Π°ΡΠ²Π΅ΡΠΈΠ»ΠΈΡΡ Π² ΡΠ°ΠΉΠ»Π΅ .gitignore.
17 ΠΌΠ°ΡΡΠ° Hans Jansen, ΡΠ°Π·ΡΠ°Π±ΠΎΡΠ°Π²ΡΠΈΠΉ ΡΠ°Π½Π΅Π΅ ΠΏΠ°ΡΡΠΈ Ρ ΠΏΠΎΠ΄Π΄Π΅ΡΠΆΠΊΠΎΠΉ IFUNC, Π±ΡΠ» Π·Π°ΡΠ΅Π³ΠΈΡΡΡΠΈΡΠΎΠ²Π°Π½ Π² ΠΊΠ°ΡΠ΅ΡΡΠ²Π΅ ΡΡΠ°ΡΡΠ½ΠΈΠΊΠ° ΠΏΡΠΎΠ΅ΠΊΡΠ° Debian, Π° 25 ΠΌΠ°ΡΡΠ° ΠΈΠΌ Π±ΡΠ» ΠΎΡΠΏΡΠ°Π²Π»Π΅Π½ Π·Π°ΠΏΡΠΎΡ Π½Π° ΠΎΠ±Π½ΠΎΠ²Π»Π΅Π½ΠΈΠ΅ Π²Π΅ΡΡΠΈΠΈ ΠΏΠ°ΠΊΠ΅ΡΠ° xz-utils Π² ΡΠ΅ΠΏΠΎΠ·ΠΈΡΠΎΡΠΈΠΈ Debian. ΠΠ°ΠΏΡΠΎΡΡ Π½Π° ΠΎΠ±Π½ΠΎΠ²Π»Π΅Π½ΠΈΠ΅ Π²Π΅ΡΡΠΈΠΈ ΡΠ°ΠΊΠΆΠ΅ ΠΏΠΎΡΡΡΠΏΠΈΠ»ΠΈ ΡΠ°Π·ΡΠ°Π±ΠΎΡΡΠΈΠΊΠ°ΠΌ Fedora ΠΈ Ubuntu (Π² Ubuntu ΡΠ΅ΠΏΠΎΠ·ΠΈΡΠΎΡΠΈΠΉ Π±ΡΠ» Π½Π° ΡΡΠ°Π΄ΠΈΠΈ Π·Π°ΠΌΠΎΡΠΎΠ·ΠΊΠΈ ΠΈ ΠΈΠ·ΠΌΠ΅Π½Π΅Π½ΠΈΠ΅ Π±ΡΠ»ΠΎ ΠΎΡΠΊΠ»ΠΎΠ½Π΅Π½ΠΎ).
Π ΠΏΡΠΎΡΡΠ±Π°ΠΌ ΠΎΠ±Π½ΠΎΠ²ΠΈΡΡ Π²Π΅ΡΡΠΈΡ xz ΡΠ°ΠΊΠΆΠ΅ ΠΏΡΠΈΡΠΎΠ΅Π΄ΠΈΠ½ΠΈΠ»ΠΈΡΡ Π½Π΅ΠΊΠΎΡΠΎΡΡΠ΅ ΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°ΡΠ΅Π»ΠΈ, Π·Π°ΡΠ²Π»ΡΠ²ΡΠΈΠ΅, ΡΡΠΎ Π² Π½ΠΎΠ²ΠΎΠΉ Π²Π΅ΡΡΠΈΠΈ ΡΡΡΡΠ°Π½Π΅Π½Ρ ΠΌΠ΅ΡΠ°ΡΡΠΈΠ΅ ΡΠ°Π±ΠΎΡΠ΅ ΡΠ±ΠΎΠΈ, Π²ΡΡΠ²Π»ΡΠ΅ΠΌΡΠ΅ ΠΏΡΠΈ ΠΎΡΠ»Π°Π΄ΠΊΠ΅ Π² valgrind (ΠΏΡΠΎΠ±Π»Π΅ΠΌΡ Π²ΠΎΠ·Π½ΠΈΠΊΠ°Π»ΠΈ ΠΈΠ·-Π·Π° Π½Π΅ΠΊΠΎΡΡΠ΅ΠΊΡΠ½ΠΎΠ³ΠΎ ΠΎΠΏΡΠ΅Π΄Π΅Π»Π΅Π½ΠΈΡ ΡΠ°ΡΠΊΠ»Π°Π΄ΠΊΠΈ ΡΡΠ΅ΠΊΠ° Π² ΠΎΠ±ΡΠ°Π±ΠΎΡΡΠΈΠΊΠ΅ Π±ΡΠΊΠ΄ΠΎΡΠ° ΠΈ ΡΡΠΈ ΠΏΡΠΎΠ±Π»Π΅ΠΌΡ ΡΠ°Π·ΡΠ°Π±ΠΎΡΡΠΈΠΊΠΈ Π±ΡΠΊΠ΄ΠΎΡΠ° ΠΏΠΎΡΡΠ°ΡΠ°Π»ΠΈΡΡ ΡΡΡΡΠ°Π½ΠΈΡΡ Π² Π²Π΅ΡΡΠΈΠΈ xz 5.6.1). Π‘Π±ΠΎΠ΅ΠΌ ΡΠ°ΠΊΠΆΠ΅ Π·Π°ΠΈΠ½ΡΠ΅ΡΠ΅ΡΠΎΠ²Π°Π»ΡΡ Andres Freund, ΡΠΎΡΡΡΠ΄Π½ΠΈΠΊ Microsoft, ΡΡΠ°ΡΡΠ²ΡΡΡΠΈΠΉ Π² ΡΠ°Π·ΡΠ°Π±ΠΎΡΠΊΠ΅ PostgreSQL, ΠΊΠΎΡΠΎΡΡΠΉ Π²ΡΡΠ²ΠΈΠ» Π½Π°Π»ΠΈΡΠΈΠ΅ Π±ΡΠΊΠ΄ΠΎΡΠ° ΠΈ ΠΎΠΏΠΎΠ²Π΅ΡΡΠΈΠ» ΠΎΠ± ΡΡΠΎΠΌ ΡΠΎΠΎΠ±ΡΠ΅ΡΡΠ²ΠΎ.
ΠΡΡΠΎΡΠ½ΠΈΠΊ: opennet.ru