* So adding code for comparing exist address and new address and replace with new address(MMSconf) address */
if(pMsg->msgType.subType == MSG_RETRIEVE_AUTOCONF_MMS || pMsg->msgType.subType == MSG_RETRIEVE_MANUALCONF_MMS) {
- if (pMsg->nAddressCnt == 1 && pMsg->addressList) {
- char tmpAddressVal[MAX_ADDRESS_VAL_LEN+1] = {0,};
- msg_address_type_t tmpAddressType;
- msg_recipient_type_t tmpRecipientType;
- int tmpConvId;
-
- //compare stored address and currnt address
- memset(sqlQuery, 0x00, sizeof(sqlQuery));
-
- snprintf(sqlQuery, sizeof(sqlQuery), "SELECT "
- "A.CONV_ID, "
- "A.ADDRESS_TYPE, "
- "A.RECIPIENT_TYPE, "
- "A.ADDRESS_VAL "
- "FROM %s A, %s B "
- "WHERE A.CONV_ID = B.CONV_ID "
- "AND B.MSG_ID = %d;",
- MSGFW_ADDRESS_TABLE_NAME, MSGFW_MESSAGE_TABLE_NAME,
- pMsg->msgId);
-
- MSG_DEBUG("[%s]", sqlQuery);
+ if (pMsg->addressList) {
+ if (pMsg->nAddressCnt == 1) {
+ char tmpAddressVal[MAX_ADDRESS_VAL_LEN+1] = {0,};
+ msg_address_type_t tmpAddressType;
+ msg_recipient_type_t tmpRecipientType;
+ int tmpConvId;
+
+ /* compare stored address and currnt address */
+ memset(sqlQuery, 0x00, sizeof(sqlQuery));
+
+ snprintf(sqlQuery, sizeof(sqlQuery), "SELECT "
+ "A.CONV_ID, "
+ "A.ADDRESS_TYPE, "
+ "A.RECIPIENT_TYPE, "
+ "A.ADDRESS_VAL "
+ "FROM %s A, %s B "
+ "WHERE A.CONV_ID = B.CONV_ID "
+ "AND B.MSG_ID = %d;",
+ MSGFW_ADDRESS_TABLE_NAME, MSGFW_MESSAGE_TABLE_NAME,
+ pMsg->msgId);
+
+ MSG_DEBUG("[%s]", sqlQuery);
+
+ if (dbHandle->prepareQuery(sqlQuery) != MSG_SUCCESS) {
+ return MSG_ERR_DB_PREPARE;
+ }
- if (dbHandle->prepareQuery(sqlQuery) != MSG_SUCCESS) {
- return MSG_ERR_DB_PREPARE;
- }
+ err = dbHandle->stepQuery();
- err = dbHandle->stepQuery();
+ if (err == MSG_ERR_DB_ROW) {
+ tmpConvId = dbHandle->columnInt(0);
+ tmpAddressType = dbHandle->columnInt(1);
+ tmpRecipientType = dbHandle->columnInt(2);
+ strncpy(tmpAddressVal, (char*)dbHandle->columnText(3), MAX_ADDRESS_VAL_LEN);
- if (err == MSG_ERR_DB_ROW) {
- tmpConvId = dbHandle->columnInt(0);
- tmpAddressType = dbHandle->columnInt(1);
- tmpRecipientType = dbHandle->columnInt(2);
- strncpy(tmpAddressVal, (char*)dbHandle->columnText(3), MAX_ADDRESS_VAL_LEN);
+ dbHandle->finalizeQuery();
- dbHandle->finalizeQuery();
+ /* compare stored addressList and current addressList */
+ if (tmpAddressType != pMsg->addressList->addressType ||
+ tmpRecipientType != pMsg->addressList->recipientType ||
+ (strncmp(tmpAddressVal, pMsg->addressList->addressVal, MAX_ADDRESS_VAL_LEN) != 0)) {
- //compare stored addressList and current addressList
- if (tmpAddressType != pMsg->addressList->addressType ||
- tmpRecipientType != pMsg->addressList->recipientType ||
- (strncmp(tmpAddressVal, pMsg->addressList->addressVal, MAX_ADDRESS_VAL_LEN) != 0)) {
+ MSG_WARN("AddressList of NotiInd and MMSConf are different!!, Replace AddressList to MMSConf data");
+ MSG_WARN("AddType [NotiInd : %d], [MMSConf : %d]", tmpAddressType, pMsg->addressList->addressType);
+ MSG_WARN("RcptType [NotiInd : %d], [MMSConf : %d]", tmpRecipientType, pMsg->addressList->recipientType);
+ MSG_SEC_INFO("AddressVal [NotiInd : %s], [MMSConf : %s]", tmpAddressVal, pMsg->addressList->addressVal);
- MSG_WARN("AddressList of NotiInd and MMSConf are different!!, Replace AddressList to MMSConf data");
- MSG_WARN("AddType [NotiInd : %d], [MMSConf : %d]", tmpAddressType, pMsg->addressList->addressType);
- MSG_WARN("RcptType [NotiInd : %d], [MMSConf : %d]", tmpRecipientType, pMsg->addressList->recipientType);
- MSG_SEC_INFO("AddressVal [NotiInd : %s], [MMSConf : %s]", tmpAddressVal, pMsg->addressList->addressVal);
+ /* If MMSConf AddressList is already exist, Replace exist ConvId with matching msgId */
+ memset(sqlQuery, 0x00, sizeof(sqlQuery));
- // If MMSConf AddressList is already exist, Replace exist ConvId with matching msgId
- memset(sqlQuery, 0x00, sizeof(sqlQuery));
+ snprintf(sqlQuery, sizeof(sqlQuery),
+ "SELECT CONV_ID FROM %s WHERE ADDRESS_VAL = '%s'",
+ MSGFW_ADDRESS_TABLE_NAME, pMsg->addressList->addressVal);
- snprintf(sqlQuery, sizeof(sqlQuery),
- "SELECT CONV_ID FROM %s WHERE ADDRESS_VAL = '%s'",
- MSGFW_ADDRESS_TABLE_NAME, pMsg->addressList->addressVal);
+ MSG_DEBUG("[%s]", sqlQuery);
- MSG_DEBUG("[%s]", sqlQuery);
+ if (dbHandle->prepareQuery(sqlQuery) != MSG_SUCCESS) {
+ return MSG_ERR_DB_PREPARE;
+ }
- if (dbHandle->prepareQuery(sqlQuery) != MSG_SUCCESS) {
- return MSG_ERR_DB_PREPARE;
- }
+ err = dbHandle->stepQuery();
- err = dbHandle->stepQuery();
+ if (err == MSG_ERR_DB_ROW) {
+ tmpConvId = dbHandle->columnInt(0);
- if (err == MSG_ERR_DB_ROW) {
- tmpConvId = dbHandle->columnInt(0);
+ dbHandle->finalizeQuery();
- dbHandle->finalizeQuery();
+ memset(sqlQuery, 0x00, sizeof(sqlQuery));
- memset(sqlQuery, 0x00, sizeof(sqlQuery));
+ snprintf(sqlQuery, sizeof(sqlQuery),
+ "UPDATE %s SET CONV_ID = %d WHERE MSG_ID = %d;",
+ MSGFW_MESSAGE_TABLE_NAME, tmpConvId, pMsg->msgId);
- snprintf(sqlQuery, sizeof(sqlQuery),
- "UPDATE %s SET CONV_ID = %d WHERE MSG_ID = %d;",
- MSGFW_MESSAGE_TABLE_NAME, tmpConvId, pMsg->msgId);
+ MSG_DEBUG("[%s]", sqlQuery);
- MSG_DEBUG("[%s]", sqlQuery);
+ if (dbHandle->prepareQuery(sqlQuery) != MSG_SUCCESS) {
+ return MSG_ERR_DB_PREPARE;
+ }
- if (dbHandle->prepareQuery(sqlQuery) != MSG_SUCCESS) {
- return MSG_ERR_DB_PREPARE;
- }
+ err = dbHandle->stepQuery();
- err = dbHandle->stepQuery();
+ if (err != MSG_ERR_DB_DONE) {
+ dbHandle->finalizeQuery();
+ MSG_ERR("Replacing CONV_ID with exist one. Fail.");
+ return MSG_ERR_DB_STEP;
+ }
- if (err != MSG_ERR_DB_DONE) {
dbHandle->finalizeQuery();
- MSG_ERR("Replacing CONV_ID with exist one. Fail.");
- return MSG_ERR_DB_STEP;
- }
+ } else {
+ dbHandle->finalizeQuery();
- dbHandle->finalizeQuery();
- } else {
- dbHandle->finalizeQuery();
+ memset(sqlQuery, 0x00, sizeof(sqlQuery));
- memset(sqlQuery, 0x00, sizeof(sqlQuery));
+ snprintf(sqlQuery, sizeof(sqlQuery),
+ "UPDATE %s SET ADDRESS_TYPE = %d, RECIPIENT_TYPE = %d, ADDRESS_VAL = '%s' WHERE CONV_ID = %d;",
+ MSGFW_ADDRESS_TABLE_NAME, pMsg->addressList->addressType, pMsg->addressList->recipientType, pMsg->addressList->addressVal, tmpConvId);
- snprintf(sqlQuery, sizeof(sqlQuery),
- "UPDATE %s SET ADDRESS_TYPE = %d, RECIPIENT_TYPE = %d, ADDRESS_VAL = '%s' WHERE CONV_ID = %d;",
- MSGFW_ADDRESS_TABLE_NAME, pMsg->addressList->addressType, pMsg->addressList->recipientType, pMsg->addressList->addressVal, tmpConvId);
+ MSG_DEBUG("[%s]", sqlQuery);
- MSG_DEBUG("[%s]", sqlQuery);
+ if (dbHandle->prepareQuery(sqlQuery) != MSG_SUCCESS) {
+ return MSG_ERR_DB_PREPARE;
+ }
- if (dbHandle->prepareQuery(sqlQuery) != MSG_SUCCESS) {
- return MSG_ERR_DB_PREPARE;
- }
+ err = dbHandle->stepQuery();
- err = dbHandle->stepQuery();
+ if (err != MSG_ERR_DB_DONE) {
+ dbHandle->finalizeQuery();
+ MSG_ERR("Replacing Address with MMSConf Address. Fail.");
+ return MSG_ERR_DB_STEP;
+ }
- if (err != MSG_ERR_DB_DONE) {
dbHandle->finalizeQuery();
- MSG_ERR("Replacing Address with MMSConf Address. Fail.");
- return MSG_ERR_DB_STEP;
}
+ }
+ } else {
+ dbHandle->finalizeQuery();
+ return MSG_ERR_DB_STEP;
+ }
+ } else if (pMsg->nAddressCnt > 1) {
+ msg_thread_id_t conv_id = 0;
+ msg_thread_id_t prev_conv_id = MsgGetThreadId(dbHandle, pMsg->msgId);
+
+ err = MsgStoAddAddress(dbHandle, pMsg, &conv_id);
+ if (err != MSG_SUCCESS) {
+ MSG_ERR("MsgStoAddAddress is failed");
+ return err;
+ }
+ pMsg->threadId = conv_id;
+
+ memset(sqlQuery, 0x00, sizeof(sqlQuery));
+ snprintf(sqlQuery, sizeof(sqlQuery),
+ "UPDATE %s SET CONV_ID = %d WHERE MSG_ID = %d;",
+ MSGFW_MESSAGE_TABLE_NAME, conv_id, pMsg->msgId);
+
+ err = dbHandle->execQuery(sqlQuery);
+ if (err != MSG_SUCCESS) {
+ MSG_ERR("execQuery is failed");
+ return err;
+ }
+
+ MSG_DEBUG("prev_conv_id[%d] conv_id[%d]", prev_conv_id, conv_id);
+ if (prev_conv_id != 0 && prev_conv_id != conv_id) {
+ if (MsgStoUpdateConversation(dbHandle, prev_conv_id) != MSG_SUCCESS) {
+ MSG_DEBUG("MsgStoUpdateConversation() Error");
+ return MSG_ERR_STORAGE_ERROR;
+ }
- dbHandle->finalizeQuery();
+ if (MsgStoClearConversationTable(dbHandle) != MSG_SUCCESS) {
+ MSG_DEBUG("MsgStoClearConversationTable() Error");
}
}
- } else {
- dbHandle->finalizeQuery();
- return MSG_ERR_DB_STEP;
}
}
}
- msg_thread_id_t convId = 0;
- int rowCnt = 0;
-
- // Get SUB_TYPE, STORAGE_ID
- memset(sqlQuery, 0x00, sizeof(sqlQuery));
- snprintf(sqlQuery, sizeof(sqlQuery), "SELECT CONV_ID FROM %s WHERE MSG_ID = %d;",
- MSGFW_MESSAGE_TABLE_NAME, pMsg->msgId);
-
- if (dbHandle->getTable(sqlQuery, &rowCnt, NULL) != MSG_SUCCESS) {
- dbHandle->freeTable();
- return MSG_ERR_DB_PREPARE;
- }
+ msg_thread_id_t convId = MsgGetThreadId(dbHandle, pMsg->msgId);
- if (rowCnt > 0) {
- convId = dbHandle->getColumnToInt(1);
+ MSG_DEBUG("Conversation id:[%d]", convId);
- MSG_DEBUG("Conversation id:[%d]", convId);
+ if (convId > 0) {
if (MsgStoUpdateConversation(dbHandle, convId) != MSG_SUCCESS) {
MSG_DEBUG("MsgStoUpdateConversation() Error");
if (MsgStoClearConversationTable(dbHandle) != MSG_SUCCESS) {
MSG_DEBUG("MsgStoClearConversationTable() Error");
}
-
} else {
- dbHandle->freeTable();
return MSG_ERR_DB_STEP;
}
- dbHandle->freeTable();
-
MSG_END();
return MSG_SUCCESS;
MSG_DEBUG(" pMsg = %s, pReqId = %d ", msgInfo.msgData, reqID);
MSG_DEBUG(" msgtype subtype is [%d]", msgInfo.msgType.subType);
- // For Storage change callback
+ /* For Storage change callback */
msg_id_list_s msgIdList;
msg_message_id_t msgIds[1];
memset(&msgIdList, 0x00, sizeof(msg_id_list_s));
msgIds[0] = msgInfo.msgId;
msgIdList.msgIdList = msgIds;
- MSG_ADDRESS_INFO_S *tmpAddr = (MSG_ADDRESS_INFO_S *)new char[sizeof(MSG_ADDRESS_INFO_S)];
- memset(tmpAddr, 0x00, sizeof(MSG_ADDRESS_INFO_S));
-
- err = MsgStoGetAddrInfo(msgInfo.msgId, tmpAddr);
- if (err == MSG_SUCCESS) {
- MSG_DEBUG("MmsStoGetAddrInfo() success.");
- msgInfo.nAddressCnt = 1;
- } else {
- msgInfo.nAddressCnt = 0;
- MSG_DEBUG("MmsStoGetAddrInfo() fail.");
+ MsgDbHandler *dbHandle = getDbHandle();
+ int tmpAddrCnt = 0;
+ MSG_ADDRESS_INFO_S *tmpAddr = NULL;
+ int order = MsgGetContactNameOrder();
+ err = MsgStoGetAddressByMsgId(dbHandle, msgInfo.msgId, order, &tmpAddrCnt, &tmpAddr);
+ if (err != MSG_SUCCESS) {
+ MSG_DEBUG("MsgStoGetAddressByMsgId() fail.");
}
if (msgInfo.msgType.subType == MSG_RETRIEVE_AUTOCONF_MMS || msgInfo.msgType.subType == MSG_RETRIEVE_MANUALCONF_MMS) {
+ if (msgInfo.networkStatus != MSG_NETWORK_RETRIEVE_SUCCESS) {
+ if (msgInfo.addressList) {
+ delete[] msgInfo.addressList;
+ msgInfo.addressList = NULL;
+ }
- /* PLM P141008-05143 & P150710-01521 : Notification.Ind address and MMS retreived Conf address are different.
- Replace Notification.Ind address with MMS retreived Conf address if and only if MMS retreived Conf address is a valid address not junk*/
- if (msgInfo.nAddressCnt == 1 && msgInfo.networkStatus == MSG_NETWORK_RETRIEVE_SUCCESS && MsgIsNumber(msgInfo.addressList[0].addressVal)
- && strlen(msgInfo.addressList[0].addressVal) >= (unsigned int)MsgContactGetMinMatchDigit() && msgInfo.addressList[0].addressType != MSG_ADDRESS_TYPE_EMAIL
- && (g_strcmp0(tmpAddr->addressVal, msgInfo.addressList[0].addressVal) != 0)) {
- MSG_WARN("Address of NotiInd and MMSConf are different!!, Replace [NotiInd address: %s] from [MMSConf address: %s]", tmpAddr->addressVal, msgInfo.addressList[0].addressVal);
- memset(tmpAddr->addressVal, 0x00, MAX_ADDRESS_VAL_LEN);
- strncpy(tmpAddr->addressVal, msgInfo.addressList[0].addressVal, MAX_ADDRESS_VAL_LEN);
- }
-
- if (msgInfo.addressList) {
- delete[] msgInfo.addressList;
- msgInfo.addressList = NULL;
+ msgInfo.addressList = tmpAddr;
+ msgInfo.nAddressCnt = tmpAddrCnt;
+ } else {
+ if (tmpAddr) {
+ delete [] tmpAddr;
+ tmpAddr = NULL;
+ }
}
- msgInfo.addressList = tmpAddr;
-
- MSG_SUB_TYPE_T recv_sub_type = msgInfo.msgType.subType; // Check retrieve mode to determine broadcast type
+ msg_thread_id_t prev_conv_id = MsgGetThreadId(dbHandle, msgInfo.msgId);
+ MSG_SUB_TYPE_T recv_sub_type = msgInfo.msgType.subType; /* Check retrieve mode to determine broadcast type */
err = MsgHandleMmsConfIncomingMsg(&msgInfo, reqID);
memset(msgInfo.msgData, 0x00, sizeof(MMS_RECV_DATA_S));
}
- // broadcast to listener threads, here
+ /* broadcast to listener threads, here */
MsgTransactionManager::instance()->broadcastMMSConfCB(msgInfo.networkStatus, &msgInfo, pMmsRecvData);
- // determine broadcast type with retrieve mode
- if (recv_sub_type == MSG_RETRIEVE_AUTOCONF_MMS)
+ /* determine broadcast type with retrieve mode */
+ if (recv_sub_type == MSG_RETRIEVE_AUTOCONF_MMS) {
MsgTransactionManager::instance()->broadcastStorageChangeCB(MSG_SUCCESS, MSG_STORAGE_CHANGE_INSERT, &msgIdList);
- else
- MsgTransactionManager::instance()->broadcastStorageChangeCB(MSG_SUCCESS, MSG_STORAGE_CHANGE_UPDATE, &msgIdList);
+ } else {
+ if (prev_conv_id == msgInfo.threadId
+ || msgInfo.networkStatus == MSG_NETWORK_RETRIEVE_FAIL || msgInfo.networkStatus == MSG_NETWORK_RETRIEVE_PENDING) {
+ MsgTransactionManager::instance()->broadcastStorageChangeCB(MSG_SUCCESS, MSG_STORAGE_CHANGE_UPDATE, &msgIdList);
+ } else {
+ MsgTransactionManager::instance()->broadcastStorageChangeCB(MSG_SUCCESS, MSG_STORAGE_CHANGE_DELETE, &msgIdList);
+ MsgTransactionManager::instance()->broadcastStorageChangeCB(MSG_SUCCESS, MSG_STORAGE_CHANGE_INSERT, &msgIdList);
+ }
+ }
// make return event
eventsize = MsgMakeEvent(NULL, 0, MSG_EVENT_PLG_INCOMING_MMS_CONF, MSG_SUCCESS, (void**)ppEvent);
}
msgInfo.addressList = tmpAddr;
+ msgInfo.nAddressCnt = tmpAddrCnt;
MSG_PROXY_INFO_S* prxInfo = MsgTransactionManager::instance()->getProxyInfo(reqID);
#include "MsgSerialize.h"
#include "MsgSpamFilter.h"
#include "MsgUtilMime.h"
+#include "MsgUtilFunction.h"
#include "MmsPluginDebug.h"
#include "MmsPluginTypes.h"
snprintf(keyName, sizeof(keyName), "%s/%d", MSG_SIM_MSISDN, pMsgInfo->sim_idx);
char *msisdn = MsgSettingGetString(keyName);
+ char *normal_msisdn = NULL;
+ if (msisdn)
+ normal_msisdn = msg_normalize_number(msisdn);
- if (mmsHeader.pFrom)
+ /* get setting value of group message */
+ bool is_group_on = false;
+
+ if (is_group_on) {
+ int addr_cnt = 0;
+ MsgHeaderAddress *iter = NULL;
+
+ iter = mmsHeader.pFrom;
+ while (iter) {
+ addr_cnt++;
+ iter = iter->pNext;
+ }
+
+ iter = mmsHeader.pTo;
+ while (iter) {
+ if (normal_msisdn == NULL || !g_str_has_suffix(iter->szAddr, normal_msisdn))
+ addr_cnt++;
+ iter = iter->pNext;
+ }
+
+ iter = mmsHeader.pCc;
+ while (iter) {
+ if (normal_msisdn == NULL || !g_str_has_suffix(iter->szAddr, normal_msisdn))
+ addr_cnt++;
+ iter = iter->pNext;
+ }
+
+ MSG_ADDRESS_INFO_S *tmp_addr_info = (MSG_ADDRESS_INFO_S *)new char[sizeof(MSG_ADDRESS_INFO_S)*addr_cnt];
+ memset(tmp_addr_info, 0x00, sizeof(MSG_ADDRESS_INFO_S)*addr_cnt);
+ if (mmsHeader.pFrom == NULL) {
+ strncpy(tmp_addr_info[0].addressVal, pMsgInfo->addressList[0].addressVal, MAX_ADDRESS_VAL_LEN);
+ }
+
+ pMsgInfo->nAddressCnt = addr_cnt;
+ pMsgInfo->addressList = tmp_addr_info;
+ } else {
+ pMsgInfo->addressList = (MSG_ADDRESS_INFO_S *)new char[sizeof(MSG_ADDRESS_INFO_S)];
+ memset(pMsgInfo->addressList, 0x00, sizeof(MSG_ADDRESS_INFO_S));
+ pMsgInfo->nAddressCnt = 1;
+ }
+
+ if (mmsHeader.pFrom) {
+ MSG_DEBUG("FROM : [%s]", mmsHeader.pFrom->szAddr);
MmsAddrUtilRemovePlmnString(mmsHeader.pFrom->szAddr);
+ /* From */
+ strncpy(pMsgInfo->addressList[0].addressVal, mmsHeader.pFrom->szAddr, MAX_ADDRESS_VAL_LEN);
+ if (MmsAddrUtilCheckEmailAddress(pMsgInfo->addressList[0].addressVal)) {
+ pMsgInfo->addressList[0].addressType = MSG_ADDRESS_TYPE_EMAIL;
+ }
+ }
+
+ if (is_group_on) {
+ int addr_idx = 0;
+ if (mmsHeader.pTo) {
+ MsgHeaderAddress *iter = mmsHeader.pTo;
+ while (iter) {
+ addr_idx++;
+ MSG_DEBUG("TO : [%s]", mmsHeader.pTo->szAddr);
+ MmsAddrUtilRemovePlmnString(iter->szAddr);
+ /* To */
+ if (normal_msisdn == NULL || !g_str_has_suffix(iter->szAddr, normal_msisdn)) {
+ strncpy(pMsgInfo->addressList[addr_idx].addressVal, iter->szAddr, MAX_ADDRESS_VAL_LEN);
+ pMsgInfo->addressList[addr_idx].recipientType = MSG_RECIPIENTS_TYPE_TO;
+ if (MmsAddrUtilCheckEmailAddress(pMsgInfo->addressList[addr_idx].addressVal)) {
+ pMsgInfo->addressList[addr_idx].addressType = MSG_ADDRESS_TYPE_EMAIL;
+ }
+ } else {
+ addr_idx--;
+ }
+
+ iter = iter->pNext;
+ }
+ }
+
+ if (mmsHeader.pCc) {
+ MsgHeaderAddress *iter = mmsHeader.pCc;
+ while (iter) {
+ addr_idx++;
+ MSG_DEBUG("CC : [%s]", mmsHeader.pCc->szAddr);
+ MmsAddrUtilRemovePlmnString(iter->szAddr);
+ /* Cc */
+ if (normal_msisdn == NULL || !g_str_has_suffix(iter->szAddr, normal_msisdn)) {
+ strncpy(pMsgInfo->addressList[addr_idx].addressVal, iter->szAddr, MAX_ADDRESS_VAL_LEN);
+ pMsgInfo->addressList[addr_idx].recipientType = MSG_RECIPIENTS_TYPE_CC;
+ if (MmsAddrUtilCheckEmailAddress(pMsgInfo->addressList[addr_idx].addressVal)) {
+ pMsgInfo->addressList[addr_idx].addressType = MSG_ADDRESS_TYPE_EMAIL;
+ }
+ } else {
+ addr_idx--;
+ }
+
+ iter = iter->pNext;
+ }
+ }
+ }
MSG_SEC_DEBUG("%d, MMS Receive %s End %s->%s %s", pMsgInfo->msgId
, (pRequest->eMmsPduType == eMMS_RETRIEVE_AUTO_CONF)?"Auto":"Manual"
, (msisdn == NULL)?"ME":msisdn
, (pMsgInfo->networkStatus == MSG_NETWORK_RETRIEVE_SUCCESS)?"Success":"Fail");
- /* PLM P141008-05143 : Notification.Ind address is 1, but MMS retreived Conf address is correct.
- So adding correct address to addressList buf to compare address in DB while MsgStoUpdateMMSMessage */
- if (mmsHeader.pFrom) {
- pMsgInfo->nAddressCnt = 1;
- strncpy(pMsgInfo->addressList[0].addressVal, mmsHeader.pFrom->szAddr, MAX_ADDRESS_VAL_LEN);
- }
-
if (msisdn) {
free(msisdn);
msisdn = NULL;