summaryrefslogtreecommitdiff
path: root/alarm-manager.c
diff options
context:
space:
mode:
Diffstat (limited to 'alarm-manager.c')
-rw-r--r--alarm-manager.c291
1 files changed, 69 insertions, 222 deletions
diff --git a/alarm-manager.c b/alarm-manager.c
index 17fc3a6..56a519a 100644
--- a/alarm-manager.c
+++ b/alarm-manager.c
@@ -50,7 +50,6 @@
#include <aul.h>
#include <bundle.h>
#include <heynoti.h>
-#include <security-server.h>
#include <db-util.h>
#include <vconf.h>
#include <vconf-keys.h>
@@ -1821,10 +1820,8 @@ this value to 0(zero)
gboolean alarm_manager_alarm_set_rtc_time(void *pObject, int pid,
int year, int mon, int day,
- int hour, int min, int sec, char *e_cookie,
+ int hour, int min, int sec,
int *return_code){
- guchar *cookie = NULL;
- gsize size;
int retval = 0;
gboolean result = true;
@@ -1840,108 +1837,76 @@ gboolean alarm_manager_alarm_set_rtc_time(void *pObject, int pid,
*return_code = ALARMMGR_RESULT_SUCCESS;
}
- cookie = g_base64_decode(e_cookie, &size);
- if (NULL == cookie)
- {
+ /*extract day of the week, day in the year &
+ daylight saving time from system*/
+ time_t ctime;
+ ctime = time(NULL);
+ alarm_tm = localtime(&ctime);
+
+ alarm_tm->tm_year = year;
+ alarm_tm->tm_mon = mon;
+ alarm_tm->tm_mday = day;
+ alarm_tm->tm_hour = hour;
+ alarm_tm->tm_min = min;
+ alarm_tm->tm_sec = sec;
+
+ /*convert to calendar time representation*/
+ time_t rtc_time = mktime(alarm_tm);
+
+ /*convert to Coordinated Universal Time (UTC)*/
+ gmtime_r(&rtc_time, &due_tm);
+
+ fd = open(rtc, O_RDONLY);
+ if (fd == -1) {
+ ALARM_MGR_EXCEPTION_PRINT("RTC open failed.\n");
if (return_code)
- *return_code = ERR_ALARM_NO_PERMISSION;
- ALARM_MGR_EXCEPTION_PRINT("Unable to decode cookie!!!\n");
- return true;
+ *return_code = ERR_ALARM_SYSTEM_FAIL;
+ return result;
}
- retval = security_server_check_privilege_by_cookie((const char *)cookie, "alarm-manager::alarm", "w");
- if (retval < 0) {
- if (retval == SECURITY_SERVER_API_ERROR_ACCESS_DENIED) {
- ALARM_MGR_EXCEPTION_PRINT(
- "%s", "Write access has been denied by smack\n");
- }
-#ifdef __ALLOW_NO_PRIVILEGE
- ALARM_MGR_EXCEPTION_PRINT("Error has occurred in security_server_check_privilege()\n");
+ /* Read the RTC time/date */
+ retval = ioctl(fd, RTC_RD_TIME, &rtc_tm);
+ if (retval == -1) {
+ ALARM_MGR_EXCEPTION_PRINT("RTC_RD_TIME ioctl failed");
+ close(fd);
if (return_code)
- *return_code = ERR_ALARM_NO_PERMISSION;
-#endif
+ *return_code = ERR_ALARM_SYSTEM_FAIL;
+ return result;
}
-#ifdef __ALLOW_NO_PRIVILEGE
- else
-#endif
- {
-
- /*extract day of the week, day in the year &
- daylight saving time from system*/
- time_t ctime;
- ctime = time(NULL);
- alarm_tm = localtime(&ctime);
- alarm_tm->tm_year = year;
- alarm_tm->tm_mon = mon;
- alarm_tm->tm_mday = day;
- alarm_tm->tm_hour = hour;
- alarm_tm->tm_min = min;
- alarm_tm->tm_sec = sec;
+ rtc_tm.tm_mday = due_tm.tm_mday;
+ rtc_tm.tm_mon = due_tm.tm_mon;
+ rtc_tm.tm_year = due_tm.tm_year;
+ rtc_tm.tm_hour = due_tm.tm_hour;
+ rtc_tm.tm_min = due_tm.tm_min;
+ rtc_tm.tm_sec = due_tm.tm_sec;
- /*convert to calendar time representation*/
- time_t rtc_time = mktime(alarm_tm);
+ memcpy(&rtc_wk.time, &rtc_tm, sizeof(rtc_tm));
- /*convert to Coordinated Universal Time (UTC)*/
- gmtime_r(&rtc_time, &due_tm);
+ rtc_wk.enabled = 1;
+ rtc_wk.pending = 0;
- fd = open(rtc, O_RDONLY);
- if (fd == -1) {
- ALARM_MGR_EXCEPTION_PRINT("RTC open failed.\n");
- if (return_code)
- *return_code = ERR_ALARM_SYSTEM_FAIL;
- return result;
- }
-
- /* Read the RTC time/date */
- retval = ioctl(fd, RTC_RD_TIME, &rtc_tm);
- if (retval == -1) {
- ALARM_MGR_EXCEPTION_PRINT("RTC_RD_TIME ioctl failed");
- close(fd);
- if (return_code)
- *return_code = ERR_ALARM_SYSTEM_FAIL;
- return result;
+ retval = ioctl(fd, RTC_WKALM_BOOT_SET, &rtc_wk);
+ if (retval == -1) {
+ if (errno == ENOTTY) {
+ ALARM_MGR_EXCEPTION_PRINT("\nAlarm IRQs not"
+ "supported.\n");
}
-
- rtc_tm.tm_mday = due_tm.tm_mday;
- rtc_tm.tm_mon = due_tm.tm_mon;
- rtc_tm.tm_year = due_tm.tm_year;
- rtc_tm.tm_hour = due_tm.tm_hour;
- rtc_tm.tm_min = due_tm.tm_min;
- rtc_tm.tm_sec = due_tm.tm_sec;
-
- memcpy(&rtc_wk.time, &rtc_tm, sizeof(rtc_tm));
-
- rtc_wk.enabled = 1;
- rtc_wk.pending = 0;
-
- retval = ioctl(fd, RTC_WKALM_BOOT_SET, &rtc_wk);
+ ALARM_MGR_EXCEPTION_PRINT("RTC_ALM_SET ioctl");
+ close(fd);
+ if (return_code)
+ *return_code = ERR_ALARM_SYSTEM_FAIL;
+ }
+ else{
+ ALARM_MGR_LOG_PRINT("[alarm-server]RTC alarm is setted");
+ /* Enable alarm interrupts */
+ retval = ioctl(fd, RTC_AIE_ON, 0);
if (retval == -1) {
- if (errno == ENOTTY) {
- ALARM_MGR_EXCEPTION_PRINT("\nAlarm IRQs not"
- "supported.\n");
- }
- ALARM_MGR_EXCEPTION_PRINT("RTC_ALM_SET ioctl");
- close(fd);
+ ALARM_MGR_EXCEPTION_PRINT("RTC_AIE_ON ioctl failed");
if (return_code)
*return_code = ERR_ALARM_SYSTEM_FAIL;
}
- else{
- ALARM_MGR_LOG_PRINT("[alarm-server]RTC alarm is setted");
- /* Enable alarm interrupts */
- retval = ioctl(fd, RTC_AIE_ON, 0);
- if (retval == -1) {
- ALARM_MGR_EXCEPTION_PRINT("RTC_AIE_ON ioctl failed");
- if (return_code)
- *return_code = ERR_ALARM_SYSTEM_FAIL;
- }
- close(fd);
- }
- }
-
- if (cookie){
- g_free(cookie);
- cookie = NULL;
+ close(fd);
}
return result;
@@ -1956,13 +1921,9 @@ gboolean alarm_manager_alarm_create_appsvc(void *pObject, int pid,
int end_day, int mode_day_of_week,
int mode_repeat, int alarm_type,
int reserved_info,
- char *bundle_data, char *e_cookie,
- int *alarm_id, int *return_code)
+ char *bundle_data, int *alarm_id, int *return_code)
{
alarm_info_t alarm_info;
- guchar *cookie = NULL;
- gsize size;
- int retval = 0;
gboolean result = true;
alarm_info.start.year = start_year;
@@ -1984,41 +1945,11 @@ gboolean alarm_manager_alarm_create_appsvc(void *pObject, int pid,
*return_code = 0;
- cookie = g_base64_decode(e_cookie, &size);
- if (NULL == cookie)
+ result = __alarm_create_appsvc(&alarm_info, alarm_id, pid,
+ bundle_data, return_code);
+ if (false == result)
{
- *return_code = -1;
- ALARM_MGR_EXCEPTION_PRINT("Unable to decode cookie!!!\n");
- return false;
- }
-
- retval = security_server_check_privilege_by_cookie((const char *)cookie, "alarm-manager::alarm", "w");
- if (retval < 0) {
- if (retval == SECURITY_SERVER_API_ERROR_ACCESS_DENIED) {
- ALARM_MGR_EXCEPTION_PRINT(
- "%s", "Write access has been denied by smack\n");
- }
-#ifdef __ALLOW_NO_PRIVILEGE
- ALARM_MGR_EXCEPTION_PRINT("Error has occurred in security_server_check_privilege()\n");
- *return_code = -1;
- result = false;
-#endif
- }
-#ifdef __ALLOW_NO_PRIVILEGE
- else
-#endif
- {
- result = __alarm_create_appsvc(&alarm_info, alarm_id, pid,
- bundle_data, return_code);
- if (false == result)
- {
- ALARM_MGR_EXCEPTION_PRINT("Unable to create alarm!\n");
- }
- }
-
- if (cookie){
- g_free(cookie);
- cookie = NULL;
+ ALARM_MGR_EXCEPTION_PRINT("Unable to create alarm!\n");
}
return result;
@@ -2032,13 +1963,10 @@ gboolean alarm_manager_alarm_create(void *pObject, int pid,
int end_day, int mode_day_of_week,
int mode_repeat, int alarm_type,
int reserved_info,
- char *reserved_service_name, char *reserved_service_name_mod, char *e_cookie,
+ char *reserved_service_name, char *reserved_service_name_mod,
int *alarm_id, int *return_code)
{
alarm_info_t alarm_info;
- guchar *cookie;
- gsize size;
- int retval;
alarm_info.start.year = start_year;
alarm_info.start.month = start_month;
@@ -2059,63 +1987,17 @@ gboolean alarm_manager_alarm_create(void *pObject, int pid,
*return_code = 0;
- cookie = g_base64_decode(e_cookie, &size);
-
- retval = security_server_check_privilege_by_cookie((const char *)cookie, "alarm-manager::alarm", "w");
- if (retval < 0) {
- if (retval == SECURITY_SERVER_API_ERROR_ACCESS_DENIED) {
- ALARM_MGR_EXCEPTION_PRINT(
- "%s", "Write access has been denied by smack\n");
- }
-#ifdef __ALLOW_NO_PRIVILEGE
- ALARM_MGR_EXCEPTION_PRINT("%s", "Error has occurred\n");
-
- *return_code = -1;
-#endif
- }
-#ifdef __ALLOW_NO_PRIVILEGE
- else
-#endif
- {
- /* return valule and return_code should be checked */
- __alarm_create(&alarm_info, alarm_id, pid, app_service_name,app_service_name_mod,
- reserved_service_name, reserved_service_name_mod, return_code);
- }
-
- g_free(cookie);
+ /* return valule and return_code should be checked */
+ __alarm_create(&alarm_info, alarm_id, pid, app_service_name,app_service_name_mod,
+ reserved_service_name, reserved_service_name_mod, return_code);
return true;
}
gboolean alarm_manager_alarm_delete(void *pObject, int pid, alarm_id_t alarm_id,
- char *e_cookie, int *return_code)
+ int *return_code)
{
- guchar *cookie;
- gsize size;
- int retval;
-
- cookie = g_base64_decode(e_cookie, &size);
-
- retval = security_server_check_privilege_by_cookie((const char *)cookie, "alarm-manager::alarm", "w");
- if (retval < 0) {
- if (retval == SECURITY_SERVER_API_ERROR_ACCESS_DENIED) {
- ALARM_MGR_EXCEPTION_PRINT(
- "%s", "Write access has been denied by smack\n");
- }
-#ifdef __ALLOW_NO_PRIVILEGE
- ALARM_MGR_EXCEPTION_PRINT("%s", "Error has occurred\n");
-
- *return_code = -1;
-#endif
- }
-#ifdef __ALLOW_NO_PRIVILEGE
- else
-#endif
- {
- __alarm_delete(pid, alarm_id, return_code);
- }
-
- g_free(cookie);
+ __alarm_delete(pid, alarm_id, return_code);
return true;
}
@@ -2366,48 +2248,16 @@ gboolean alarm_manager_alarm_get_list_of_ids(void *pObject, int pid,
}
gboolean alarm_manager_alarm_get_appsvc_info(void *pObject, int pid, alarm_id_t alarm_id,
- char *e_cookie, gchar **b_data, int *return_code)
+ gchar **b_data, int *return_code)
{
bool found = false;
GSList *gs_iter = NULL;
__alarm_info_t *entry = NULL;
- guchar *cookie = NULL;
- gsize size;
- int retval = 0;
-
ALARM_MGR_LOG_PRINT("called for pid(%d) and alarm_id(%d)\n", pid,
alarm_id);
- cookie = g_base64_decode(e_cookie, &size);
- if (NULL == cookie)
- {
- if (return_code)
- *return_code = ERR_ALARM_SYSTEM_FAIL;
- ALARM_MGR_EXCEPTION_PRINT("Unable to decode cookie!!!\n");
- return true;
- }
-
- retval = security_server_check_privilege_by_cookie((const char *)cookie, "alarm-manager::alarm", "r");
- if (retval < 0) {
- if (retval == SECURITY_SERVER_API_ERROR_ACCESS_DENIED) {
- ALARM_MGR_EXCEPTION_PRINT(
- "%s", "Read access has been denied by smack\n");
- }
-#ifdef __ALLOW_NO_PRIVILEGE
- ALARM_MGR_EXCEPTION_PRINT("%s", "Error has occurred\n");
-
- if (return_code)
- *return_code = ERR_ALARM_NO_PERMISSION;
-
- if (cookie)
- g_free(cookie);
-
- return true;
-#endif
- }
-
if (return_code)
*return_code = 0;
@@ -2432,9 +2282,6 @@ gboolean alarm_manager_alarm_get_appsvc_info(void *pObject, int pid, alarm_id_t
*return_code = ERR_ALARM_INVALID_ID;
}
- if (cookie)
- g_free(cookie);
-
return true;
}