logo elektroda
logo elektroda
X
logo elektroda
REKLAMA
REKLAMA
Adblock/uBlockOrigin/AdGuard mogą powodować znikanie niektórych postów z powodu nowej reguły.

AVR połączenie z MySQL

kedzi1 10 Lis 2008 01:00 2706 4
REKLAMA
  • #1 5720815
    kedzi1
    Poziom 18  
    Piszę właśnie programik na AVR'ku który przez ethernet łączy się z MySQLem. Korzystam z logowania z długim hasłem od wersji 4.1. szyfrowanym SHA1. Układ synchronizuje połączenie na TCP, dostaje Greeting, odsyła Login Request z zaszyfrowanym hasłem ( 20 bajtów na końcu pakietu). Porównywałem i w tym miejscu program szyfruje podobnie (sprawdzałem z wymuszonym scramble_buffer i jest OK), ale orginalne oprogramowanie wysyła jeszcze potem 8 bajtów. Jak wyśle byle co to serwer odsyła że hasło jest błędne. Podejrzewam że te 8 bajtów to reszta hasła właśnie. Tylko dlaczego dokumentacja na oficjalnej stronie MySQL nic o tym nie mówi?
    Prosze o pomoc kolegów którzy mieli już styczność z implementacją klienta MySQL tak od podstaw (np. na mikrokontroler).
  • REKLAMA
  • #2 5721162
    BoskiDialer
    Poziom 34  
    Client Authentication Packet - tutaj doczytałem się, że po scramble_buff może być jeden bajt zerowy oraz zakończona zerem nazwa pierwszej używanej bazy (czy jakoś tak)
  • REKLAMA
  • #3 5721183
    kedzi1
    Poziom 18  
    To już mam. Na ten pakiet serwer odpowiada pakietem EOF. Podglądałem SQL Manager przez Ethereal i oryginalne oprogramowanie wysyła jeszcze potem 8 bajtów zakodowanej treści. i dopiero po tym serwer odpowiada pakietem OK.

    W manualu w dziale internals->serwer-client protocol piszą że hadshake jest tylko 3 etapowy i po pakiecie z 20 bajtami zakodowanego hasła powinienem dostać OK.

    Dla próby po odpowiedzi EOF wysyłam jeszcze pakiet z ośmioma bajtami to dostaje Error że hasło jest niepoprawne.

    Co w takim razie powinno być w tych bajtach?

    Co do pierwszego pakietu i tych 20 szyfrowanych bajtów to jestem pewien że są ok. Spisałem sobie scrambled_buffer i odpowiedz z podglądu oryginalnego oprogramowania i jak wymusiłem scrambled_buffer u siebie to dostałem taką samą odpowiedź.
  • REKLAMA
  • #4 5729637
    genetix
    Poziom 24  
    kedzi1 napisał:
    Piszę właśnie programik na AVR'ku który przez ethernet łączy się z MySQLem.
    Możesz zdradzić na jakiej architekturze to testujesz? Jakiś kit Atmela, czy własna konstrukcja?
  • #5 5730163
    kedzi1
    Poziom 18  
    Platforma testowa to EVBnet01 Propoxa z modułem MMnet1 (ATMEGA128+RTL8019AS_128kBRAM+dataflasch) do tego karta MCC/SD jako dysk twardy:). A docelowy sprzęt oparty bedzie na w/w module + proste płytki jednostronne.

    Co do mojego pytania: Mam napisany już konektor z starym logowaniem, ale jak ktoś zna odpowiedz to baaardzooo proszę o pomoc. Wole miec oba logowania i wybór w setup'ie. Przewaliłem cały net i wszędzie trzy etapy logowania, nic nie rozumiem z tego już. Może źle ustawiam flagi...
REKLAMA