Home | History | Annotate | Download | only in wps

Lines Matching defs:pbc

120 static void wps_free_pbc_sessions(struct wps_pbc_session *pbc)
124 while (pbc) {
125 prev = pbc;
126 pbc = pbc->next;
142 int pbc;
312 struct wps_pbc_session *pbc, *prev = NULL;
317 pbc = reg->pbc_sessions;
318 while (pbc) {
319 if (os_memcmp(pbc->addr, addr, ETH_ALEN) == 0 &&
320 os_memcmp(pbc->uuid_e, uuid_e, WPS_UUID_LEN) == 0) {
322 prev->next = pbc->next;
324 reg->pbc_sessions = pbc->next;
327 prev = pbc;
328 pbc = pbc->next;
331 if (!pbc) {
332 pbc = os_zalloc(sizeof(*pbc));
333 if (pbc == NULL)
335 os_memcpy(pbc->addr, addr, ETH_ALEN);
337 os_memcpy(pbc->uuid_e, uuid_e, WPS_UUID_LEN);
340 pbc->next = reg->pbc_sessions;
341 reg->pbc_sessions = pbc;
342 pbc->timestamp = now;
345 prev = pbc;
346 pbc = pbc->next;
348 while (pbc) {
349 if (now.sec > pbc->timestamp.sec + WPS_PBC_WALK_TIME) {
351 wps_free_pbc_sessions(pbc);
354 prev = pbc;
355 pbc = pbc->next;
364 struct wps_pbc_session *pbc, *prev = NULL, *tmp;
366 pbc = reg->pbc_sessions;
367 while (pbc) {
368 if (os_memcmp(pbc->uuid_e, uuid_e, WPS_UUID_LEN) == 0 ||
370 (p2p_dev_addr && !is_zero_ether_addr(pbc->addr) &&
371 os_memcmp(pbc->addr, p2p_dev_addr, ETH_ALEN) ==
378 prev->next = pbc->next;
380 reg->pbc_sessions = pbc->next;
381 tmp = pbc;
382 pbc = pbc->next;
383 wpa_printf(MSG_DEBUG, "WPS: Removing PBC session for "
390 prev = pbc;
391 pbc = pbc->next;
400 struct wps_pbc_session *pbc;
406 wpa_printf(MSG_DEBUG, "WPS: Checking active PBC sessions for overlap");
415 for (pbc = reg->pbc_sessions; pbc; pbc = pbc->next) {
416 wpa_printf(MSG_DEBUG, "WPS: Consider PBC session with " MACSTR,
417 MAC2STR(pbc->addr));
419 pbc->uuid_e, WPS_UUID_LEN);
420 if (now.sec > pbc->timestamp.sec + WPS_PBC_WALK_TIME) {
421 wpa_printf(MSG_DEBUG, "WPS: PBC walk time has "
426 os_memcmp(pbc->uuid_e, first->uuid_e, WPS_UUID_LEN) == 0) {
431 os_memcmp(uuid_e, pbc->uuid_e, WPS_UUID_LEN)) {
436 first = pbc;
439 wpa_printf(MSG_DEBUG, "WPS: %u active PBC session(s) found", count);
510 u16 id = reg->pbc ? DEV_PW_PUSHBUTTON : DEV_PW_DEFAULT;
526 u16 id = reg->pbc ? DEV_PW_PUSHBUTTON : DEV_PW_DEFAULT;
574 if (reg->pbc)
768 reg->pbc = 0;
955 reg->pbc = 0;
967 wpa_printf(MSG_DEBUG, "WPS: PBC timed out - disable PBC mode");
976 * @p2p_dev_addr: Limit allowed PBC devices to the specified P2P device, %NULL
981 * PBC mode. The PBC mode will be stopped after walk time (2 minutes) timeout
982 * or when a PBC registration is completed. If more than one Enrollee in active
983 * PBC mode has been detected during the monitor time (previous 2 minutes), the
984 * PBC mode is not activated and -2 is returned to indicate session overlap.
992 wpa_printf(MSG_DEBUG, "WPS: PBC overlap - do not start PBC "
997 wpa_printf(MSG_DEBUG, "WPS: Button pushed - PBC mode started");
1000 reg->pbc = 1;
1019 wpa_printf(MSG_DEBUG, "WPS: PBC completed - stopping PBC mode");
1037 if (registrar->pbc) {
1058 if (reg->pbc) {
1059 wpa_printf(MSG_DEBUG, "WPS: PBC is set - cancelling it");
1081 * received. This is used to track PBC mode use and to detect possible overlap
1129 return; /* Not PBC */
1131 wpa_printf(MSG_DEBUG, "WPS: Probe Request for PBC received from "
1148 wpa_printf(MSG_DEBUG, "WPS: Ignore PBC activation "
1150 "that just completed PBC provisioning");
1160 wpa_printf(MSG_DEBUG, "WPS: PBC session overlap detected");
1217 if (reg->pbc)
1222 "config_methods=0x%x pbc=%d methods=0x%x",
1224 reg->pbc, methods);
1227 reg->pbc ? DEV_PW_PUSHBUTTON : DEV_PW_DEFAULT,
1352 if (wps->pbc) {
1353 wpa_printf(MSG_DEBUG, "WPS: Use default PIN for PBC");
2396 m & WPS_CONFIG_PUSHBUTTON ? " [PBC]" : "",
2471 "filtering for PBC: expected " MACSTR " was "
2472 MACSTR " - indicate PBC session overlap",
2491 wpa_printf(MSG_DEBUG, "WPS: Skip PBC overlap due to selected "
2534 !wps->wps->registrar->pbc)) {
2573 wpa_printf(MSG_DEBUG, "WPS: PBC overlap - deny PBC "
2586 wps->pbc = 1;
2624 if (wps->pbc && wps->wps->registrar->force_pbc_overlap &&
2626 wpa_printf(MSG_DEBUG, "WPS: Reject negotiation due to PBC "
2662 if (wps->pbc && wps->wps->registrar->force_pbc_overlap &&
2664 wpa_printf(MSG_DEBUG, "WPS: Reject negotiation due to PBC "
2813 if (wps->pbc && wps->wps->registrar->force_pbc_overlap &&
2815 wpa_printf(MSG_DEBUG, "WPS: Reject negotiation due to PBC "
3191 if (wps->pbc) {
3298 reg->pbc = 0;
3391 if (reg->pbc) {
3397 "(pbc=%d)", reg->pbc);
3514 reg->pbc = 0;