sm->eapol_cb = eapol_cb;
sm->msg_ctx = msg_ctx;
sm->ClientTimeout = 60;
- if (conf->mac_addr)
- os_memcpy(sm->mac_addr, conf->mac_addr, ETH_ALEN);
- if (conf->uuid)
- os_memcpy(sm->uuid, conf->uuid, 16);
sm->wps = conf->wps;
os_memset(&tlsconf, 0, sizeof(tlsconf));
*/
const char *pkcs11_module_path;
/**
- * mac_addr - MAC address of the peer
- *
- * This is only used by EAP-WSC and can be left %NULL if not available.
- */
- const u8 *mac_addr;
- /**
- * uuid - Device UUID
- *
- * This is only used by EAP-WSC and can be left %NULL if not available.
- */
- const u8 *uuid;
- /**
* wps - WPS context data
*
* This is only used by EAP-WSC and can be left %NULL if not available.
int num_rounds;
int force_disabled;
- u8 mac_addr[ETH_ALEN];
- u8 uuid[16];
struct wps_context *wps;
};
cfg.authenticator = 0;
cfg.wps = wps;
cfg.registrar = registrar ? data->wps_ctx->registrar : NULL;
- cfg.enrollee_mac_addr = sm->mac_addr;
+ cfg.enrollee_mac_addr = registrar ? NULL : wps->dev.mac_addr;
phase1 = eap_get_config_phase1(sm);
if (phase1 == NULL) {
return NULL;
}
- if (registrar && wps)
- os_memcpy(wps->uuid, sm->uuid, UUID_LEN);
- else
- cfg.uuid = sm->uuid;
+ cfg.uuid = registrar ? NULL : wps->uuid;
data->wps = wps_init(&cfg);
if (data->wps == NULL) {
os_free(data);
conf.pkcs11_engine_path = ctx->pkcs11_engine_path;
conf.pkcs11_module_path = ctx->pkcs11_module_path;
#endif /* EAP_TLS_OPENSSL */
- conf.mac_addr = ctx->mac_addr;
- conf.uuid = ctx->uuid;
conf.wps = ctx->wps;
sm->eap = eap_peer_sm_init(sm, &eapol_cb, sm->ctx->msg_ctx, &conf);
*/
const char *pkcs11_module_path;
#endif /* EAP_TLS_OPENSSL */
- /**
- * mac_addr - MAC address of the peer
- *
- * This is only used by EAP-WSC and can be left %NULL if not available.
- */
- const u8 *mac_addr;
-
- /**
- * uuid - Device UUID
- *
- * This is only used by EAP-WSC and can be left %NULL if not available.
- */
- const u8 *uuid;
/**
* wps - WPS context data
ctx->eapol_send_ctx = sm;
ctx->set_config_blob = sm->ctx->set_config_blob;
ctx->get_config_blob = sm->ctx->get_config_blob;
- ctx->mac_addr = sm->own_addr;
sm->preauth_eapol = eapol_sm_init(ctx);
if (sm->preauth_eapol == NULL) {
ctx->pkcs11_engine_path = wpa_s->conf->pkcs11_engine_path;
ctx->pkcs11_module_path = wpa_s->conf->pkcs11_module_path;
#endif /* EAP_TLS_OPENSSL */
- ctx->mac_addr = wpa_s->own_addr;
- ctx->uuid = wpa_s->conf->uuid;
ctx->wps = wpa_s->wps;
ctx->eap_param_needed = wpa_supplicant_eap_param_needed;
ctx->cb = wpa_supplicant_eapol_cb;
wps->dev.categ = WPS_DEV_COMPUTER;
wps->dev.oui = WPS_DEV_OUI_WFA;
wps->dev.sub_categ = WPS_DEV_COMPUTER_PC;
+ os_memcpy(wps->dev.mac_addr, wpa_s->own_addr, ETH_ALEN);
+ os_memcpy(wps->uuid, wpa_s->conf->uuid, 16);
wpa_s->wps = wps;