From: Ivo v. D. <iv...@gm...> - 2005-08-03 07:20:22
|
Hi, Recently a update was made in GIT where the payload variable was added to a= ll=20 ieee80211_hdr_*addr structures. But doesn this break the=20 ieee80211_authentication ieee80211_probe_response ieee80211_assoc_response_frame Structures? Each of these have the ieee80211_hdr_3addr inside it, and by=20 adding the payload variable to the header it effectively moves all variable= s=20 inside the mgmt structures 1 byte. Which would cause the data from these structures to be read incorrectly. A second thing I noticed, with code that is already longer in the repositor= y, ieee80211_rx_mgt checks which kind of frame it is, and when for example it = is=20 a IEEE80211_STYPE_ASSOC_RESP frame, then ieee80211_handle_assoc_resp is bei= ng=20 called which will create a network structure and passes it to the driver. But when should the status variable be checked? It s possible a association request will be rejected by the AP, but with th= e=20 current stack it means that the packet should be handled like this: Driver receives packet, driver checks if it is a mgmt packet, driver checks= if=20 it is an IEEE80211_STYPE_ASSOC_RESP frame, driver checks if the associatio= n=20 succeeded, driver passes the packet to the stack, stack creates the network= =20 structure, and gives it back to the driver. Shouldn't at least the status be checked by the stack? So the driver only has to act when a association request succeeded. IvD |