Π€ΠΎΠ½Π΄ OSTIF (Open Source Technology Improvement Fund), ΡΠΎΠ·Π΄Π°Π½Π½ΡΠΉ Ρ ΡΠ΅Π»ΡΡ ΡΡΠΈΠ»Π΅Π½ΠΈΡ Π·Π°ΡΠΈΡΡΠ½Π½ΠΎΡΡΠΈ ΠΎΡΠΊΡΡΡΡΡ ΠΏΡΠΎΠ΅ΠΊΡΠΎΠ², ΠΎΠΏΡΠ±Π»ΠΈΠΊΠΎΠ²Π°Π» ΡΠ΅Π·ΡΠ»ΡΡΠ°ΡΡ Π°ΡΠ΄ΠΈΡΠ° Π±Π΅Π·ΠΎΠΏΠ°ΡΠ½ΠΎΡΡΠΈ Π±ΠΈΠ±Π»ΠΈΠΎΡΠ΅ΠΊ Boost, ΠΏΡΠΈΠΌΠ΅Π½ΡΠ΅ΠΌΡΡ Π²ΠΎ ΠΌΠ½ΠΎΠ³ΠΈΡ ΠΏΡΠΎΠ΅ΠΊΡΠ°Ρ Π½Π° ΡΠ·ΡΠΊΠ΅ C++. ΠΡΠ΄ΠΈΡ, ΠΊΠΎΡΠΎΡΡΠΉ Π±ΡΠ» ΠΏΡΠΎΠ²Π΅Π΄ΡΠ½ ΠΏΠΎ Π·Π°ΠΊΠ°Π·Ρ OSTIF ΠΈ Amazon Web Services ΠΈΡΠ°Π»ΡΡΠ½ΡΠΊΠΎΠΉ ΠΊΠΎΠΌΠΏΠ°Π½ΠΈΠ΅ΠΉ Shielder, Π²ΡΡΠ²ΠΈΠ» 7 ΠΏΡΠΎΠ±Π»Π΅ΠΌ, ΠΈΠ· ΠΊΠΎΡΠΎΡΡΡ ΠΎΠ΄Π½ΠΎΠΉ ΠΏΡΠΈΡΠ²ΠΎΠ΅Π½ ΡΡΠ΅Π΄Π½ΠΈΠΉ ΡΡΠΎΠ²Π΅Π½Ρ ΠΎΠΏΠ°ΡΠ½ΠΎΡΡΠΈ, Π° ΡΠ΅ΡΡΡΡΠΌ β Π½ΠΈΠ·ΠΊΠΈΠΉ, Π΄Π²Π΅ ΠΏΡΠΎΠ±Π»Π΅ΠΌΡ ΠΎΠΏΡΠ±Π»ΠΈΠΊΠΎΠ²Π°Π½Ρ Π² Π²ΠΈΠ΄Π΅ ΠΈΠ½ΡΠΎΡΠΌΠ°ΡΠΈΠΎΠ½Π½ΡΡ Π·Π°ΠΌΠ΅ΡΠ°Π½ΠΈΠΉ.
ΠΡΠΎΡΡΠ΅Π½ΠΈΡΠ΅ ΠΏΠΎ Π²ΡΠ΅ΠΌΠ΅ Π½Π° ΠΎΠ΄ΠΈΡΠ° Π±ΠΈΠ±Π»ΠΈΠΎΡΠ΅ΠΊΠΈ:
- Boost.Beast
- Boost.DLL
- Boost.Date_Time
- Boost.Filesystem
- Boost.GIL
- Boost.Graph
- Boost.JSON
- Boost.Program_Options
- Boost.Regex
- Boost.String_Algo
- Boost.URL
- Π£ΡΠ·Π²ΠΈΠΌΠΎΡΡ Π² Boost.Beast, Π΄ΠΎΠΏΡΡΠΊΠ°ΡΠ° ΠΏΠΎΠ΄ΠΌΡΠ½Π° Π½Π° ΡΠΈΠΌΠ²ΠΎΠ»ΠΈ Π·Π° Π²ΡΡΡΠ°Π½Π΅ Π½Π° ΠΊΠ°ΡΠ΅ΡΠΊΠ°ΡΠ° ΠΈ Π½ΠΎΠ² ΡΠ΅Π΄ (CRLF) Π² HTTP Π·Π°Π³Π»Π°Π²ΠΈΡΡΠ° (ΠΌΠΎΠΆΠ΅ Π΄Π° ΡΠ΅ ΠΈΠ·ΠΏΠΎΠ»Π·Π²Π° Π·Π° ΡΠ°Π·Π΄Π΅Π»ΡΠ½Π΅ Π½Π° Π·Π°Π³Π»Π°Π²ΠΈΡΡΠ°). ΠΠ° ΠΏΡΠΎΠ±Π»Π΅ΠΌΠ° Π΅ ΠΏΡΠΈΡΠ²ΠΎΠ΅Π½ΠΎ ΡΠΌΠ΅ΡΠ΅Π½ΠΎ Π½ΠΈΠ²ΠΎ Π½Π° ΠΎΠΏΠ°ΡΠ½ΠΎΡΡ.
ΠΠ΄Π΅Π½ΡΠΈΡΠΈΡΠΈΡΠΎΠ²Π°Π½Π½ΡΠ΅ ΠΏΡΠΎΠ±Π»Π΅ΠΌΡ:
- ΠΡΠ΅ΠΏΡΠ»Π²Π°Π½Π΅ Π½Π° ΡΡΠ΅ΠΊΠ° Π² Π±ΠΈΠ±Π»ΠΈΠΎΡΠ΅ΠΊΠ°ΡΠ° Boost.Regex ΠΏΡΠΈ ΡΠ΅ΠΊΡΡΡΠΈΠ²Π½ΠΎ ΠΈΠ·ΠΏΡΠ»Π½Π΅Π½ΠΈΠ΅ Π½Π° ΠΎΠΏΠ΅ΡΠ°ΡΠΈΠΈ Ρ Π½ΡΠΊΠΎΠ»ΠΊΠΎ Π΅Π»Π΅ΠΌΠ΅Π½ΡΠ° end_line Π² ΡΠ΅Π³ΡΠ»ΡΡΠ½ΠΎΡΠΎ ΠΈΠ·ΡΠ°Π·ΡΠ²Π°Π½Π΅.
- ΠΡΠ΅ΠΏΡΠ»Π²Π°Π½Π΅ Π½Π° ΡΡΠ΅ΠΊΠ° Π² Π±ΠΈΠ±Π»ΠΈΠΎΡΠ΅ΠΊΠ°ΡΠ° Boost.Regex ΠΏΡΠΈ ΡΠ΅ΠΊΡΡΡΠΈΠ²Π½ΠΎ ΠΈΠ·ΠΏΡΠ»Π½Π΅Π½ΠΈΠ΅ Π½Π° ΠΎΠΏΠ΅ΡΠ°ΡΠΈΠΈ Ρ Π½ΡΠΊΠΎΠ»ΠΊΠΎ Π³ΡΡΠΏΠΈ Π·Π° ΡΠ»Π°Π²ΡΠ½Π΅ ΠΈ ΠΎΠ±Π΅Π΄ΠΈΠ½ΡΠ²Π°Π½Π΅.
- ΠΡΠ΅ΠΏΡΠ»Π²Π°Π½Π΅ Π½Π° ΡΡΠ΅ΠΊΠ° Π² Π±ΠΈΠ±Π»ΠΈΠΎΡΠ΅ΠΊΠ°ΡΠ° Boost.Regex ΠΏΡΠΈ ΡΠ΅ΠΊΡΡΡΠΈΠ²Π½ΠΎ ΠΈΠ·ΠΏΡΠ»Π½Π΅Π½ΠΈΠ΅ Π½Π° ΠΎΠΏΠ΅ΡΠ°ΡΠΈΠΈ Ρ Π½ΡΠΊΠΎΠ»ΠΊΠΎ ΠΎΡΠ²ΠΎΡΠ΅Π½ΠΈ ΠΊΡΡΠ³Π»ΠΈ ΡΠΊΠΎΠ±ΠΊΠΈ Π² Π½ΠΈΠ· Π·Π° ΡΠΎΡΠΌΠ°ΡΠΈΡΠ°Π½Π΅.
- ΠΡΠ΅ΠΏΡΠ»Π²Π°Π½Π΅ Π½Π° ΡΡΠ΅ΠΊΠ° Π² Π±ΠΈΠ±Π»ΠΈΠΎΡΠ΅ΠΊΠ°ΡΠ° Boost.Graph ΠΏΡΠΈ ΡΠ΅ΠΊΡΡΡΠΈΠ²Π½ΠΎ ΠΈΠ·ΠΏΡΠ»Π½Π΅Π½ΠΈΠ΅ Π½Π° ΠΎΠΏΠ΅ΡΠ°ΡΠΈΠΈ Ρ Π½ΡΠΊΠΎΠ»ΠΊΠΎ Π²Π»ΠΎΠΆΠ΅Π½ΠΈ Π³ΡΠ°ΡΠ°.
- Assert-ΡΡΠ°Π±ΠΎΡΠΊΠ° Π² ΡΡΠ½ΠΊΡΠΈΡΡΠ° breadth_first_search ΠΎΡ Π±ΠΈΠ±Π»ΠΈΠΎΡΠ΅ΠΊΠ°ΡΠ° Boost.Graph.
- ΠΠ΅ΠΎΠ±ΡΠ°Π±ΠΎΡΠ΅Π½ΠΈ ΠΈΠ·ΠΊΠ»ΡΡΠ΅Π½ΠΈΡ Π² Boost.DLL.
- ΠΠ° ΠΎΡΠ½ΠΎΠ²Π°Π½ΠΈΠ΅ Π½Π° ΠΏΠΎΠ»ΡΡΠ΅Π½Π°ΡΠ° ΠΈΠ½ΡΠΎΡΠΌΠ°ΡΠΈΡ ΠΎΡ ΠΎΠ΄ΠΈΡΠ°, Π΅ΠΊΠΈΠΏΡΡ Π½Π° ΡΠ°Π·ΡΠ°Π±ΠΎΡΡΠΈΡΠΈΡΠ΅ Π½Π° Boost Π²Π΅ΡΠ΅ Π΅ ΠΎΡΡΡΡΠ°Π½ΠΈΠ» 4 ΠΏΡΠΎΠ±Π»Π΅ΠΌΠ° ΠΈ Π΅ Π²Π½Π΅ΡΡΠ» 15 ΠΏΠΎΠ΄ΠΎΠ±ΡΠ΅Π½ΠΈΡ Π·Π° ΡΠ°Π·ΡΠΈΡΡΠ²Π°Π½Π΅ Π½Π° ΠΎΠ±Ρ Π²Π°ΡΠ° Π½Π° ΠΊΠΎΠ΄Π° ΠΈ ΡΡΠ½ΠΊΡΠΈΠΈΡΠ΅ ΠΏΡΠΈ ΠΏΡΠΎΠ²Π΅ΠΆΠ΄Π°Π½Π΅ Π½Π° ΡΠ΅ΡΡΠΎΠ²Π΅ Ρ fuzzing. ΠΡΠ΅ ΠΎΡΠ΅ Π½Π΅ Π΅ ΡΠ΅ΡΠ΅Π½ ΠΏΡΠΎΠ±Π»Π΅ΠΌΡΡ Ρ ΡΠ°Π·Π΄Π΅Π»ΡΠ½Π΅ΡΠΎ Π½Π° Π·Π°Π³Π»Π°Π²ΠΈΡΡΠ° Π² Boost.Beast ΠΈ Π½Π΅ ΡΠ° Π²Π·Π΅ΡΠΈ ΠΏΡΠ΅Π΄Π²ΠΈΠ΄ ΠΈΠ½ΡΠΎΡΠΌΠ°ΡΠΈΠΎΠ½Π½ΠΈΡΠ΅ ΠΏΡΠ΅ΠΏΠΎΡΡΠΊΠΈ.
ΠΠ° ΠΎΡΠ½ΠΎΠ²Π°Π½ΠΈΠ΅ Π½Π° ΠΏΠΎΠ»ΡΡΠ΅Π½Π°ΡΠ° ΠΈΠ½ΡΠΎΡΠΌΠ°ΡΠΈΡ ΠΎΡ ΠΎΠ΄ΠΈΡΠ°, Π΅ΠΊΠΈΠΏΡΡ Π½Π° ΡΠ°Π·ΡΠ°Π±ΠΎΡΡΠΈΡΠΈΡΠ΅ Π½Π° Boost Π²Π΅ΡΠ΅ Π΅ ΠΎΡΡΡΡΠ°Π½ΠΈΠ» 4 ΠΏΡΠΎΠ±Π»Π΅ΠΌΠ° ΠΈ Π΅ Π²Π½Π΅ΡΡΠ» 15 ΠΏΠΎΠ΄ΠΎΠ±ΡΠ΅Π½ΠΈΡ Π·Π° ΡΠ°Π·ΡΠΈΡΡΠ²Π°Π½Π΅ Π½Π° ΠΎΠ±Ρ
Π²Π°ΡΠ° Π½Π° ΠΊΠΎΠ΄Π° ΠΈ ΡΡΠ½ΠΊΡΠΈΠΈΡΠ΅ ΠΏΡΠΈ ΠΏΡΠΎΠ²Π΅ΠΆΠ΄Π°Π½Π΅ Π½Π° fuzzing ΡΠ΅ΡΡΠΎΠ²Π΅. ΠΡΠΎΠ±Π»Π΅ΠΌΡΡ ΡΡΡ ΡΠ°Π·Π΄Π΅Π»ΡΠ½Π΅ΡΠΎ Π½Π° Π·Π°Π³Π»Π°Π²ΠΈΡΡΠ° Π² Boost.Beast Π²ΡΠ΅ ΠΎΡΠ΅ Π½Π΅ Π΅ ΠΎΡΡΡΡΠ°Π½Π΅Π½, Π° ΠΈΠ½ΡΠΎΡΠΌΠ°ΡΠΈΠΎΠ½Π½ΠΈΡΠ΅ ΠΏΡΠ΅ΠΏΠΎΡΡΠΊΠΈ Π½Π΅ ΡΠ° Π²Π·Π΅ΡΠΈ ΠΏΡΠ΅Π΄Π²ΠΈΠ΄.
ΠΠ·ΡΠΎΡΠ½ΠΈΠΊ: opennet.ru
