Skip to content

Commit fa22848

Browse files
Kilio22MathisMARION
authored andcommitted
wsrd: handle authentication failure in all relevant states
WI_SUN-3403
1 parent b4b478c commit fa22848

File tree

2 files changed

+6
-3
lines changed

2 files changed

+6
-3
lines changed

app_wsrd/app/join_state.c

Lines changed: 5 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -178,6 +178,7 @@ static const struct wsrd_state_transition state_reconnect_transitions[] = {
178178
{ WSRD_EVENT_PC_RX, WSRD_STATE_RPL_PARENT },
179179
{ WSRD_EVENT_PA_FROM_PREV_PAN, WSRD_STATE_CONFIGURE },
180180
{ WSRD_EVENT_PA_FROM_NEW_PAN, WSRD_STATE_AUTHENTICATE },
181+
{ WSRD_EVENT_AUTH_FAIL, WSRD_STATE_DISCOVERY },
181182
{ },
182183
};
183184

@@ -192,6 +193,7 @@ static const struct wsrd_state_transition state_configure_transitions[] = {
192193
{ WSRD_EVENT_PC_RX, WSRD_STATE_RPL_PARENT },
193194
{ WSRD_EVENT_PC_TIMEOUT, WSRD_STATE_RECONNECT },
194195
{ WSRD_EVENT_PA_FROM_NEW_PAN, WSRD_STATE_AUTHENTICATE },
196+
{ WSRD_EVENT_AUTH_FAIL, WSRD_STATE_DISCOVERY },
195197
{ },
196198
};
197199

@@ -200,6 +202,7 @@ static const struct wsrd_state_transition state_rpl_parent_transitions[] = {
200202
{ WSRD_EVENT_PAN_TIMEOUT, WSRD_STATE_RECONNECT },
201203
{ WSRD_EVENT_RPL_NO_CANDIDATE, WSRD_STATE_RECONNECT },
202204
{ WSRD_EVENT_PA_FROM_NEW_PAN, WSRD_STATE_AUTHENTICATE },
205+
{ WSRD_EVENT_AUTH_FAIL, WSRD_STATE_DISCOVERY },
203206
{ },
204207
};
205208

@@ -208,13 +211,15 @@ static const struct wsrd_state_transition state_routing_transitions[] = {
208211
{ WSRD_EVENT_PAN_TIMEOUT, WSRD_STATE_RECONNECT },
209212
{ WSRD_EVENT_RPL_NO_CANDIDATE, WSRD_STATE_RECONNECT },
210213
{ WSRD_EVENT_PA_FROM_NEW_PAN, WSRD_STATE_AUTHENTICATE },
214+
{ WSRD_EVENT_AUTH_FAIL, WSRD_STATE_DISCOVERY },
211215
{ },
212216
};
213217

214218
static const struct wsrd_state_transition state_operational_transitions[] = {
215219
{ WSRD_EVENT_PAN_TIMEOUT, WSRD_STATE_RECONNECT },
216220
{ WSRD_EVENT_RPL_NO_CANDIDATE, WSRD_STATE_RECONNECT },
217221
{ WSRD_EVENT_PA_FROM_NEW_PAN, WSRD_STATE_AUTHENTICATE },
222+
{ WSRD_EVENT_AUTH_FAIL, WSRD_STATE_DISCOVERY },
218223
{ },
219224
};
220225

app_wsrd/app/wsrd.c

Lines changed: 1 addition & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -241,9 +241,7 @@ static void wsrd_eapol_on_failure(struct supp_ctx *supp)
241241
{
242242
struct wsrd *wsrd = container_of(supp, struct wsrd, supp);
243243

244-
supp_reset(supp);
245-
wsrd->eapol_target_eui64 = ieee802154_addr_bc;
246-
// TODO: transition to join state 1
244+
join_state_transition(wsrd, WSRD_EVENT_AUTH_FAIL);
247245
}
248246

249247
static void wsrd_eapol_sendto_mac(struct supp_ctx *supp, uint8_t kmp_id, const void *pkt,

0 commit comments

Comments
 (0)