Lines Matching refs:data

30  * wps_init - Initialize WPS Registration protocol data
32 * Returns: Pointer to allocated data or %NULL on failure
34 * This function is used to initialize WPS data for a registration protocol
36 * Enrollee. The caller is responsible for freeing this data after the
41 struct wps_data *data = os_zalloc(sizeof(*data));
42 if (data == NULL)
44 data->wps = cfg->wps;
45 data->registrar = cfg->registrar;
47 os_memcpy(data->uuid_r, cfg->wps->uuid, WPS_UUID_LEN);
49 os_memcpy(data->mac_addr_e, cfg->wps->dev.mac_addr, ETH_ALEN);
50 os_memcpy(data->uuid_e, cfg->wps->uuid, WPS_UUID_LEN);
53 data->dev_pw_id = cfg->dev_pw_id;
54 data->dev_password = os_memdup(cfg->pin, cfg->pin_len);
55 if (data->dev_password == NULL) {
56 os_free(data);
59 data->dev_password_len = cfg->pin_len;
61 data->dev_password, data->dev_password_len);
67 data->dev_pw_id = cfg->dev_pw_id;
71 data->alt_dev_pw_id = data->dev_pw_id;
72 data->alt_dev_password = data->dev_password;
73 data->alt_dev_password_len = data->dev_password_len;
75 data->dev_pw_id = cfg->wps->ap_nfc_dev_pw_id;
76 data->dev_password =
79 if (data->dev_password == NULL) {
80 os_free(data);
83 data->dev_password_len = wpabuf_len(cfg->wps->ap_nfc_dev_pw);
85 data->dev_password, data->dev_password_len);
89 data->pbc = cfg->pbc;
92 data->dev_pw_id = DEV_PW_PUSHBUTTON;
93 bin_clear_free(data->dev_password, data->dev_password_len);
94 data->dev_password = (u8 *) os_strdup("00000000");
95 if (data->dev_password == NULL) {
96 os_free(data);
99 data->dev_password_len = 8;
102 data->state = data->registrar ? RECV_M1 : SEND_M1;
118 data->request_type = *attr.request_type;
123 data->new_ap_settings =
125 sizeof(*data->new_ap_settings));
126 if (data->new_ap_settings == NULL) {
127 bin_clear_free(data->dev_password,
128 data->dev_password_len);
129 os_free(data);
135 os_memcpy(data->peer_dev.mac_addr, cfg->peer_addr, ETH_ALEN);
137 os_memcpy(data->p2p_dev_addr, cfg->p2p_dev_addr, ETH_ALEN);
139 data->use_psk_key = cfg->use_psk_key;
140 data->pbc_in_m1 = cfg->pbc_in_m1;
143 os_memcpy(data->peer_pubkey_hash, cfg->peer_pubkey_hash,
145 data->peer_pubkey_hash_set = 1;
148 data->multi_ap_backhaul_sta = cfg->multi_ap_backhaul_sta;
150 return data;
155 * wps_deinit - Deinitialize WPS Registration protocol data
156 * @data: WPS Registration protocol data from wps_init()
158 void wps_deinit(struct wps_data *data)
161 if (data->registrar && data->nfc_pw_token)
162 wps_registrar_remove_nfc_pw_token(data->wps->registrar,
163 data->nfc_pw_token);
166 if (data->wps_pin_revealed) {
169 if (data->registrar)
170 wps_registrar_invalidate_pin(data->wps->registrar,
171 data->uuid_e);
172 } else if (data->registrar)
173 wps_registrar_unlock_pin(data->wps->registrar, data->uuid_e);
175 wpabuf_clear_free(data->dh_privkey);
176 wpabuf_free(data->dh_pubkey_e);
177 wpabuf_free(data->dh_pubkey_r);
178 wpabuf_free(data->last_msg);
179 bin_clear_free(data->dev_password, data->dev_password_len);
180 bin_clear_free(data->alt_dev_password, data->alt_dev_password_len);
181 bin_clear_free(data->new_psk, data->new_psk_len);
182 wps_device_data_free(&data->peer_dev);
183 bin_clear_free(data->new_ap_settings, sizeof(*data->new_ap_settings));
184 dh5_free(data->dh_ctx);
185 os_free(data);
191 * @wps: WPS Registration protocol data from wps_init()
193 * @msg: Message data
214 * @wps: WPS Registration protocol data from wps_init()
547 int wps_attr_text(struct wpabuf *data, char *buf, char *end)
553 if (wps_parse_msg(data, &attr) < 0)