1. 25 7月, 2009 4 次提交
    • J
      nl80211: report BSS status · 48ab905d
      Johannes Berg 提交于
      When connected to a BSS, or joined to an IBSS, we'll want
      to know in userspace without using wireless extensions, so
      report the BSS status in the BSS list. Userspace can query
      the BSS list, display all the information and retrieve the
      station information as well.
      
      For example (from hwsim):
      
      $ iw dev wlan1 scan dump
      BSS 02:00:00:00:00:00 (on wlan1) -- associated
      	freq: 2462
      	beacon interval: 100
      	capability: ESS ShortSlotTime (0x0401)
      	signal: -50.00 dBm
      	SSID: j
      	Supported rates: 1.0* 2.0* 5.5* 11.0* 6.0 9.0 12.0 18.0
      	DS Paramater set: channel 11
      	ERP: <no flags>
      	Extended supported rates: 24.0 36.0 48.0 54.0
      Signed-off-by: NJohannes Berg <johannes@sipsolutions.net>
      Signed-off-by: NJohn W. Linville <linville@tuxdriver.com>
      48ab905d
    • H
      cfg80211: update misleading comment · ca3dbc20
      Helmut Schaa 提交于
      In cfg80211_scan_request n_channels refers to the total number
      of channels to scan. Update the misleading comment accordingly.
      Signed-off-by: NHelmut Schaa <helmut.schaa@googlemail.com>
      Signed-off-by: NJohn W. Linville <linville@tuxdriver.com>
      ca3dbc20
    • 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
    • J
      nl80211: introduce new key attributes · b9454e83
      Johannes Berg 提交于
      We will soon want to nest key attributes into
      some new attribute for configuring static WEP
      keys at connect() and ibss_join() time, so we
      need nested attributes for that. However, key
      attributes right now are 'global'. This patch
      thus introduces new nested attributes for the
      key settings and functions for parsing them.
      Signed-off-by: NJohannes Berg <johannes@sipsolutions.net>
      Signed-off-by: NJohn W. Linville <linville@tuxdriver.com>
      b9454e83
  2. 24 7月, 2009 1 次提交
  3. 23 7月, 2009 1 次提交
  4. 22 7月, 2009 1 次提交
  5. 20 7月, 2009 2 次提交
  6. 18 7月, 2009 2 次提交
  7. 17 7月, 2009 1 次提交
    • E
      net: sock_copy() fixes · 4dc6dc71
      Eric Dumazet 提交于
      Commit e912b114
      (net: sk_prot_alloc() should not blindly overwrite memory)
      took care of not zeroing whole new socket at allocation time.
      
      sock_copy() is another spot where we should be very careful.
      We should not set refcnt to a non null value, until
      we are sure other fields are correctly setup, or
      a lockless reader could catch this socket by mistake,
      while not fully (re)initialized.
      
      This patch puts sk_node & sk_refcnt to the very beginning
      of struct sock to ease sock_copy() & sk_prot_alloc() job.
      
      We add appropriate smp_wmb() before sk_refcnt initializations
      to match our RCU requirements (changes to sock keys should
      be committed to memory before sk_refcnt setting)
      Signed-off-by: NEric Dumazet <eric.dumazet@gmail.com>
      Signed-off-by: NDavid S. Miller <davem@davemloft.net>
      4dc6dc71
  8. 15 7月, 2009 3 次提交
    • J
      net/compat/wext: send different messages to compat tasks · 1dacc76d
      Johannes Berg 提交于
      Wireless extensions have the unfortunate problem that events
      are multicast netlink messages, and are not independent of
      pointer size. Thus, currently 32-bit tasks on 64-bit platforms
      cannot properly receive events and fail with all kinds of
      strange problems, for instance wpa_supplicant never notices
      disassociations, due to the way the 64-bit event looks (to a
      32-bit process), the fact that the address is all zeroes is
      lost, it thinks instead it is 00:00:00:00:01:00.
      
      The same problem existed with the ioctls, until David Miller
      fixed those some time ago in an heroic effort.
      
      A different problem caused by this is that we cannot send the
      ASSOCREQIE/ASSOCRESPIE events because sending them causes a
      32-bit wpa_supplicant on a 64-bit system to overwrite its
      internal information, which is worse than it not getting the
      information at all -- so we currently resort to sending a
      custom string event that it then parses. This, however, has a
      severe size limitation we are frequently hitting with modern
      access points; this limitation would can be lifted after this
      patch by sending the correct binary, not custom, event.
      
      A similar problem apparently happens for some other netlink
      users on x86_64 with 32-bit tasks due to the alignment for
      64-bit quantities.
      
      In order to fix these problems, I have implemented a way to
      send compat messages to tasks. When sending an event, we send
      the non-compat event data together with a compat event data in
      skb_shinfo(main_skb)->frag_list. Then, when the event is read
      from the socket, the netlink code makes sure to pass out only
      the skb that is compatible with the task. This approach was
      suggested by David Miller, my original approach required
      always sending two skbs but that had various small problems.
      
      To determine whether compat is needed or not, I have used the
      MSG_CMSG_COMPAT flag, and adjusted the call path for recv and
      recvfrom to include it, even if those calls do not have a cmsg
      parameter.
      
      I have not solved one small part of the problem, and I don't
      think it is necessary to: if a 32-bit application uses read()
      rather than any form of recvmsg() it will still get the wrong
      (64-bit) event. However, neither do applications actually do
      this, nor would it be a regression.
      Signed-off-by: NJohannes Berg <johannes@sipsolutions.net>
      Signed-off-by: NDavid S. Miller <davem@davemloft.net>
      1dacc76d
    • J
      wireless extensions: make netns aware · b333b3d2
      Johannes Berg 提交于
      This makes wireless extensions netns aware. The
      tasklet sending the events is converted to a work
      struct so that we can rtnl_lock() in it.
      Signed-off-by: NJohannes Berg <johannes@sipsolutions.net>
      Signed-off-by: NDavid S. Miller <davem@davemloft.net>
      b333b3d2
    • T
      skbuff.h: Fix comment for NET_IP_ALIGN · 8660c124
      Tobias Klauser 提交于
      Use the correct function call for skb_reserve in the comment for
      NET_IP_ALIGN.
      Signed-off-by: NTobias Klauser <klto@zhaw.ch>
      Signed-off-by: NDavid S. Miller <davem@davemloft.net>
      8660c124
  9. 13 7月, 2009 6 次提交
  10. 11 7月, 2009 19 次提交