-vmodemd-emul (0.2.10) unstable; urgency=low
+vmodemd-emul (0.2.17) unstable; urgency=low
+
+ * fixed buffer overflow when call forwarding
+ * Git: slp/pkgs/v/vmodem-daemon-emulator
+ * Tag: vmodemd-emul_0.2.17
+
+ -- Sungmin Ha <sungmin82.ha@samsung.com> Tue, 14 Aug 2012 16:24:41 +0900
+
+vmodemd-emul (0.2.16) unstable; urgency=low
+
+ * modified for block the call and sms when flight mode on or rssi level 0
+ * Git: slp/pkgs/v/vmodem-daemon-emulator
+ * Tag: vmodemd-emul_0.2.16
+
+ -- Sungmin Ha <sungmin82.ha@samsung.com> Thu, 09 Aug 2012 19:39:45 +0900
+
+vmodemd-emul (0.2.15) unstable; urgency=low
+
+ * modified for reponse sms
+ * Git: slp/pkgs/v/vmodem-daemon-emulator
+ * Tag: vmodemd-emul_0.2.15
+
+ -- Sungmin Ha <sungmin82.ha@samsung.com> Thu, 09 Aug 2012 15:09:02 +0900
+
+vmodemd-emul (0.2.13) unstable; urgency=low
+
+ * modified for event injector call list
+ * Git: slp/pkgs/v/vmodem-daemon-emulator
+ * Tag: vmodemd-emul_0.2.13
+
+ -- Sungmin Ha <sungmin82.ha@samsung.com> Wed, 08 Aug 2012 18:25:13 +0900
+
+vmodemd-emul (0.2.12) unstable; urgency=low
+
+ * implementation added for unexpectedly stop when set fixed dialling number
+ * Git: slp/pkgs/v/vmodem-daemon-emulator
+ * Tag: vmodemd-emul_0.2.12
+
+ -- Sungmin Ha <sungmin82.ha@samsung.com> Fri, 03 Aug 2012 18:06:35 +0900
+
+vmodemd-emul (0.2.11) unstable; urgency=low
* modified default rssi value
+ * Git: slp/pkgs/v/vmodem-daemon-emulator
+ * Tag: vmodemd-emul_0.2.11
- -- SungMin Ha <sungmin82.ha@samsung.com> Sat, 21 Apr 2012 20:00:28 +0900
+ -- Sungmin Ha <sungmin82.ha@samsung.com> Sat, 21 Apr 2012 20:35:00 +0900
-vmodemd-emul (0.2.9) unstable; urgency=low
+vmodemd-emul (0.2.10) unstable; urgency=low
* fixed bug of concatenated mo sms
+ * Git: slp/pkgs/v/vmodem-daemon-emulator
+ * Tag: vmodemd-emul_0.2.10
- -- SungMin Ha <sungmin82.ha@samsung.com> Tue, 17 Apr 2012 18:57:28 +0900
+ -- Sungmin Ha <sungmin82.ha@samsung.com> Wed, 18 Apr 2012 14:00:00 +0900
-vmodemd-emul (0.2.8) unstable; urgency=low
+vmodemd-emul (0.2.9) unstable; urgency=low
* modified boilerplate for protex
- * call release bug fixed when 1waiting, 1active call
+ * call release bug fixed when 1waiting, 1active call
+ * Git: slp/pkgs/v/vmodem-daemon-emulator
+ * Tag: vmodemd-emul_0.2.9
- -- SungMin Ha <sungmin82.ha@samsung.com> Thu, 5 Apr 2012 19:57:28 +0900
+ -- jihye kim <jihye1128.kim@samsung.com> Fri, 6 Apr 2012 17:00:00 +0900
-vmodemd-emul (0.2.7) unstable; urgency=low
+vmodemd-emul (0.2.8) unstable; urgency=low
* unlimited check sim bug is fixed.
* add CRSM param get command for mo sms.
* modified ss.db for support query of video call
+ * Git: slp/pkgs/v/vmodem-daemon-emulator
+ * Tag: vmodemd-emul_0.2.8
- -- SungMin Ha <sungmin82.ha@samsung.com> Fri, 30 Mar 2012 08:57:28 +0900
+ -- jihye kim <jihye1128.kim@samsung.com> Wed, 4 Apr 2012 17:00:00 +0900
-vmodemd-emul (0.2.6) unstable; urgency=low
+vmodemd-emul (0.2.7) unstable; urgency=low
* modified initialize ss.db when booting time.
+ * Git: slp/pkgs/v/vmodem-daemon-emulator
+ * Tag: vmodemd-emul_0.2.7
- -- SungMin Ha <sungmin82.ha@samsung.com> Fri, 30 Mar 2012 08:57:28 +0900
+ -- jihye kim <jihye1128.kim@samsung.com> Tue, 3 Apr 2012 17:00:00 +0900
-vmodemd-emul (0.2.5) unstable; urgency=low
+vmodemd-emul (0.2.6) unstable; urgency=low
* modified temporary patch for waiting call.
+ * Git: slp/pkgs/v/vmodem-daemon-emulator
+ * Tag: vmodemd-emul_0.2.6
+
+ -- Jihye kim <jihye1128.kim@samsung.com> Thr, 29 Mar 2012 15:30:52 +0900
+
+vmodemd-emul (0.2.5) unstable; urgency=low
+
+ * Update changelog version.
+ * Git: slp/pkgs/v/vmodem-daemon-emulator
+ * Tag: vmodemd-emul_0.2.5
- -- SungMin Ha <sungmin82.ha@samsung.com> Thu, 29 Mar 2012 17:39:28 +0900
+ -- Kitae kim <kt920.kim@samsung.com> Thr, 27 Mar 2012 20:00:00 +0900
vmodemd-emul (0.2.4) unstable; urgency=low
- * modified for support call and sms.
+ * Update changelog version.
+ * Git: slp/pkgs/v/vmodem-daemon-emulator
+ * Tag: vmodem-daemon-emulator_0.2.2
- -- SungMin Ha <sungmin82.ha@samsung.com> Tue, 27 Mar 2012 17:10:52 +0900
+ -- Jihye kim <jihye1128.kim@samsung.com> Thr, 22 Mar 2012 20:00:00 +0900
vmodemd-emul (0.2.3) unstable; urgency=low
* modified for support at command additional features.
- -- SungMin Ha <sungmin82.ha@samsung.com> Thu, 22 Mar 2012 18:10:52 +0900
+ -- SungMin Ha <sungmin82.ha@samsung.com> Thr, 22 Mar 2012 18:10:52 +0900
vmodemd-emul (0.2.2) unstable; urgency=low
Source: vmodemd-emul
Section: devel
Priority: extra
-Maintainer: DongKyun Yun <dk77.yun@samsung.com>, SungMin Ha <sungmin82.ha@samsung.com>
+Maintainer: SungMin Ha <sungmin82.ha@samsung.com>,Jihye Kim <jihye1128.kim@samsung.com>,Yeongkyoon Lee <yeongkyoon.lee@samsung.com>
Build-Depends: bison, flex, autoconf, gcc, debhelper, libglib2.0-dev, libxml2-dev, libvconf-dev
-Standards-Version: 0.2.10
+Standards-Version: 0.2.17
Package: vmodemd-emul
Architecture: i386
#define GSM_SMS_CB_CONFIG_RES 0x0A
// by luxmea ]
#define GSM_SMS_STORED_MSG_CNT_NOTI 0x0B // by luxmea
-
+#define GSM_SMS_RECEIVE_RES 0x0C
/* --------------------------------------------------------------------------
#git:slp/pkgs/v/vmodem-daemon-emulator
Name: vmodemd-emul
-Version: 0.2.10
+Version: 0.2.17
Release: 1
Summary: Modem Emulator
Group: System/ModemEmulator
int at_recv_security(char* cmd, char* atmsg)
{
TRACE(MSGL_VGSM_INFO, "\n");
+ char data[256];
+ strcpy(data, atmsg);
+ char* tdata = strchr(atmsg, '=');
+ char token[] = "\"";
+ char* ret = NULL;
if( !strcmp(cmd, "!+CRSM=") )
{
}
else if( !strcmp(cmd, "!+CPIN=") )
{
- return at_rx_sim_sec_change_password(atmsg);
+ ret = strtok(tdata+1, token);
+ ret = strtok(NULL, token);
+ ret = strtok(NULL, token);
+ if(ret)
+ {
+ return at_rx_sim_sec_change_password(data);
+ }
+ else
+ return at_rx_sim_sec_check_password(data);
}
// return at_rx_sim_sec_pin_status(atmsg);
int at_recv_ss(char* cmd, char* atmsg)
{
TRACE(MSGL_VGSM_INFO, "%s\n", atmsg);
- char data[48];
+ char data[256];
strcpy(data, atmsg);
char* tdata = strchr(atmsg, '=');
char* ret = NULL;
return oem_rx_sim_sec_get_lock_info_req(atmsg, strlen(atmsg));
}
+int at_rx_sim_sec_check_password(char* atmsg)
+{
+ TRACE(MSGL_VGSM_SIM, "\n");
+
+ return oem_rx_sim_sec_check_password_req(atmsg, strlen(atmsg));
+}
int at_rx_sim_sec_change_password(char* atmsg)
{
return oem_rx_sim_sec_change_password_req(atmsg, strlen(atmsg));
}
-
static int at_rx_sim_sec_set_phone_lock_req(void* ptr_data, int data_len)
{
unsigned char *p = ptr_data;
ret = strtok(data+1, TOKEN);
char token[] = "\"";
- ret = strtok(NULL, token);
- ret = strtok(NULL, token);
+ ret = strtok(NULL, TOKEN);
+ ret = strtok(NULL, TOKEN);
TRACE(MSGL_VGSM_SIM, "input pw:%s, orig pw:%s\n", ret, origPwd);
if(ret)
{
return -1;
}
+int at_tx_sim_sec_check_password_res(void* ptr_data)
+{
+ TRACE(MSGL_VGSM_SIM, "res\n");
+
+ return at_gen_resp_send((char*)ptr_data);
+}
int at_tx_sim_sec_change_password_res(void* ptr_data)
{
#include "at_gen_resp.h"
#include "at_tx_sms.h"
#include "at_func.h"
+#include "phoneserver.h"
#include <stdio.h>
int at_tx_sms_deviceReady(void *data, int len)
return at_gen_resp_send(AT_GEN_ERR_NO_ERROR);
}
+void sms_response_for_eventinjector()
+{
+ LXT_MESSAGE smsres_packet;
+
+ // for sms receive check
+ TAPIMessageInit(&smsres_packet);
+ smsres_packet.group = GSM_SMS; // 0x04
+ smsres_packet.action = GSM_SMS_RECEIVE_RES; // 0x0C
+ FuncServer->Cast(&GlobalPS, LXT_ID_CLIENT_EVENT_INJECTOR, &smsres_packet);
+}
+
int at_tx_sms_deliver_report_noti(int result_status)
{
TRACE(MSGL_VGSM_INFO, "+CNMA noti\n");
- return at_gen_resp_send(AT_GEN_ERR_NO_ERROR);
+ int rc = 0;
+
+ rc = at_gen_resp_send(AT_GEN_ERR_NO_ERROR);
+ sms_response_for_eventinjector();
+ return rc;
}
int at_tx_sms_param_count_resp(unsigned char mem_store, unsigned char record_count)
int at_rx_sim_sec_lock_info(char* atmsg);
int at_rx_sim_sec_change_password(char* atmsg);
+int at_rx_sim_sec_check_password(char* atmsg);
int at_rx_sim_sec_phone_lock(char* atmsg);
int at_rx_sim_sec_phone_lock_get(char* atmsg);
#include "at_msg.h"
#include "logmsg.h"
+void sms_response_for_eventinjector(void);
+
int at_tx_sms_deviceReady(void *data, int len);
int at_tx_sms_NotiIncomingMsg(void *data, int len);
return server_rx_sim_sec_get_lock_info_req(ptr_data, data_len);
}
+int oem_rx_sim_sec_check_password_req(void* ptr_data, int data_len)
+{
+ SIM_DEBUG("\n");
+ return server_rx_sim_sec_check_password_req(ptr_data, data_len);
+}
+
int oem_rx_sim_sec_change_password_req(void* ptr_data, int data_len)
{
SIM_DEBUG("\n");
return at_tx_sim_sec_get_lock_info_res(ptr_data, data_len);
}
+int oem_tx_sim_sec_check_password_res(void* ptr_data)
+{
+ SIM_DEBUG("\n");
+ return at_tx_sim_sec_check_password_res(ptr_data);
+}
int oem_tx_sim_sec_change_password_res(void* ptr_data)
{
#include "at_rx_func.h"
#include "misc.h"
#include "at_send.h"
+#include "at_tx_sms.h"
#include "state.h"
//#include "db_phonebook.h"
change_state_machine( GSM_CALL_CMD );
if( is_flight_mode() ){
TRACE(MSGL_VGSM_INFO, "Flight mode on \n");
+ callback_callist();
/* not call */
}else{
TRACE(MSGL_VGSM_INFO, "Flight mode off \n");
case GSM_SMS:
if( is_flight_mode() ){
TRACE(MSGL_VGSM_INFO, "Flight mode on \n");
+ sms_response_for_eventinjector();
/* not sms */
}else{
TRACE(MSGL_VGSM_INFO, "Flight mode off \n");
do_internal(ps, ci, &packet);
break;
//090326
- case RESTORE_EI_DATA :
- do_restore_ei(ps, ci, &packet);
+ case RESTORE_EI_DATA :
+ do_restore_ei(ps, ci, &packet);
#if 0
return oem_tx_sim_sec_get_lock_info_res(pdata, sizeof pdata);
}
+int server_rx_sim_sec_check_password_req(void* ptr_data, int data_len)
+{
+ int result = -1;
+ int length_p;
+ int lock_type;
+ char *password=0;
+ int recv_type = 0;
+ char tmpmsg[SEND_BUF_SIZE];
+ memset(tmpmsg, '\0', sizeof(tmpmsg));
+ strcpy(tmpmsg, (char*)ptr_data);
+ char* tdata = strchr(tmpmsg, '=');
+ char token[] = "\"";
+ char* ret = NULL;
+
+ ret = strtok(tdata+1, token);
+ if(ret)
+ {
+ length_p = strlen(ret);
+ password = malloc(length_p+1);
+ strcpy(password, ret);
+ strcat(password, "\0");
+ }
+
+ recv_type = GSM_SEC_LOCK_TYPE_SC;
+ lock_type = GSM_SIM_PIN2_REQ;
+
+ result = server_sec_verify_password(password,lock_type,length_p);
+ /* fail case */
+ if(result == SIM_FAIL)
+ {
+ // reduce retry count.
+ server_sec_status_mgr(lock_type);
+ oem_tx_sim_sec_check_password_res(AT_CME_ERR_INCORRECT_PWD);
+ }
+ /* success case */
+ else if(result == SIM_SUCCESS)
+ {
+ oem_tx_sim_sec_check_password_res(AT_GEN_ERR_NO_ERROR);
+ }
+
+ if(password)
+ free(password);
+
+ return 1;
+}
int server_rx_sim_sec_change_password_req(void* ptr_data, int data_len)
{
#include "at_recv.h"
#include "at_gen_resp.h"
#include "sms_util.h"
+#include <vconf/vconf.h>
+#include <vconf/vconf-keys.h>
extern SmsAddressInfo g_sca;
extern int smsSentStatus;
int server_rx_sms_SendMsg(void *ptr_data, int data_len)
{
unsigned char rawdata[0x100];
- int rawdata_len = 0;
+ int rawdata_len = 0, rssi = 5;
unsigned char data[data_len];
LXT_MESSAGE packet;
packet.length = data_len;
sms_msg_hook_modify(packet.data, packet.length);
-
- if(smsSentStatus == 0)
+
+ // check RSSI level
+ if(vconf_get_int(VCONFKEY_TELEPHONY_RSSI, &rssi))
+ {
+ TRACE(MSGL_WARN, "vconf_get_int(%s) fail\n", VCONFKEY_TELEPHONY_RSSI);
+ }
+
+ if(smsSentStatus == 0 && rssi != 0)
{
FuncServer->Cast(&GlobalPS, LXT_ID_CLIENT_EVENT_INJECTOR, &packet);