projects
/
libeap.git
/ blobdiff
commit
grep
author
committer
pickaxe
?
search:
re
summary
|
shortlog
|
log
|
commit
|
commitdiff
|
tree
raw
|
inline
| side by side
Merge branch 'moonshot' of ssh://moonshot.suchdamage.org:822/srv/git/libeap into...
[libeap.git]
/
wpa_supplicant
/
ibss_rsn.c
diff --git
a/wpa_supplicant/ibss_rsn.c
b/wpa_supplicant/ibss_rsn.c
index
a9f49d9
..
0e33253
100644
(file)
--- a/
wpa_supplicant/ibss_rsn.c
+++ b/
wpa_supplicant/ibss_rsn.c
@@
-16,11
+16,11
@@
#include "common.h"
#include "l2_packet/l2_packet.h"
#include "common.h"
#include "l2_packet/l2_packet.h"
-#include "wpa_supplicant_i.h"
#include "rsn_supp/wpa.h"
#include "rsn_supp/wpa_ie.h"
#include "rsn_supp/wpa.h"
#include "rsn_supp/wpa_ie.h"
+#include "ap/wpa_auth.h"
+#include "wpa_supplicant_i.h"
#include "driver_i.h"
#include "driver_i.h"
-#include "../hostapd/wpa.h"
#include "ibss_rsn.h"
#include "ibss_rsn.h"
@@
-32,7
+32,7
@@
static void ibss_rsn_free(struct ibss_rsn_peer *peer)
}
}
-static void supp_set_state(void *ctx, wpa_states state)
+static void supp_set_state(void *ctx,
enum
wpa_states state)
{
struct ibss_rsn_peer *peer = ctx;
peer->supp_state = state;
{
struct ibss_rsn_peer *peer = ctx;
peer->supp_state = state;
@@
-100,7
+100,7
@@
static int supp_get_beacon_ie(void *ctx)
}
}
-static int supp_set_key(void *ctx, wpa_alg alg,
+static int supp_set_key(void *ctx,
enum
wpa_alg alg,
const u8 *addr, int key_idx, int set_tx,
const u8 *seq, size_t seq_len,
const u8 *key, size_t key_len)
const u8 *addr, int key_idx, int set_tx,
const u8 *seq, size_t seq_len,
const u8 *key, size_t key_len)
@@
-238,8
+238,8
@@
static int auth_send_eapol(void *ctx, const u8 *addr, const u8 *data,
}
}
-static int auth_set_key(void *ctx, int vlan_id,
wpa_alg alg, const u8 *addr
,
- int idx, u8 *key, size_t key_len)
+static int auth_set_key(void *ctx, int vlan_id,
enum wpa_alg alg
,
+
const u8 *addr,
int idx, u8 *key, size_t key_len)
{
struct ibss_rsn *ibss_rsn = ctx;
u8 seq[6];
{
struct ibss_rsn *ibss_rsn = ctx;
u8 seq[6];
@@
-261,7
+261,8
@@
static int auth_set_key(void *ctx, int vlan_id, wpa_alg alg, const u8 *addr,
* In IBSS RSN, the pairwise key from the 4-way handshake
* initiated by the peer with highest MAC address is used.
*/
* In IBSS RSN, the pairwise key from the 4-way handshake
* initiated by the peer with highest MAC address is used.
*/
- if (os_memcmp(ibss_rsn->wpa_s->own_addr, addr, ETH_ALEN) < 0) {
+ if (addr == NULL ||
+ os_memcmp(ibss_rsn->wpa_s->own_addr, addr, ETH_ALEN) < 0) {
wpa_printf(MSG_DEBUG, "AUTH: Do not use this PTK");
return 0;
}
wpa_printf(MSG_DEBUG, "AUTH: Do not use this PTK");
return 0;
}
@@
-326,9
+327,11
@@
static int ibss_rsn_auth_init(struct ibss_rsn *ibss_rsn,
return -1;
}
return -1;
}
- wpa_auth_sm_event(peer->auth, WPA_ASSOC);
+ if (wpa_auth_sm_event(peer->auth, WPA_ASSOC))
+ return -1;
- wpa_auth_sta_associated(ibss_rsn->auth_group, peer->auth);
+ if (wpa_auth_sta_associated(ibss_rsn->auth_group, peer->auth))
+ return -1;
return 0;
}
return 0;
}