-
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
- Stare filmy o technice
- Zasilanie własnych konstrukcji przez PoE
- Jak działa domofon?
- Co oni mierzą miernikiem
- 40 lat OrCAD-a
- Multimetr z bluetooth
- Ciekawa mapka z BTS-ami
- Lampy uliczne LED z kubkiem
- Pęczniejące LiPo
- wyłącznik ścienny
- "Wybitna" inteligencja AI
- test stereo
- Bluetooth stereo
- W USA budują pierwszą komercyjną elektrownię fuzji jądrowej
- Weryfikacja myjki ultradźwiękowej
Najnowsze wątki
- 2025-10-19 HYUANDAI NIE POJEDZIE DALEJ! Potrzebuje PILNIE POMOCY!
- 2025-10-18 BLIK a Sprawa Polska
- 2025-10-18 UE i woda pitna do chłodzenia
- 2025-10-18 Zakrzewo => Konsultant SAP HCM <=
- 2025-10-17 "Przypadkowo wylosowany" sędzia odmówił ekstradycji Niemcom za NordStream
- 2025-10-17 Stare filmy o technice
- 2025-10-17 Warszawa => Starszy Konsultant SAP - obszar PP <=
- 2025-10-17 Warszawa => Java Full Stack Developer <=
- 2025-10-17 Warszawa => Konsultant Wiodący SAP PP <=
- 2025-10-17 Warszawa => Key Account Manager (Usługi HR) <=
- 2025-10-17 Ostrów Wielkopolski => Specjalista ds. Marketingu Online (PPC) <=
- 2025-10-17 Gdańsk => Konsultant ds. Wdrożeń ERP (moduł FK) <=
- 2025-10-17 Lublin => Programista Delphi <=
- 2025-10-16 Warszawa => Senior Algorithm Developer (Java/Kotlin) <=
- 2025-10-16 Poznań => SAP HCR Consultant <=