ControlFlag 1.0 рдХреЛ рд░рд┐рд▓реАрдЬ, C рдХреЛрдб рдорд╛ рддреНрд░реБрдЯрд┐рд╣рд░реБ рдХреЛ рдкрд╣рд┐рдЪрд╛рди рдХреЛ рд▓рд╛рдЧреА рдПрдХ рдЙрдкрдХрд░рдг

Intel рд▓реЗ ControlFlag 1.0 рдЙрдкрдХрд░рдгрдХреЛ рдкрд╣рд┐рд▓реЛ рдкреНрд░рдореБрдЦ рд░рд┐рд▓реАрдЬ рдкреНрд░рдХрд╛рд╢рд┐рдд рдЧрд░реЗрдХреЛ рдЫ, рдЬрд╕рд▓реЗ рддрдкрд╛рдИрдВрд▓рд╛рдИ рд╡рд┐рджреНрдпрдорд╛рди рдХреЛрдбрдХреЛ рдареВрд▓реЛ рдорд╛рддреНрд░рд╛рдорд╛ рдкреНрд░рд╢рд┐рдХреНрд╖рд┐рдд рдореЗрд╕рд┐рди рд▓рд░реНрдирд┐рдЩ рдкреНрд░рдгрд╛рд▓реА рдкреНрд░рдпреЛрдЧ рдЧрд░реЗрд░ рд╕реНрд░реЛрдд рдХреЛрдбрдорд╛ рддреНрд░реБрдЯрд┐ рд░ рд╡рд┐рд╕рдВрдЧрддрд┐рд╣рд░реВ рдкрд╣рд┐рдЪрд╛рди рдЧрд░реНрди рдЕрдиреБрдорддрд┐ рджрд┐рдиреНрдЫред рдкрд░рдореНрдкрд░рд╛рдЧрдд рд╕реНрдерд┐рд░ рд╡рд┐рд╢реНрд▓реЗрд╖рдХрд╣рд░реВрдХреЛ рд╡рд┐рдкрд░реАрдд, ControlFlag рд▓реЗ рддрдпрд╛рд░ рдирд┐рдпрдорд╣рд░реВ рд▓рд╛рдЧреВ рдЧрд░реНрджреИрди, рдЬрд╕рдорд╛ рд╕рдмреИ рд╕рдореНрднрд╛рд╡рд┐рдд рд╡рд┐рдХрд▓реНрдкрд╣рд░реВ рдкреНрд░рджрд╛рди рдЧрд░реНрди рдЧрд╛рд╣реНрд░реЛ рдЫ, рддрд░ рдЕрд╡рд╕реНрдерд┐рдд рдкрд░рд┐рдпреЛрдЬрдирд╛рд╣рд░реВрдХреЛ рдареВрд▓реЛ рд╕рдВрдЦреНрдпрд╛рдорд╛ рд╡рд┐рднрд┐рдиреНрди рднрд╛рд╖рд╛ рдирд┐рд░реНрдорд╛рдгрд╣рд░реВрдХреЛ рдкреНрд░рдпреЛрдЧрдХреЛ рддрдереНрдпрд╛рдЩреНрдХрдорд╛ рдЖрдзрд╛рд░рд┐рдд рдЫред ControlFlag рдХреЛрдб C++ рдорд╛ рд▓реЗрдЦрд┐рдПрдХреЛ рдЫ рд░ MIT рд▓рд╛рдЗрд╕реЗрдиреНрд╕ рдЕрдиреНрддрд░реНрдЧрдд рдЦреБрд▓рд╛ рд╕реНрд░реЛрдд рдЫред

GitHub рд░ рд╕рдорд╛рди рд╕рд╛рд░реНрд╡рдЬрдирд┐рдХ рднрдгреНрдбрд╛рд░рд╣рд░реВрдорд╛ рдкреНрд░рдХрд╛рд╢рд┐рдд рдЦреБрд▓рд╛ рд╕реНрд░реЛрдд рдкрд░рд┐рдпреЛрдЬрдирд╛рд╣рд░реВрдХреЛ рдЕрд╡рд╕реНрдерд┐рдд рдХреЛрдб рдПрд░реЗрдХреЛ рд╕рд╛рдВрдЦреНрдпрд┐рдХреАрдп рдореЛрдбреЗрд▓ рдирд┐рд░реНрдорд╛рдг рдЧрд░реЗрд░ рдкреНрд░рдгрд╛рд▓реАрд▓рд╛рдИ рдкреНрд░рд╢рд┐рдХреНрд╖рд┐рдд рдЧрд░рд┐рдПрдХреЛ рдЫред рдкреНрд░рд╢рд┐рдХреНрд╖рдг рдЪрд░рдгрдорд╛, рдкреНрд░рдгрд╛рд▓реАрд▓реЗ рдХреЛрдбрдорд╛ рд╕рдВрд░рдЪрдирд╛рд╣рд░реВ рдирд┐рд░реНрдорд╛рдг рдЧрд░реНрдирдХреЛ рд▓рд╛рдЧрд┐ рд╡рд┐рд╢рд┐рд╖реНрдЯ рдврд╛рдБрдЪрд╛рд╣рд░реВ рдирд┐рд░реНрдзрд╛рд░рдг рдЧрд░реНрджрдЫ рд░ рдХрд╛рд░реНрдпрдХреНрд░рдордорд╛ рдХреЛрдб рдХрд╛рд░реНрдпрд╛рдиреНрд╡рдпрдирдХреЛ рдкреНрд░рд╡рд╛рд╣рд▓рд╛рдИ рдкреНрд░рддрд┐рдмрд┐рдореНрдмрд┐рдд рдЧрд░реНрджреИ рдпреА рдврд╛рдБрдЪрд╛рд╣рд░реВ рдмреАрдЪ рдЬрдбрд╛рдирд╣рд░реВрдХреЛ рд╕рд┐рдиреНрдЯреНрдпрд╛рдХреНрдЯрд┐рдХ рд░реВрдЦ рдмрдирд╛рдЙрдБрдЫред рдирддрд┐рдЬрд╛рдХреЛ рд░реВрдкрдорд╛, рдПрдХ рд╕рдиреНрджрд░реНрдн рдирд┐рд░реНрдгрдп рдЧрд░реНрдиреЗ рд░реВрдЦ рдмрдирд╛рдЗрдиреНрдЫ рдЬрд╕рд▓реЗ рд╕рдмреИ рд╡рд┐рд╢реНрд▓реЗрд╖рдг рдЧрд░рд┐рдПрдХреЛ рд╕реНрд░реЛрдд рдХреЛрдбрд╣рд░реВрдХреЛ рд╡рд┐рдХрд╛рд╕ рдЕрдиреБрднрд╡рд▓рд╛рдИ рдЬреЛрдбреНрджрдЫред рд╕рдореАрдХреНрд╖рд╛ рдЕрдиреНрддрд░реНрдЧрдд рдХреЛрдбрд▓реЗ рд╕рдиреНрджрд░реНрдн рдирд┐рд░реНрдгрдп рд░реВрдЦ рд╡рд┐рд░реБрджреНрдз рдЬрд╛рдБрдЪ рдЧрд░рд┐рдПрдХрд╛ рдврд╛рдБрдЪрд╛рд╣рд░реВ рдкрд╣рд┐рдЪрд╛рди рдЧрд░реНрдиреЗ рд╕рдорд╛рди рдкреНрд░рдХреНрд░рд┐рдпрд╛рдмрд╛рдЯ рдЧреБрдЬреНрд░реНрдЫред рдЫрд┐рдореЗрдХреА рд╢рд╛рдЦрд╛рд╣рд░реВрд╕рдБрдЧ рдареВрд▓рд╛ рд╡рд┐рд╕рдВрдЧрддрд┐рд╣рд░реВрд▓реЗ рдЬрд╛рдБрдЪ рднрдЗрд░рд╣реЗрдХреЛ рдврд╛рдБрдЪрд╛рдорд╛ рд╡рд┐рд╕рдВрдЧрддрд┐рдХреЛ рдЙрдкрд╕реНрдерд┐рддрд┐рд▓рд╛рдИ рд╕рдВрдХреЗрдд рдЧрд░реНрджрдЫред

ControlFlag 1.0 рдХреЛ рд░рд┐рд▓реАрдЬ, C рдХреЛрдб рдорд╛ рддреНрд░реБрдЯрд┐рд╣рд░реБ рдХреЛ рдкрд╣рд┐рдЪрд╛рди рдХреЛ рд▓рд╛рдЧреА рдПрдХ рдЙрдкрдХрд░рдг

ControlFlag рдХреЛ рдХреНрд╖рдорддрд╛рд╣рд░реВрдХреЛ рдЙрджрд╛рд╣рд░рдгрдХреЛ рд░реВрдкрдорд╛, рд╡рд┐рдХрд╛рд╕рдХрд░реНрддрд╛рд╣рд░реВрд▓реЗ OpenSSL рд░ cURL рдкрд░рд┐рдпреЛрдЬрдирд╛рд╣рд░реВрдХреЛ рд╕реНрд░реЛрдд рдХреЛрдбрд╣рд░реВ рд╡рд┐рд╢реНрд▓реЗрд╖рдг рдЧрд░реЗ:

  • рдЕрд╕рд╛рдорд╛рдиреНрдп рдирд┐рд░реНрдорд╛рдгрд╣рд░реВ "(s1 == NULL) тИз (s2 == NULL)" рд░ "(s1 == NULL) | (s2 == NULL)" , рдЬреБрди рд╕рд╛рдорд╛рдиреНрдпрддрдпрд╛ рдкреНрд░рдпреЛрдЧ рд╣реБрдиреЗ рдврд╛рдБрдЪрд╛рд╕рдБрдЧ рдореЗрд▓ рдЦрд╛рдБрджреИрди "(s1 == NULL) || (s2 == NULL)"ред рдХреЛрдбрд▓реЗ "(-2 == rv)" (рдорд╛рдЗрдирд╕ рдПрдХ рдЯрд╛рдЗрдкреЛ рдерд┐рдпреЛ) рд░ "BIO_puts(bp, ":") <= 0)" (рд╕рдлрд▓ рд╕рдорд╛рдкрдирдХреЛ рдЬрд╛рдБрдЪрдХреЛ рд╕рдиреНрджрд░реНрднрдорд╛) рдЕрднрд┐рд╡реНрдпрдХреНрддрд┐рд╣рд░реВрдорд╛ рд╡рд┐рд╕рдВрдЧрддрд┐рд╣рд░реВ рдкрдирд┐ рдкрд╣рд┐рдЪрд╛рди рдЧрд░реНтАНрдпреЛред рдкреНрд░рдХрд╛рд░реНрдп рдпреЛ "== 0" рд╣реБрдиреБрдкрд░реНрдЫ)ред
  • CURL рдорд╛, рд╕рдВрд░рдЪрдирд╛ рддрддреНрд╡ "s->keepon" рдкреНрд░рдпреЛрдЧ рдЧрд░реНрджрд╛ рд╕реНрдерд┐рд░ рд╡рд┐рд╢реНрд▓реЗрд╖рдХрд╣рд░реВрд▓реЗ рдкрддреНрддрд╛ рд▓рдЧрд╛рдПрдирдиреН, рдЬреБрди рд╕рдВрдЦреНрдпрд╛рддреНрдордХ рдкреНрд░рдХрд╛рд░ рдерд┐рдпреЛ, рддрд░ рдмреБрд▓рд┐рдпрди рдорд╛рди TRUE рд╕рдБрдЧ рддреБрд▓рдирд╛ рдЧрд░рд┐рдПрдХреЛ рдерд┐рдпреЛред

ControlFlag 1.0 рд╕рдВрд╕реНрдХрд░рдгрдХрд╛ рд╕реБрд╡рд┐рдзрд╛рд╣рд░реВ рдордзреНрдпреЗ, рддреНрдпрд╣рд╛рдБ C рднрд╛рд╖рд╛рдХрд╛ рд▓рд╛рдЧрд┐ рдорд╛рдирдХ рдЯреЗрдореНрдкреНрд▓реЗрдЯрд╣рд░реВрдХреЛ рд▓рд╛рдЧрд┐ рдкреВрд░реНрдг рд╕рдорд░реНрдерди рд░ рд╕рд╢рд░реНрдд "рдпрджрд┐" рдЕрднрд┐рд╡реНрдпрдХреНрддрд┐рд╣рд░реВрдорд╛ рд╡рд┐рд╕рдВрдЧрддрд┐рд╣рд░реВ рдкрддреНрддрд╛ рд▓рдЧрд╛рдЙрдиреЗ рдХреНрд╖рдорддрд╛ рдЫред рдЙрджрд╛рд╣рд░рдгрдХрд╛ рд▓рд╛рдЧрд┐, рдХреЛрдб рдЯреБрдХреНрд░рд╛рдХреЛ рд╡рд┐рд╢реНрд▓реЗрд╖рдг рдЧрд░реНрджрд╛ "рдпрджрд┐ (x = 7) y = x;" рдкреНрд░рдгрд╛рд▓реАрд▓реЗ рдирд┐рд░реНрдзрд╛рд░рдг рдЧрд░реНрдиреЗрдЫ рдХрд┐ "if" рдХрдердирд▓реЗ рд╕рд╛рдорд╛рдиреНрдпрддрдпрд╛ рд╕рдВрдЦреНрдпрд╛рддреНрдордХ рдорд╛рдирд╣рд░реВ рддреБрд▓рдирд╛ рдЧрд░реНрди "рдЪрд░ == рд╕рдВрдЦреНрдпрд╛" рдирд┐рд░реНрдорд╛рдг рдкреНрд░рдпреЛрдЧ рдЧрд░реНрджрдЫ, рддреНрдпрд╕реИрд▓реЗ рдпреЛ рдзреЗрд░реИ рд╕рдореНрднрд╛рд╡рдирд╛ рдЫ рдХрд┐ "if" рдЕрднрд┐рд╡реНрдпрдХреНрддрд┐рдорд╛ "рдЪрд░ = рд╕рдВрдЦреНрдпрд╛" рдЯрд╛рдЗрдкреЛрдХреЛ рдХрд╛рд░рдгрд▓реЗ рднрдПрдХреЛ рд╣реЛред рдХрд┐рдЯрд▓реЗ рдПрдЙрдЯрд╛ рд╕реНрдХреНрд░рд┐рдкреНрдЯ рд╕рдорд╛рд╡реЗрд╢ рдЧрд░реНрджрдЫ рдЬрд╕рд▓реЗ рддрдкрд╛рдИрдВрд▓рд╛рдИ GitHub рдорд╛ рдЕрд╡рд╕реНрдерд┐рдд C рднрд╛рд╖рд╛ рднрдгреНрдбрд╛рд░рд╣рд░реВ рдбрд╛рдЙрдирд▓реЛрдб рдЧрд░реНрди рд░ рдореЛрдбреЗрд▓ рдирд┐рд░реНрдорд╛рдг рдЧрд░реНрди рдкреНрд░рдпреЛрдЧ рдЧрд░реНрди рдЕрдиреБрдорддрд┐ рджрд┐рдиреНрдЫред рд░реЗрдбрд┐рдореЗрдб рдореЛрдбреЗрд▓рд╣рд░реВ рдкрдирд┐ рдЙрдкрд▓рдмреНрдз рдЫрдиреН, рддрдкрд╛рдИрдВрд▓рд╛рдИ рддреБрд░реБрдиреНрддреИ рдХреЛрдб рдЬрд╛рдБрдЪ рдЧрд░реНрди рд╕реБрд░реБ рдЧрд░реНрди рдЕрдиреБрдорддрд┐ рджрд┐рдБрджреИред

рд╕реНрд░реЛрдд: opennet.ru

рдПрдХ рдЯрд┐рдкреНрдкрдгреА рдердкреНрди