WPS: Moved mac_addr and uuid configuration into wps_context
authorJouni Malinen <j@w1.fi>
Fri, 28 Nov 2008 18:44:47 +0000 (20:44 +0200)
committerJouni Malinen <j@w1.fi>
Fri, 28 Nov 2008 18:44:47 +0000 (20:44 +0200)
There is no need to complicate EAPOL and EAP interfaces with WPS
specific parameters now that wps_context is passed through.

src/eap_peer/eap.c
src/eap_peer/eap.h
src/eap_peer/eap_i.h
src/eap_peer/eap_wsc.c
src/eapol_supp/eapol_supp_sm.c
src/eapol_supp/eapol_supp_sm.h
src/rsn_supp/preauth.c
wpa_supplicant/wpas_glue.c
wpa_supplicant/wps_supplicant.c

index 8f84434..88377b9 100644 (file)
@@ -1178,10 +1178,6 @@ struct eap_sm * eap_peer_sm_init(void *eapol_ctx,
        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));
index c434498..d7a5628 100644 (file)
@@ -246,18 +246,6 @@ struct eap_config {
         */
        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.
index 9947276..73f3f83 100644 (file)
@@ -333,8 +333,6 @@ struct eap_sm {
        int num_rounds;
        int force_disabled;
 
-       u8 mac_addr[ETH_ALEN];
-       u8 uuid[16];
        struct wps_context *wps;
 };
 
index d4b0dc3..2cf52f8 100644 (file)
@@ -162,7 +162,7 @@ static void * eap_wsc_init(struct eap_sm *sm)
        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) {
@@ -192,10 +192,7 @@ static void * eap_wsc_init(struct eap_sm *sm)
                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);
index 4d62071..f382ee6 100644 (file)
@@ -1804,8 +1804,6 @@ struct eapol_sm *eapol_sm_init(struct eapol_ctx *ctx)
        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);
index 38975fc..57d7bc1 100644 (file)
@@ -199,19 +199,6 @@ struct eapol_ctx {
         */
        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
index e2cf2a8..b00c004 100644 (file)
@@ -223,7 +223,6 @@ int rsn_preauth_init(struct wpa_sm *sm, const u8 *dst,
        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) {
index 70b4416..2b96aa7 100644 (file)
@@ -558,8 +558,6 @@ int wpa_supplicant_init_eapol(struct wpa_supplicant *wpa_s)
        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;
index 4d1c078..7789b06 100644 (file)
@@ -197,6 +197,8 @@ int wpas_wps_init(struct wpa_supplicant *wpa_s)
        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;