[data]BUG86810 & 86836
Change-Id: Id73ac0aaf3a850d70547c4d74740e32a24750a23
diff --git a/mbtk/liblynq_lib/src/lynq_data_call.c b/mbtk/liblynq_lib/src/lynq_data_call.c
index 3d3cdda..bcf76dd 100644
--- a/mbtk/liblynq_lib/src/lynq_data_call.c
+++ b/mbtk/liblynq_lib/src/lynq_data_call.c
@@ -743,18 +743,13 @@
return QSER_RESULT_FAIL;
}
-
apninfo.req_type = MBTK_APN_REQ_TYPE_ADD;
apninfo.auth_proto = (mbtk_apn_auth_proto_enum)apn->auth_proto;
if(strlen(apn->apn_name))
{
memcpy(apninfo.apn_name, apn->apn_name, strlen(apn->apn_name));
}
- else
- {
- LOGE("[qser_data] apn_name is NULL.");
- return QSER_RESULT_FAIL;
- }
+
if(strlen(apn->username))
{
memcpy(apninfo.user_name, apn->username, strlen(apn->username));
diff --git a/mbtk/mbtk_rild/src/mbtk_data_call.c b/mbtk/mbtk_rild/src/mbtk_data_call.c
index 8a6dc2f..542b5e4 100644
--- a/mbtk/mbtk_rild/src/mbtk_data_call.c
+++ b/mbtk/mbtk_rild/src/mbtk_data_call.c
@@ -264,7 +264,7 @@
LOGE("paran is NULL.");
return MBTK_RESULT_FAIL;
}
-
+
//check 2 - 7
int pdp_type_tmp = 1;
for (;pdp_type_tmp <= MBTK_APN_CID_MAX; pdp_type_tmp++)
@@ -275,23 +275,30 @@
}
if( (apn_set_state[pdp_type_tmp] == '1') || (apn_set_state[pdp_type_tmp] == '2') )
{
- if(strcmp((char *)apninfo_s[pdp_type_tmp].apn_type, (char *)apn_type) == 0)
+ if(0x0 != apn_type[0])
{
- LOGE("apn_type is same!idx = [%d]", pdp_type_tmp);
- return MBTK_RESULT_FAIL;
- }
- if (strcmp((char *)apninfo_s[pdp_type_tmp].apn_name, (char *)apn_name) == 0)
- {
- if(apninfo_s[pdp_type_tmp].ip_type == MBTK_IP_TYPE_IPV4V6 || ip_type == MBTK_IP_TYPE_IPV4V6)
+ if(strcmp((char *)apninfo_s[pdp_type_tmp].apn_type, (char *)apn_type) == 0)
{
- LOGE("[qser_data] apn_name is same and pdp_type is IPV4V6!idx = [%d]", pdp_type_tmp);
+ LOGE("apn_type is same!idx = [%d]", pdp_type_tmp);
return MBTK_RESULT_FAIL;
}
-
- if(apninfo_s[pdp_type_tmp].ip_type == ip_type)
+ }
+
+ if(0x0 != apn_name[0])
+ {
+ if (strcmp((char *)apninfo_s[pdp_type_tmp].apn_name, (char *)apn_name) == 0)
{
- LOGE("pdp_type is same and pdp_type is same!idx = [%d]", pdp_type_tmp);
- return MBTK_RESULT_FAIL;
+ if(apninfo_s[pdp_type_tmp].ip_type == MBTK_IP_TYPE_IPV4V6 || ip_type == MBTK_IP_TYPE_IPV4V6)
+ {
+ LOGE("[qser_data] apn_name is same and pdp_type is IPV4V6!idx = [%d]", pdp_type_tmp);
+ return MBTK_RESULT_FAIL;
+ }
+
+ if(apninfo_s[pdp_type_tmp].ip_type == ip_type)
+ {
+ LOGE("pdp_type is same and pdp_type is same!idx = [%d]", pdp_type_tmp);
+ return MBTK_RESULT_FAIL;
+ }
}
}
}
diff --git a/mbtk/mbtk_rild/src/mbtk_info_server.c b/mbtk/mbtk_rild/src/mbtk_info_server.c
old mode 100755
new mode 100644
index 8c047a5..755e94f
--- a/mbtk/mbtk_rild/src/mbtk_info_server.c
+++ b/mbtk/mbtk_rild/src/mbtk_info_server.c
@@ -3420,11 +3420,7 @@
}
if(strlen(apn->apn) > 0) {
index += sprintf(cmd + index,"\"%s\"", apn->apn);
- } else {
- LOGE("No set APN.");
- err = -1;
- goto exit;
- }
+ }
err = at_send_command(cmd, &response);
if (err < 0 || response->success == 0){
diff --git a/mbtk/test/liblynq_lib/qser_data_call_test.c b/mbtk/test/liblynq_lib/qser_data_call_test.c
old mode 100755
new mode 100644
index 42ee643..7a38036
--- a/mbtk/test/liblynq_lib/qser_data_call_test.c
+++ b/mbtk/test/liblynq_lib/qser_data_call_test.c
@@ -169,6 +169,7 @@
} else if(!strncasecmp(cmd, "apn_add", 7)){
char qser_idx = 0;
qser_apn_add_s qser_apn = {0};
+ char *tmp = NULL;
char *ptr = strstr(cmd, " ");
if(ptr == NULL)
continue;
@@ -176,13 +177,26 @@
ptr++;
qser_apn.pdp_type = (qser_apn_pdp_type_e)atoi(ptr);
+
ptr = strstr(ptr, " ");
if(ptr == NULL)
+ {
+ err = qser_apn_add(&qser_apn, &qser_idx);
+ if(err)
+ {
+ printf("Error : %d\n", err);
+ }
+ else
+ {
+ printf("APN set success. get idx = [%d]\n", qser_idx);
+ }
continue;
+ }
+
while(*ptr != '\0' && *ptr == ' ')
ptr++;
memcpy(qser_apn.apn_name, ptr, strlen(ptr));
- char *tmp = qser_apn.apn_name;
+ tmp = qser_apn.apn_name;
while(*tmp) {
if(*tmp == ' ') {
*tmp = '\0';
@@ -191,9 +205,21 @@
tmp++;
}
+
ptr = strstr(ptr, " ");
if(ptr == NULL)
+ {
+ err = qser_apn_add(&qser_apn, &qser_idx);
+ if(err)
+ {
+ printf("Error : %d\n", err);
+ }
+ else
+ {
+ printf("APN set success. get idx = [%d]\n", qser_idx);
+ }
continue;
+ }
while(*ptr != '\0' && *ptr == ' ')
ptr++;
memcpy(qser_apn.apn_type, ptr, strlen(ptr));
@@ -205,50 +231,68 @@
}
tmp++;
}
+
ptr = strstr(ptr, " ");
- if(ptr == NULL) {
+ if(ptr == NULL)
+ {
err = qser_apn_add(&qser_apn, &qser_idx);
- } else {
- while(*ptr != '\0' && *ptr == ' ')
- ptr++;
- memcpy(qser_apn.username, ptr, strlen(ptr));
- tmp = qser_apn.username;
- while(*tmp) {
- if(*tmp == ' ') {
- *tmp = '\0';
- break;
- }
- tmp++;
+ if(err)
+ {
+ printf("Error : %d\n", err);
+ }
+ else
+ {
+ printf("APN set success. get idx = [%d]\n", qser_idx);
}
-
- ptr = strstr(ptr, " ");
- if(ptr == NULL)
- continue;
- while(*ptr != '\0' && *ptr == ' ')
- ptr++;
- memcpy(qser_apn.password, ptr, strlen(ptr));
- tmp = qser_apn.password;
- while(*tmp) {
- if(*tmp == ' ') {
- *tmp = '\0';
- break;
- }
- tmp++;
+ continue;
+ }
+ while(*ptr != '\0' && *ptr == ' ')
+ ptr++;
+ memcpy(qser_apn.username, ptr, strlen(ptr));
+ tmp = qser_apn.username;
+ while(*tmp) {
+ if(*tmp == ' ') {
+ *tmp = '\0';
+ break;
}
-
- ptr = strstr(ptr, " ");
- if(ptr == NULL)
- continue;
- while(*ptr != '\0' && *ptr == ' ')
- ptr++;
- qser_apn.auth_proto = (qser_apn_auth_proto_e)atoi(ptr);
-
- err = qser_apn_add(&qser_apn, &qser_idx);
+ tmp++;
}
- if(err) {
+
+ ptr = strstr(ptr, " ");
+ if(ptr == NULL)
+ {
+ continue;
+ }
+ while(*ptr != '\0' && *ptr == ' ')
+ ptr++;
+ memcpy(qser_apn.password, ptr, strlen(ptr));
+ tmp = qser_apn.password;
+ while(*tmp) {
+ if(*tmp == ' ') {
+ *tmp = '\0';
+ break;
+ }
+ tmp++;
+ }
+
+ ptr = strstr(ptr, " ");
+ if(ptr == NULL)
+ {
+ continue;
+ }
+ while(*ptr != '\0' && *ptr == ' ')
+ ptr++;
+ qser_apn.auth_proto = (qser_apn_auth_proto_e)atoi(ptr);
+
+ err = qser_apn_add(&qser_apn, &qser_idx);
+
+ if(err)
+ {
printf("Error : %d\n", err);
- } else {
+ }
+ else
+ {
printf("APN set success. get idx = [%d]\n", qser_idx);
}
}
@@ -283,9 +327,21 @@
tmp++;
}
+
ptr = strstr(ptr, " ");
if(ptr == NULL)
+ {
+ err = qser_apn_set(&qser_apn);
+ if(err)
+ {
+ printf("Error : %d\n", err);
+ }
+ else
+ {
+ printf("APN set success\n");
+ }
continue;
+ }
while(*ptr != '\0' && *ptr == ' ')
ptr++;
memcpy(qser_apn.apn_type, ptr, strlen(ptr));
@@ -297,47 +353,57 @@
}
tmp++;
}
-
+
+
ptr = strstr(ptr, " ");
if(ptr == NULL) {
err = qser_apn_set(&qser_apn);
- } else {
- while(*ptr != '\0' && *ptr == ' ')
- ptr++;
- memcpy(qser_apn.username, ptr, strlen(ptr));
- tmp = qser_apn.username;
- while(*tmp) {
- if(*tmp == ' ') {
- *tmp = '\0';
- break;
- }
- tmp++;
+ if(err)
+ {
+ printf("Error : %d\n", err);
+ }
+ else
+ {
+ printf("APN set success\n");
+ }
+ continue;
+ }
+ while(*ptr != '\0' && *ptr == ' ')
+ ptr++;
+ memcpy(qser_apn.username, ptr, strlen(ptr));
+ tmp = qser_apn.username;
+ while(*tmp) {
+ if(*tmp == ' ') {
+ *tmp = '\0';
+ break;
}
-
- ptr = strstr(ptr, " ");
- if(ptr == NULL)
- continue;
- while(*ptr != '\0' && *ptr == ' ')
- ptr++;
- memcpy(qser_apn.password, ptr, strlen(ptr));
- tmp = qser_apn.password;
- while(*tmp) {
- if(*tmp == ' ') {
- *tmp = '\0';
- break;
- }
- tmp++;
- }
-
- ptr = strstr(ptr, " ");
- if(ptr == NULL)
- continue;
- while(*ptr != '\0' && *ptr == ' ')
- ptr++;
- qser_apn.auth_proto = (qser_apn_auth_proto_e)atoi(ptr);
-
- err = qser_apn_set(&qser_apn);
+ tmp++;
}
+
+ ptr = strstr(ptr, " ");
+ if(ptr == NULL)
+ continue;
+ while(*ptr != '\0' && *ptr == ' ')
+ ptr++;
+ memcpy(qser_apn.password, ptr, strlen(ptr));
+ tmp = qser_apn.password;
+ while(*tmp) {
+ if(*tmp == ' ') {
+ *tmp = '\0';
+ break;
+ }
+ tmp++;
+ }
+
+ ptr = strstr(ptr, " ");
+ if(ptr == NULL)
+ continue;
+ while(*ptr != '\0' && *ptr == ' ')
+ ptr++;
+ qser_apn.auth_proto = (qser_apn_auth_proto_e)atoi(ptr);
+
+ err = qser_apn_set(&qser_apn);
+
if(err) {
printf("Error : %d\n", err);
} else {