L-iżball jindika l-ewwel linja ta’ fajl .ovpn u jikkwota xi ħaġa li tidher bħal ittri mħabbla fejn suppost hemm client. Il-fajl jiftaħ tajjeb fl-editur tiegħek, l-ewwel linja taqra client, u d-direttiva hija għal kollox ordinarja. Iż-żewġ osservazzjonijiet huma veri, għax l-editur jiddekodifika l-bajts u l-klijent le. Dak li qed tara kważi dejjem hija problema ta’ kodifikazzjoni, mhux problema ta’ sintassi.

Il-mit: l-editur jurik il-fajl

Editur tat-test jiddekodifika l-bajts f’karattri b’kodifikazzjoni li jew jinduna biha jew jaqta’ li hi. Meta jaqta’ li hi UTF-16, il-fajl jidher perfett fuq l-iskrin waqt li l-bajts taħtu huma pari, b’bajt żero wara kull ittra Latina. OpenVPN jaqra dawk il-bajts bħala karattri, u d-diskrepanza tidher fl-ewwel direttiva li jipprova janalizza.

Allura il-linja viżibbli u l-linja mgħoddija huma żewġ affarijiet differenti. It-tħassir tal-karattri strambi li tara huwa bidla fil-wiri, mhux fil-kodifikazzjoni, u l-analiżi li jmiss tfalli għall-istess raġuni b’mess ftit differenti. Huwa għalhekk li t-tiġrija wara t-token fl-iżball qatt ma twassal imkien. Il-bajts huma ħżiena fis-sors, u kull qarrej aktar ’l isfel jaqta’ l-istess sekwenza miksura.

Il-forma speċifika tal-falliment tisserva biex tiġi rikonoxxuta, għax hija dijanjostika b’mod partikolari. Token fil-bidu nett tal-fajl, fi profil li kien jaħdem xort’oħra fuq magni oħra, hija kwistjoni ta’ ordni tal-bajts u mhux ta’ vokabolarju.

X’jgħidu tassew l-ewwel bajts

Aqra l-bajts minflok il-karattri. Żewġ kmandi żgħar isolvuha fi ftit sekondi, u wieħed minnhom ma jeħtieġx li tiftaħ il-fajl f’applikazzjoni li tista’ tbiddlu:

file client.ovpn
head -c 24 client.ovpn | od -An -tx1

Il-mudell li qed tfittex huwa par ta’ bajts tal-bidu segwit minn test li fih kull tieni bajt huwa żero. FF FE tindika UTF-16 little-endian, FE FF tindika big-endian, u EF BB BF tindika UTF-8 b’marka tal-ordni tal-bajts. Fajl UTF-8 sempliċi mingħajr marka jibda direttament bil-bajt tal-ewwel ittra.

Il-bajts żero bejn l-ittri huma l-ħjiel. F’UTF-16 little-endian il-kelma client tokkupa tnax-il bajt minflok sitta, għax wara kull karattru ASCII jiġi żero. Dik l-istruttura ma tistax turiha l-wiri ta’ editur, u mhix xi ħaġa li tħassir ta’ żewġ bajts jista’ jneħħi.

Hawn hemm sfumatura importanti: il-qarrej tal-konfigurazzjoni ta’ OpenVPN tassew jaqbeż marka tal-ordni tal-bajts UTF-8 fil-bidu ta’ fajl, kif juri l-qarrej tal-konfigurazzjoni 2.6. Dik it-tolleranza hija speċifika għal dik il-marka, u ma tagħmel xejn għal fajl UTF-16 li l-ittri tiegħu huma mimlija bl-żero. Li ż-żewġ marki jiġu trattati bħala l-istess problema hija n-nofs l-ieħor tal-mit.

Il-konverżjoni hija salv bħala, mhux tħassir

Żomm kopja mhux mittiefsa tal-oriġinal tal-operatur qabel ma tagħmel xejn, u aħdem fuq fajl separat. Profil jista’ jkun fih ċavetta privata jew materjal tal-kont, għalhekk il-kopja hija kemm il-mod kif tmur lura u kemm ir-referenza tiegħek.

Imbagħad agħmel konverżjoni tal-kodifikazzjoni vera, jew mill-menu espliċitu tal-kodifikazzjoni tal-editur jew b’konvertitur li jiddikjara l-kodifikazzjoni tal-input u tal-output tiegħu:

iconv -f UTF-16 -t UTF-8 client.ovpn > client-utf8.ovpn
file client-utf8.ovpn

Ivverifika r-riżultat minflok ma tafda fl-istat tal-ħruġ tal-kmand. Il-konverżjoni għandha tippreserva kull direttiva, u trid tippreserva kwalunkwe blokk ta’ ċertifikat jew ċavetta inkorporat bajt b’bajt ġewwa l-markaturi tiegħu. L-erġa’ tgħawwiġ tad-data PEM, it-tibdil tat-truf tal-linji ġewwa blokk jew l-ifformattjar mill-ġdid tal-profil waqt il-konverżjoni joħolqu problema ġdida waqt li tkun qed issewwi l-qadima.

Idderieġi l-klijent jew is-servizz lejn il-fajl ikkonvertit u ħares lejn l-ewwel żball li jirrapporta. Jekk it-token imħabbel telaq, ix-xogħol tal-kodifikazzjoni spiċċa u kull ma jfalli wara hija kwistjoni oħra.

X’ma jsewwix kodifikazzjoni msewwija

Il-kodifikazzjoni tiddetermina kif jinqara t-test; ma tgħid xejn dwar jekk l-għażliet humiex validi għall-klijent quddiemek. Profil esportat għal implimentazzjoni oħra jista’ jiġi analizzat nadif u xorta jiġi miċħud minħabba għażla li l-bini li qed jaħdem ma jappoġġjax, jew minħabba direttiva li l-argument tagħha jfisser xi ħaġa oħra f’dak il-klijent.

Dawk l-iżbalji aktar tard jistħoqqilhom investigazzjoni tagħhom: l-ortografija eżatta, is-sintassi tal-argument u l-verżjoni li taċċettaha. Tqisx analiżi li rnexxiet bħala profil li rnexxa.

Żomm l-investigazzjoni lokali waqt li tkun qed tagħmilha. Konvertituri pubbliċi onlajn u dawns hex imwaħħla huma post ħażin għal fajl li jista’ jkun fih ċavetta privata, għax il-problema tal-kodifikazzjoni hija faċli tissewwa u ċavetta li tnixxiet le.

Artikli relatati