migrate rsa git from private git (vmodem)
authorjihye kim <jihye1128.kim@samsung.com>
Wed, 22 Aug 2012 11:56:57 +0000 (20:56 +0900)
committerjihye kim <jihye1128.kim@samsung.com>
Wed, 22 Aug 2012 11:56:57 +0000 (20:56 +0900)
15 files changed:
debian/changelog
debian/control
libvmodem/vgsm_phone.h
packaging/vmodemd-emul.spec
vmodem/at/at_recv.c
vmodem/at/at_rx_security.c
vmodem/at/at_tx_security.c
vmodem/at/at_tx_sms.c
vmodem/include/at/at_rx_security.h
vmodem/include/at/at_tx_sms.h
vmodem/oem/oem_rx_security.c
vmodem/oem/oem_tx_security.c
vmodem/server/client.c
vmodem/server/server_rx_security.c
vmodem/server/server_rx_sms.c

index 80b376b..25c9d1e 100644 (file)
-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
 
index 1db9094..5aa2f12 100644 (file)
@@ -1,9 +1,9 @@
 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
index c148cca..2471950 100644 (file)
 #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
 
 
 /* --------------------------------------------------------------------------
index 28c21b1..aee7c0e 100644 (file)
@@ -1,6 +1,6 @@
 #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
index e93b4a8..02e78af 100644 (file)
@@ -175,6 +175,11 @@ int at_recv_sms(char* cmd, char* atmsg)
 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=") )
        {
@@ -194,7 +199,15 @@ int at_recv_security(char* cmd, char* atmsg)
        }
        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);
 
@@ -254,7 +267,7 @@ int at_recv_network(char* cmd, char* 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;
index 88eb6a0..57f87d0 100644 (file)
@@ -59,6 +59,12 @@ int at_rx_sim_sec_lock_info(char* atmsg)
        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)
 {
@@ -67,7 +73,6 @@ 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;
@@ -119,8 +124,8 @@ int at_rx_sim_sec_phone_lock_get(char* atmsg)
         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)
        {
index c48dc1e..7cf0913 100644 (file)
@@ -74,6 +74,12 @@ int at_tx_sim_sec_get_lock_info_res(void* ptr_data, int data_len)
        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)
 {
index 8ac5187..3b69318 100644 (file)
@@ -32,6 +32,7 @@
 #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)
@@ -122,10 +123,25 @@ int at_tx_sms_stored_msg_count_resp(void)
        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)
index d31052a..8621d83 100644 (file)
@@ -37,6 +37,7 @@ int at_rx_sim_sec_pin_status(char* atmsg);
 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);
index 665a169..6f41911 100644 (file)
@@ -31,6 +31,8 @@
 #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);
index 7a0bc5a..4c125f3 100644 (file)
@@ -53,6 +53,12 @@ int oem_rx_sim_sec_get_lock_info_req(void* ptr_data, int data_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");
index cc82c89..22e4cf4 100644 (file)
@@ -56,6 +56,11 @@ int oem_tx_sim_sec_get_lock_info_res(void* ptr_data, int data_len)
        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)
 {
index 423753d..3b1b452 100644 (file)
@@ -45,6 +45,7 @@
 #include "at_rx_func.h"
 #include "misc.h"
 #include "at_send.h"
+#include "at_tx_sms.h"
 #include "state.h"
 
 //#include "db_phonebook.h"
@@ -1443,6 +1444,7 @@ static int client_callback(PhoneServer * ps, int fd, EloopCondition cond, void *
                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");
@@ -1458,6 +1460,7 @@ static int client_callback(PhoneServer * ps, int fd, EloopCondition cond, void *
        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");
@@ -1492,8 +1495,8 @@ static int client_callback(PhoneServer * ps, int fd, EloopCondition cond, void *
         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
index b48deb2..c4c57c7 100644 (file)
@@ -535,6 +535,51 @@ int server_rx_sim_sec_get_lock_info_req(void* ptr_data, int data_len)
        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)
 {
index bfd8179..d421322 100644 (file)
@@ -38,6 +38,8 @@
 #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;
@@ -81,7 +83,7 @@ static int sms_msg_hook_modify(void * data, int len)
 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;
@@ -99,8 +101,14 @@ int server_rx_sms_SendMsg(void *ptr_data, int data_len)
        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);