1. 09 Nov, 2015 5 commits
  2. 06 Nov, 2015 3 commits
  3. 09 Apr, 2015 2 commits
    • Jouni Malinen's avatar
      am fdb708a3: P2P: Validate SSID element length before copying it · b73408d1
      Jouni Malinen authored
      * commit 'fdb708a3':
        P2P: Validate SSID element length before copying it
      b73408d1
    • Jouni Malinen's avatar
      P2P: Validate SSID element length before copying it · fdb708a3
      Jouni Malinen authored
      
      This fixes a possible memcpy overflow for P2P dev->oper_ssid in
      p2p_add_device(). The length provided by the peer device (0..255 bytes)
      was used without proper bounds checking and that could have resulted in
      arbitrary data of up to 223 bytes being written beyond the end of the
      dev->oper_ssid[] array (of which about 150 bytes would be beyond the
      heap allocation) when processing a corrupted management frame for P2P
      peer discovery purposes.
      
      This could result in corrupted state in heap, unexpected program
      behavior due to corrupted P2P peer device information, denial of service
      due to process crash, exposure of memory contents during GO Negotiation,
      and potentially arbitrary code execution.
      
      Thanks to Google security team for reporting this issue and smart
      hardware research group of Alibaba security team for discovering it.
      
      Change-Id: I9f350f20cdd010f2c096514b245b4a901ad74e46
      Signed-off-by: default avatarJouni Malinen <jouni@qca.qualcomm.com>
      fdb708a3
  4. 06 Dec, 2013 1 commit
  5. 05 Dec, 2013 6 commits
  6. 14 Nov, 2013 1 commit
  7. 07 Nov, 2013 1 commit
  8. 24 Oct, 2013 1 commit
    • Jouni Malinen's avatar
      Fix ENABLE_NETWORK not to reconnect in disconnected state (DO NOT MERGE) · b4d426da
      Jouni Malinen authored
      DISCONNECT followed by ENABLE_NETWORK ended up starting a scan for a new
      connection due to wpa_supplicant_enable_one_network() setting
      wpa_s->reassociate = 1. This was done regardless of wpa_s->disconnected
      being 1 which should imply that wpa_supplicant should not try to connect
      before asked explicitly with REASSOCIATE or RECONNECT.
      
      Fix this by making ENABLE_NETWORK setting of reassociate = 1 and
      starting of scans for connection conditional on wpa_s->disconnected ==
      0. This will make ENABLE_NETWORK trigger a connection only if
      wpa_supplicant is already in a state where it would try to connect if
      there are any enabled networks.
      
      Bug: 10483405
      
      Change-Id: Iae606745270f6f3185d5705947f8ccd46bc3a904
      Signed-hostap: Jouni Malinen <jouni@qca.qualcomm.com>
      b4d426da
  9. 17 Oct, 2013 1 commit
  10. 13 Oct, 2013 1 commit
  11. 10 Oct, 2013 1 commit
  12. 08 Oct, 2013 2 commits
  13. 01 Oct, 2013 1 commit
  14. 30 Sep, 2013 7 commits
    • Sunil Dutt's avatar
      TDLS: Do not start concurrent TDLS setup · 73b28cc4
      Sunil Dutt authored
      A new TDLS request shall transmit TPK M1 frame with a unique INonce.
      Thus a new explicit request would fail an ongoing TDLS negotiation with
      the error "TDLS: FTIE SNonce in TPK M3 does not match with FTIE SNonce
      used in TPK M1" if the peer happens to receive two M1 frames before an
      M3 frame. Check for the ongoing negotiation with the peer and do not
      start a new one if we are already in a setup negotiation with the peer.
      
      Signed-hostap: Jouni Malinen <jouni@qca.qualcomm.com>
      73b28cc4
    • Sunil Dutt's avatar
      TDLS: Use wpa_tdls_disable_peer_link() in TPK M1 processing · 8b43e82b
      Sunil Dutt authored
      This function is used only with external setup, so this can cleaned up
      to use simpler design.
      
      Signed-hostap: Jouni Malinen <jouni@qca.qualcomm.com>
      8b43e82b
    • Sunil Dutt's avatar
      TDLS: Use wpa_tdls_disable_peer_link() to avoid peer search · d0ef38b5
      Sunil Dutt authored
      There is no need to go through the peer list when we already have a
      pointer to the specific peer entry.
      
      Signed-hostap: Jouni Malinen <jouni@qca.qualcomm.com>
      d0ef38b5
    • Sunil Dutt's avatar
      TDLS: Use helper function for disable link operation · 38ffd887
      Sunil Dutt authored
      This is called from number of locations and it is more efficient to use
      a new helper function instead of wpa_tdls_disable_link() that would do
      peer address search from the list of peers.
      
      Signed-hostap: Jouni Malinen <jouni@qca.qualcomm.com>
      38ffd887
    • Sunil Dutt's avatar
      TDLS: Clean up wpa_tdls_teardown_link() uses · 6a9f522e
      Sunil Dutt authored
      Making this function be used only for external setup case simplifies the
      implementation and makes core wpa_supplicant calls in ctrl_iface.c and
      events.c consistent.
      
      Signed-hostap: Jouni Malinen <jouni@qca.qualcomm.com>
      6a9f522e
    • Sunil Dutt's avatar
      TDLS: Do not modify RNonce for an TPK M1 frame with same INonce · 6102472d
      Sunil Dutt authored
      There is no point in updating the RNonce for every obtained TPK M1 frame
      (e.g., retransmission due to timeout) with the same INonce (SNonce in
      FTIE). Update RNonce only if a TPK M1 is received with a different
      INonce (new TDLS session) to avoid issues with two setup exchanges
      getting mixed and exchange failing due to mismatching nonces ("TDLS:
      FTIE ANonce in TPK M3 does not match with FTIE ANonce used in TPK M2").
      
      Signed-hostap: Jouni Malinen <jouni@qca.qualcomm.com>
      6102472d
    • Sunil Dutt's avatar
      TDLS: Disable the created link on a failed TDLS handshake · adce9cf7
      Sunil Dutt authored
      Clear the peer information and disable the created link on a
      failed TDLS setup negotiation. This is needed to avoid leaving
      TDLS setup pending and to return to the AP path in case anything
      goes wrong during the setup attempt.
      
      Signed-hostap: Jouni Malinen <jouni@qca.qualcomm.com>
      adce9cf7
  15. 29 Sep, 2013 1 commit
  16. 27 Sep, 2013 1 commit
    • Jouni Malinen's avatar
      Fix possible freed-memory use in BSS table updates · 7a6c830d
      Jouni Malinen authored
      If there are large number of BSSes in the scan results, BSS table update
      could have added a BSS entry to the last_scan_res in a case where that
      BSS entry got just deleted. This would happen only if there are more
      than bss_max_count (by default 200) BSSes and if at least bss_max_count
      of those BSSes are known (match a configured network). In such a case,
      wpa_bss_add() could end up allocating a new BSS entry and return a
      pointer to that entry even if it was the one that ended up getting freed
      to keep the BSS table length within the limit. This could result in
      freed memory being used and the process crashing (likely with segfault)
      when trying to access information from that BSS entry.
      
      Fix the issue by removing the oldest BSS entry before linking the new
      entry to the table. This makes sure the newly added entry will never get
      picked up as the one to be deleted immediately.
      
      Bug: 10964663
      
      Change-Id: I495dd2503127263746a69c9ef040c9e62fec0bda
      Signed-hostap: Jouni Malinen <jouni@qca.qualcomm.com>
      7a6c830d
  17. 18 Sep, 2013 2 commits
  18. 17 Sep, 2013 2 commits
  19. 16 Sep, 2013 1 commit