1. 23 12月, 2009 1 次提交
    • J
      cfg80211: avoid sending spurious deauth to userspace · 5fba4af3
      Johannes Berg 提交于
      Before
        commit ca9034592823e8179511e48a78731f95bfdd766c
        Author: Holger Schurig <hs4233@mail.mn-solutions.de>
        Date:   Tue Oct 13 13:45:28 2009 +0200
      
            cfg80211: remove warning in deauth case
      
      we assumed that drivers never give us spurious deauth
      frames because they filter them out based on the auth
      state they keep track of. This turned out to be racy,
      because userspace might deauth while the AP is also
      sending a deauth frame, so the warning was removed.
      
      However, in that case we should not tell userspace
      about the AP's frame if it requested deauth "first",
      where "first" means it came to cfg80211 first.
      Signed-off-by: NJohannes Berg <johannes@sipsolutions.net>
      Signed-off-by: NJohn W. Linville <linville@tuxdriver.com>
      5fba4af3
  2. 20 11月, 2009 1 次提交
    • J
      mac80211: avoid spurious deauth frames/messages · a58ce43f
      Johannes Berg 提交于
      With WEXT, it happens frequently that the SME
      requests an authentication but then deauthenticates
      right away because some new parameters came along.
      Every time this happens we print a deauth message
      and send a deauth frame, but both of that is rather
      confusing. Avoid it by aborting the authentication
      process silently, and telling cfg80211 about that.
      
      The patch looks larger than it really is:
      __cfg80211_auth_remove() is split out from
      cfg80211_send_auth_timeout(), there's no new code
      except __cfg80211_auth_canceled() (a one-liner) and
      the mac80211 bits (7 new lines of code).
      Signed-off-by: NJohannes Berg <johannes@sipsolutions.net>
      Signed-off-by: NJohn W. Linville <linville@tuxdriver.com>
      a58ce43f
  3. 19 11月, 2009 1 次提交
    • J
      cfg80211: Allow reassociation in associated state · 24b6b15f
      Jouni Malinen 提交于
      cfg80211 rejects all association requests when in associated state. This
      prevents clean roaming within an ESS since one would first need to
      disassociate before being able to request reassociation.
      
      Accept the reassociation request and let the old association to be
      dropped when the new one is completed. This fixes nl80211-based
      roaming with the current snapshot version of wpa_supplicant (that has
      code for requesting reassociation explicitly withthe previous BSSID
      attribute).
      Signed-off-by: NJouni Malinen <j@w1.fi>
      Signed-off-by: NJohn W. Linville <linville@tuxdriver.com>
      24b6b15f
  4. 05 11月, 2009 1 次提交
  5. 28 10月, 2009 3 次提交
  6. 08 10月, 2009 1 次提交
    • J
      wext: refactor · 3d23e349
      Johannes Berg 提交于
      Refactor wext to
       * split out iwpriv handling
       * split out iwspy handling
       * split out procfs support
       * allow cfg80211 to have wireless extensions compat code
         w/o CONFIG_WIRELESS_EXT
      
      After this, drivers need to
       - select WIRELESS_EXT	- for wext support
       - select WEXT_PRIV	- for iwpriv support
       - select WEXT_SPY	- for iwspy support
      
      except cfg80211 -- which gets new hooks in wext-core.c
      and can then get wext handlers without CONFIG_WIRELESS_EXT.
      
      Wireless extensions procfs support is auto-selected
      based on PROC_FS and anything that requires the wext core
      (i.e. WIRELESS_EXT or CFG80211_WEXT).
      Signed-off-by: NJohannes Berg <johannes@sipsolutions.net>
      Signed-off-by: NJohn W. Linville <linville@tuxdriver.com>
      3d23e349
  7. 20 8月, 2009 1 次提交
    • J
      cfg80211: report userspace SME connected event properly · ea416a79
      Johannes Berg 提交于
      Instead of hacking the event reporting into the
      __cfg80211_connect_result() function which is also
      invoked by others, set up things correctly and then
      invoke that function, so that it can do more sanity
      checking.
      
      Also, it is currently not possible to get a ROAMED
      event from the userspace SME anyway since we send
      out a DISCONNECTED event when it disassociates and
      then a new CONNECTED event on the next association.
      
      Thanks to Zhu Yi for pointing out that the code is
      somewhat convoluted and doesn't warn when it should.
      Signed-off-by: NJohannes Berg <johannes@sipsolutions.net>
      Signed-off-by: NJohn W. Linville <linville@tuxdriver.com>
      ea416a79
  8. 14 8月, 2009 3 次提交
  9. 05 8月, 2009 1 次提交
  10. 30 7月, 2009 2 次提交
  11. 25 7月, 2009 2 次提交
    • J
      cfg80211: fix more bugs in mlme handling · 596a07c1
      Johannes Berg 提交于
      The "what-was-I-thinking-if-anything" patch. Clearly,
      if cfg80211_send_disassoc() does wdev_lock() and then
      calls __cfg80211_send_disassoc(), the latter shouldn't
      lock again. And the sme_state test is ... no further
      comments.
      Signed-off-by: NJohannes Berg <johannes@sipsolutions.net>
      Signed-off-by: NJohn W. Linville <linville@tuxdriver.com>
      596a07c1
    • J
      cfg80211: rework key operation · fffd0934
      Johannes Berg 提交于
      This reworks the key operation in cfg80211, and now only
      allows, from userspace, configuring keys (via nl80211)
      after the connection has been established (in managed
      mode), the IBSS been joined (in IBSS mode), at any time
      (in AP[_VLAN] modes) or never for all the other modes.
      
      In order to do shared key authentication correctly, it
      is now possible to give a WEP key to the AUTH command.
      To configure static WEP keys, these are given to the
      CONNECT or IBSS_JOIN command directly, for a userspace
      SME it is assumed it will configure it properly after
      the connection has been established.
      
      Since mac80211 used to check the default key in IBSS
      mode to see whether or not the network is protected,
      it needs an update in that area, as well as an update
      to make use of the WEP key passed to auth() for shared
      key authentication.
      Signed-off-by: NJohannes Berg <johannes@sipsolutions.net>
      Signed-off-by: NJohn W. Linville <linville@tuxdriver.com>
      fffd0934
  12. 11 7月, 2009 9 次提交
  13. 23 4月, 2009 3 次提交
  14. 28 3月, 2009 1 次提交
    • J
      nl80211: Event notifications for MLME events · 6039f6d2
      Jouni Malinen 提交于
      Add new nl80211 event notifications (and a new multicast group, "mlme")
      for informing user space about received and processed Authentication,
      (Re)Association Response, Deauthentication, and Disassociation frames in
      station and IBSS modes (i.e., MLME SAP interface primitives
      MLME-AUTHENTICATE.confirm, MLME-ASSOCIATE.confirm,
      MLME-REASSOCIATE.confirm, MLME-DEAUTHENTICATE.indicate, and
      MLME-DISASSOCIATE.indication). The event data is encapsulated as the 802.11
      management frame since we already have the frame in that format and it
      includes all the needed information.
      
      This is the initial step in providing MLME SAP interface for
      authentication and association with nl80211. In other words, kernel code
      will act as the MLME and a user space application can control it as the
      SME.
      Signed-off-by: NJouni Malinen <j@w1.fi>
      Signed-off-by: NJohn W. Linville <linville@tuxdriver.com>
      6039f6d2