Próbuję napisać klienta mysql od zera (czytaj: zadnych bibliotek)
Po co i dlaczego, to mniej istotne

Od paru dni wykuwam budowe każdego pakietu, niestety juz przy handshake mam problem. Udało mi się rozkminić jak hashowane jest hasło przed przesłaniem (dwucześciowy salt ze strony serwera+hasło+sha1) i to nie jest problem. Natomiast po typowym handshake i i odpowiedzi serwera (odpowiedzi ale jeszcze nie typu OK) klient php wysyła dodatkową paczkę z nieznaną komendą (albo raczej na oko z jakimś hashem) dokladnie 8 bajtów zakonczonych nullem (ale to moze być akurat dlugosc ze wzgledu na hasło jakiego uzywam lub coś podobnego, bo nullem konczą się stringi, a wartosci sa z zakresu 0x40-0x60, czyli String jak nic

Pytanie, co to jest i czy ma to znaczenie, bo jakoś nie moge bez tego przedostać się dalej, dostaje badhandshake, lub access denied (to nie jest problem aktualizacji wersji do 4.1, algorytm autoryzacji daje taki sam wynik jak klient php). Szukać dalej, czy po prostu posłać cokolwiek a błędu szukac gdzie indziej ?
Strawiłem juz chyba wszystko na ten temat, dokumentacje na dev.mysql, ich repozytorium gdzie tłumacza kazda funkcję c w źródłach i nic.
Jakies podpowiedzi ? Pisał juz ktoś cos takiego ? Jezyk bez znaczenia, chodzi mi o sam protokół.
pozdrawiam
mooska
OK, ułatwie troche

Ta dodatkowa odpowiedź pojawia się czasem w pewnych okolicznościach. Jest to żądanie starej autoryzacji. Na oko opartej na OLD_PASSWORD.
Zna ktoś algorytm jakim posługuje sie ta funkcja ?
Nowa wyglada plus minus tak sha1(salt.sha1(sha1(pass)))
