WPS: Fix OpCode when proxying WSC_ACK or WSC_NACK from ER

Previously, WSC_MSG was hardcoded for every message from ER, but
this needs to be changed based on message type to send a valid
message to the Enrollee via EAP transport.
This commit is contained in:
Jouni Malinen 2009-11-13 22:29:31 +02:00
parent 72df2f5fc6
commit 04f5d74077

View file

@ -1563,8 +1563,18 @@ struct wpabuf * wps_registrar_get_msg(struct wps_data *wps,
else else
wps->wps->upnp_msgs = NULL; wps->wps->upnp_msgs = NULL;
msg = p->msg; msg = p->msg;
os_free(p); switch (p->type) {
case WPS_WSC_ACK:
*op_code = WSC_ACK;
break;
case WPS_WSC_NACK:
*op_code = WSC_NACK;
break;
default:
*op_code = WSC_MSG; *op_code = WSC_MSG;
break;
}
os_free(p);
if (wps->ext_reg == 0) if (wps->ext_reg == 0)
wps->ext_reg = 1; wps->ext_reg = 1;
return msg; return msg;