aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorSteve Kondik <steve@cyngn.com>2016-06-29 10:57:54 -0700
committerRicardo Cerqueira <ricardo@cyngn.com>2016-07-01 11:17:53 +0100
commit782ab886ad5cf13a92c5e40e5139c6aa160184b3 (patch)
treefd5459184e169e2767048c7387ea680587e061b5
parente4023731a5b319e2c156f1c5130666247327de0a (diff)
downloadandroid_external_wpa_supplicant_8-wpa-rebase.tar.gz
android_external_wpa_supplicant_8-wpa-rebase.tar.bz2
android_external_wpa_supplicant_8-wpa-rebase.zip
wpa_supplicant: Cross-branch compilation fixeswpa-rebase
* Not all branches support the new QMI invocations, so add self-detection to deal with this. Change-Id: Iff2c060505727cefab62715baaf82394257122ce
-rw-r--r--hs20/client/osu_client.c3
-rw-r--r--src/eap_peer/eap_proxy_qmi.c35
2 files changed, 27 insertions, 11 deletions
diff --git a/hs20/client/osu_client.c b/hs20/client/osu_client.c
index 6e875efa..a43bd91a 100644
--- a/hs20/client/osu_client.c
+++ b/hs20/client/osu_client.c
@@ -2229,8 +2229,7 @@ static int cmd_osu_select(struct hs20_osu_client *ctx, const char *dir,
fprintf(f, "</table></a><br><small>BSSID: %s<br>\n"
"SSID: %s<br>\n",
last->bssid, last->osu_ssid);
- if (last->osu_nai)
- fprintf(f, "NAI: %s<br>\n", last->osu_nai);
+ fprintf(f, "NAI: %s<br>\n", last->osu_nai);
fprintf(f, "URL: %s<br>\n"
"methods:%s%s<br>\n"
"</small></p>\n",
diff --git a/src/eap_peer/eap_proxy_qmi.c b/src/eap_peer/eap_proxy_qmi.c
index f5e20099..60710306 100644
--- a/src/eap_peer/eap_proxy_qmi.c
+++ b/src/eap_peer/eap_proxy_qmi.c
@@ -382,16 +382,16 @@ static Boolean wpa_qmi_read_card_imsi(int sim_num, wpa_uim_struct_type *wpa_uim)
qmi_read_trans_req.session_information.aid_len = 0;
/* For USIM*/
- if ((wpa_uim[sim_num].card_info[wpa_uim[sim_num].card_ready_idx].app_type ==
- UIM_APP_TYPE_USIM_V01)) {
+ if (wpa_uim[sim_num].card_info[wpa_uim[sim_num].card_ready_idx].app_type ==
+ UIM_APP_TYPE_USIM_V01) {
qmi_read_trans_req.file_id.path[0] = 0x00;
qmi_read_trans_req.file_id.path[1] = 0x3F;
qmi_read_trans_req.file_id.path[2] = 0xFF;
qmi_read_trans_req.file_id.path[3] = 0x7F;
} else /* For SIM*/
- if ((wpa_uim[sim_num].card_info[wpa_uim[sim_num].card_ready_idx].app_type ==
- UIM_APP_TYPE_SIM_V01)) {
+ if (wpa_uim[sim_num].card_info[wpa_uim[sim_num].card_ready_idx].app_type ==
+ UIM_APP_TYPE_SIM_V01) {
qmi_read_trans_req.file_id.path[0] = 0x00;
qmi_read_trans_req.file_id.path[1] = 0x3F;
qmi_read_trans_req.file_id.path[2] = 0x20;
@@ -613,7 +613,7 @@ static void eap_proxy_post_init(struct eap_proxy_sm *eap_proxy)
os_memset(&eap_os_params, 0, sizeof(qmi_client_os_params));
qmiErrorCode = qmi_client_init_instance(uim_get_service_object_v01(),
- QMI_CLIENT_INSTANCE_ANY,
+ (unsigned int)QMI_CLIENT_INSTANCE_ANY,
wpa_qmi_client_indication_cb,
eap_proxy, &eap_os_params,
10000,
@@ -916,6 +916,7 @@ static void handle_qmi_eap_reply(
eap_proxy->qmi_state = QMI_STATE_RESP_TIME_OUT;
return;
}
+#ifdef QMI_AUTH_EAP_REQ_PACKET_EXT_MAX_V01
if((QMI_AUTH_SEND_EAP_PACKET_REQ_V01 != msg_id) &&
(QMI_AUTH_SEND_EAP_PACKET_EXT_REQ_V01 != msg_id))
{
@@ -923,10 +924,21 @@ static void handle_qmi_eap_reply(
eap_proxy->qmi_state = QMI_STATE_RESP_TIME_OUT;
return;
}
+#else
+ if(QMI_AUTH_SEND_EAP_PACKET_REQ_V01 != msg_id)
+ {
+ wpa_printf(MSG_ERROR, "eap_proxy: Invalid msgId =%d\n", msg_id);
+ eap_proxy->qmi_state = QMI_STATE_RESP_TIME_OUT;
+ return;
+ }
+#endif
/* ensure the reply packet exists */
- if (rspData->eap_response_pkt_len <= 0 ||
- rspData->eap_response_pkt_len > QMI_AUTH_EAP_RESP_PACKET_EXT_MAX_V01) {
+ if (rspData->eap_response_pkt_len <= 0
+#ifdef QMI_AUTH_EAP_REQ_PACKET_EXT_MAX_V01
+ || rspData->eap_response_pkt_len > QMI_AUTH_EAP_RESP_PACKET_EXT_MAX_V01
+#endif
+ ) {
wpa_printf(MSG_ERROR, "eap_proxy: Reply packet is of"
"invalid length %d error %d result %d\n",
rspData->eap_response_pkt_len, rspData->resp.error, rspData->resp.result);
@@ -968,15 +980,16 @@ static enum eap_proxy_status eap_proxy_process(struct eap_proxy_sm *eap_proxy,
u8 *eapReqData, int eapReqDataLen, struct eap_sm *eap_sm)
{
struct eap_hdr *hdr;
- int qmiErrorCode;
+ int qmiErrorCode = 0;
enum eap_proxy_status proxy_status = EAP_PROXY_SUCCESS;
auth_send_eap_packet_req_msg_v01 eap_send_packet_req;
auth_send_eap_packet_resp_msg_v01 eap_send_packet_resp;
qmi_txn_handle async_txn_hdl = 0;
+#ifdef QMI_AUTH_EAP_REQ_PACKET_EXT_MAX_V01
auth_send_eap_packet_ext_req_msg_v01 eap_send_packet_ext_req;
auth_send_eap_packet_ext_resp_msg_v01 eap_send_packet_ext_resp;
-
+#endif
hdr = (struct eap_hdr *)eapReqData;
if ((EAP_CODE_REQUEST == hdr->code) &&
@@ -1012,11 +1025,13 @@ static enum eap_proxy_status eap_proxy_process(struct eap_proxy_sm *eap_proxy,
os_memset(&eap_send_packet_resp, 0, sizeof(auth_send_eap_packet_resp_msg_v01));
eap_send_packet_req.eap_request_pkt_len = eapReqDataLen ;
memcpy(eap_send_packet_req.eap_request_pkt, eapReqData, eapReqDataLen);
+#ifdef QMI_AUTH_EAP_REQ_PACKET_EXT_MAX_V01
} else if (eapReqDataLen <= QMI_AUTH_EAP_REQ_PACKET_EXT_MAX_V01) {
os_memset(&eap_send_packet_ext_req, 0, sizeof(auth_send_eap_packet_ext_req_msg_v01));
os_memset(&eap_send_packet_ext_resp, 0, sizeof(auth_send_eap_packet_ext_resp_msg_v01));
eap_send_packet_ext_req.eap_request_ext_pkt_len = eapReqDataLen;
memcpy(eap_send_packet_ext_req.eap_request_ext_pkt, eapReqData, eapReqDataLen);
+#endif
} else {
wpa_printf(MSG_ERROR, "eap_proxy: Error in eap_send_packet_req\n");
return EAP_PROXY_FAILURE;
@@ -1042,6 +1057,7 @@ static enum eap_proxy_status eap_proxy_process(struct eap_proxy_sm *eap_proxy,
sizeof(auth_send_eap_packet_resp_msg_v01),
&handle_qmi_eap_reply, eap_proxy,
&async_txn_hdl);
+#ifdef QMI_AUTH_EAP_REQ_PACKET_EXT_MAX_V01
} else if(eapReqDataLen <= QMI_AUTH_EAP_REQ_PACKET_EXT_MAX_V01) {
qmiErrorCode = qmi_client_send_msg_async(
eap_proxy->qmi_auth_svc_client_ptr[eap_proxy->user_selected_sim],
@@ -1052,6 +1068,7 @@ static enum eap_proxy_status eap_proxy_process(struct eap_proxy_sm *eap_proxy,
sizeof(auth_send_eap_packet_ext_resp_msg_v01),
&handle_qmi_eap_reply, eap_proxy,
&async_txn_hdl);
+#endif
}
if (QMI_NO_ERR != qmiErrorCode) {