summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorBo Hu <bohu@google.com>2018-03-16 19:30:21 +0000
committerBo Hu <bohu@google.com>2018-03-16 19:30:21 +0000
commit0c6d7438566d42bf07d1fcf7bf3460ce406f0ac2 (patch)
tree90d7a0593768c484e85bc29300f4a6a00820a000
parent1a0999f5359912a5f8b43ecb242b6fcb1de6c769 (diff)
downloadandroid_hardware_ril-0c6d7438566d42bf07d1fcf7bf3460ce406f0ac2.tar.gz
android_hardware_ril-0c6d7438566d42bf07d1fcf7bf3460ce406f0ac2.tar.bz2
android_hardware_ril-0c6d7438566d42bf07d1fcf7bf3460ce406f0ac2.zip
Revert "Emulator: add CSIM authentication support"
This reverts commit 1a0999f5359912a5f8b43ecb242b6fcb1de6c769. Reason for revert: regression Change-Id: Iaccff16f66132418e744531db117c7d6af21a90a BUG: 75284151
-rw-r--r--reference-ril/reference-ril.c95
1 files changed, 14 insertions, 81 deletions
diff --git a/reference-ril/reference-ril.c b/reference-ril/reference-ril.c
index f512469..81bf8d5 100644
--- a/reference-ril/reference-ril.c
+++ b/reference-ril/reference-ril.c
@@ -410,22 +410,6 @@ static RIL_Errno setInterfaceState(const char* interfaceName,
return RIL_E_SUCCESS;
}
-static void parseAuthResponse(char* line, RIL_SIM_IO_Response* response) {
- // example string +CSIM=number, "<base64string>9000"
- // get the status first
- int len = strlen(line);
- char* first_double_quote = strchr(line, '"');
- if (first_double_quote == NULL) {
- RLOGE("%s bad response %s", __func__, line);
- return;
- }
- char* data_ptr = first_double_quote + 1;
- sscanf(line + (len -5), "%2x%2x", &(response->sw1), &(response->sw2));
- line[len-5] = '\0';
- response->simResponse = strdup(data_ptr);
-}
-
-
/** do post-AT+CFUN=1 initialization */
static void onRadioPowerOn()
{
@@ -2343,52 +2327,6 @@ static void requestGetMute(void *data, size_t datalen, RIL_Token t)
RIL_onRequestComplete(t, RIL_E_SUCCESS, &muteResponse, sizeof(muteResponse));
}
-static void requestGetSimAuthentication(void *data, size_t datalen __unused, RIL_Token t)
-{
- // TODO - hook this up with real query/info from radio.
- RIL_SimAuthentication* auth = (RIL_SimAuthentication*)data;
-
- RIL_SIM_IO_Response auth_response = {
- 0x90,
- 0x00,
- ""
- };
-
- // special case: empty authData, should return empty response
- if (auth->authData == NULL || strlen(auth->authData) == 0) {
- char reply[] = "";
- RIL_onRequestComplete(t, RIL_E_SUCCESS, &auth_response, sizeof(auth_response));
- RLOGD("%s empty data in", __func__);
- return;
- }
-
- //talk to modem
- ATResponse *p_response = NULL;
- memset(&auth_response, 0, sizeof(auth_response));
- int err;
- char *cmd = NULL;
- int auth_len = strlen(auth->authData);
- int total_len = auth_len + 12;
- asprintf(&cmd, "AT+CSIM=%d, \"008800%02x%02x%s00\"", total_len, auth->authContext,
- auth_len, auth->authData);
-
- err = at_send_command_singleline(cmd, "+CSIM:", &p_response);
- if (err < 0 || p_response == NULL || p_response->success == 0) {
- ALOGE("%s Error %d transmitting CSIM: %d", __func__,
- err, p_response ? p_response->success : 0);
- RIL_onRequestComplete(t, RIL_E_GENERIC_FAILURE, NULL, 0);
- at_response_free(p_response);
- return;
- }
-
- char* line = p_response->p_intermediates->line;
-
- parseAuthResponse(line, &auth_response);
- RIL_onRequestComplete(t, RIL_E_SUCCESS, &auth_response, sizeof(auth_response));
- free(auth_response.simResponse);
- free(p_response);
-}
-
/*** Callback methods from the RIL library to us ***/
/**
@@ -2788,36 +2726,31 @@ onRequest (int request, void *data, size_t datalen, RIL_Token t)
RIL_onRequestComplete(t, RIL_E_SUCCESS, NULL, 0);
break;
- case RIL_REQUEST_SIM_AUTHENTICATION:
- requestGetSimAuthentication(data, datalen, t);
- break;
-
- /* CDMA Specific Requests */
case RIL_REQUEST_BASEBAND_VERSION:
- if (TECH_BIT(sMdmInfo) == MDM_CDMA) {
- requestCdmaBaseBandVersion(request, data, datalen, t);
- break;
- } // Fall-through if tech is not cdma
+ requestCdmaBaseBandVersion(request, data, datalen, t);
+ break;
case RIL_REQUEST_DEVICE_IDENTITY:
requestDeviceIdentity(request, data, datalen, t);
break;
case RIL_REQUEST_CDMA_SUBSCRIPTION:
- if (TECH_BIT(sMdmInfo) == MDM_CDMA) {
- requestCdmaSubscription(request, data, datalen, t);
- break;
- } else {
- RIL_onRequestComplete(t, RIL_E_REQUEST_NOT_SUPPORTED, NULL, 0);
- }
+ requestCdmaSubscription(request, data, datalen, t);
+ break;
case RIL_REQUEST_CDMA_GET_SUBSCRIPTION_SOURCE:
- if (TECH_BIT(sMdmInfo) == MDM_CDMA) {
- requestCdmaGetSubscriptionSource(request, data, datalen, t);
- break;
+ requestCdmaGetSubscriptionSource(request, data, datalen, t);
+ break;
+
+ case RIL_REQUEST_START_LCE:
+ case RIL_REQUEST_STOP_LCE:
+ case RIL_REQUEST_PULL_LCEDATA:
+ if (getSIMStatus() == SIM_ABSENT) {
+ RIL_onRequestComplete(t, RIL_E_SIM_ABSENT, NULL, 0);
} else {
- RIL_onRequestComplete(t, RIL_E_REQUEST_NOT_SUPPORTED, NULL, 0);
+ RIL_onRequestComplete(t, RIL_E_LCE_NOT_SUPPORTED, NULL, 0);
}
+ break;
case RIL_REQUEST_CDMA_QUERY_ROAMING_PREFERENCE:
if (TECH_BIT(sMdmInfo) == MDM_CDMA) {