- ΠΠ±ΡΠΈ ΠΈ ΡΠΈΡΡΠ΅ΠΌΠ½ΠΈ ΠΏΡΠΎΠ±Π»Π΅ΠΌΠΈ
- ΠΡΠ΅ΠΌΠ°Ρ Π½Π°Ρ Π° ΠΊΠΎΠΌΠΏΠΈΠ»Π°ΡΠΎΡΠ° GCC ΠΎΡ Π΄ΡΡΠ²ΠΎΡΠΎ Π½Π° ΠΈΠ·Ρ ΠΎΠ΄Π½ΠΈΡ ΠΊΠΎΠ΄ Π½Π° FreeBSD-CURRENT, ΠΊΠ°ΠΊΡΠΎ ΠΈ Π½Π΅ΠΈΠ·ΠΏΠΎΠ»Π·Π²Π°Π½ΠΈΡΠ΅ ΠΏΠΎΠΌΠΎΡΠ½ΠΈ ΠΏΡΠΎΠ³ΡΠ°ΠΌΠΈ gperf, gcov ΠΈ gtc (ΠΊΠΎΠΌΠΏΠΈΠ»Π°ΡΠΎΡ Π½Π° Π΄ΡΡΠ²ΠΎ Π½Π° ΡΡΡΡΠΎΠΉΡΡΠ²Π°). ΠΡΠΈΡΠΊΠΈ ΠΏΠ»Π°ΡΡΠΎΡΠΌΠΈ, ΠΊΠΎΠΈΡΠΎ Π½Π΅ ΠΏΠΎΠ΄Π΄ΡΡΠΆΠ°Ρ Clang, ΡΠ° ΠΏΡΠ΅ΠΌΠΈΠ½Π°Π»ΠΈ ΠΊΡΠΌ ΠΈΠ·ΠΏΠΎΠ»Π·Π²Π°Π½Π΅ Π½Π° Π²ΡΠ½ΡΠ½ΠΈ ΠΈΠ½ΡΡΡΡΠΌΠ΅Π½ΡΠΈ Π·Π° ΠΈΠ·Π³ΡΠ°ΠΆΠ΄Π°Π½Π΅, ΠΈΠ½ΡΡΠ°Π»ΠΈΡΠ°Π½ΠΈ ΠΎΡ ΠΏΠΎΡΡΠΎΠ²Π΅. ΠΠ°Π·ΠΎΠ²Π°ΡΠ° ΡΠΈΡΡΠ΅ΠΌΠ° Π΄ΠΎΡΡΠ°Π²Ρ ΠΎΡΡΠ°ΡΡΠ»Π° Π²Π΅ΡΡΠΈΡ Π½Π° GCC 4.2.1 ΠΈ ΠΈΠ½ΡΠ΅Π³ΡΠΈΡΠ°Π½Π΅ΡΠΎ Π½Π° ΠΏΠΎ-Π½ΠΎΠ²ΠΈ Π²Π΅ΡΡΠΈΠΈ Π½Π΅ Π±Π΅ΡΠ΅ Π²ΡΠ·ΠΌΠΎΠΆΠ½ΠΎ ΠΏΠΎΡΠ°Π΄ΠΈ ΠΏΡΠ΅Ρ ΠΎΠ΄Π° Π½Π° 4.2.2 ΠΊΡΠΌ GPLv3 Π»ΠΈΡΠ΅Π½Π·Π°, ΠΊΠΎΠΉΡΠΎ ΡΠ΅ ΡΠΌΡΡΠ°ΡΠ΅ Π·Π° Π½Π΅ΠΏΠΎΠ΄Ρ ΠΎΠ΄ΡΡ Π·Π° Π±Π°Π·ΠΎΠ²ΠΈΡΠ΅ ΠΊΠΎΠΌΠΏΠΎΠ½Π΅Π½ΡΠΈ Π½Π° FreeBSD. Π’Π΅ΠΊΡΡΠΈΡΠ΅ Π²Π΅ΡΡΠΈΠΈ Π½Π° GCC, Π²ΠΊΠ»ΡΡΠΈΡΠ΅Π»Π½ΠΎ GCC 9, Π²ΡΠ΅ ΠΎΡΠ΅ ΠΌΠΎΠ³Π°Ρ Π΄Π° Π±ΡΠ΄Π°Ρ ΠΈΠ½ΡΡΠ°Π»ΠΈΡΠ°Π½ΠΈ ΠΎΡ ΠΏΠ°ΠΊΠ΅ΡΠΈ ΠΈ ΠΏΠΎΡΡΠΎΠ²Π΅.
- ΠΠ½ΡΡΠ°ΡΡΡΡΠΊΡΡΡΠ°ΡΠ° Π·Π° Π΅ΠΌΡΠ»Π°ΡΠΈΡ Π½Π° ΡΡΠ΅Π΄Π°ΡΠ° Π½Π° Linux (Linuxulator) Π΄ΠΎΠ±Π°Π²ΠΈ ΠΏΠΎΠ΄Π΄ΡΡΠΆΠΊΠ° Π·Π° ΡΠΈΡΡΠ΅ΠΌΠ½ΠΎ ΠΈΠ·Π²ΠΈΠΊΠ²Π°Π½Π΅ Π½Π° sendfile, ΡΠ΅ΠΆΠΈΠΌ TCP_CORK (Π½Π΅ΠΎΠ±Ρ
ΠΎΠ΄ΠΈΠΌ Π·Π° nginx) ΠΈ ΡΠ»Π°Π³Π° MAP_32BIT (ΡΠ΅ΡΠ°Π²Π° ΠΏΡΠΎΠ±Π»Π΅ΠΌΠ° ΡΡΡ ΡΡΠ°ΡΡΠΈΡΠ°Π½Π΅ΡΠΎ Π½Π° ΠΏΠ°ΠΊΠ΅ΡΠΈ Ρ Mono ΠΎΡ Ubuntu Bionic). ΠΡΠΎΠ±Π»Π΅ΠΌΠΈΡΠ΅ Ρ ΡΠ°Π·Π΄Π΅Π»ΠΈΡΠ΅Π»Π½Π°ΡΠ° ΡΠΏΠΎΡΠΎΠ±Π½ΠΎΡΡ Π½Π° DNS ΠΏΡΠΈ ΠΈΠ·ΠΏΠΎΠ»Π·Π²Π°Π½Π΅ Π½Π° glibc, ΠΏΠΎ-Π½ΠΎΠ²Π° ΠΎΡ 2.30 (Π½Π°ΠΏΡΠΈΠΌΠ΅Ρ ΠΎΡ CentOS 8), ΡΠ° ΡΠ°Π·ΡΠ΅ΡΠ΅Π½ΠΈ.
ΠΠ½ΡΡΠ°ΡΡΡΡΠΊΡΡΡΠ°ΡΠ° Π·Π° Π½Π΅ΠΏΡΠ΅ΠΊΡΡΠ½Π°ΡΠ° ΠΈΠ½ΡΠ΅Π³ΡΠ°ΡΠΈΡ ΠΏΡΠ΅Π΄ΠΎΡΡΠ°Π²Ρ Π²ΡΠ·ΠΌΠΎΠΆΠ½ΠΎΡΡ Π·Π° ΡΡΠ°ΡΡΠΈΡΠ°Π½Π΅ Π½Π° LTP (Linux Testing Project) Π·Π°Π΄Π°Π½ΠΈΡ, ΠΈΠ·ΠΏΡΠ»Π½ΡΠ²Π°ΡΠΈ Linuxulator, Π·Π° Π΄Π° ΡΠ΅ ΡΠ΅ΡΡΠ²Π°Ρ ΠΏΠΎΠ΄ΠΎΠ±ΡΠ΅Π½ΠΈΡΡΠ°, Π½Π°ΠΏΡΠ°Π²Π΅Π½ΠΈ Π² ΠΊΠΎΠ΄Π° Π·Π° ΠΏΠΎΠ΄Π΄ΡΡΠΆΠΊΠ° Π½Π° Linux. ΠΠΊΠΎΠ»ΠΎ 400 ΡΠ΅ΡΡΠ° ΡΠ΅ ΠΏΡΠΎΠ²Π°Π»ΡΡ ΠΈ ΠΈΠ·ΠΈΡΠΊΠ²Π°Ρ ΠΊΠΎΡΠΈΠ³ΠΈΡΠ°Π½Π΅ (Π½ΡΠΊΠΎΠΈ Π³ΡΠ΅ΡΠΊΠΈ ΡΠ° ΠΏΡΠΈΡΠΈΠ½Π΅Π½ΠΈ ΠΎΡ ΡΠ°Π»ΡΠΈΠ²ΠΈ ΠΏΠΎΠ»ΠΎΠΆΠΈΡΠ΅Π»Π½ΠΈ ΡΠ΅Π·ΡΠ»ΡΠ°ΡΠΈ, Π½ΡΠΊΠΎΠΈ ΠΈΠ·ΠΈΡΠΊΠ²Π°Ρ ΡΡΠΈΠ²ΠΈΠ°Π»Π½ΠΈ ΠΊΠΎΡΠ΅ΠΊΡΠΈΠΈ, Π½ΠΎ ΠΈΠΌΠ° Π΄ΡΡΠ³ΠΈ, ΠΊΠΎΠΈΡΠΎ ΠΈΠ·ΠΈΡΠΊΠ²Π°Ρ Π΄ΠΎΠ±Π°Π²ΡΠ½Π΅ Π½Π° ΠΏΠΎΠ΄Π΄ΡΡΠΆΠΊΠ° Π·Π° Π½ΠΎΠ²ΠΈ ΡΠΈΡΡΠ΅ΠΌΠ½ΠΈ ΠΈΠ·Π²ΠΈΠΊΠ²Π°Π½ΠΈΡ Π·Π° ΠΊΠΎΡΠΈΠ³ΠΈΡΠ°Π½Π΅). ΠΠ΅ΡΠ΅ ΠΈΠ·Π²ΡΡΡΠ΅Π½Π° ΡΠ°Π±ΠΎΡΠ° Π·Π° ΠΏΠΎΡΠΈΡΡΠ²Π°Π½Π΅ Π½Π° ΠΊΠΎΠ΄Π° Π½Π° Linuxulator ΠΈ ΠΎΠΏΡΠΎΡΡΡΠ²Π°Π½Π΅ Π½Π° ΠΎΡΡΡΡΠ°Π½ΡΠ²Π°Π½Π΅ΡΠΎ Π½Π° Π³ΡΠ΅ΡΠΊΠΈ. ΠΠΎΠ΄Π³ΠΎΡΠ²Π΅Π½ΠΈ ΡΠ° ΠΊΠΎΡΠ΅ΠΊΡΠΈΠΈ Ρ ΠΏΠΎΠ΄Π΄ΡΡΠΆΠΊΠ° Π½Π° ΡΠ°Π·ΡΠΈΡΠ΅Π½ΠΈ Π°ΡΡΠΈΠ±ΡΡΠΈ ΠΈ ΡΠΈΡΡΠ΅ΠΌΠ½ΠΎΡΠΎ ΠΈΠ·Π²ΠΈΠΊΠ²Π°Π½Π΅ fexecve, Π½ΠΎ Π²ΡΠ΅ ΠΎΡΠ΅ Π½Π΅ ΡΠ° ΠΏΡΠ΅Π³Π»Π΅Π΄Π°Π½ΠΈ. - ΠΡΠΎΠ΄ΡΠ»ΠΆΠ°Π²Π°Ρ ΡΡΠ΅ΡΠΈΡΠ΅ Π½Π° ΡΠ°Π±ΠΎΡΠ½Π°ΡΠ° Π³ΡΡΠΏΠ°, ΡΡΠ·Π΄Π°Π΄Π΅Π½Π° Π·Π° ΠΈΠ·Π²ΡΡΡΠ²Π°Π½Π΅ Π½Π° ΠΌΠΈΠ³ΡΠ°ΡΠΈΡΡΠ° Π½Π° ΠΈΠ·Ρ ΠΎΠ΄Π½ΠΈΡΠ΅ ΠΊΠΎΠ΄ΠΎΠ²Π΅ ΠΎΡ ΡΠ΅Π½ΡΡΠ°Π»ΠΈΠ·ΠΈΡΠ°Π½Π°ΡΠ° ΡΠΈΡΡΠ΅ΠΌΠ° Π·Π° ΠΊΠΎΠ½ΡΡΠΎΠ» Π½Π° ΠΈΠ·Ρ ΠΎΠ΄Π½ΠΈΡ ΠΊΠΎΠ΄ Subversion ΠΊΡΠΌ Π΄Π΅ΡΠ΅Π½ΡΡΠ°Π»ΠΈΠ·ΠΈΡΠ°Π½Π°ΡΠ° ΡΠΈΡΡΠ΅ΠΌΠ° Git. Π ΠΏΡΠΎΡΠ΅Ρ Π½Π° ΠΈΠ·Π³ΠΎΡΠ²ΡΠ½Π΅ Π΅ Π΄ΠΎΠΊΠ»Π°Π΄ Ρ ΠΏΡΠ΅Π΄Π»ΠΎΠΆΠ΅Π½ΠΈΡ Π·Π° ΠΌΠΈΠ³ΡΠ°ΡΠΈΡ.
- Π
rtld (Π»ΠΈΠ½ΠΊΠ΅Ρ ΠΏΠΎ Π²ΡΠ΅ΠΌΠ΅ Π½Π° ΠΈΠ·ΠΏΡΠ»Π½Π΅Π½ΠΈΠ΅) ΠΏΠΎΠ΄ΠΎΠ±ΡΠ΅Π½ ΡΠ΅ΠΆΠΈΠΌ Π½Π° Π΄ΠΈΡΠ΅ΠΊΡΠ½ΠΎ ΠΈΠ·ΠΏΡΠ»Π½Π΅Π½ΠΈΠ΅ (β/libexec/ld-elf.so.1 {ΠΏΡΡ} {Π°ΡΠ³ΡΠΌΠ΅Π½ΡΠΈ}β). - ΠΡΠΎΠ΅ΠΊΡΡΡ Π·Π° fuzzing ΡΠ΅ΡΡΠ²Π°Π½Π΅ Π½Π° ΡΠ΄ΡΠΎΡΠΎ Π½Π° FreeBSD Ρ ΠΏΠΎΠΌΠΎΡΡΠ° Π½Π° ΡΠΈΡΡΠ΅ΠΌΠ°ΡΠ° syzkaller ΠΏΡΠΎΠ΄ΡΠ»ΠΆΠ°Π²Π° Π΄Π° ΡΠ΅ ΡΠ°Π·Π²ΠΈΠ²Π°. ΠΡΠ΅Π· ΠΎΡΡΠ΅ΡΠ½ΠΈΡ ΠΏΠ΅ΡΠΈΠΎΠ΄ Π±ΡΡ Π° ΠΎΡΡΡΡΠ°Π½Π΅Π½ΠΈ ΠΏΡΠΎΠ±Π»Π΅ΠΌΠΈΡΠ΅ Π² ΠΌΡΠ΅ΠΆΠΎΠ²ΠΈΡ ΡΡΠ΅ΠΊ ΠΈ ΠΊΠΎΠ΄Π° Π·Π° ΡΠ°Π±ΠΎΡΠ° Ρ ΡΠ°Π±Π»ΠΈΡΠΈ Ρ ΡΠ°ΠΉΠ»ΠΎΠ²ΠΈ Π΄Π΅ΡΠΊΡΠΈΠΏΡΠΎΡΠΈ, ΠΈΠ΄Π΅Π½ΡΠΈΡΠΈΡΠΈΡΠ°Π½ΠΈ Ρ ΠΏΠΎΠΌΠΎΡΡΠ° Π½Π° syzkaller. Π‘Π»Π΅Π΄ Π΄ΠΈΠ°Π³Π½ΠΎΡΡΠΈΠΊΠ°ΡΠ° Π½Π° Π³ΡΠ΅ΡΠΊΠ°ΡΠ° Π±ΡΡ Π° Π΄ΠΎΠ±Π°Π²Π΅Π½ΠΈ ΠΏΡΠΎΠΌΠ΅Π½ΠΈ ΠΊΡΠΌ SCTP ΡΡΠ΅ΠΊΠ°, Π·Π° Π΄Π° ΡΠ΅ ΡΠ»Π΅ΡΠ½ΠΈ ΠΎΡΡΡΡΠ°Π½ΡΠ²Π°Π½Π΅ΡΠΎ Π½Π° Π³ΡΠ΅ΡΠΊΠΈ. ΠΡΠΌ Π½Π°Π±ΠΎΡΠ° stress2 ΡΠ° Π΄ΠΎΠ±Π°Π²Π΅Π½ΠΈ ΠΏΡΠ°Π²ΠΈΠ»Π° Π·Π° ΠΈΠ΄Π΅Π½ΡΠΈΡΠΈΡΠΈΡΠ°Π½Π΅ Π½Π° Π²ΡΠ·ΠΌΠΎΠΆΠ½ΠΈ ΡΠ΅Π³ΡΠ΅ΡΠΈΠΈ. ΠΠΎΠ±Π°Π²Π΅Π½Π° Π΅ ΠΏΠΎΠ΄Π΄ΡΡΠΆΠΊΠ° Π·Π° fuzz ΡΠ΅ΡΡΠ²Π°Π½Π΅ Π½Π° Π½ΠΎΠ²ΠΈ ΡΠΈΡΡΠ΅ΠΌΠ½ΠΈ ΠΈΠ·Π²ΠΈΠΊΠ²Π°Π½ΠΈΡ, Π²ΠΊΠ»ΡΡΠΈΡΠ΅Π»Π½ΠΎ ΠΈΠ·Π²ΠΈΠΊΠ²Π°Π½ΠΈΡ Π½Π° ΠΏΠΎΠ΄ΡΠΈΡΡΠ΅ΠΌΠ°ΡΠ° copy_file_range(), __realpathat() ΠΈ Capsicum. ΠΡΠΎΠ΄ΡΠ»ΠΆΠ°Π²Π° ΡΠ°Π±ΠΎΡΠ°ΡΠ° ΠΏΠΎ ΠΏΠΎΠΊΡΠΈΠ²Π°Π½Π΅ Π½Π° Π΅ΠΌΡΠ»Π°ΡΠΈΠΎΠ½Π½ΠΈΡ ΡΠ»ΠΎΠΉ Π½Π° Linux Ρ ΡΠ΅ΡΡΠ²Π°Π½Π΅ Π½Π° ΡΠ°Π·ΠΌΠΈΠ²Π°Π½Π΅. ΠΠΈΠ΅ Π°Π½Π°Π»ΠΈΠ·ΠΈΡΠ°Ρ ΠΌΠ΅ ΠΈ Π΅Π»ΠΈΠΌΠΈΠ½ΠΈΡΠ°Ρ ΠΌΠ΅ Π³ΡΠ΅ΡΠΊΠΈΡΠ΅, ΠΎΡΠ±Π΅Π»ΡΠ·Π°Π½ΠΈ Π² ΠΏΠΎΡΠ»Π΅Π΄Π½ΠΈΡΠ΅ ΠΎΡΡΠ΅ΡΠΈ Π·Π° ΡΠΊΠ°Π½ΠΈΡΠ°Π½Π΅ Π½Π° Coverity.
- Π‘ΠΈΡΡΠ΅ΠΌΠ°ΡΠ° Π·Π° Π½Π΅ΠΏΡΠ΅ΠΊΡΡΠ½Π°ΡΠ° ΠΈΠ½ΡΠ΅Π³ΡΠ°ΡΠΈΡ Π΅ ΠΏΡΠ΅ΠΌΠΈΠ½Π°Π»Π° ΠΊΡΠΌ ΠΈΠ·ΠΏΡΠ»Π½Π΅Π½ΠΈΠ΅ Π½Π° Π²ΡΠΈΡΠΊΠΈ ΡΠ΅ΡΡΠΎΠ²Π΅ Π½Π° Π³Π»Π°Π²Π½ΠΈΡ ΠΊΠ»ΠΎΠ½ ΡΠ°ΠΌΠΎ Ρ ΠΏΠΎΠΌΠΎΡΡΠ° Π½Π° clang/lld. ΠΡΠΈ ΡΠ΅ΡΡΠ²Π°Π½Π΅ Π·Π° RISC-V Π΅ ΠΎΡΠΈΠ³ΡΡΠ΅Π½ΠΎ ΡΠΎΡΠΌΠΈΡΠ°Π½Π΅ΡΠΎ Π½Π° ΠΏΡΠ»Π½ΠΎ Π΄ΠΈΡΠΊΠΎΠ²ΠΎ ΠΈΠ·ΠΎΠ±ΡΠ°ΠΆΠ΅Π½ΠΈΠ΅ Π·Π° ΠΏΡΠΎΠ²Π΅ΠΆΠ΄Π°Π½Π΅ Π½Π° ΡΠ΅ΡΡΠΎΠ²Π΅ Π² QEMU Ρ ΠΏΠΎΠΌΠΎΡΡΠ° Π½Π° OpenSBI. ΠΠΎΠ±Π°Π²Π΅Π½ΠΈ ΡΠ° Π½ΠΎΠ²ΠΈ Π·Π°Π΄Π°ΡΠΈ Π·Π° ΡΠ΅ΡΡΠ²Π°Π½Π΅ Π½Π° ΠΈΠ·ΠΎΠ±ΡΠ°ΠΆΠ΅Π½ΠΈΡ ΠΈ Π²ΠΈΡΡΡΠ°Π»Π½ΠΈ ΠΌΠ°ΡΠΈΠ½ΠΈ powerpc64 (FreeBSD-head-powerpc64-images, FreeBSD-head-powerpc64-testvm).
- Π Π°Π±ΠΎΡΠΈ ΡΠ΅ ΠΏΠΎ ΠΏΡΠ΅Ρ Π²ΡΡΠ»ΡΠ½Π΅ Π½Π° ΡΠ΅ΡΡΠΎΠ²ΠΈΡ ΠΏΠ°ΠΊΠ΅Ρ Kyua ΠΎΡ ΠΏΠΎΡΡΠΎΠ²Π΅ΡΠ΅ (devel/kyua) ΠΊΡΠΌ Π±Π°Π·ΠΎΠ²Π°ΡΠ° ΡΠΈΡΡΠ΅ΠΌΠ° Π·Π° ΡΠ΅ΡΠ°Π²Π°Π½Π΅ Π½Π° ΠΏΡΠΎΠ±Π»Π΅ΠΌΠΈ (ΠΏΠ°ΠΊΠ΅ΡΠΈΡΠ΅ ΡΠ΅ ΠΈΠ½ΡΡΠ°Π»ΠΈΡΠ°Ρ ΠΌΠ½ΠΎΠ³ΠΎ Π±Π°Π²Π½ΠΎ), ΠΊΠΎΠΈΡΠΎ Π²ΡΠ·Π½ΠΈΠΊΠ²Π°Ρ ΠΏΡΠΈ ΠΈΠ·ΠΏΠΎΠ»Π·Π²Π°Π½Π΅ Π½Π° Kyua Π½Π° Π½ΠΎΠ²ΠΈ Π°ΡΡ ΠΈΡΠ΅ΠΊΡΡΡΠΈ, ΡΠ°Π·ΡΠ°Π±ΠΎΡΠΊΠ°ΡΠ° Π·Π° ΠΊΠΎΠΈΡΠΎ ΡΠ΅ ΠΈΠ·Π²ΡΡΡΠ²Π° Ρ ΠΏΠΎΠΌΠΎΡΡΠ° Π½Π° Π΅ΠΌΡΠ»Π°ΡΠΎΡ ΠΈΠ»ΠΈ FPGA. ΠΠ½ΡΠ΅Π³ΡΠΈΡΠ°Π½Π΅ΡΠΎ Π² Π±Π°Π·ΠΎΠ²Π°ΡΠ° ΡΠΈΡΡΠ΅ΠΌΠ° Π·Π½Π°ΡΠΈΡΠ΅Π»Π½ΠΎ ΡΠ΅ ΠΎΠΏΡΠΎΡΡΠΈ ΡΠ΅ΡΡΠ²Π°Π½Π΅ΡΠΎ Π½Π° Π²Π³ΡΠ°Π΄Π΅Π½ΠΈ ΠΏΠ»Π°ΡΡΠΎΡΠΌΠΈ ΠΈ ΠΈΠ½ΡΠ΅ΡΡΠ΅ΠΉΡ ΡΡΡ ΡΠΈΡΡΠ΅ΠΌΠΈ Π·Π° Π½Π΅ΠΏΡΠ΅ΠΊΡΡΠ½Π°ΡΠ° ΠΈΠ½ΡΠ΅Π³ΡΠ°ΡΠΈΡ.
- ΠΠ΅ΡΠ΅ ΡΡΠ°ΡΡΠΈΡΠ°Π½ ΠΏΡΠΎΠ΅ΠΊΡ Π·Π° ΠΎΠΏΡΠΈΠΌΠΈΠ·ΠΈΡΠ°Π½Π΅ Π½Π° ΠΏΡΠΎΠΈΠ·Π²ΠΎΠ΄ΠΈΡΠ΅Π»Π½ΠΎΡΡΡΠ° Π½Π° Π΄ΡΠ°ΠΉΠ²Π΅ΡΠ° Π½Π° ΠΌΡΠ΅ΠΆΠΎΠ²ΠΈΡ ΠΌΠΎΡΡ
if_bridge , ΠΊΠΎΠΉΡΠΎ ΠΈΠ·ΠΏΠΎΠ»Π·Π²Π° Π΅Π΄ΠΈΠ½ ΠΌΡΡΠ΅ΠΊΡ Π·Π° Π·Π°ΠΊΠ»ΡΡΠ²Π°Π½Π΅ Π½Π° Π²ΡΡΡΠ΅ΡΠ½ΠΈ Π΄Π°Π½Π½ΠΈ, ΠΊΠΎΠ΅ΡΠΎ Π½Π΅ ΠΏΠΎΠ·Π²ΠΎΠ»ΡΠ²Π° ΠΏΠΎΡΡΠΈΠ³Π°Π½Π΅ Π½Π° ΠΆΠ΅Π»Π°Π½Π°ΡΠ° ΠΏΡΠΎΠΈΠ·Π²ΠΎΠ΄ΠΈΡΠ΅Π»Π½ΠΎΡΡ Π½Π° ΡΠΈΡΡΠ΅ΠΌΠΈ Ρ Π³ΠΎΠ»ΡΠΌ Π±ΡΠΎΠΉ jail ΡΡΠ΅Π΄ΠΈ ΠΈΠ»ΠΈ Π²ΠΈΡΡΡΠ°Π»Π½ΠΈ ΠΌΠ°ΡΠΈΠ½ΠΈ, ΠΎΠ±Π΅Π΄ΠΈΠ½Π΅Π½ΠΈ Π² Π΅Π΄Π½Π° ΠΌΡΠ΅ΠΆΠ°. ΠΠ° ΡΠΎΠ·ΠΈ Π΅ΡΠ°ΠΏ ΡΠ° Π΄ΠΎΠ±Π°Π²Π΅Π½ΠΈ ΡΠ΅ΡΡΠΎΠ²Π΅ ΠΊΡΠΌ ΠΊΠΎΠ΄Π° Π·Π° ΠΏΡΠ΅Π΄ΠΎΡΠ²ΡΠ°ΡΡΠ²Π°Π½Π΅ Π½Π° ΡΠ΅Π³ΡΠ΅ΡΠΈΠΈ ΠΏΡΠΈ ΠΌΠΎΠ΄Π΅ΡΠ½ΠΈΠ·Π°ΡΠΈΡΡΠ° Π½Π° ΡΠ°Π±ΠΎΡΠ°ΡΠ° Ρ ΠΊΠ»ΡΡΠ°Π»ΠΊΠΈ. ΠΠ±ΠΌΠΈΡΠ»Ρ ΡΠ΅ Π²ΡΠ·ΠΌΠΎΠΆΠ½ΠΎΡΡΡΠ° Π·Π° ΠΈΠ·ΠΏΠΎΠ»Π·Π²Π°Π½Π΅ Π½Π° ConcurrencyKit Π·Π° ΠΏΠ°ΡΠ°Π»Π΅Π»ΠΈΠ·ΠΈΡΠ°Π½Π΅ Π½Π° ΠΌΠ°Π½ΠΈΠΏΡΠ»Π°ΡΠΎΡΠΈ Π·Π° ΠΏΡΠ΅Π½ΠΎΡ Π½Π° Π΄Π°Π½Π½ΠΈ (bridge_input(), bridge_output(), bridge_forward(), ...). - ΠΠΎΠ±Π°Π²Π΅Π½ΠΎ Π΅ Π½ΠΎΠ²ΠΎ ΡΠΈΡΡΠ΅ΠΌΠ½ΠΎ ΠΈΠ·Π²ΠΈΠΊΠ²Π°Π½Π΅ Π½Π° sigfastblock, Π·Π° Π΄Π° ΡΠ΅ ΠΏΠΎΠ·Π²ΠΎΠ»ΠΈ Π½Π° Π½ΠΈΡΠΊΠ° Π΄Π° ΡΠΊΠ°ΠΆΠ΅ Π±Π»ΠΎΠΊ ΠΏΠ°ΠΌΠ΅Ρ Π·Π° Π±ΡΡΠ· ΠΌΠ°Π½ΠΈΠΏΡΠ»Π°ΡΠΎΡ Π½Π° ΡΠΈΠ³Π½Π°Π»ΠΈ, Π·Π° Π΄Π° ΡΠ΅ ΠΏΠΎΠ΄ΠΎΠ±ΡΠΈ ΠΏΡΠΎΠΈΠ·Π²ΠΎΠ΄ΠΈΡΠ΅Π»Π½ΠΎΡΡΡΠ° Π½Π° ΠΌΠ°Π½ΠΈΠΏΡΠ»Π°ΡΠΎΡΠΈΡΠ΅ Π½Π° ΠΈΠ·ΠΊΠ»ΡΡΠ΅Π½ΠΈΡ.
- Π―Π΄ΡΠΎΡΠΎ Π΄ΠΎΠ±Π°Π²Ρ ΠΏΠΎΠ΄Π΄ΡΡΠΆΠΊΠ° Π·Π° LSE (Large System Extension) Π°ΡΠΎΠΌΠ°ΡΠ½ΠΈ ΠΈΠ½ΡΡΡΡΠΊΡΠΈΠΈ, ΠΏΠΎΠ΄Π΄ΡΡΠΆΠ°Π½ΠΈ ΠΎΡ ARMv8.1 ΡΠΈΡΡΠ΅ΠΌΠΈ. Π’Π΅Π·ΠΈ ΠΈΠ½ΡΡΡΡΠΊΡΠΈΠΈ ΡΠ° Π½Π΅ΠΎΠ±Ρ ΠΎΠ΄ΠΈΠΌΠΈ Π·Π° ΠΏΠΎΠ΄ΠΎΠ±ΡΡΠ²Π°Π½Π΅ Π½Π° ΠΏΡΠΎΠΈΠ·Π²ΠΎΠ΄ΠΈΡΠ΅Π»Π½ΠΎΡΡΡΠ° ΠΏΡΠΈ ΡΠ°Π±ΠΎΡΠ° Π½Π° ΠΏΠ»Π°ΡΠΊΠΈ Cavium ThunderX2 ΠΈ AWS Graviton 2. ΠΠΎΠ±Π°Π²Π΅Π½ΠΈΡΠ΅ ΠΏΡΠΎΠΌΠ΅Π½ΠΈ ΠΎΡΠΊΡΠΈΠ²Π°Ρ ΠΏΠΎΠ΄Π΄ΡΡΠΆΠΊΠ° Π½Π° LSE ΠΈ Π΄ΠΈΠ½Π°ΠΌΠΈΡΠ½ΠΎ Π°ΠΊΡΠΈΠ²ΠΈΡΠ°Ρ Π°ΡΠΎΠΌΠ°ΡΠ½ΠΎΡΠΎ Π²Π½Π΅Π΄ΡΡΠ²Π°Π½Π΅ Π²ΡΠ· ΠΎΡΠ½ΠΎΠ²Π° Π½Π° ΡΡΡ . ΠΠΎ Π²ΡΠ΅ΠΌΠ΅ Π½Π° ΡΠ΅ΡΡΠ²Π°Π½Π΅ΡΠΎ ΠΈΠ·ΠΏΠΎΠ»Π·Π²Π°Π½Π΅ΡΠΎ Π½Π° LSE ΠΏΠΎΠ·Π²ΠΎΠ»ΠΈ Π΄Π° ΡΠ΅ Π½Π°ΠΌΠ°Π»ΠΈ Π²ΡΠ΅ΠΌΠ΅ΡΠΎ Π½Π° ΠΏΡΠΎΡΠ΅ΡΠΎΡΠ°, ΠΏΡΠ΅ΠΊΠ°ΡΠ°Π½ΠΎ ΠΏΡΠΈ ΡΠ³Π»ΠΎΠ±ΡΠ²Π°Π½Π΅ Π½Π° ΡΠ΄ΡΠΎΡΠΎ Ρ 15%.
- ΠΠ·Π²ΡΡΡΠ΅Π½Π° Π΅ ΠΎΠΏΡΠΈΠΌΠΈΠ·Π°ΡΠΈΡ Π½Π° ΠΏΡΠΎΠΈΠ·Π²ΠΎΠ΄ΠΈΡΠ΅Π»Π½ΠΎΡΡΡΠ° ΠΈ ΡΡΠ½ΠΊΡΠΈΠΎΠ½Π°Π»Π½ΠΎΡΡΡΠ° Π½Π° ΠΈΠ½ΡΡΡΡΠΌΠ΅Π½ΡΠ°ΡΠΈΡΠΌΠ° Π΅ ΡΠ°Π·ΡΠΈΡΠ΅Π½Π° Π·Π° ΠΈΠ·ΠΏΡΠ»Π½ΠΈΠΌΠΈ ΡΠ°ΠΉΠ»ΠΎΠ²Π΅ Π²ΡΠ² ΡΠΎΡΠΌΠ°Ρ ELF.
ΠΠΎΠ±Π°Π²Π΅Π½Π° ΠΏΠΎΠ΄Π΄ΡΡΠΆΠΊΠ° Π·Π° ΠΊΠ΅ΡΠΈΡΠ°Π½Π΅ Π½Π° ΠΈΠ½ΡΠΎΡΠΌΠ°ΡΠΈΡ Π·Π° ΠΎΡΡΡΡΠ°Π½ΡΠ²Π°Π½Π΅ Π½Π° Π³ΡΠ΅ΡΠΊΠΈ Π½Π° DWARF, ΡΠ΅ΡΠ΅Π½ΠΈ ΠΏΡΠΎΠ±Π»Π΅ΠΌΠΈ Π² ΠΏΠΎΠΌΠΎΡΠ½ΠΈΡΠ΅ ΠΏΡΠΎΠ³ΡΠ°ΠΌΠΈ elfcopy/objcopy, Π΄ΠΎΠ±Π°Π²Π΅Π½Π° ΠΎΠ±ΡΠ°Π±ΠΎΡΠΊΠ° Π½Π° DW_AT_ranges,
readelf ΠΏΡΠΈΠ»Π°Π³Π° ΡΠΏΠΎΡΠΎΠ±Π½ΠΎΡΡΡΠ° Π·Π° Π΄Π΅ΠΊΠΎΠ΄ΠΈΡΠ°Π½Π΅ Π½Π° ΡΠ»Π°Π³ΠΎΠ²Π΅ΡΠ΅ PROTMAX_DISABLE, STKGAP_DISABLE ΠΈ WXNEEDED, ΠΊΠ°ΠΊΡΠΎ ΠΈ Xen ΠΈ GNU Build-ID.
- ΡΠΈΠ³ΡΡΠ½ΠΎΡΡ
- ΠΠ° Π΄Π° ΡΠ΅ ΠΏΠΎΠ΄ΠΎΠ±ΡΠΈ ΠΏΡΠΎΠΈΠ·Π²ΠΎΠ΄ΠΈΡΠ΅Π»Π½ΠΎΡΡΡΠ° Π½Π° FreeBSD Π² ΠΎΠ±Π»Π°ΡΠ½ΠΈΡΠ΅ ΡΡΠ΅Π΄ΠΈ Π½Π° Azure, ΡΠ΅ ΡΠ°Π±ΠΎΡΠΈ Π·Π° ΠΎΡΠΈΠ³ΡΡΡΠ²Π°Π½Π΅ Π½Π° ΠΏΠΎΠ΄Π΄ΡΡΠΆΠΊΠ° Π·Π° HyperV Socket ΠΌΠ΅Ρ Π°Π½ΠΈΠ·ΠΌΠ°, ΠΊΠΎΠΉΡΠΎ ΠΏΠΎΠ·Π²ΠΎΠ»ΡΠ²Π° ΠΈΠ·ΠΏΠΎΠ»Π·Π²Π°Π½Π΅ΡΠΎ Π½Π° ΠΈΠ½ΡΠ΅ΡΡΠ΅ΠΉΡ Π½Π° ΡΠΎΠΊΠ΅Ρ Π·Π° Π²Π·Π°ΠΈΠΌΠΎΠ΄Π΅ΠΉΡΡΠ²ΠΈΠ΅ ΠΌΠ΅ΠΆΠ΄Ρ ΡΠΈΡΡΠ΅ΠΌΠ°ΡΠ° Π·Π° Π³ΠΎΡΡΠΈ ΠΈ Ρ ΠΎΡΡ ΡΡΠ΅Π΄Π°ΡΠ° Π±Π΅Π· Π½Π°ΡΡΡΠΎΠΉΠΊΠ° Π½Π° ΠΌΡΠ΅ΠΆΠ°.
- Π Π°Π±ΠΎΡΠΈ ΡΠ΅ Π·Π° ΠΎΡΠΈΠ³ΡΡΡΠ²Π°Π½Π΅ Π½Π° ΠΏΠΎΠ²ΡΠ°ΡΡΡΠΈ ΡΠ΅ ΠΊΠΎΠΌΠΏΠΈΠ»Π°ΡΠΈΠΈ Π½Π° FreeBSD, ΠΊΠΎΠ΅ΡΠΎ ΠΏΡΠ°Π²ΠΈ Π²ΡΠ·ΠΌΠΎΠΆΠ½ΠΎ Π΄Π° ΡΠ΅ Π³Π°ΡΠ°Π½ΡΠΈΡΠ°, ΡΠ΅ ΠΈΠ·ΠΏΡΠ»Π½ΠΈΠΌΠΈΡΠ΅ ΡΠ°ΠΉΠ»ΠΎΠ²Π΅ Π½Π° ΡΠΈΡΡΠ΅ΠΌΠ½ΠΈΡΠ΅ ΠΊΠΎΠΌΠΏΠΎΠ½Π΅Π½ΡΠΈ ΡΠ° ΠΊΠΎΠΌΠΏΠΈΠ»ΠΈΡΠ°Π½ΠΈ ΡΠΎΡΠ½ΠΎ ΠΎΡ Π΄Π΅ΠΊΠ»Π°ΡΠΈΡΠ°Π½ΠΈΡΠ΅ ΠΈΠ·Ρ ΠΎΠ΄Π½ΠΈ ΠΊΠΎΠ΄ΠΎΠ²Π΅ ΠΈ Π½Π΅ ΡΡΠ΄ΡΡΠΆΠ°Ρ Π²ΡΠ½ΡΠ½ΠΈ ΠΏΡΠΎΠΌΠ΅Π½ΠΈ.
- ΠΡΠ·ΠΌΠΎΠΆΠ½ΠΎΡΡΡΠ° Π·Π° ΠΊΠΎΠ½ΡΡΠΎΠ»ΠΈΡΠ°Π½Π΅ Π½Π° Π²ΠΊΠ»ΡΡΠ²Π°Π½Π΅ΡΠΎ Π½Π° Π΄ΠΎΠΏΡΠ»Π½ΠΈΡΠ΅Π»Π½ΠΈ Π·Π°ΡΠΈΡΠ½ΠΈ ΠΌΠ΅Ρ Π°Π½ΠΈΠ·ΠΌΠΈ (ASLR, PROT_MAX, ΠΏΡΠΎΠΏΡΡΠΊ Π² ΡΡΠ΅ΠΊΠ°, W+X ΠΊΠ°ΡΡΠΎΠ³ΡΠ°ΡΠΈΡΠ°Π½Π΅) Π½Π° Π½ΠΈΠ²ΠΎ ΠΎΡΠ΄Π΅Π»Π½ΠΈ ΠΏΡΠΎΡΠ΅ΡΠΈ Π΅ Π΄ΠΎΠ±Π°Π²Π΅Π½Π° ΠΊΡΠΌ ΠΏΠΎΠΌΠΎΡΠ½Π°ΡΠ° ΠΏΡΠΎΠ³ΡΠ°ΠΌΠ° elfctl
- Π‘ΠΈΡΡΠ΅ΠΌΠΈ Π·Π° ΡΡΡ
ΡΠ°Π½Π΅Π½ΠΈΠ΅ ΠΈ ΡΠ°ΠΉΠ»ΠΎΠ²Π΅
- Π Π°Π±ΠΎΡΠΈ ΡΠ΅ ΠΏΠΎ ΠΏΡΠΈΠ»Π°Π³Π°Π½Π΅ΡΠΎ Π½Π° ΡΠΏΠΎΡΠΎΠ±Π½ΠΎΡΡΡΠ° Π½Π° NFS Π΄Π° ΡΠ°Π±ΠΎΡΠΈ ΠΏΠΎ ΠΊΡΠΈΠΏΡΠΈΡΠ°Π½ ΠΊΠΎΠΌΡΠ½ΠΈΠΊΠ°ΡΠΈΠΎΠ½Π΅Π½ ΠΊΠ°Π½Π°Π», Π±Π°Π·ΠΈΡΠ°Π½ Π½Π° TLS 1.3, Π²ΠΌΠ΅ΡΡΠΎ Π΄Π° ΠΈΠ·ΠΏΠΎΠ»Π·Π²Π° Kerberos (ΡΠ΅ΠΆΠΈΠΌ sec=krb5p), ΠΊΠΎΠΉΡΠΎ Π΅ ΠΎΠ³ΡΠ°Π½ΠΈΡΠ΅Π½ Π΄ΠΎ ΠΊΡΠΈΠΏΡΠΈΡΠ°Π½Π΅ ΡΠ°ΠΌΠΎ Π½Π° RPC ΡΡΠΎΠ±ΡΠ΅Π½ΠΈΡ ΠΈ ΡΠ΅ ΠΏΡΠΈΠ»Π°Π³Π° ΡΠ°ΠΌΠΎ Π² ΡΠΎΡΡΡΠ΅ΡΠ°. ΠΠΎΠ²Π°ΡΠ° ΡΠ΅Π°Π»ΠΈΠ·Π°ΡΠΈΡ ΠΈΠ·ΠΏΠΎΠ»Π·Π²Π° TLS ΡΡΠ΅ΠΊΠ°, ΠΏΡΠ΅Π΄ΠΎΡΡΠ°Π²Π΅Π½ ΠΎΡ ΡΠ΄ΡΠΎΡΠΎ, Π·Π° Π΄Π° ΠΏΠΎΠ·Π²ΠΎΠ»ΠΈ Ρ Π°ΡΠ΄ΡΠ΅ΡΠ½ΠΎ ΡΡΠΊΠΎΡΠ΅Π½ΠΈΠ΅. ΠΠΎΠ΄ΡΡ Π½Π° NFS ΠΏΡΠ΅Π· TLS Π΅ ΠΏΠΎΡΡΠΈ Π³ΠΎΡΠΎΠ² Π·Π° ΡΠ΅ΡΡΠ²Π°Π½Π΅, Π½ΠΎ Π²ΡΠ΅ ΠΎΡΠ΅ ΠΈΠ·ΠΈΡΠΊΠ²Π° ΡΠ°Π±ΠΎΡΠ° Π·Π° ΠΏΠΎΠ΄Π΄ΡΡΠΆΠ°Π½Π΅ Π½Π° ΠΏΠΎΠ΄ΠΏΠΈΡΠ°Π½ΠΈ ΠΊΠ»ΠΈΠ΅Π½ΡΡΠΊΠΈ ΡΠ΅ΡΡΠΈΡΠΈΠΊΠ°ΡΠΈ ΠΈ Π°Π΄Π°ΠΏΡΠΈΡΠ°Π½Π΅ Π½Π° TLS ΡΡΠ΅ΠΊΠ° Π½Π° ΡΠ΄ΡΠΎΡΠΎ Π·Π° ΠΈΠ·ΠΏΡΠ°ΡΠ°Π½Π΅ Π½Π° NFS Π΄Π°Π½Π½ΠΈ (ΠΏΠ°ΡΠΎΠ²Π΅ΡΠ΅ Π·Π° ΠΏΠΎΠ»ΡΡΠ°Π²Π°Π½Π΅ Π²Π΅ΡΠ΅ ΡΠ° Π³ΠΎΡΠΎΠ²ΠΈ).
- Π₯Π°ΡΠ΄ΡΠ΅ΡΠ½Π° ΠΏΠΎΠ΄Π΄ΡΡΠΆΠΊΠ°
- Π Π°Π±ΠΎΡΠΈ ΡΠ΅ ΠΏΠΎ Π΄ΠΎΠ±Π°Π²ΡΠ½Π΅ Π½Π° ΠΏΠΎΠ΄Π΄ΡΡΠΆΠΊΠ° Π·Π° ΠΊΠΈΡΠ°ΠΉΡΠΊΠΈ x86 CPU Hygon, Π±Π°Π·ΠΈΡΠ°Π½ Π½Π° ΡΠ΅Ρ Π½ΠΎΠ»ΠΎΠ³ΠΈΠΈΡΠ΅ Π½Π° AMD;
- ΠΠ°ΡΠΎ ΡΠ°ΡΡ ΠΎΡ CheriBSD, ΡΠ°Π·ΠΊΠ»ΠΎΠ½Π΅Π½ΠΈΠ΅ Π½Π° FreeBSD Π·Π° ΠΈΠ·ΡΠ»Π΅Π΄ΠΎΠ²Π°ΡΠ΅Π»ΡΠΊΠ° ΠΏΡΠΎΡΠ΅ΡΠΎΡΠ½Π° Π°ΡΡ
ΠΈΡΠ΅ΠΊΡΡΡΠ°
Π§ΠΠ Π (Capability Hardware Enhanced RISC Instructions), ΠΏΡΠΎΠ΄ΡΠ»ΠΆΠ°Π²Π° Π΄Π° ΡΠ΅ Π²Π½Π΅Π΄ΡΡΠ²Π° ΠΏΠΎΠ΄Π΄ΡΡΠΆΠΊΠ° Π·Π° ΠΏΡΠΎΡΠ΅ΡΠΎΡΠ° ARM Morello, ΠΊΠΎΠΉΡΠΎ ΡΠ΅ ΠΏΠΎΠ΄Π΄ΡΡΠΆΠ° ΡΠΈΡΡΠ΅ΠΌΠ°ΡΠ° Π·Π° ΠΊΠΎΠ½ΡΡΠΎΠ» Π½Π° Π΄ΠΎΡΡΡΠΏΠ° Π΄ΠΎ ΠΏΠ°ΠΌΠ΅ΡΡΠ° CHERI, Π±Π°Π·ΠΈΡΠ°Π½Π° Π½Π° ΠΌΠΎΠ΄Π΅Π»Π° Π·Π° ΡΠΈΠ³ΡΡΠ½ΠΎΡΡ Π½Π° ΠΏΡΠΎΠ΅ΠΊΡΠ° Capsicum. Π§ΠΈΠΏ ΠΠΎΡΠ΅Π»ΠΎΠΏΠ»Π°Π½ΠΈΡΠ°Ρ ΠΈΠ·Π΄Π°Π²Π°Π½Π΅ ΠΏΡΠ΅Π· 2021 Π³. Π ΠΌΠΎΠΌΠ΅Π½ΡΠ° ΡΠ°Π±ΠΎΡΠ°ΡΠ° Π΅ ΡΠΎΠΊΡΡΠΈΡΠ°Π½Π° Π²ΡΡΡ Ρ Π΄ΠΎΠ±Π°Π²ΡΠ½Π΅ΡΠΎ Π½Π° ΠΏΠΎΠ΄Π΄ΡΡΠΆΠΊΠ° Π·Π° ΠΏΠ»Π°ΡΡΠΎΡΠΌΠ°ΡΠ° Arm Neoverse N1, ΠΊΠΎΡΡΠΎ Π·Π°Ρ ΡΠ°Π½Π²Π° Morello. ΠΠ΅ΡΠ΅ ΠΏΡΠ΅Π΄ΡΡΠ°Π²Π΅Π½ ΠΏΡΡΠ²ΠΎΠ½Π°ΡΠ°Π»Π΅Π½ ΠΏΠΎΡΡ Π½Π° CheriBSD Π·Π° Π°ΡΡ ΠΈΡΠ΅ΠΊΡΡΡΠ°ΡΠ° RISC-V. Π Π°Π·ΡΠ°Π±ΠΎΡΠΊΠ°ΡΠ° Π½Π° CheriBSD ΠΏΡΠΎΠ΄ΡΠ»ΠΆΠ°Π²Π° Π·Π° ΡΠ΅ΡΠ΅ΡΠ΅Π½ΡΠ½ΠΈΡ ΠΏΡΠΎΡΠΎΡΠΈΠΏ CHERI, Π±Π°Π·ΠΈΡΠ°Π½ Π½Π° Π°ΡΡ ΠΈΡΠ΅ΠΊΡΡΡΠ°ΡΠ° MIPS64. - ΠΡΠΎΠ΄ΡΠ»ΠΆΠ°Π²Π° ΠΏΡΠ΅Π½Π°ΡΡΠ½Π΅ΡΠΎ Π½Π° FreeBSD Π·Π° 64-Π±ΠΈΡΠΎΠ²ΠΈΡ SoC NXP LS1046A, Π±Π°Π·ΠΈΡΠ°Π½ Π½Π° ΠΏΡΠΎΡΠ΅ΡΠΎΡΠ° ARMv8 Cortex-A72 Ρ ΠΈΠ½ΡΠ΅Π³ΡΠΈΡΠ°Π½Π° ΠΌΠ°ΡΠΈΠ½Π° Π·Π° ΡΡΠΊΠΎΡΡΠ²Π°Π½Π΅ Π½Π° ΠΎΠ±ΡΠ°Π±ΠΎΡΠΊΠ°ΡΠ° Π½Π° ΠΌΡΠ΅ΠΆΠΎΠ²ΠΈ ΠΏΠ°ΠΊΠ΅ΡΠΈ, 10 Gb Ethernet, PCIe 3.0, SATA 3.0 ΠΈ USB 3.0. Π ΠΌΠΎΠΌΠ΅Π½ΡΠ° Π΄ΡΠ°ΠΉΠ²Π΅ΡΠΈΡΠ΅ QorIQ ΠΈ LS1046A, GPIO, QorIQ LS10xx AHCI, VF610 I2C, Epson RX-8803 RTC, QorIQ LS10xx SDHCI ΡΠ΅ ΠΏΠΎΠ΄Π³ΠΎΡΠ²ΡΡ Π·Π° ΠΏΡΠ΅Ρ Π²ΡΡΠ»ΡΠ½Π΅ ΠΊΡΠΌ ΠΎΡΠ½ΠΎΠ²Π½Π°ΡΠ° ΠΊΠΎΠΌΠΏΠΎΠ·ΠΈΡΠΈΡ Π½Π° FreeBSD.
- ΠΡΠ°ΠΉΠ²Π΅ΡΡΡ ena Π΅ Π°ΠΊΡΡΠ°Π»ΠΈΠ·ΠΈΡΠ°Π½ Π΄ΠΎ Π²Π΅ΡΡΠΈΡ 2.1.1 Ρ ΠΏΠΎΠ΄Π΄ΡΡΠΆΠΊΠ° Π·Π° Π²ΡΠΎΡΠΎ ΠΏΠΎΠΊΠΎΠ»Π΅Π½ΠΈΠ΅ ΠΌΡΠ΅ΠΆΠΎΠ²ΠΈ Π°Π΄Π°ΠΏΡΠ΅ΡΠΈ ENAv2 (Elastic Network Adapter), ΠΈΠ·ΠΏΠΎΠ»Π·Π²Π°Π½ΠΈ Π² ΠΈΠ½ΡΡΠ°ΡΡΡΡΠΊΡΡΡΠ°ΡΠ° Π½Π° Elastic Compute Cloud (EC2) Π·Π° ΠΎΡΠ³Π°Π½ΠΈΠ·ΠΈΡΠ°Π½Π΅ Π½Π° ΠΊΠΎΠΌΡΠ½ΠΈΠΊΠ°ΡΠΈΡ ΠΌΠ΅ΠΆΠ΄Ρ EC2 Π²ΡΠ·Π»ΠΈ ΠΏΡΠΈ ΡΠΊΠΎΡΠΎΡΡΠΈ Π΄ΠΎ 25 Gb/ Ρ. ΠΠΎΠ΄Π³ΠΎΡΠ²Ρ ΡΠ΅ Π°ΠΊΡΡΠ°Π»ΠΈΠ·Π°ΡΠΈΡ Π΄ΠΎ ENA 2.2.0.
- ΠΠΎΠ΄ΠΎΠ±ΡΠ΅Π½ΠΈΡΡΠ° Π½Π° ΠΏΠΎΡΡΠ° Π½Π° FreeBSD Π·Π° ΠΏΠ»Π°ΡΡΠΎΡΠΌΠ°ΡΠ° powerpc64 ΠΏΡΠΎΠ΄ΡΠ»ΠΆΠ°Π²Π°Ρ. Π€ΠΎΠΊΡΡΡΡ Π΅ Π²ΡΡΡ Ρ ΠΎΡΠΈΠ³ΡΡΡΠ²Π°Π½Π΅ΡΠΎ Π½Π° ΠΊΠ°ΡΠ΅ΡΡΠ²Π΅Π½Π° ΠΏΡΠΎΠΈΠ·Π²ΠΎΠ΄ΠΈΡΠ΅Π»Π½ΠΎΡΡ Π½Π° ΡΠΈΡΡΠ΅ΠΌΠΈ Ρ ΠΏΡΠΎΡΠ΅ΡΠΎΡΠΈ IBM POWER8 ΠΈ POWER9. ΠΡΠ΅Π· ΠΎΡΡΠ΅ΡΠ½ΠΈΡ ΠΏΠ΅ΡΠΈΠΎΠ΄ FreeBSD-CURRENT Π±Π΅ΡΠ΅ ΠΏΡΠ΅Ρ Π²ΡΡΠ»Π΅Π½ Π·Π° ΠΈΠ·ΠΏΠΎΠ»Π·Π²Π°Π½Π΅ Π½Π° ΠΊΠΎΠΌΠΏΠΈΠ»Π°ΡΠΎΡΠ° LLVM/Clang 10.0 ΠΈ lld Π»ΠΈΠ½ΠΊΠ΅Ρ Π²ΠΌΠ΅ΡΡΠΎ GCC. ΠΠΎ ΠΏΠΎΠ΄ΡΠ°Π·Π±ΠΈΡΠ°Π½Π΅ ΡΠΈΡΡΠ΅ΠΌΠΈΡΠ΅ powerpc64 ΠΈΠ·ΠΏΠΎΠ»Π·Π²Π°Ρ ELFv2 ABI ΠΈ ΠΏΠΎΠ΄Π΄ΡΡΠΆΠΊΠ°ΡΠ° Π·Π° ELFv1 ABI Π΅ ΠΏΡΠ΅ΡΡΡΠ°Π½ΠΎΠ²Π΅Π½Π°. FreeBSD-STABLE Π²ΡΠ΅ ΠΎΡΠ΅ ΠΈΠΌΠ° gcc 4.2.1. ΠΡΠΎΠ±Π»Π΅ΠΌΠΈΡΠ΅ Ρ Π΄ΡΠ°ΠΉΠ²Π΅ΡΠΈΡΠ΅ Π·Π° virtio, aacraid ΠΈ ixl ΡΠ° ΡΠ°Π·ΡΠ΅ΡΠ΅Π½ΠΈ. ΠΠ° ΡΠΈΡΡΠ΅ΠΌΠΈ powerpc64 Π΅ Π²ΡΠ·ΠΌΠΎΠΆΠ½ΠΎ Π΄Π° ΡΡΠ°ΡΡΠΈΡΠ°ΡΠ΅ QEMU Π±Π΅Π· ΠΏΠΎΠ΄Π΄ΡΡΠΆΠΊΠ° Π½Π° Huge Pages.
- ΠΡΠΎΠ΄ΡΠ»ΠΆΠ°Π²Π° ΡΠ°Π±ΠΎΡΠ°ΡΠ° ΠΏΠΎ Π²Π½Π΅Π΄ΡΡΠ²Π°Π½Π΅ΡΠΎ Π½Π° ΠΏΠΎΠ΄Π΄ΡΡΠΆΠΊΠ° Π·Π° RISC-V Π°ΡΡ
ΠΈΡΠ΅ΠΊΡΡΡΠ°ΡΠ°. Π ΡΠ΅Π³Π°ΡΠ½Π°ΡΠ° ΡΠΈ ΡΠΎΡΠΌΠ° FreeBSD Π²Π΅ΡΠ΅ ΡΡΠ°ΡΡΠΈΡΠ° ΡΡΠΏΠ΅ΡΠ½ΠΎ Π½Π° ΠΏΠ»Π°ΡΠΊΠ°ΡΠ° SiFive Hifive Unleashed, Π·Π° ΠΊΠΎΡΡΠΎ ΡΠ° ΠΏΠΎΠ΄Π³ΠΎΡΠ²Π΅Π½ΠΈ Π΄ΡΠ°ΠΉΠ²Π΅ΡΠΈ
UART, SPI ΠΈ PRCI, ΠΏΠΎΠ΄Π΄ΡΡΠΆΠ° OpenSBI ΠΈ SBI 0.2 ΡΡΡΠΌΡΠ΅Ρ. ΠΡΠ΅Π· ΠΎΡΡΠ΅ΡΠ½ΠΈΡ ΠΏΠ΅ΡΠΈΠΎΠ΄ ΡΠ°Π±ΠΎΡΠ°ΡΠ° Π±Π΅ΡΠ΅ ΡΠΎΠΊΡΡΠΈΡΠ°Π½Π° Π²ΡΡΡ Ρ ΠΌΠΈΠ³ΡΠ°ΡΠΈΡΡΠ° ΠΎΡ GCC ΠΊΡΠΌ clang ΠΈ lld.
- ΠΡΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΡ ΠΈ ΠΏΠΎΡΡΠΎΠ²Π° ΡΠΈΡΡΠ΅ΠΌΠ°
- ΠΠΎΠ»Π΅ΠΊΡΠΈΡΡΠ° ΠΎΡ ΠΏΠΎΡΡΠΎΠ²Π΅ Π½Π° FreeBSD Π΅ ΠΏΡΠ΅ΠΌΠΈΠ½Π°Π»Π° ΠΏΡΠ°Π³Π° ΠΎΡ 39 Ρ ΠΈΠ»ΡΠ΄ΠΈ ΠΏΠΎΡΡΠ°, Π±ΡΠΎΡΡ Π½Π° Π½Π΅Π·Π°ΡΠ²ΠΎΡΠ΅Π½ΠΈΡΠ΅ PR Π»Π΅ΠΊΠΎ Π½Π°Π΄Ρ Π²ΡΡΠ»Ρ 2400, ΠΎΡ ΠΊΠΎΠΈΡΠΎ 640 PR Π²ΡΠ΅ ΠΎΡΠ΅ Π½Π΅ ΡΠ° ΡΠΎΡΡΠΈΡΠ°Π½ΠΈ. ΠΡΠ΅Π· ΠΎΡΡΠ΅ΡΠ½ΠΈΡ ΠΏΠ΅ΡΠΈΠΎΠ΄ ΡΠ° Π½Π°ΠΏΡΠ°Π²Π΅Π½ΠΈ 8146 ΠΏΡΠΎΠΌΠ΅Π½ΠΈ ΠΎΡ 173 ΡΠ°Π·ΡΠ°Π±ΠΎΡΡΠΈΡΠΈ. Π§Π΅ΡΠΈΡΠΈΠΌΠ° Π½ΠΎΠ²ΠΈ ΡΡΠ°ΡΡΠ½ΠΈΡΠΈ ΠΏΠΎΠ»ΡΡΠΈΡ Π° ΠΏΡΠ°Π²Π° Π·Π° ΠΊΠΎΠΌΠΈΡΠΈΡΠ°Π½Π΅ (LoΓ―c Bartoletti, Mikael Urankar, Kyle Evans, Lorenzo Salvadore). ΠΠΎΠ±Π°Π²Π΅Π½ ΡΠ»Π°Π³ USES=qca ΠΈ ΠΏΡΠ΅ΠΌΠ°Ρ Π½Π°Ρ ΡΠ»Π°Π³ USES=zope (ΠΏΠΎΡΠ°Π΄ΠΈ Π½Π΅ΡΡΠ²ΠΌΠ΅ΡΡΠΈΠΌΠΎΡΡ Ρ Python 3). Π Π°Π±ΠΎΡΠΈ ΡΠ΅ ΠΏΠΎ ΠΏΡΠ΅ΠΌΠ°Ρ Π²Π°Π½Π΅ΡΠΎ Π½Π° Python 2.7 ΠΎΡ Π΄ΡΡΠ²ΠΎΡΠΎ Π½Π° ΠΏΠΎΡΡΠΎΠ²Π΅ΡΠ΅ - Π²ΡΠΈΡΠΊΠΈ Π±Π°Π·ΠΈΡΠ°Π½ΠΈ Π½Π° Python 2 ΠΏΠΎΡΡΠΎΠ²Π΅ ΡΡΡΠ±Π²Π° Π΄Π° Π±ΡΠ΄Π°Ρ ΠΏΡΠ΅Π½Π΅ΡΠ΅Π½ΠΈ ΠΊΡΠΌ Python 3 ΠΈΠ»ΠΈ ΡΠ΅ Π±ΡΠ΄Π°Ρ ΠΏΡΠ΅ΠΌΠ°Ρ Π½Π°ΡΠΈ. ΠΠ΅Π½ΠΈΠ΄ΠΆΡΡΡΡ Π½Π° ΠΏΠ°ΠΊΠ΅ΡΠΈ pkg Π΅ Π°ΠΊΡΡΠ°Π»ΠΈΠ·ΠΈΡΠ°Π½ Π΄ΠΎ Π²Π΅ΡΡΠΈΡ 1.13.2.
- ΠΠΊΡΡΠ°Π»ΠΈΠ·ΠΈΡΠ°Π½ΠΈ ΠΊΠΎΠΌΠΏΠΎΠ½Π΅Π½ΡΠΈ Π½Π° Π³ΡΠ°ΡΠΈΡΠ΅Π½ ΡΡΠ΅ΠΊ ΠΈ ΠΏΠΎΡΡΠΎΠ²Π΅, ΡΠ²ΡΡΠ·Π°Π½ΠΈ Ρ xorg.
Π‘ΡΡΠ²ΡΡΡΡ X.org Π΅ Π°ΠΊΡΡΠ°Π»ΠΈΠ·ΠΈΡΠ°Π½ Π΄ΠΎ Π²Π΅ΡΡΠΈΡ 1.20.8 (Π΄ΠΎΡΡΠ°Π²Π΅Π½Π° ΠΏΡΠ΅Π΄ΠΈ ΡΠΎΠ²Π° Π² ΠΊΠ»ΠΎΠ½Π° 1.18), ΠΊΠΎΠ΅ΡΠΎ ΠΏΠΎΠ·Π²ΠΎΠ»ΡΠ²Π° Π½Π° FreeBSD Π΄Π° ΠΈΠ·ΠΏΠΎΠ»Π·Π²Π° ΠΏΠΎ ΠΏΠΎΠ΄ΡΠ°Π·Π±ΠΈΡΠ°Π½Π΅ udev/evdev Π±Π΅ΠΊΠ΅Π½Π΄Π° Π·Π° ΡΠ°Π±ΠΎΡΠ° Ρ Π²Ρ ΠΎΠ΄Π½ΠΈ ΡΡΡΡΠΎΠΉΡΡΠ²Π°. ΠΠ°ΠΊΠ΅ΡΡΡ Mesa Π΅ ΠΏΡΠ΅Π²ΠΊΠ»ΡΡΠ΅Π½ Π΄Π° ΠΈΠ·ΠΏΠΎΠ»Π·Π²Π° ΡΠ°Π·ΡΠΈΡΠ΅Π½ΠΈΠ΅ΡΠΎ DRI3 Π²ΠΌΠ΅ΡΡΠΎ DRI2 ΠΏΠΎ ΠΏΠΎΠ΄ΡΠ°Π·Π±ΠΈΡΠ°Π½Π΅. Π Π°Π±ΠΎΡΠΈ ΡΠ΅ ΠΏΠΎ Π·Π°ΠΏΠ°Π·Π²Π°Π½Π΅ Π½Π° Π³ΡΠ°ΡΠΈΡΠ½ΠΈΡΠ΅ Π΄ΡΠ°ΠΉΠ²Π΅ΡΠΈ, ΡΡΠ΅ΠΊΠ° Π½Π° Π²Ρ ΠΎΠ΄Π½ΠΈΡΠ΅ ΡΡΡΡΠΎΠΉΡΡΠ²Π° ΠΈ ΠΊΠΎΠΌΠΏΠΎΠ½Π΅Π½ΡΠΈΡΠ΅ drm-kmod (ΠΏΠΎΡΡ, ΠΊΠΎΠΉΡΠΎ ΠΏΠΎΠ·Π²ΠΎΠ»ΡΠ²Π° ΡΠ°Π±ΠΎΡΠ°ΡΠ° Π½Π° amdgpu, i915 ΠΈ radeon DRM ΠΌΠΎΠ΄ΡΠ»ΠΈ, ΠΈΠ·ΠΏΠΎΠ»Π·Π²Π°ΠΉΠΊΠΈ ΡΠ°ΠΌΠΊΠ°ΡΠ° Π½Π° linuxkpi Π·Π° ΡΡΠ²ΠΌΠ΅ΡΡΠΈΠΌΠΎΡΡ Ρ Π΄ΠΈΡΠΏΠ΅ΡΠ΅ΡΠ° Π·Π° Π΄ΠΈΡΠ΅ΠΊΡΠ½ΠΎ ΠΈΠ·ΠΎΠ±ΡΠ°Π·ΡΠ²Π°Π½Π΅ Π½Π° ΡΠ΄ΡΠΎΡΠΎ Π½Π° Linux) Π°ΠΊΡΡΠ°Π»Π΅Π½. - Π Π°Π±ΠΎΡΠ½ΠΈΡΡ ΠΏΠ»ΠΎΡ Π½Π° KDE Plasma, KDE Frameworks, KDE ΠΏΡΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΡΡΠ° ΠΈ Qt ΡΠ΅ ΠΏΠΎΠ΄Π΄ΡΡΠΆΠ°Ρ Π°ΠΊΡΡΠ°Π»Π½ΠΈ ΠΈ Π°ΠΊΡΡΠ°Π»ΠΈΠ·ΠΈΡΠ°Π½ΠΈ Π΄ΠΎ Π½Π°ΠΉ-Π½ΠΎΠ²ΠΈΡΠ΅ Π²Π΅ΡΡΠΈΠΈ. ΠΡΠΌ ΠΏΠΎΡΡΠΎΠ²Π΅ΡΠ΅ Π΅ Π΄ΠΎΠ±Π°Π²Π΅Π½ΠΎ Π½ΠΎΠ²ΠΎ ΠΏΡΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΠ΅ kstars (Π·Π²Π΅Π·Π΄Π΅Π½ Π°ΡΠ»Π°Ρ).
- ΠΠ·Π²ΡΡΡΠ΅Π½Π° Π΅ ΡΠ°Π±ΠΎΡΠ° Π·Π° Π΅Π»ΠΈΠΌΠΈΠ½ΠΈΡΠ°Π½Π΅ Π½Π° ΡΠ΅Π³ΡΠ΅ΡΠΈΠ²Π½ΠΈ ΠΏΡΠΎΠΌΠ΅Π½ΠΈ Π² ΠΌΠ΅Π½ΠΈΠ΄ΠΆΡΡΠ° Π½Π° ΠΏΡΠΎΠ·ΠΎΡΡΠΈ xfwm4, ΠΊΠΎΠΈΡΠΎ ΡΠ΅ ΠΏΠΎΡΠ²ΠΈΡ Π° ΡΠ»Π΅Π΄ Π°ΠΊΡΡΠ°Π»ΠΈΠ·ΠΈΡΠ°Π½Π΅ Π½Π° Xfce Π΄ΠΎ Π²Π΅ΡΡΠΈΡ 4.14 (Π½Π°ΠΏΡΠΈΠΌΠ΅Ρ Π°ΡΡΠ΅ΡΠ°ΠΊΡΠΈ ΡΠ΅ ΠΏΠΎΡΠ²ΠΈΡ Π° ΠΏΡΠΈ Π΄Π΅ΠΊΠΎΡΠΈΡΠ°Π½Π΅ Π½Π° ΠΏΡΠΎΠ·ΠΎΡΡΠΈ).
- ΠΠΎΡΡΡΡ Π½Π° Wine Π΅ Π°ΠΊΡΡΠ°Π»ΠΈΠ·ΠΈΡΠ°Π½, Π·Π° Π΄Π° ΠΏΡΡΠ½Π΅ Wine 5.0 (ΠΏΡΠ΅Π΄ΠΈ ΡΠ΅ ΠΏΡΠ΅Π΄Π»Π°Π³Π°ΡΠ΅ 4.0.3).
- ΠΠ°ΠΏΠΎΡΠ²Π°ΠΉΠΊΠΈ Ρ Π²Π΅ΡΡΠΈΡ 1.14, Π΅Π·ΠΈΠΊΠΎΠ²ΠΈΡΡ ΠΊΠΎΠΌΠΏΠΈΠ»Π°ΡΠΎΡ Go Π΄ΠΎΠ±Π°Π²ΠΈ ΠΎΡΠΈΡΠΈΠ°Π»Π½Π° ΠΏΠΎΠ΄Π΄ΡΡΠΆΠΊΠ° Π·Π° Π°ΡΡ ΠΈΡΠ΅ΠΊΡΡΡΠ°ΡΠ° ARM64 Π·Π° FreeBSD 12.0.
- OpenSSH Π½Π° Π±Π°Π·ΠΎΠ²Π°ΡΠ° ΡΠΈΡΡΠ΅ΠΌΠ° Π΅ Π°ΠΊΡΡΠ°Π»ΠΈΠ·ΠΈΡΠ°Π½ Π΄ΠΎ Π²Π΅ΡΡΠΈΡ 7.9p1.
- ΠΠΈΠ±Π»ΠΈΠΎΡΠ΅ΠΊΠ°ΡΠ° sysctlmibinfo2 Π΅ Π²Π½Π΅Π΄ΡΠ΅Π½Π° ΠΈ ΠΏΠΎΡΡΠ°Π²Π΅Π½Π° Π² ΠΏΠΎΡΡΠΎΠ²Π΅ (devel/libsysctlmibinfo2), ΠΏΡΠ΅Π΄ΠΎΡΡΠ°Π²ΡΠΉΠΊΠΈ API Π·Π° Π΄ΠΎΡΡΡΠΏ Π΄ΠΎ sysctl MIB ΠΈ ΠΏΡΠ΅ΠΎΠ±ΡΠ°Π·ΡΠ²Π°Π½Π΅ Π½Π° ΠΈΠΌΠ΅Π½Π° Π½Π° sysctl Π² ΠΈΠ΄Π΅Π½ΡΠΈΡΠΈΠΊΠ°ΡΠΎΡΠΈ Π½Π° ΠΎΠ±Π΅ΠΊΡΠΈ (OID).
- ΠΠ΅Π½Π΅ΡΠΈΡΠ°Π½Π° Π΅ Π°ΠΊΡΡΠ°Π»ΠΈΠ·Π°ΡΠΈΡ Π·Π° ΡΠ°Π·ΠΏΡΠΎΡΡΡΠ°Π½Π΅Π½ΠΈΠ΅
NomadBSD 1.3.1 , ΠΊΠΎΠ΅ΡΠΎ Π΅ ΠΈΠ·Π΄Π°Π½ΠΈΠ΅ Π½Π° FreeBSD, Π°Π΄Π°ΠΏΡΠΈΡΠ°Π½ΠΎ Π·Π° ΠΈΠ·ΠΏΠΎΠ»Π·Π²Π°Π½Π΅ ΠΊΠ°ΡΠΎ ΠΏΡΠ΅Π½ΠΎΡΠΈΠΌ Π΄Π΅ΡΠΊΡΠΎΠΏ, ΡΡΠ°ΡΡΠΈΡΠ°Ρ ΠΎΡ USB ΡΡΡΡΠΎΠΉΡΡΠ²ΠΎ. ΠΡΠ°ΡΠΈΡΠ½Π°ΡΠ° ΡΡΠ΅Π΄Π° Π΅ Π±Π°Π·ΠΈΡΠ°Π½Π° Π½Π° ΠΌΠ΅Π½ΠΈΠ΄ΠΆΡΡ Π½Π° ΠΏΡΠΎΠ·ΠΎΡΡΠΈΠΡΠ²ΠΎΡΠ΅Π½Π° ΠΊΡΡΠΈΡ . ΠΠ·ΠΏΠΎΠ»Π·Π²Π° ΡΠ΅ Π·Π° ΠΌΠΎΠ½ΡΠΈΡΠ°Π½Π΅ Π½Π° Π΄ΠΈΡΠΊΠΎΠ²Π΅DSBMD (ΠΏΠΎΠ΄Π΄ΡΡΠΆΠ° ΡΠ΅ ΠΌΠΎΠ½ΡΠΈΡΠ°Π½Π΅ Π½Π° CD9660, FAT, HFS+, NTFS, Ext2/3/4), Π·Π° ΠΊΠΎΠ½ΡΠΈΠ³ΡΡΠΈΡΠ°Π½Π΅ Π½Π° Π±Π΅Π·ΠΆΠΈΡΠ½Π° ΠΌΡΠ΅ΠΆΠ° -wifimgr , Π° Π·Π° ΠΊΠΎΠ½ΡΡΠΎΠ» Π½Π° Π·Π²ΡΠΊΠ° -DSBMixer . - ΠΠ°ΠΏΠΎΡΠ½Π°ΡΠ°
ΡΠ°Π±ΠΎΡΠ° ΠΎΡΠ½ΠΎΡΠ½ΠΎ Π½Π°ΠΏΠΈΡΠ²Π°Π½Π΅ΡΠΎ Π½Π° ΠΏΡΠ»Π½Π° Π΄ΠΎΠΊΡΠΌΠ΅Π½ΡΠ°ΡΠΈΡ Π·Π° ΠΌΠ΅Π½ΠΈΠ΄ΠΆΡΡΠ° Π½Π° ΡΡΠ΅Π΄Π°ΡΠ° Π² Π·Π°ΡΠ²ΠΎΡΠ°Π³ΡΡΠ½Π΅ . Pot 0.11.0 ΡΠ΅ ΠΏΠΎΠ΄Π³ΠΎΡΠ²Ρ Π·Π° ΠΏΡΡΠΊΠ°Π½Π΅, ΠΊΠΎΠ΅ΡΠΎ ΡΠ΅ Π²ΠΊΠ»ΡΡΠ²Π° ΠΈΠ½ΡΡΡΡΠΌΠ΅Π½ΡΠΈ Π·Π° ΡΠΏΡΠ°Π²Π»Π΅Π½ΠΈΠ΅ Π½Π° ΠΌΡΠ΅ΠΆΠΎΠ²ΠΈΡ ΡΡΠ΅ΠΊ.
ΠΠ·ΡΠΎΡΠ½ΠΈΠΊ: opennet.ru