-
Data: 2022-08-09 10:53:41
Temat: Re: Biblioteka MQTT i dziwny kod w C
Od: Atlantis <m...@w...pl> szukaj wiadomości tego autora
[ pokaż wszystkie nagłówki ]On 09.08.2022 10:16, JDX wrote:
> Jak dla mnie to ta funkcja to jakieś totalne, niedorobione gówno.
> Prowizorka znaczy się. Tutaj bym szukał błędu. Kody stanów w switch-u
> zakodowane na twardo, a nie za pomocą enumów/makr - jak mniemam chodzi o
> kody wymienione w enum-ie na początku. Stany zmieniane za pomocą
> m_state++ czy m_state=3 zamiast m_state=NAZWA_KOLEJNEGO_STANU - aż się
> prosi o kłopoty. Nie chce mi się analizować tego kodu, ale wydaje mi
> się, że nie wszystkie stany są obsługiwane.
Też się skłaniam ku tej hipotezie. Będę musiał przyjrzeć się temu
bliżej, bo na razie wygląda na to, że ta funkcja nie jest kompatybilna z
wiadomością CONNACK i po natrafieniu na nią nie czyta wszystkiego, a
jedynie pobiera dwa pierwsze bajty.
Autor nie zauważył tego, bo przez przypadek tak się złożyło, że w
switch/case sprawdzał wartość komórki pamięci, która zawsze miała
wartość 0x00, więc zawsze wyglądało to tak, jakby połączenie zostało
autoryzowane. Najwyraźniej nie przetestował nigdy działania biblioteki z
błędnym loginem/hasłem.
Generalnie i tak prościej będzie usunąć z tego błędy o trochę wyczyścić
kod, niż pisać swoją własną bibliotekę albo portować inną pod stos
TCP/IP MLA od Microchipa...
To prawdopodobnie nie będzie ostatnia rzecz, bo w Wiresharku widzę
jeszcze jakieś retransmisje przy zamykaniu połączenia TCP po zakończonej
transmisji, ale najpierw chciałem się uporać z problemem z autoryzacją,
Następne wpisy z tego wątku
- 09.08.22 19:13 J.F
- 09.08.22 20:38 Atlantis
- 10.08.22 00:06 Atlantis
- 10.08.22 00:13 JDX
- 10.08.22 09:52 J.F
- 10.08.22 09:59 Grzegorz Niemirowski
- 10.08.22 19:25 Atlantis
- 10.08.22 20:41 heby
- 10.08.22 22:06 Marek
- 10.08.22 22:43 Grzegorz Niemirowski
- 10.08.22 23:26 heby
- 12.08.22 11:25 Piotr Gałka
- 16.08.22 13:20 Atlantis
- 17.08.22 18:58 Mirek
- 18.08.22 11:03 Atlantis
Najnowsze wątki z tej grupy
- Jaki silikon lub może klej?
- Smar do video
- Litowe baterie AA Li/FeS2 a alkaliczne
- "ogrodowa linia napowietrzna"
- jaki zasilacz laboratoryjny
- jaki zasilacz laboratoryjny
- Puszka w ziemię
- T-1000 was here
- Ściąganie hasła frezem
- Koszyk okrągły, walec 3x AA, na duże paluszki R6
- Brak bolca ochronnego ładowarki oznacza pożar
- AMS spalony szybkim zasilaczem USB
- stalowe bezpieczniki
- Wyświtlacz ramki cyfrowej
- bateria na żądanie
Najnowsze wątki
- 2025-02-09 Ster w trolejbusie.
- 2025-02-09 Jebany POPiS. Mamy się cieszyć że rząd Tuska naprawił spierdolone porozumienie z UE?
- 2025-02-08 W zyciu warto miec szczescie
- 2025-02-08 Elektryki
- 2025-02-08 Alg. kompresji LZW
- 2025-02-08 Kraków => Key Account Manager <=
- 2025-02-08 Warszawa => Java Developer <=
- 2025-02-09 Cenzura netu
- 2025-02-08 Re: Historyczny sukces tuskistanu: groźna cyber-przestępczyni emerytka Iza błyskawicznie ujęta!
- 2025-02-08 Re: Historyczny sukces tuskistanu: groźna cyber-przestępczyni emerytka Iza błyskawicznie ujęta!
- 2025-02-08 Re: Historyczny sukces tuskistanu: groźna cyber-przestępczyni emerytka Iza błyskawicznie ujęta!
- 2025-02-08 Lokaty na nowe środki
- 2025-02-07 Jaki silikon lub może klej?
- 2025-02-07 Gdańsk => iOS Developer (Swift experience) <=
- 2025-02-07 Warszawa => Starszy Programista C <=