WPS 2.0: Add Request to Enroll attribute into Probe Request
Whenever wpa_supplication is using Request Type Enrollee, it is trying to enroll into a network. Indicate this with the explicit inclusion of Request to Enroll attribute with value TRUE.
This commit is contained in:
parent
31fcea931d
commit
cfe1c3f1ef
3 changed files with 14 additions and 1 deletions
|
@ -449,7 +449,9 @@ struct wpabuf * wps_build_probe_req_ie(int pbc, struct wps_device_data *dev,
|
||||||
wps_build_config_error(ie, WPS_CFG_NO_ERROR) ||
|
wps_build_config_error(ie, WPS_CFG_NO_ERROR) ||
|
||||||
wps_build_dev_password_id(ie, pbc ? DEV_PW_PUSHBUTTON :
|
wps_build_dev_password_id(ie, pbc ? DEV_PW_PUSHBUTTON :
|
||||||
DEV_PW_DEFAULT) ||
|
DEV_PW_DEFAULT) ||
|
||||||
wps_build_version2(ie)) {
|
wps_build_version2(ie) ||
|
||||||
|
(req_type == WPS_REQ_ENROLLEE &&
|
||||||
|
wps_build_req_to_enroll(ie))) {
|
||||||
wpabuf_free(ie);
|
wpabuf_free(ie);
|
||||||
return NULL;
|
return NULL;
|
||||||
}
|
}
|
||||||
|
|
|
@ -337,3 +337,13 @@ int wps_build_oob_dev_password(struct wpabuf *msg, struct wps_context *wps)
|
||||||
return 0;
|
return 0;
|
||||||
}
|
}
|
||||||
#endif /* CONFIG_WPS_OOB */
|
#endif /* CONFIG_WPS_OOB */
|
||||||
|
|
||||||
|
|
||||||
|
int wps_build_req_to_enroll(struct wpabuf *msg)
|
||||||
|
{
|
||||||
|
wpa_printf(MSG_DEBUG, "WPS: * Request to Enroll (1)");
|
||||||
|
wpabuf_put_be16(msg, ATTR_REQUEST_TO_ENROLL);
|
||||||
|
wpabuf_put_be16(msg, 1);
|
||||||
|
wpabuf_put_u8(msg, 1);
|
||||||
|
return 0;
|
||||||
|
}
|
||||||
|
|
|
@ -247,6 +247,7 @@ int wps_build_encr_type_flags(struct wps_data *wps, struct wpabuf *msg);
|
||||||
int wps_build_conn_type_flags(struct wps_data *wps, struct wpabuf *msg);
|
int wps_build_conn_type_flags(struct wps_data *wps, struct wpabuf *msg);
|
||||||
int wps_build_assoc_state(struct wps_data *wps, struct wpabuf *msg);
|
int wps_build_assoc_state(struct wps_data *wps, struct wpabuf *msg);
|
||||||
int wps_build_oob_dev_password(struct wpabuf *msg, struct wps_context *wps);
|
int wps_build_oob_dev_password(struct wpabuf *msg, struct wps_context *wps);
|
||||||
|
int wps_build_req_to_enroll(struct wpabuf *msg);
|
||||||
|
|
||||||
/* wps_attr_process.c */
|
/* wps_attr_process.c */
|
||||||
int wps_process_authenticator(struct wps_data *wps, const u8 *authenticator,
|
int wps_process_authenticator(struct wps_data *wps, const u8 *authenticator,
|
||||||
|
|
Loading…
Reference in a new issue