OSDN Git Service

Revert "Emulator: add CSIM authentication support"
authorBo Hu <bohu@google.com>
Fri, 16 Mar 2018 19:30:21 +0000 (19:30 +0000)
committerBo Hu <bohu@google.com>
Fri, 16 Mar 2018 19:30:21 +0000 (19:30 +0000)
This reverts commit 1a0999f5359912a5f8b43ecb242b6fcb1de6c769.

Reason for revert: regression

Change-Id: Iaccff16f66132418e744531db117c7d6af21a90a
BUG: 75284151

reference-ril/reference-ril.c

index f512469..81bf8d5 100644 (file)
@@ -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) {