Ċirku jrid tmien bytes ta' tweġiba SOCKS. Huwa rċieva tlieta. Il-qari li jmiss jirritorna b'', u ċ-ċirku jżidu, jiċċekkja t-tul u jerġa' jipprova għal dejjem.

Dan huwa bug fil-maniġġar tal-EOF, mhux proxy bil-mod li jeħtieġ waqfa itwal. F'riċeviment normali permezz ta' socket ta' fluss, string ta' bytes vojt ifisser li l-parti l-oħra skonnettjat. Il-ħames bytes li jifdal mhux se jaslu fuq dik il-konnessjoni.

Helper ta' qari eżatt jeħtieġ tliet riżultati distinti: jakkumula biċċiet mhux vojta, ifalli fuq l-EOF qabel it-tul meħtieġ, u jxerred waqfa jew żball ieħor tas-socket. Dawk il-każijiet m'għandhomx jiġbru fi ċirku wieħed ġeneriku ta' tentattivi mill-ġdid.

Issettja l-waqfa maħsuba tas-socket qabel l-operazzjoni, u aqra t-tulijiet tal-kampijiet speċifikati mill-protokoll tal-proxy. Riċeviment wieħed jista' jirritorna biss parti minn tweġiba. Bil-kuntrarju, it-talba għal buffer fiss kbir ma tagħmilx kull indirizz SOCKS ta' dak it-tul.

Tiswijx dipendenza billi tippejstja snippet MSG_WAITALL antik fis-sors tagħha u tassumi li jkopri l-EOF, is-sinjali u l-imġiba tal-pjattaforma. Ippreferi l-fiss supported tal-implimentazzjoni miżmuma, jew implimenta l-kuntratt tal-helper b'mod deliberat meta l-parser huwa l-kodiċi tiegħek.

Żomm kemm bytes kienu mistennija u rċevuti, mingħajr ma tilloggja payloads ta' kredenzjali. “EOF wara tlieta minn tmien bytes ta' tweġiba” jispjega l-iskambju miksur ħafna aħjar minn “il-proxy dendel mill-ġdid”.

Artikli relatati