Један додатни нови ред може сломити TLS након CONNECT
Проверите уоквиривање HTTP заглавља када ручно написан прокси конектор отвори тунел и одмах произведе грешку TLS декодирања.
Када CONNECT врати 200 и TLS одмах не успе да декодира, прегледајте граничне бајтове у конектору пре него што промените сертификате или шифре.
Генерисана вредност ауторизације може већ да завршава новим редом. Додавање још једног краја реда може прерано завршити HTTP заглавља и оставити жељено поље Host или други отворени текст иза захтева.
Минимални HTTP/1.1 CONNECT захтев користи CRLF између редова и празан ред на крају:
b"CONNECT example.com:443 HTTP/1.1\r\nHost: example.com:443\r\n\r\n"Ставите било које поље ауторизације пре тог завршног празног реда, без уграђеног прелома реда. У Python-у "\n" представља нови ред; сирови низ са backslash-ом и словом n не. Проверите које бајтове производи помоћник за кодирање пре него што покушате да их уклоните—старији помоћници могли су да додају преломе редова.
Након успешног CONNECT ти преостали бајтови припадају протоколу тунела. Залутали отворени текст може доћи до партнера који очекује TLS. Успешан статус не може поправити бајтове који су већ у реду након неисправног захтева.
Проверите и границу примања. Прочитајте цео одговор проксија пре него што предате сокет TLS-у, рукујте делимичним читањима и сачувајте све што је прочитано иза заглавља. Једно читање сокета не мора да садржи једну целу поруку.
Ако поседујете овај парсер, упоредите редиговани приказ бајтова са граматиком жице; држите дужине и границе редова видљивима док скривате лозинку. За апликацију којој треба само прокси веза, одржавани конектор избегава потребу да поседујете овај код за уоквиривање.