1. 23 9月, 2008 9 次提交
  2. 22 9月, 2008 3 次提交
  3. 21 9月, 2008 4 次提交
  4. 20 9月, 2008 1 次提交
  5. 18 9月, 2008 2 次提交
  6. 16 9月, 2008 8 次提交
    • J
      mac80211: fix virtual interfaces vs. injection · 25d834e1
      Johannes Berg 提交于
      Currently, virtual interface pointers passed to drivers might be
      from monitor interfaces and as such completely uninitialised
      because we do not tell the driver about monitor interfaces when
      those are created. Instead of passing them, we should therefore
      indicate to the driver that there is no information; do that by
      passing a NULL value and adjust drivers to cope with it.
      
      As a result, some mac80211 API functions also need to cope with
      a NULL vif pointer so drivers can still call them unconditionally.
      
      Also, when injecting frames we really don't want to pass NULL all
      the time, if we know we are the source address of a frame and have
      a local interface for that address, we can to use that interface.
      This also helps with processing the frame correctly for that
      interface which will help the 802.11w implementation. It's not
      entirely correct for VLANs or WDS interfaces because there the MAC
      address isn't unique, but it's already a lot better than what we
      do now.
      
      Finally, when injecting without a matching local interface, don't
      assign sequence numbers at all.
      Signed-off-by: NJohannes Berg <johannes@sipsolutions.net>
      Signed-off-by: NJohn W. Linville <linville@tuxdriver.com>
      25d834e1
    • J
      mac80211: share sta_info->ht_info · 687c7c08
      Johannes Berg 提交于
      Rate control algorithms may need access to a station's
      HT capabilities, so share the ht_info struct in the
      public station API.
      Signed-off-by: NJohannes Berg <johannes@sipsolutions.net>
      Signed-off-by: NJohn W. Linville <linville@tuxdriver.com>
      687c7c08
    • J
      mac80211: share sta->supp_rates · 323ce79a
      Johannes Berg 提交于
      As more preparation for a saner rate control algorithm API,
      share the supported rates bitmap in the public API.
      Signed-off-by: NJohannes Berg <johannes@sipsolutions.net>
      Signed-off-by: NJohn W. Linville <linville@tuxdriver.com>
      323ce79a
    • J
      mac80211: share STA information with driver · 17741cdc
      Johannes Berg 提交于
      This patch changes mac80211 to share some more data about
      stations with drivers. Should help iwlwifi and ath9k when
       they get around to updating, and might also help with
      implementing rate control algorithms without internals.
      Signed-off-by: NJohannes Berg <johannes@sipsolutions.net>
      Cc: Sujith Manoharan <Sujith.Manoharan@atheros.com>
      Signed-off-by: NJohn W. Linville <linville@tuxdriver.com>
      17741cdc
    • J
      mac80211: use nl80211 interface types · 05c914fe
      Johannes Berg 提交于
      There's really no reason for mac80211 to be using its
      own interface type defines. Use the nl80211 types and
      simplify the configuration code a bit: there's no need
      to translate them any more now.
      Signed-off-by: NJohannes Berg <johannes@sipsolutions.net>
      Signed-off-by: NJohn W. Linville <linville@tuxdriver.com>
      05c914fe
    • J
      mac80211: inform driver of basic rateset · 96dd22ac
      Johannes Berg 提交于
      Drivers need to know the basic rateset to be able to configure
      the ACK/CTS programming in hardware correctly.
      Signed-off-by: NJohannes Berg <johannes@sipsolutions.net>
      Signed-off-by: NJohn W. Linville <linville@tuxdriver.com>
      96dd22ac
    • J
      mac80211: fix scan vs. interface removal race · 5bc75728
      Johannes Berg 提交于
      When we remove an interface, we can currently end up having
      a pointer to it left in local->scan_sdata after it has been
      set down, and then with a hardware scan the scan completion
      can try to access it which is a bug. Alternatively, a scan
      that started as a hardware scan may terminate as though it
      was a software scan, if the timing is just right.
      
      On SMP systems, software scan also has a similar problem,
      just canceling the delayed work and setting a flag isn't
      enough since it may be running concurrently; in this case
      we would also never restore state of other interfaces.
      
      This patch hopefully fixes the problems by always invoking
      ieee80211_scan_completed or requiring it to be invoked by
      the driver, I suspect the drivers that have ->hw_scan() are
      buggy. The bug will not manifest itself unless you remove
      the interface while hw-scanning which will also turn off
      the hw, and then add a new interface which will be unusable
      until you scan once.
      Signed-off-by: NJohannes Berg <johannes@sipsolutions.net>
      Signed-off-by: NJohn W. Linville <linville@tuxdriver.com>
      5bc75728
    • L
      cfg80211: Add new wireless regulatory infrastructure · b2e1b302
      Luis R. Rodriguez 提交于
      This adds the new wireless regulatory infrastructure. The
      main motiviation behind this was to centralize regulatory
      code as each driver was implementing their own regulatory solution,
      and to replace the initial centralized code we have where:
      
      * only 3 regulatory domains are supported: US, JP and EU
      * regulatory domains can only be changed through module parameter
      * all rules were built statically in the kernel
      
      We now have support for regulatory domains for many countries
      and regulatory domains are now queried through a userspace agent
      through udev allowing distributions to update regulatory rules
      without updating the kernel.
      
      Each driver can regulatory_hint() a regulatory domain
      based on either their EEPROM mapped regulatory domain value to a
      respective ISO/IEC 3166-1 country code or pass an internally built
      regulatory domain. We also add support to let the user set the
      regulatory domain through userspace in case of faulty EEPROMs to
      further help compliance.
      
      Support for world roaming will be added soon for cards capable of
      this.
      
      For more information see:
      
      http://wireless.kernel.org/en/developers/Regulatory/CRDA
      
      For now we leave an option to enable the old module parameter,
      ieee80211_regdom, and to build the 3 old regdomains statically
      (US, JP and EU). This option is CONFIG_WIRELESS_OLD_REGULATORY.
      These old static definitions and the module parameter is being
      scheduled for removal for 2.6.29. Note that if you use this
      you won't make use of a world regulatory domain as its pointless.
      If you leave this option enabled and if CRDA is present and you
      use US or JP we will try to ask CRDA to update us a regulatory
      domain for us.
      Signed-off-by: NLuis R. Rodriguez <lrodriguez@atheros.com>
      Signed-off-by: NJohn W. Linville <linville@tuxdriver.com>
      b2e1b302
  7. 13 9月, 2008 2 次提交
  8. 12 9月, 2008 3 次提交
  9. 11 9月, 2008 2 次提交
  10. 10 9月, 2008 1 次提交
  11. 09 9月, 2008 5 次提交
    • G
      This reverts "Merge branch 'dccp' of git://eden-feed.erg.abdn.ac.uk/dccp_exp" · 410e27a4
      Gerrit Renker 提交于
      as it accentally contained the wrong set of patches. These will be
      submitted separately.
      Signed-off-by: NGerrit Renker <gerrit@erg.abdn.ac.uk>
      410e27a4
    • M
      [Bluetooth] Reject L2CAP connections on an insecure ACL link · e7c29cb1
      Marcel Holtmann 提交于
      The Security Mode 4 of the Bluetooth 2.1 specification has strict
      authentication and encryption requirements. It is the initiators job
      to create a secure ACL link. However in case of malicious devices, the
      acceptor has to make sure that the ACL is encrypted before allowing
      any kind of L2CAP connection. The only exception here is the PSM 1 for
      the service discovery protocol, because that is allowed to run on an
      insecure ACL link.
      
      Previously it was enough to reject a L2CAP connection during the
      connection setup phase, but with Bluetooth 2.1 it is forbidden to
      do any L2CAP protocol exchange on an insecure link (except SDP).
      
      The new hci_conn_check_link_mode() function can be used to check the
      integrity of an ACL link. This functions also takes care of the cases
      where Security Mode 4 is disabled or one of the devices is based on
      an older specification.
      Signed-off-by: NMarcel Holtmann <marcel@holtmann.org>
      e7c29cb1
    • M
      [Bluetooth] Enforce correct authentication requirements · 09ab6f4c
      Marcel Holtmann 提交于
      With the introduction of Security Mode 4 and Simple Pairing from the
      Bluetooth 2.1 specification it became mandatory that the initiator
      requires authentication and encryption before any L2CAP channel can
      be established. The only exception here is PSM 1 for the service
      discovery protocol (SDP). It is meant to be used without any encryption
      since it contains only public information. This is how Bluetooth 2.0
      and before handle connections on PSM 1.
      
      For Bluetooth 2.1 devices the pairing procedure differentiates between
      no bonding, general bonding and dedicated bonding. The L2CAP layer
      wrongly uses always general bonding when creating new connections, but it
      should not do this for SDP connections. In this case the authentication
      requirement should be no bonding and the just-works model should be used,
      but in case of non-SDP connection it is required to use general bonding.
      
      If the new connection requires man-in-the-middle (MITM) protection, it
      also first wrongly creates an unauthenticated link key and then later on
      requests an upgrade to an authenticated link key to provide full MITM
      protection. With Simple Pairing the link key generation is an expensive
      operation (compared to Bluetooth 2.0 and before) and doing this twice
      during a connection setup causes a noticeable delay when establishing
      a new connection. This should be avoided to not regress from the expected
      Bluetooth 2.0 connection times. The authentication requirements are known
      up-front and so enforce them.
      
      To fulfill these requirements the hci_connect() function has been extended
      with an authentication requirement parameter that will be stored inside
      the connection information and can be retrieved by userspace at any
      time. This allows the correct IO capabilities exchange and results in
      the expected behavior.
      Signed-off-by: NMarcel Holtmann <marcel@holtmann.org>
      09ab6f4c
    • S
      ipvs: Embed user stats structure into kernel stats structure · e9c0ce23
      Sven Wegener 提交于
      Instead of duplicating the fields, integrate a user stats structure into
      the kernel stats structure. This is more robust when the members are
      changed, because they are now automatically kept in sync.
      Signed-off-by: NSven Wegener <sven.wegener@stealer.net>
      Reviewed-by: NJulius Volz <juliusv@google.com>
      Signed-off-by: NSimon Horman <horms@verge.net.au>
      e9c0ce23
    • S
      ipvs: Restrict connection table size via Kconfig · 2206a3f5
      Sven Wegener 提交于
      Instead of checking the value in include/net/ip_vs.h, we can just
      restrict the range in our Kconfig file. This will prevent values outside
      of the range early.
      Signed-off-by: NSven Wegener <sven.wegener@stealer.net>
      Reviewed-by: NJulius Volz <juliusv@google.com>
      Signed-off-by: NSimon Horman <horms@verge.net.au>
      2206a3f5