mirror of
https://git.kernel.org/pub/scm/network/wireless/iwd.git
synced 2024-11-16 17:09:24 +01:00
sae: Allow ability to force Group 19 / Hunt and Peck
This commit is contained in:
parent
354200f9da
commit
14b9291490
@ -4033,11 +4033,14 @@ static void netdev_connect_common(struct netdev *netdev,
|
|||||||
netdev->ap = sae_sm_new(hs, netdev_sae_tx_authenticate,
|
netdev->ap = sae_sm_new(hs, netdev_sae_tx_authenticate,
|
||||||
netdev_sae_tx_associate,
|
netdev_sae_tx_associate,
|
||||||
netdev);
|
netdev);
|
||||||
else
|
else {
|
||||||
netdev->ap =
|
netdev->ap =
|
||||||
sae_sm_new(hs, netdev_external_auth_sae_tx_authenticate,
|
sae_sm_new(hs, netdev_external_auth_sae_tx_authenticate,
|
||||||
netdev_external_auth_sae_tx_associate,
|
netdev_external_auth_sae_tx_associate,
|
||||||
netdev);
|
netdev);
|
||||||
|
sae_sm_force_default_group(netdev->ap);
|
||||||
|
sae_sm_force_hunt_and_peck(netdev->ap);
|
||||||
|
}
|
||||||
|
|
||||||
if (sae_sm_is_h2e(netdev->ap)) {
|
if (sae_sm_is_h2e(netdev->ap)) {
|
||||||
uint8_t own_rsnxe[20];
|
uint8_t own_rsnxe[20];
|
||||||
|
20
src/sae.c
20
src/sae.c
@ -1550,6 +1550,26 @@ struct auth_proto *sae_sm_new(struct handshake_state *hs,
|
|||||||
return &sm->ap;
|
return &sm->ap;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
bool sae_sm_force_hunt_and_peck(struct auth_proto *ap)
|
||||||
|
{
|
||||||
|
struct sae_sm *sm = l_container_of(ap, struct sae_sm, ap);
|
||||||
|
|
||||||
|
sae_debug("Forcing SAE Hunting and Pecking");
|
||||||
|
sm->sae_type = CRYPTO_SAE_LOOPING;
|
||||||
|
|
||||||
|
return true;
|
||||||
|
}
|
||||||
|
|
||||||
|
bool sae_sm_force_default_group(struct auth_proto *ap)
|
||||||
|
{
|
||||||
|
struct sae_sm *sm = l_container_of(ap, struct sae_sm, ap);
|
||||||
|
|
||||||
|
sae_debug("Forcing Default Group");
|
||||||
|
sm->force_default_group = true;
|
||||||
|
|
||||||
|
return true;
|
||||||
|
}
|
||||||
|
|
||||||
static int sae_init(void)
|
static int sae_init(void)
|
||||||
{
|
{
|
||||||
if (getenv("IWD_SAE_DEBUG"))
|
if (getenv("IWD_SAE_DEBUG"))
|
||||||
|
@ -34,3 +34,6 @@ struct auth_proto *sae_sm_new(struct handshake_state *hs,
|
|||||||
sae_tx_authenticate_func_t tx_auth,
|
sae_tx_authenticate_func_t tx_auth,
|
||||||
sae_tx_associate_func_t tx_assoc,
|
sae_tx_associate_func_t tx_assoc,
|
||||||
void *user_data);
|
void *user_data);
|
||||||
|
|
||||||
|
bool sae_sm_force_hunt_and_peck(struct auth_proto *ap);
|
||||||
|
bool sae_sm_force_default_group(struct auth_proto *ap);
|
||||||
|
Loading…
Reference in New Issue
Block a user