aboutsummaryrefslogtreecommitdiffstats
path: root/src/rsn_supp
diff options
context:
space:
mode:
authorDmitry Shmidt <dimitrysh@google.com>2013-07-11 10:46:32 -0700
committerDmitry Shmidt <dimitrysh@google.com>2013-07-11 11:25:16 -0700
commit34af306c42b7ccf956508e7cd23f0ba90606e360 (patch)
tree7d4c227be85be82637fa5f13f618488cc356f337 /src/rsn_supp
parent8bae4138a0356709720a96f3e50b4d734e532c12 (diff)
downloadandroid_external_wpa_supplicant_8-34af306c42b7ccf956508e7cd23f0ba90606e360.tar.gz
android_external_wpa_supplicant_8-34af306c42b7ccf956508e7cd23f0ba90606e360.tar.bz2
android_external_wpa_supplicant_8-34af306c42b7ccf956508e7cd23f0ba90606e360.zip
Accumulative patch from commit 1075b2957169d8f9d6dddd7679339c751dc9515b
1075b29 P2P: Report group formation failure on error to start GO mode b62b29e Do not block on ctrl_iface monitor events eb7ddbf WPS: Stop SSDP service before freeing the pending entries 98cbc0a Remove forgotten Xcode defines 0b9d3b2 Interworking: Relax 3GPP info PLMN matching for MNC c7a67a7 WPS: Disconnect when removing existing WPS network block fe65847 EAP-EKE: Add server implementation 7e7610d EAP-EKE: Add peer implementation 489202d EAP-SAKE: Use configured server identity a607b42 EAP-PSK: Use configured server identity 15b042b EAP-MSCHAPv2: Use configured server identity 162865b EAP-IKEv2 server: Use configured server identity 8f89d82 EAP-GPSK server: Use configured server identity 67fe933 Add server identity configuration for EAP server 06aeff5 dbus: Register the AutoScan method call at the right place 78f79fe P2P: Do not add ctrl interface for P2P_DEVICE (p2p-dev-*) 1c42b42 P2P: Fix TDLS and l2_packet init without P2P Device interface 9e6a321 Fix non-P2P build after the P2P_DEVICE changes d53d259 Fix build with older OpenSSL versions 54d4ba4 nl80211: Silence a compiler warning with older gcc versions 2e5ba4b P2P: Derive group interface name bit more sensibly c68f620 P2P: Create P2P Device interface if supported 851b0c5 nl80211: Do not indicate P2P_DEVICE support by default bb4028f P2P: Ignore p2p_no_group_iface when driver advertizes P2P_DEVICE support 7940c79 nl80211: Use wdev id when cancelling wait for frame using P2P_DEVICE f608081 nl80211: Verify P2P GO/client address with all interface addresses 5fbcb45 nl80211: Fix determining phy name for P2P Device 27ce1d6 nl80211: Fix nl80211_get_wiphy_index() for P2P Device 080585c Add support for OCSP stapling to validate server certificate 72950ed P2P: Remove a call to wpas_p2p_deinit_global() ab7a1ad nl80211: Fix P2P group interface creating using P2P Device fa93de4 nl80211: Use wdev_id in nl80211_create_iface_once() fdc554b nl80211: Use wdev id to obtain P2P Device scan results 597b94f nl80211: Add .get_mac_addr() callback for P2P Device 8e12685 nl80211: Rework setting interface mode 91724d6 nl80211: Introduce i802_set_iface_flags() eb4582f nl80211: Remove P2P Device interface upon .deinit() f632e48 nl80211: Fix P2P Device interface initialization e472e1b nl80211: Handle creation of P2P Device interface 01517c8 nl80211: Allow Android P2P functionality 6bae92e nl80211: Add support for P2P Device in add interface d6dcfcd nl80211: Add a handler to create_interface d3aaef8 nl80211: Hold wdev identification for P2P Device 7aad838 nl80211: Identify if nl80211 is capable of P2P Device abstraction 6a71413 nl80211: Rename is_p2p_interface 8393e1a nl80211: Print interface name on set_key() 80ebfd9 VLAN: Avoid access to non-existing interfaces 4345fe9 bridge: Track inter-BSS usage 459eee9 bridge: Use safe default bridge interface 2aaeedf bridge: Give bridge name in per-bss configuration 8a901d7 D-Bus: Emit signal when a station is authorized or deauthorized 9578329 Add AVG_RSSI report in signal_poll 2cc8d8f Add bandwidth and center freq info to signal_poll 1e0e943 Remove 802.11b rates only in case of P2P group operation 2090a0b nl80211: Add prints for kernel events 8743676 TDLS: Validate ext_supp_rates in copy_supp_rates 85b4eac P2P: Do not reply to 802.11b-only Probe Request frames as GO ec7b97a Interworking: Add support for using eap_proxy offload 4331263 Fix session timeout after ANQP dummy STA entry with SME-in-driver 56cb4e1 wpadebug: Add option to ignore SSL errors aa20e1a Remove CONFIG_NO_WPA2 build parameter 5d5c4ee Remove compiler warnings with CONFIG_NO_SCAN_PROCESSING 9aaa695 Remove compiler warnings if TDLS is enabled without WPA2 84ae1d4 Fix WNM build without WPA2 c33d5eb Fix build without WPA2 or EAP 1aef400 IBSS RSN: Implement disconnect() callback using sta_deauth() Change-Id: I4593be5b1478f6532da917423b1d2afa95fb8020 Signed-off-by: Dmitry Shmidt <dimitrysh@google.com>
Diffstat (limited to 'src/rsn_supp')
-rw-r--r--src/rsn_supp/pmksa_cache.c4
-rw-r--r--src/rsn_supp/pmksa_cache.h9
-rw-r--r--src/rsn_supp/preauth.c4
-rw-r--r--src/rsn_supp/preauth.h6
-rw-r--r--src/rsn_supp/tdls.c3
-rw-r--r--src/rsn_supp/wpa.c12
-rw-r--r--src/rsn_supp/wpa.h5
-rw-r--r--src/rsn_supp/wpa_ie.c4
8 files changed, 19 insertions, 28 deletions
diff --git a/src/rsn_supp/pmksa_cache.c b/src/rsn_supp/pmksa_cache.c
index 93056ea8..33fa1a29 100644
--- a/src/rsn_supp/pmksa_cache.c
+++ b/src/rsn_supp/pmksa_cache.c
@@ -15,7 +15,7 @@
#include "wpa_i.h"
#include "pmksa_cache.h"
-#if defined(IEEE8021X_EAPOL) && !defined(CONFIG_NO_WPA2)
+#ifdef IEEE8021X_EAPOL
static const int pmksa_cache_max_entries = 32;
@@ -522,4 +522,4 @@ pmksa_cache_init(void (*free_cb)(struct rsn_pmksa_cache_entry *entry,
return pmksa;
}
-#endif /* IEEE8021X_EAPOL and !CONFIG_NO_WPA2 */
+#endif /* IEEE8021X_EAPOL */
diff --git a/src/rsn_supp/pmksa_cache.h b/src/rsn_supp/pmksa_cache.h
index d5aa229a..6cbf89aa 100644
--- a/src/rsn_supp/pmksa_cache.h
+++ b/src/rsn_supp/pmksa_cache.h
@@ -44,7 +44,7 @@ enum pmksa_free_reason {
PMKSA_EXPIRE,
};
-#if defined(IEEE8021X_EAPOL) && !defined(CONFIG_NO_WPA2)
+#ifdef IEEE8021X_EAPOL
struct rsn_pmksa_cache *
pmksa_cache_init(void (*free_cb)(struct rsn_pmksa_cache_entry *entry,
@@ -69,7 +69,7 @@ pmksa_cache_get_opportunistic(struct rsn_pmksa_cache *pmksa,
void pmksa_cache_flush(struct rsn_pmksa_cache *pmksa, void *network_ctx,
const u8 *pmk, size_t pmk_len);
-#else /* IEEE8021X_EAPOL and !CONFIG_NO_WPA2 */
+#else /* IEEE8021X_EAPOL */
static inline struct rsn_pmksa_cache *
pmksa_cache_init(void (*free_cb)(struct rsn_pmksa_cache_entry *entry,
@@ -122,10 +122,11 @@ static inline int pmksa_cache_set_current(struct wpa_sm *sm, const u8 *pmkid,
}
static inline void pmksa_cache_flush(struct rsn_pmksa_cache *pmksa,
- void *network_ctx)
+ void *network_ctx,
+ const u8 *pmk, size_t pmk_len)
{
}
-#endif /* IEEE8021X_EAPOL and !CONFIG_NO_WPA2 */
+#endif /* IEEE8021X_EAPOL */
#endif /* PMKSA_CACHE_H */
diff --git a/src/rsn_supp/preauth.c b/src/rsn_supp/preauth.c
index ab61867b..c51620eb 100644
--- a/src/rsn_supp/preauth.c
+++ b/src/rsn_supp/preauth.c
@@ -18,7 +18,7 @@
#include "wpa_i.h"
-#if defined(IEEE8021X_EAPOL) && !defined(CONFIG_NO_WPA2)
+#ifdef IEEE8021X_EAPOL
#define PMKID_CANDIDATE_PRIO_SCAN 1000
@@ -508,4 +508,4 @@ int rsn_preauth_in_progress(struct wpa_sm *sm)
return sm->preauth_eapol != NULL;
}
-#endif /* IEEE8021X_EAPOL and !CONFIG_NO_WPA2 */
+#endif /* IEEE8021X_EAPOL */
diff --git a/src/rsn_supp/preauth.h b/src/rsn_supp/preauth.h
index 27d3112c..277f0663 100644
--- a/src/rsn_supp/preauth.h
+++ b/src/rsn_supp/preauth.h
@@ -11,7 +11,7 @@
struct wpa_scan_results;
-#if defined(IEEE8021X_EAPOL) && !defined(CONFIG_NO_WPA2)
+#ifdef IEEE8021X_EAPOL
void pmksa_candidate_free(struct wpa_sm *sm);
int rsn_preauth_init(struct wpa_sm *sm, const u8 *dst,
@@ -27,7 +27,7 @@ int rsn_preauth_get_status(struct wpa_sm *sm, char *buf, size_t buflen,
int verbose);
int rsn_preauth_in_progress(struct wpa_sm *sm);
-#else /* IEEE8021X_EAPOL and !CONFIG_NO_WPA2 */
+#else /* IEEE8021X_EAPOL */
static inline void pmksa_candidate_free(struct wpa_sm *sm)
{
@@ -74,6 +74,6 @@ static inline int rsn_preauth_in_progress(struct wpa_sm *sm)
return 0;
}
-#endif /* IEEE8021X_EAPOL and !CONFIG_NO_WPA2 */
+#endif /* IEEE8021X_EAPOL */
#endif /* PREAUTH_H */
diff --git a/src/rsn_supp/tdls.c b/src/rsn_supp/tdls.c
index 221d5fdd..539aa256 100644
--- a/src/rsn_supp/tdls.c
+++ b/src/rsn_supp/tdls.c
@@ -1347,7 +1347,8 @@ static int copy_supp_rates(const struct wpa_eapol_ie_parse *kde,
peer->supp_rates_len = merge_byte_arrays(
peer->supp_rates, sizeof(peer->supp_rates),
kde->supp_rates + 2, kde->supp_rates_len - 2,
- kde->ext_supp_rates + 2, kde->ext_supp_rates_len - 2);
+ kde->ext_supp_rates ? kde->ext_supp_rates + 2 : NULL,
+ kde->ext_supp_rates_len - 2);
return 0;
}
diff --git a/src/rsn_supp/wpa.c b/src/rsn_supp/wpa.c
index d83700a2..292255c1 100644
--- a/src/rsn_supp/wpa.c
+++ b/src/rsn_supp/wpa.c
@@ -392,7 +392,6 @@ static void wpa_supplicant_process_1_of_4(struct wpa_sm *sm,
os_memset(&ie, 0, sizeof(ie));
-#ifndef CONFIG_NO_WPA2
if (sm->proto == WPA_PROTO_RSN) {
/* RSN: msg 1/4 should contain PMKID for the selected PMK */
const u8 *_buf = (const u8 *) (key + 1);
@@ -405,7 +404,6 @@ static void wpa_supplicant_process_1_of_4(struct wpa_sm *sm,
"Authenticator", ie.pmkid, PMKID_LEN);
}
}
-#endif /* CONFIG_NO_WPA2 */
res = wpa_supplicant_get_pmk(sm, src_addr, ie.pmkid);
if (res == -2) {
@@ -664,7 +662,6 @@ static int wpa_supplicant_pairwise_gtk(struct wpa_sm *sm,
const u8 *gtk, size_t gtk_len,
int key_info)
{
-#ifndef CONFIG_NO_WPA2
struct wpa_gtk_data gd;
/*
@@ -703,9 +700,6 @@ static int wpa_supplicant_pairwise_gtk(struct wpa_sm *sm,
wpa_supplicant_key_neg_complete(sm, sm->bssid,
key_info & WPA_KEY_INFO_SECURE);
return 0;
-#else /* CONFIG_NO_WPA2 */
- return -1;
-#endif /* CONFIG_NO_WPA2 */
}
@@ -2601,11 +2595,7 @@ int wpa_sm_parse_own_wpa_ie(struct wpa_sm *sm, struct wpa_ie_data *data)
int wpa_sm_pmksa_cache_list(struct wpa_sm *sm, char *buf, size_t len)
{
-#ifndef CONFIG_NO_WPA2
return pmksa_cache_list(sm->pmksa, buf, len);
-#else /* CONFIG_NO_WPA2 */
- return -1;
-#endif /* CONFIG_NO_WPA2 */
}
@@ -2636,9 +2626,7 @@ void wpa_sm_update_replay_ctr(struct wpa_sm *sm, const u8 *replay_ctr)
void wpa_sm_pmksa_cache_flush(struct wpa_sm *sm, void *network_ctx)
{
-#ifndef CONFIG_NO_WPA2
pmksa_cache_flush(sm->pmksa, network_ctx, NULL, 0);
-#endif /* CONFIG_NO_WPA2 */
}
diff --git a/src/rsn_supp/wpa.h b/src/rsn_supp/wpa.h
index c757dcf1..26e9c6ca 100644
--- a/src/rsn_supp/wpa.h
+++ b/src/rsn_supp/wpa.h
@@ -245,6 +245,11 @@ static inline int wpa_sm_get_status(struct wpa_sm *sm, char *buf,
return 0;
}
+static inline int wpa_sm_pmf_enabled(struct wpa_sm *sm)
+{
+ return 0;
+}
+
static inline void wpa_sm_key_request(struct wpa_sm *sm, int error,
int pairwise)
{
diff --git a/src/rsn_supp/wpa_ie.c b/src/rsn_supp/wpa_ie.c
index ba203e62..50b9272b 100644
--- a/src/rsn_supp/wpa_ie.c
+++ b/src/rsn_supp/wpa_ie.c
@@ -107,7 +107,6 @@ static int wpa_gen_wpa_ie_rsn(u8 *rsn_ie, size_t rsn_ie_len,
int key_mgmt, int mgmt_group_cipher,
struct wpa_sm *sm)
{
-#ifndef CONFIG_NO_WPA2
u8 *pos;
struct rsn_ie_hdr *hdr;
u16 capab;
@@ -220,9 +219,6 @@ static int wpa_gen_wpa_ie_rsn(u8 *rsn_ie, size_t rsn_ie_len,
WPA_ASSERT((size_t) (pos - rsn_ie) <= rsn_ie_len);
return pos - rsn_ie;
-#else /* CONFIG_NO_WPA2 */
- return -1;
-#endif /* CONFIG_NO_WPA2 */
}