Lines Matching refs:msg

21 int wps_build_public_key(struct wps_data *wps, struct wpabuf *msg)
57 wpabuf_put_be16(msg, ATTR_PUBLIC_KEY);
58 wpabuf_put_be16(msg, wpabuf_len(pubkey));
59 wpabuf_put_buf(msg, pubkey);
73 int wps_build_req_type(struct wpabuf *msg, enum wps_request_type type)
76 wpabuf_put_be16(msg, ATTR_REQUEST_TYPE);
77 wpabuf_put_be16(msg, 1);
78 wpabuf_put_u8(msg, type);
83 int wps_build_resp_type(struct wpabuf *msg, enum wps_response_type type)
86 wpabuf_put_be16(msg, ATTR_RESPONSE_TYPE);
87 wpabuf_put_be16(msg, 1);
88 wpabuf_put_u8(msg, type);
93 int wps_build_config_methods(struct wpabuf *msg, u16 methods)
96 wpabuf_put_be16(msg, ATTR_CONFIG_METHODS);
97 wpabuf_put_be16(msg, 2);
98 wpabuf_put_be16(msg, methods);
103 int wps_build_uuid_e(struct wpabuf *msg, const u8 *uuid)
106 wpabuf_put_be16(msg, ATTR_UUID_E);
107 wpabuf_put_be16(msg, WPS_UUID_LEN);
108 wpabuf_put_data(msg, uuid, WPS_UUID_LEN);
113 int wps_build_dev_password_id(struct wpabuf *msg, u16 id)
116 wpabuf_put_be16(msg, ATTR_DEV_PASSWORD_ID);
117 wpabuf_put_be16(msg, 2);
118 wpabuf_put_be16(msg, id);
123 int wps_build_config_error(struct wpabuf *msg, u16 err)
126 wpabuf_put_be16(msg, ATTR_CONFIG_ERROR);
127 wpabuf_put_be16(msg, 2);
128 wpabuf_put_be16(msg, err);
133 int wps_build_authenticator(struct wps_data *wps, struct wpabuf *msg)
150 addr[1] = wpabuf_head(msg);
151 len[1] = wpabuf_len(msg);
155 wpabuf_put_be16(msg, ATTR_AUTHENTICATOR);
156 wpabuf_put_be16(msg, WPS_AUTHENTICATOR_LEN);
157 wpabuf_put_data(msg, hash, WPS_AUTHENTICATOR_LEN);
163 int wps_build_version(struct wpabuf *msg)
171 wpabuf_put_be16(msg, ATTR_VERSION);
172 wpabuf_put_be16(msg, 1);
173 wpabuf_put_u8(msg, 0x10);
178 int wps_build_wfa_ext(struct wpabuf *msg, int req_to_enroll,
184 wpabuf_put_be16(msg, ATTR_VENDOR_EXT);
185 len = wpabuf_put(msg, 2); /* to be filled */
186 wpabuf_put_be24(msg, WPS_VENDOR_ID_WFA);
189 wpabuf_put_u8(msg, WFA_ELEM_VERSION2);
190 wpabuf_put_u8(msg, 1);
191 wpabuf_put_u8(msg, WPS_VERSION);
195 wpabuf_put_u8(msg, WFA_ELEM_REQUEST_TO_ENROLL);
196 wpabuf_put_u8(msg, 1);
197 wpabuf_put_u8(msg, 1);
204 wpabuf_put_u8(msg, WFA_ELEM_AUTHORIZEDMACS);
205 wpabuf_put_u8(msg, auth_macs_count * ETH_ALEN);
206 wpabuf_put_data(msg, auth_macs, auth_macs_count * ETH_ALEN);
212 WPA_PUT_BE16(len, (u8 *) wpabuf_put(msg, 0) - len - 2);
219 wpabuf_put_be16(msg, ATTR_EXTENSIBILITY_TEST);
220 wpabuf_put_be16(msg, 1);
221 wpabuf_put_u8(msg, 42);
228 int wps_build_msg_type(struct wpabuf *msg, enum wps_msg_type msg_type)
231 wpabuf_put_be16(msg, ATTR_MSG_TYPE);
232 wpabuf_put_be16(msg, 1);
233 wpabuf_put_u8(msg, msg_type);
238 int wps_build_enrollee_nonce(struct wps_data *wps, struct wpabuf *msg)
241 wpabuf_put_be16(msg, ATTR_ENROLLEE_NONCE);
242 wpabuf_put_be16(msg, WPS_NONCE_LEN);
243 wpabuf_put_data(msg, wps->nonce_e, WPS_NONCE_LEN);
248 int wps_build_registrar_nonce(struct wps_data *wps, struct wpabuf *msg)
251 wpabuf_put_be16(msg, ATTR_REGISTRAR_NONCE);
252 wpabuf_put_be16(msg, WPS_NONCE_LEN);
253 wpabuf_put_data(msg, wps->nonce_r, WPS_NONCE_LEN);
258 int wps_build_auth_type_flags(struct wps_data *wps, struct wpabuf *msg)
265 wpabuf_put_be16(msg, ATTR_AUTH_TYPE_FLAGS);
266 wpabuf_put_be16(msg, 2);
267 wpabuf_put_be16(msg, auth_types);
272 int wps_build_encr_type_flags(struct wps_data *wps, struct wpabuf *msg)
279 wpabuf_put_be16(msg, ATTR_ENCR_TYPE_FLAGS);
280 wpabuf_put_be16(msg, 2);
281 wpabuf_put_be16(msg, encr_types);
286 int wps_build_conn_type_flags(struct wps_data *wps, struct wpabuf *msg)
289 wpabuf_put_be16(msg, ATTR_CONN_TYPE_FLAGS);
290 wpabuf_put_be16(msg, 1);
291 wpabuf_put_u8(msg, WPS_CONN_ESS);
296 int wps_build_assoc_state(struct wps_data *wps, struct wpabuf *msg)
299 wpabuf_put_be16(msg, ATTR_ASSOC_STATE);
300 wpabuf_put_be16(msg, 2);
301 wpabuf_put_be16(msg, WPS_ASSOC_NOT_ASSOC);
306 int wps_build_key_wrap_auth(struct wps_data *wps, struct wpabuf *msg)
311 hmac_sha256(wps->authkey, WPS_AUTHKEY_LEN, wpabuf_head(msg),
312 wpabuf_len(msg), hash);
314 wpabuf_put_be16(msg, ATTR_KEY_WRAP_AUTH);
315 wpabuf_put_be16(msg, WPS_KWA_LEN);
316 wpabuf_put_data(msg, hash, WPS_KWA_LEN);
321 int wps_build_encr_settings(struct wps_data *wps, struct wpabuf *msg,
334 wpabuf_put_be16(msg, ATTR_ENCR_SETTINGS);
335 wpabuf_put_be16(msg, block_size + wpabuf_len(plain));
337 iv = wpabuf_put(msg, block_size);
341 data = wpabuf_put(msg, 0);
342 wpabuf_put_buf(msg, plain);
351 int wps_build_oob_dev_pw(struct wpabuf *msg, u16 dev_pw_id,
363 wpabuf_put_be16(msg, ATTR_OOB_DEVICE_PASSWORD);
364 wpabuf_put_be16(msg, WPS_OOB_PUBKEY_HASH_LEN + 2 + dev_pw_len);
365 wpabuf_put_data(msg, pubkey_hash, WPS_OOB_PUBKEY_HASH_LEN);
366 wpabuf_put_be16(msg, dev_pw_id);
367 wpabuf_put_data(msg, dev_pw, dev_pw_len);
373 int wps_build_oob_dev_password(struct wpabuf *msg, struct wps_context *wps)
399 return wps_build_oob_dev_pw(msg, wps->oob_dev_pw_id, wps->dh_pubkey,