Għaliex struct C tista' tipproduċi talba SOCKS ħażina
Iċċekkja l-wisa' tal-kampi espliċiti, l-ordni tal-bytes u l-I/O tal-fluss minflok ma tqis it-tqassim tal-kompilatur bħala l-format tan-network.
Indirizz tal-proxy validu ma jagħmilx messaġġ SOCKS miktub bl-idejn validu. Li tibgħat struct C jew C++ jista' jibgħat padding jew interi fl-ordni tal-host li l-protokoll qatt ma talab.
Għal talba SOCKS5 CONNECT b'isem tad-dominju, isserjalizza din is-sekwenza b'mod espliċitu wara n-negozjati tal-metodu u kwalunkwe awtentikazzjoni magħżula:
- Verżjoni, kmand, byte riżervat u tip tal-indirizz
- Tul tad-dominju u bytes tad-dominju
- Il-port tad-destinazzjoni ta' żewġ bytes fl-ordni tal-bytes tan-network
It-tulijiet tal-indirizzi jiddependu fuq il-verżjoni SOCKS u t-tip tal-indirizz. Kampi numeriċi ta' wisa' fissa jeħtieġu r-rappreżentazzjoni speċifikata tagħhom; is-strings tad-dominju għandhom il-kodifikazzjoni tat-tul tagħhom stess. Terminatur ta' string C mhuwiex struzzjoni ġenerali biex iżżid żero mal-messaġġ tan-network.
| Skorċatoja fl-implimentazzjoni | Problema li għandha tiġi vverifikata |
|---|---|
| Tassenja valur ta' 32 bit permezz ta' pointer ta' 8 bit | Ma joħroġx l-erba' bytes kollha |
| Tikkasta buffer għal pointer ta' interu akbar | L-allinjament u l-ordni tal-bytes xorta għandhom jiġu trattati |
| Tassumi li qari jew kitba waħda hija messaġġ wieħed | TCP jista' jittrasferixxi biss parti mis-sekwenza tal-protokoll |
Qabbel kull qasam mad-destinazzjoni maħsuba u ttratta I/O parzjali. Li tirċievi żewġ bytes ma jipprovax li waslet ir-risposta kollha. Li teżamina dawk il-konfini tista' tiddistingwi talba difettuża minn server li jirrifjuta konnessjoni deskritta b'mod korrett.