[802.11] Bugfix and minor improvement potpourri
authorJoshua Oreman <oremanj@xenon.get-linux.org>
Tue, 9 Jun 2009 05:01:52 +0000 (22:01 -0700)
committerJoshua Oreman <oremanj@xenon.get-linux.org>
Tue, 9 Jun 2009 05:01:52 +0000 (22:01 -0700)
commit8182fff820119754b78c3ec8ed6f4de7884777e1
treee616ba6666cb56db08835a04c98875bd5a54141c
parent255f3fdc6c75ca8419f75748f62412d5fb69a55f
[802.11] Bugfix and minor improvement potpourri

Bugs fixed:
- Call net80211_prepare_default() as soon as the device is opened,
  in case some unscrupulous code tries to transmit regardless of
  the fact that the link is down.
- If the association process is running when we're closed, kill it.
- Initialize the list head for the parallel queue of signal strengths
  of packets in the management queue.
- When advancing to the next info element in a management packet, we
  need to advance by ie->len + 2 bytes, not just ie->len. ie->len
  doesn't include the two bytes of header.
- If probe doesn't return anything, set an error code (ETIMEDOUT)
  instead of leaving it at "Error in association: no error".
- Set NET80211_WAITING state when we send an auth or assoc packet,
  so we don't try to keep processing while we're waiting for the
  reply.

Minor improvements made:
- Call the hidden-SSID setting "active-scan" instead of "hidden";
  it makes its ultimate purpose clearer, and there may be times
  people want an active scan without a hidden-SSID network around.
  (Beacons are usually transmitted with fairly low power; if the
  signal strength is poor, active scanning makes it easier to
  find the network.)
- Give the probe 4 seconds to find a better AP, up from 2. Hard
  timeout if it can't find anything at all is still at 6 seconds.
  I will probably adjust these more later.
- Probe where netX/ssid isn't set will pick up the network with the
  best signal strength around.
- Cleaned up the messages output a bit.
- Display 802.11 reason code when we receive a deauth or disassoc
  message, and don't try to reassociate - there's usually a deeper
  issue than "the AP decided it didn't like us".
src/net/net80211.c