From: Jiwan Kim Date: Tue, 7 Apr 2015 10:15:02 +0000 (+0900) Subject: Apply cynara APIs (remove security-server dependency) X-Git-Tag: accepted/tizen/common/20150414.095919^0 X-Git-Url: http://review.tizen.org/git/?a=commitdiff_plain;h=refs%2Fchanges%2F46%2F37846%2F4;p=platform%2Fcore%2Ftelephony%2Ftel-plugin-dbus_tapi.git Apply cynara APIs (remove security-server dependency) Change-Id: Ie65c555c6b4186eaf59ff1e5fc6b10e6f370b53f Signed-off-by: Jiwan Kim --- diff --git a/CMakeLists.txt b/CMakeLists.txt index 965ae36..fba69e2 100755 --- a/CMakeLists.txt +++ b/CMakeLists.txt @@ -20,8 +20,9 @@ pkg_check_modules(pkgs REQUIRED tcore aul appsvc - security-server pkgmgr + cynara-client + cynara-session ) FOREACH(flag ${pkgs_CFLAGS}) diff --git a/packaging/tel-plugin-dbus_tapi.spec b/packaging/tel-plugin-dbus_tapi.spec index ed3f3d0..80d1002 100755 --- a/packaging/tel-plugin-dbus_tapi.spec +++ b/packaging/tel-plugin-dbus_tapi.spec @@ -19,8 +19,10 @@ BuildRequires: pkgconfig(gio-unix-2.0) BuildRequires: pkgconfig(glib-2.0) BuildRequires: pkgconfig(libxml-2.0) BuildRequires: pkgconfig(pkgmgr) -BuildRequires: pkgconfig(security-server) BuildRequires: pkgconfig(tcore) +BuildRequires: pkgconfig(cynara-client) +BuildRequires: pkgconfig(cynara-session) + Requires(post): /sbin/ldconfig Requires(postun): /sbin/ldconfig diff --git a/src/call.c b/src/call.c index da30ff4..2e5c756 100755 --- a/src/call.c +++ b/src/call.c @@ -224,10 +224,11 @@ static gboolean on_call_dial(TelephonyCall *call, GDBusMethodInvocation *invocat struct custom_data *ctx = user_data; UserRequest *ur; TReturn ret = 0; + cynara *p_cynara = (ctx)?ctx->p_cynara:NULL; memset(&req, 0x0,sizeof(req)); - if (!check_access_control (invocation, AC_CALL, "x")) + if (!check_access_control (p_cynara, invocation, AC_CALL, "x")) return TRUE; ur = MAKE_UR(ctx, call, invocation); @@ -260,8 +261,9 @@ static gboolean on_call_answer(TelephonyCall *call, GDBusMethodInvocation *invoc struct custom_data *ctx = user_data; UserRequest *ur; TReturn ret = 0; + cynara *p_cynara = (ctx)?ctx->p_cynara:NULL; - if (!check_access_control (invocation, AC_CALL, "x")) + if (!check_access_control (p_cynara, invocation, AC_CALL, "x")) return TRUE; ur = MAKE_UR(ctx, call, invocation); @@ -288,8 +290,9 @@ static gboolean on_call_end(TelephonyCall *call, GDBusMethodInvocation *invocati struct custom_data *ctx = user_data; UserRequest *ur; TReturn ret = 0; + cynara *p_cynara = (ctx)?ctx->p_cynara:NULL; - if (!check_access_control (invocation, AC_CALL, "x")) + if (!check_access_control (p_cynara, invocation, AC_CALL, "x")) return TRUE; ur = MAKE_UR(ctx, call, invocation); @@ -316,8 +319,9 @@ static gboolean on_call_start_cont_dtmf(TelephonyCall *call, GDBusMethodInvocati struct custom_data *ctx = user_data; UserRequest *ur; TReturn ret = 0; + cynara *p_cynara = (ctx)?ctx->p_cynara:NULL; - if (!check_access_control (invocation, AC_CALL, "x")) + if (!check_access_control (p_cynara, invocation, AC_CALL, "x")) return TRUE; ur = MAKE_UR(ctx, call, invocation); @@ -343,8 +347,9 @@ static gboolean on_call_stop_cont_dtmf(TelephonyCall *call, GDBusMethodInvocatio struct custom_data *ctx = user_data; UserRequest *ur; TReturn ret = 0; + cynara *p_cynara = (ctx)?ctx->p_cynara:NULL; - if (!check_access_control (invocation, AC_CALL, "x")) + if (!check_access_control (p_cynara, invocation, AC_CALL, "x")) return TRUE; ur = MAKE_UR(ctx, call, invocation); @@ -367,8 +372,9 @@ static gboolean on_call_send_burst_dtmf(TelephonyCall *call, GDBusMethodInvocati struct custom_data *ctx = user_data; UserRequest *ur; TReturn ret = 0; + cynara *p_cynara = (ctx)?ctx->p_cynara:NULL; - if (!check_access_control (invocation, AC_CALL, "x")) + if (!check_access_control (p_cynara, invocation, AC_CALL, "x")) return TRUE; ur = MAKE_UR(ctx, call, invocation); @@ -406,8 +412,9 @@ static gboolean on_call_active(TelephonyCall *call, GDBusMethodInvocation *invoc struct custom_data *ctx = user_data; UserRequest *ur; TReturn ret = 0; + cynara *p_cynara = (ctx)?ctx->p_cynara:NULL; - if (!check_access_control (invocation, AC_CALL, "x")) + if (!check_access_control (p_cynara, invocation, AC_CALL, "x")) return TRUE; ur = MAKE_UR(ctx, call, invocation); @@ -433,8 +440,9 @@ static gboolean on_call_hold(TelephonyCall *call, GDBusMethodInvocation *invocat struct custom_data *ctx = user_data; UserRequest *ur; TReturn ret = 0; + cynara *p_cynara = (ctx)?ctx->p_cynara:NULL; - if (!check_access_control (invocation, AC_CALL, "x")) + if (!check_access_control (p_cynara, invocation, AC_CALL, "x")) return TRUE; ur = MAKE_UR(ctx, call, invocation); @@ -460,8 +468,9 @@ static gboolean on_call_swap(TelephonyCall *call, GDBusMethodInvocation *invocat struct custom_data *ctx = user_data; UserRequest *ur; TReturn ret = 0; + cynara *p_cynara = (ctx)?ctx->p_cynara:NULL; - if (!check_access_control (invocation, AC_CALL, "x")) + if (!check_access_control (p_cynara, invocation, AC_CALL, "x")) return TRUE; ur = MAKE_UR(ctx, call, invocation); @@ -487,8 +496,9 @@ static gboolean on_call_join(TelephonyCall *call, GDBusMethodInvocation *invocat struct custom_data *ctx = user_data; UserRequest *ur; TReturn ret = 0; + cynara *p_cynara = (ctx)?ctx->p_cynara:NULL; - if (!check_access_control (invocation, AC_CALL, "x")) + if (!check_access_control (p_cynara, invocation, AC_CALL, "x")) return TRUE; ur = MAKE_UR(ctx, call, invocation); @@ -514,8 +524,9 @@ static gboolean on_call_split(TelephonyCall *call, GDBusMethodInvocation *invoca struct custom_data *ctx = user_data; UserRequest *ur; TReturn ret = 0; + cynara *p_cynara = (ctx)?ctx->p_cynara:NULL; - if (!check_access_control (invocation, AC_CALL, "x")) + if (!check_access_control (p_cynara, invocation, AC_CALL, "x")) return TRUE; ur = MAKE_UR(ctx, call, invocation); @@ -541,8 +552,9 @@ static gboolean on_call_transfer(TelephonyCall *call, GDBusMethodInvocation *inv struct custom_data *ctx = user_data; UserRequest *ur; TReturn ret = 0; + cynara *p_cynara = (ctx)?ctx->p_cynara:NULL; - if (!check_access_control (invocation, AC_CALL, "x")) + if (!check_access_control (p_cynara, invocation, AC_CALL, "x")) return TRUE; ur = MAKE_UR(ctx, call, invocation); @@ -568,8 +580,9 @@ static gboolean on_call_deflect(TelephonyCall *call, GDBusMethodInvocation *invo struct custom_data *ctx = user_data; UserRequest *ur; TReturn ret = 0; + cynara *p_cynara = (ctx)?ctx->p_cynara:NULL; - if (!check_access_control (invocation, AC_CALL, "x")) + if (!check_access_control (p_cynara, invocation, AC_CALL, "x")) return TRUE; ur = MAKE_UR(ctx, call, invocation); @@ -596,8 +609,9 @@ static gboolean on_call_get_privacy_mode(TelephonyCall *call, GDBusMethodInvocat struct custom_data *ctx = user_data; UserRequest *ur; TReturn ret = 0; + cynara *p_cynara = (ctx)?ctx->p_cynara:NULL; - if (!check_access_control (invocation, AC_CALL, "r")) + if (!check_access_control (p_cynara, invocation, AC_CALL, "r")) return TRUE; ur = MAKE_UR(ctx, call, invocation); @@ -619,8 +633,9 @@ static gboolean on_call_set_privacy_mode(TelephonyCall *call, GDBusMethodInvocat struct custom_data *ctx = user_data; UserRequest *ur; TReturn ret = 0; + cynara *p_cynara = (ctx)?ctx->p_cynara:NULL; - if (!check_access_control (invocation, AC_CALL, "w")) + if (!check_access_control (p_cynara, invocation, AC_CALL, "w")) return TRUE; ur = MAKE_UR(ctx, call, invocation); @@ -647,6 +662,7 @@ static gboolean on_call_get_status(TelephonyCall *call, GDBusMethodInvocation *i GSList *o_list = 0; CoreObject *o = 0; CallObject *co = 0; + cynara *p_cynara = (ctx)?ctx->p_cynara:NULL; gchar call_number[MAX_CALL_NUMBER_LEN]; gint call_type; @@ -654,7 +670,7 @@ static gboolean on_call_get_status(TelephonyCall *call, GDBusMethodInvocation *i gint call_status; gboolean call_multiparty_state; - if (!check_access_control (invocation, AC_CALL, "r")) + if (!check_access_control (p_cynara, invocation, AC_CALL, "r")) return TRUE; plugin = tcore_server_find_plugin(ctx->server, GET_CP_NAME(invocation)); @@ -703,6 +719,7 @@ static gboolean on_call_get_status_all(TelephonyCall *call, GDBusMethodInvocatio GSList *list = 0; CoreObject *o = 0; CallObject *co = 0; + cynara *p_cynara = (ctx)?ctx->p_cynara:NULL; GVariant *gv = 0; GVariantBuilder b; @@ -716,7 +733,7 @@ static gboolean on_call_get_status_all(TelephonyCall *call, GDBusMethodInvocatio int len, i; - if (!check_access_control (invocation, AC_CALL, "r")) + if (!check_access_control (p_cynara, invocation, AC_CALL, "r")) return TRUE; plugin = tcore_server_find_plugin(ctx->server, GET_CP_NAME(invocation)); @@ -834,8 +851,9 @@ static gboolean on_call_set_sound_path(TelephonyCall *call, GDBusMethodInvocatio struct custom_data *ctx = user_data; UserRequest *ur; TReturn ret = 0; + cynara *p_cynara = (ctx)?ctx->p_cynara:NULL; - if (!check_access_control (invocation, AC_CALL, "w")) + if (!check_access_control (p_cynara, invocation, AC_CALL, "w")) return TRUE; ur = MAKE_UR(ctx, call, invocation); @@ -862,8 +880,9 @@ static gboolean on_call_get_sound_volume_level(TelephonyCall *call, GDBusMethodI struct custom_data *ctx = user_data; UserRequest *ur; TReturn ret = 0; + cynara *p_cynara = (ctx)?ctx->p_cynara:NULL; - if (!check_access_control (invocation, AC_CALL, "r")) + if (!check_access_control (p_cynara, invocation, AC_CALL, "r")) return TRUE; ur = MAKE_UR(ctx, call, invocation); @@ -902,8 +921,9 @@ static gboolean on_call_set_sound_volume_level(TelephonyCall *call, GDBusMethodI struct custom_data *ctx = user_data; UserRequest *ur; TReturn ret = 0; + cynara *p_cynara = (ctx)?ctx->p_cynara:NULL; - if (!check_access_control (invocation, AC_CALL, "w")) + if (!check_access_control (p_cynara, invocation, AC_CALL, "w")) return TRUE; ur = MAKE_UR(ctx, call, invocation); @@ -930,8 +950,9 @@ static gboolean on_call_get_sound_mute_status(TelephonyCall *call, GDBusMethodIn struct custom_data *ctx = user_data; UserRequest *ur; TReturn ret = 0; + cynara *p_cynara = (ctx)?ctx->p_cynara:NULL; - if (!check_access_control (invocation, AC_CALL, "r")) + if (!check_access_control (p_cynara, invocation, AC_CALL, "r")) return TRUE; ur = MAKE_UR(ctx, call, invocation); @@ -954,8 +975,9 @@ static gboolean on_call_set_sound_mute_status(TelephonyCall *call, GDBusMethodIn struct custom_data *ctx = user_data; UserRequest *ur; TReturn ret = 0; + cynara *p_cynara = (ctx)?ctx->p_cynara:NULL; - if (!check_access_control (invocation, AC_CALL, "w")) + if (!check_access_control (p_cynara, invocation, AC_CALL, "w")) return TRUE; ur = MAKE_UR(ctx, call, invocation); @@ -984,8 +1006,9 @@ static gboolean on_call_set_sound_recording(TelephonyCall *call, GDBusMethodInvo struct treq_call_set_sound_recording req; UserRequest *ur; TReturn ret = 0; + cynara *p_cynara = (ctx)?ctx->p_cynara:NULL; - if (!check_access_control (invocation, AC_CALL, "w")) + if (!check_access_control (p_cynara, invocation, AC_CALL, "w")) return TRUE; ur = MAKE_UR(ctx, call, invocation); @@ -1011,8 +1034,9 @@ static gboolean on_call_set_sound_equalization(TelephonyCall *call, GDBusMethodI struct treq_call_set_sound_equalization req; UserRequest *ur; TReturn ret = 0; + cynara *p_cynara = (ctx)?ctx->p_cynara:NULL; - if (!check_access_control (invocation, AC_CALL, "w")) + if (!check_access_control (p_cynara, invocation, AC_CALL, "w")) return TRUE; ur = MAKE_UR(ctx, call, invocation); @@ -1040,8 +1064,9 @@ static gboolean on_call_set_sound_noise_reduction(TelephonyCall *call, GDBusMeth struct treq_call_set_sound_noise_reduction req; UserRequest *ur; TReturn ret = 0; + cynara *p_cynara = (ctx)?ctx->p_cynara:NULL; - if (!check_access_control (invocation, AC_CALL, "w")) + if (!check_access_control (p_cynara, invocation, AC_CALL, "w")) return TRUE; ur = MAKE_UR(ctx, call, invocation); @@ -1068,8 +1093,9 @@ static gboolean on_call_set_sound_clock_status(TelephonyCall *call, GDBusMethodI struct treq_call_set_sound_clock_status req; UserRequest *ur; TReturn ret = 0; + cynara *p_cynara = (ctx)?ctx->p_cynara:NULL; - if (!check_access_control (invocation, AC_CALL, "w")) + if (!check_access_control (p_cynara, invocation, AC_CALL, "w")) return TRUE; ur = MAKE_UR(ctx, call, invocation); @@ -1096,8 +1122,9 @@ static gboolean on_call_set_preferred_voice_subscription(TelephonyCall *call, GD struct treq_call_set_preferred_voice_subscription req; UserRequest *ur; TReturn ret = 0; + cynara *p_cynara = (ctx)?ctx->p_cynara:NULL; - if (!check_access_control (invocation, AC_CALL, "w")) + if (!check_access_control (p_cynara, invocation, AC_CALL, "w")) return TRUE; ur = MAKE_UR(ctx, call, invocation); @@ -1122,8 +1149,9 @@ static gboolean on_call_get_preferred_voice_subscription(TelephonyCall *call, GD struct custom_data *ctx = user_data; UserRequest *ur; TReturn ret = 0; + cynara *p_cynara = (ctx)?ctx->p_cynara:NULL; - if (!check_access_control (invocation, AC_CALL, "r")) + if (!check_access_control (p_cynara, invocation, AC_CALL, "r")) return TRUE; ur = MAKE_UR(ctx, call, invocation); @@ -1148,8 +1176,9 @@ static gboolean on_call_modify(TelephonyCall *call, struct treq_call_modify req = {0}; UserRequest *ur; TReturn ret = 0; + cynara *p_cynara = (ctx)?ctx->p_cynara:NULL; - if (!check_access_control(invocation, AC_CALL, "x")) + if (!check_access_control(p_cynara, invocation, AC_CALL, "x")) return TRUE; ur = MAKE_UR(ctx, call, invocation); @@ -1177,8 +1206,9 @@ static gboolean on_call_confirm_modify(TelephonyCall *call, struct treq_call_confirm_modify req = {0}; UserRequest *ur; TReturn ret = 0; + cynara *p_cynara = (ctx)?ctx->p_cynara:NULL; - if (!check_access_control(invocation, AC_CALL, "x")) + if (!check_access_control(p_cynara, invocation, AC_CALL, "x")) return TRUE; ur = MAKE_UR(ctx, call, invocation); diff --git a/src/common.c b/src/common.c index fd051a9..a62678f 100755 --- a/src/common.c +++ b/src/common.c @@ -22,7 +22,7 @@ #include #include #include -#include +#include #include #include @@ -34,9 +34,15 @@ #include #include +#include + #include "generated-code.h" #include "common.h" +#define PERM_WRITE "w" +#define PERM_EXECUTE "x" +#define TELEPHONY_PRIVILEGE "http://tizen.org/privilege/telephony" +#define TELEPHONY_ADMIN_PRIVILEGE "http://tizen.org/privilege/telephony.admin" static void _free_hook(UserRequest *ur) { @@ -80,7 +86,7 @@ UserRequest *dbus_plugin_macro_user_request_new(struct custom_data *ctx, void *o return ur; } -gboolean check_access_control (GDBusMethodInvocation *invoc, const char *label, const char *perm) +gboolean check_access_control (cynara *p_cynara, GDBusMethodInvocation *invoc, const char *label, const char *perm) { GDBusConnection *conn; GVariant *result_pid; @@ -90,6 +96,20 @@ gboolean check_access_control (GDBusMethodInvocation *invoc, const char *label, unsigned int pid; int ret; int result = FALSE; + /* For cynara */ + GVariant *result_uid; + GVariant *result_smack; + const gchar *unique_name = NULL; + gchar *client_smack = NULL; + char *client_session = NULL; + unsigned int uid; + gchar *uid_string = NULL; + const char *privilege = NULL; + + if (!p_cynara) { + warn ("access control denied (fail to get cynara handle)"); + goto OUT; + } conn = g_dbus_method_invocation_get_connection (invoc); if (!conn) { @@ -97,6 +117,12 @@ gboolean check_access_control (GDBusMethodInvocation *invoc, const char *label, goto OUT; } + unique_name = g_dbus_connection_get_unique_name(conn); + if (!unique_name) { + warn ("access control denied (fail to get unique name)"); + goto OUT; + } + sender = g_dbus_method_invocation_get_sender (invoc); param = g_variant_new ("(s)", sender); @@ -105,6 +131,7 @@ gboolean check_access_control (GDBusMethodInvocation *invoc, const char *label, goto OUT; } + /* Get PID */ result_pid = g_dbus_connection_call_sync (conn, "org.freedesktop.DBus", "/org/freedesktop/DBus", "org.freedesktop.DBus", @@ -126,15 +153,69 @@ gboolean check_access_control (GDBusMethodInvocation *invoc, const char *label, g_variant_get (result_pid, "(u)", &pid); g_variant_unref (result_pid); - dbg ("sender: %s pid = %u", sender, pid); + /* Get UID */ + result_uid = g_dbus_connection_call_sync (conn, "org.freedesktop.DBus", + "/org/freedesktop/DBus", + "org.freedesktop.DBus", + "GetConnectionUnixUser", + g_variant_new("(s)", unique_name), G_VARIANT_TYPE("(u)"), + G_DBUS_CALL_FLAGS_NONE, -1, NULL, &error); + if (error) { + warn ("access control denied (dbus error: %d(%s))", + error->code, error->message); + g_error_free (error); + goto OUT; + } + + if (!result_uid) { + warn ("access control denied (fail to get uid for cynara)"); + goto OUT; + } - ret = security_server_check_privilege_by_pid (pid, label, perm); - if (ret != SECURITY_SERVER_API_SUCCESS) { + g_variant_get (result_uid, "(u)", &uid); + g_variant_unref (result_uid); + uid_string = g_strdup_printf("%u", uid); + + /* Get Smack label */ + result_smack = g_dbus_connection_call_sync (conn, "org.freedesktop.DBus", + "/org/freedesktop/DBus", + "org.freedesktop.DBus", + "GetConnectionSmackContext", + g_variant_new("(s)", unique_name), G_VARIANT_TYPE("(s)"), + G_DBUS_CALL_FLAGS_NONE, -1, NULL, &error); + if (error) { + warn ("access control denied (dbus error: %d(%s))", + error->code, error->message); + g_error_free (error); + goto OUT; + } + if (!result_smack) { + warn ("access control denied (fail to get smack for cynara)"); + goto OUT; + } + g_variant_get (result_smack, "(s)", &client_smack); + g_variant_unref (result_smack); + + dbg ("sender: %s pid = %u uid = %u smack = %s", sender, pid, uid, client_smack); + + client_session = cynara_session_from_pid(pid); + if (!client_session) { + warn ("access control denied (fail to get cynara client session)"); + goto OUT; + } + + if (g_strrstr(perm, PERM_WRITE) == NULL && g_strrstr(perm, PERM_EXECUTE) == NULL) { + privilege = TELEPHONY_PRIVILEGE; + } else { + privilege = TELEPHONY_ADMIN_PRIVILEGE; + } + + ret = cynara_check(p_cynara, client_smack, client_session, uid_string, privilege); + if (ret != CYNARA_API_ACCESS_ALLOWED) { warn ("pid(%u) access (%s - %s) denied(%d)", pid, label, perm, ret); } else result = TRUE; - OUT: if (result == FALSE) { g_dbus_method_invocation_return_error (invoc, @@ -142,6 +223,10 @@ OUT: G_DBUS_ERROR_ACCESS_DENIED, "No access rights"); } + free(client_session); + g_free(client_smack); + g_free(uid_string); + return result; } diff --git a/src/common.h b/src/common.h index 6d5f9c5..86f4ce7 100644 --- a/src/common.h +++ b/src/common.h @@ -24,6 +24,8 @@ #include #include +#include + #include "type/sim.h" #include "generated-code.h" @@ -69,6 +71,8 @@ struct custom_data { gboolean name_acquired; guint owner_id; + + cynara *p_cynara; }; struct dbus_request_info { @@ -85,7 +89,7 @@ struct dbus_request_info { char *dbus_plugin_get_cp_name_by_object_path(const char *object_path); UserRequest *dbus_plugin_macro_user_request_new(struct custom_data *ctx, void *object, GDBusMethodInvocation *invocation); -gboolean check_access_control (GDBusMethodInvocation *invoc, const char *label, const char *perm); +gboolean check_access_control (cynara *p_cynara, GDBusMethodInvocation *invoc, const char *label, const char *perm); gboolean dbus_plugin_util_load_xml(char *docname, char *groupname, void **i_doc, void **i_root_node); void dbus_plugin_util_unload_xml(void **i_doc, void **i_root_node); diff --git a/src/desc-dbus.c b/src/desc-dbus.c index d1cd8bc..fc8609f 100755 --- a/src/desc-dbus.c +++ b/src/desc-dbus.c @@ -558,17 +558,27 @@ static gboolean on_init(TcorePlugin *p) Communicator *comm; struct custom_data *data; guint id; + cynara *p_cynara = NULL; if (!p) return FALSE; dbg("i'm init!"); + /* Initialize cynara handle */ + if (CYNARA_API_SUCCESS == cynara_initialize(&p_cynara, NULL)) { + dbg("cynara handle is successfully initialized."); + } else { + err("Failed to initialize cynara handle."); + return FALSE; + } + data = calloc(1, sizeof(struct custom_data)); if (!data) { return FALSE; } + data->p_cynara = p_cynara; data->plugin = p; comm = tcore_communicator_new(p, "dbus", &ops); @@ -637,6 +647,11 @@ static void on_unload(TcorePlugin *p) } g_slist_free(data->cached_data); + if (data->p_cynara) { + cynara_finish(data->p_cynara); + data->p_cynara = NULL; + } + free(data); tcore_server_remove_communicator(s, comm); diff --git a/src/gps.c b/src/gps.c index 8d7bcc7..5568ddc 100755 --- a/src/gps.c +++ b/src/gps.c @@ -31,8 +31,9 @@ on_gps_set_frequency_aiding (TelephonyGps *gps, struct custom_data *ctx = user_data; UserRequest *ur = NULL; TReturn ret; + cynara *p_cynara = (ctx)?ctx->p_cynara:NULL; - if (!check_access_control (invocation, AC_GPS, "w")) + if (!check_access_control (p_cynara, invocation, AC_GPS, "w")) return TRUE; ur = MAKE_UR(ctx, gps, invocation); @@ -61,8 +62,9 @@ on_gps_confirm_measure_pos (TelephonyGps *gps, gboolean result = TRUE; guchar *decoded_data = NULL; gsize length; + cynara *p_cynara = (ctx)?ctx->p_cynara:NULL; - if (!check_access_control (invocation, AC_GPS, "w")) + if (!check_access_control (p_cynara, invocation, AC_GPS, "w")) return TRUE; ur = MAKE_UR(ctx, gps, invocation); @@ -93,8 +95,9 @@ on_enable_smart_assistant(TelephonyGps *gps, struct custom_data *ctx = user_data; UserRequest *ur = NULL; TReturn ret; + cynara *p_cynara = (ctx)?ctx->p_cynara:NULL; - if (!check_access_control (invocation, AC_GPS, "w")) + if (!check_access_control (p_cynara, invocation, AC_GPS, "w")) return TRUE; ur = MAKE_UR(ctx, gps, invocation); @@ -117,8 +120,9 @@ on_disable_smart_assistant(TelephonyGps *gps, struct custom_data *ctx = user_data; UserRequest *ur = NULL; TReturn ret; + cynara *p_cynara = (ctx)?ctx->p_cynara:NULL; - if (!check_access_control (invocation, AC_GPS, "w")) + if (!check_access_control (p_cynara, invocation, AC_GPS, "w")) return TRUE; ur = MAKE_UR(ctx, gps, invocation); @@ -144,6 +148,7 @@ on_sync_smart_assistant_area_list(TelephonyGps *gps, struct custom_data *ctx = user_data; UserRequest *ur = NULL; TReturn ret; + cynara *p_cynara = (ctx)?ctx->p_cynara:NULL; GVariantIter *iter = NULL; GVariant *b = NULL; @@ -151,7 +156,7 @@ on_sync_smart_assistant_area_list(TelephonyGps *gps, gint item1, item2; dbg("enter count=%d", count); - if (!check_access_control (invocation, AC_GPS, "w")) + if (!check_access_control (p_cynara, invocation, AC_GPS, "w")) return TRUE; ur = MAKE_UR(ctx, gps, invocation); @@ -198,13 +203,14 @@ on_del_smart_assistant_area_list(TelephonyGps *gps, struct custom_data *ctx = user_data; UserRequest *ur = NULL; TReturn ret; + cynara *p_cynara = (ctx)?ctx->p_cynara:NULL; GVariantIter *iter = NULL; GVariant *b = NULL; int i = 0; gint item1, item2; - if (!check_access_control (invocation, AC_GPS, "w")) + if (!check_access_control (p_cynara, invocation, AC_GPS, "w")) return TRUE; ur = MAKE_UR(ctx, gps, invocation); @@ -251,8 +257,9 @@ on_add_smart_assistant_area(TelephonyGps *gps, struct custom_data *ctx = user_data; UserRequest *ur = NULL; TReturn ret; + cynara *p_cynara = (ctx)?ctx->p_cynara:NULL; - if (!check_access_control (invocation, AC_GPS, "w")) + if (!check_access_control (p_cynara, invocation, AC_GPS, "w")) return TRUE; ur = MAKE_UR(ctx, gps, invocation); @@ -281,8 +288,9 @@ on_modify_smart_assistant_area(TelephonyGps *gps, struct custom_data *ctx = user_data; UserRequest *ur = NULL; TReturn ret; + cynara *p_cynara = (ctx)?ctx->p_cynara:NULL; - if (!check_access_control (invocation, AC_GPS, "w")) + if (!check_access_control (p_cynara, invocation, AC_GPS, "w")) return TRUE; ur = MAKE_UR(ctx, gps, invocation); @@ -312,8 +320,9 @@ on_set_smart_assistant_info(TelephonyGps *gps, struct custom_data *ctx = user_data; UserRequest *ur = NULL; TReturn ret; + cynara *p_cynara = (ctx)?ctx->p_cynara:NULL; - if (!check_access_control (invocation, AC_GPS, "w")) + if (!check_access_control (p_cynara, invocation, AC_GPS, "w")) return TRUE; ur = MAKE_UR(ctx, gps, invocation); diff --git a/src/modem.c b/src/modem.c index 279a02d..3685d40 100644 --- a/src/modem.c +++ b/src/modem.c @@ -49,8 +49,9 @@ on_modem_set_power (TelephonyModem *modem, GDBusMethodInvocation *invocation, UserRequest *ur = NULL; enum tcore_request_command command; TReturn ret = TCORE_RETURN_SUCCESS; + cynara *p_cynara = (ctx)?ctx->p_cynara:NULL; - if (!check_access_control (invocation, AC_MODEM, "w")) + if (!check_access_control (p_cynara, invocation, AC_MODEM, "w")) return TRUE; ur = MAKE_UR(ctx, modem, invocation); @@ -97,8 +98,9 @@ on_modem_set_flight_mode (TelephonyModem *modem, GDBusMethodInvocation *invocati struct custom_data *ctx = user_data; UserRequest *ur = NULL; TReturn ret; + cynara *p_cynara = (ctx)?ctx->p_cynara:NULL; - if (!check_access_control (invocation, AC_MODEM, "w")) + if (!check_access_control (p_cynara, invocation, AC_MODEM, "w")) return TRUE; ur = MAKE_UR(ctx, modem, invocation); @@ -130,8 +132,9 @@ on_modem_get_flight_mode (TelephonyModem *modem, GDBusMethodInvocation *invocati struct custom_data *ctx = user_data; UserRequest *ur = NULL; TReturn ret; + cynara *p_cynara = (ctx)?ctx->p_cynara:NULL; - if (!check_access_control (invocation, AC_MODEM, "r")) + if (!check_access_control (p_cynara, invocation, AC_MODEM, "r")) return TRUE; ur = MAKE_UR(ctx, modem, invocation); @@ -160,8 +163,9 @@ on_modem_get_version (TelephonyModem *modem, GDBusMethodInvocation *invocation, struct custom_data *ctx = user_data; UserRequest *ur = NULL; TReturn ret; + cynara *p_cynara = (ctx)?ctx->p_cynara:NULL; - if (!check_access_control (invocation, AC_MODEM, "r")) + if (!check_access_control (p_cynara, invocation, AC_MODEM, "r")) return TRUE; ur = MAKE_UR(ctx, modem, invocation); @@ -189,8 +193,9 @@ on_modem_get_serial_number (TelephonyModem *modem, GDBusMethodInvocation *invoca struct custom_data *ctx = user_data; UserRequest *ur = NULL; TReturn ret; + cynara *p_cynara = (ctx)?ctx->p_cynara:NULL; - if (!check_access_control (invocation, AC_MODEM, "r")) + if (!check_access_control (p_cynara, invocation, AC_MODEM, "r")) return TRUE; ur = MAKE_UR(ctx, modem, invocation); @@ -218,8 +223,9 @@ on_modem_get_imei (TelephonyModem *modem, GDBusMethodInvocation *invocation, struct custom_data *ctx = user_data; UserRequest *ur = NULL; TReturn ret; + cynara *p_cynara = (ctx)?ctx->p_cynara:NULL; - if (!check_access_control (invocation, AC_MODEM, "r")) + if (!check_access_control (p_cynara, invocation, AC_MODEM, "r")) return TRUE; ur = MAKE_UR(ctx, modem, invocation); @@ -247,8 +253,9 @@ static gboolean on_modem_set_dun_pin_ctrl (TelephonyModem *modem, GDBusMethodInv struct custom_data *ctx = user_data; UserRequest *ur = NULL; TReturn ret; + cynara *p_cynara = (ctx)?ctx->p_cynara:NULL; - if (!check_access_control (invocation, AC_MODEM, "w")) + if (!check_access_control (p_cynara, invocation, AC_MODEM, "w")) return TRUE; ur = MAKE_UR(ctx, modem, invocation); diff --git a/src/network.c b/src/network.c index f219c29..f39b3fc 100755 --- a/src/network.c +++ b/src/network.c @@ -465,8 +465,9 @@ on_network_search (TelephonyNetwork *network, GDBusMethodInvocation *invocation, struct custom_data *ctx = user_data; UserRequest *ur = NULL; TReturn ret; + cynara *p_cynara = (ctx)?ctx->p_cynara:NULL; - if (!check_access_control (invocation, AC_NETWORK, "x")) + if (!check_access_control (p_cynara, invocation, AC_NETWORK, "x")) return TRUE; ur = MAKE_UR(ctx, network, invocation); @@ -488,8 +489,9 @@ on_network_search_cancel (TelephonyNetwork *network, GDBusMethodInvocation *invo struct custom_data *ctx = user_data; UserRequest *ur = NULL; TReturn ret; + cynara *p_cynara = (ctx)?ctx->p_cynara:NULL; - if (!check_access_control (invocation, AC_NETWORK, "x")) + if (!check_access_control (p_cynara, invocation, AC_NETWORK, "x")) return TRUE; ur = MAKE_UR(ctx, network, invocation); @@ -511,8 +513,9 @@ on_network_get_selection_mode (TelephonyNetwork *network, GDBusMethodInvocation struct custom_data *ctx = user_data; UserRequest *ur = NULL; TReturn ret; + cynara *p_cynara = (ctx)?ctx->p_cynara:NULL; - if (!check_access_control (invocation, AC_NETWORK, "r")) + if (!check_access_control (p_cynara, invocation, AC_NETWORK, "r")) return TRUE; ur = MAKE_UR(ctx, network, invocation); @@ -535,8 +538,9 @@ on_network_set_selection_mode (TelephonyNetwork *network, GDBusMethodInvocation struct custom_data *ctx = user_data; UserRequest *ur = NULL; TReturn ret; + cynara *p_cynara = (ctx)?ctx->p_cynara:NULL; - if (!check_access_control (invocation, AC_NETWORK, "w")) + if (!check_access_control (p_cynara, invocation, AC_NETWORK, "w")) return TRUE; memset(&req, 0, sizeof(struct treq_network_set_plmn_selection_mode)); @@ -577,8 +581,9 @@ on_network_set_service_domain (TelephonyNetwork *network, GDBusMethodInvocation struct custom_data *ctx = user_data; UserRequest *ur = NULL; TReturn ret; + cynara *p_cynara = (ctx)?ctx->p_cynara:NULL; - if (!check_access_control (invocation, AC_NETWORK, "w")) + if (!check_access_control (p_cynara, invocation, AC_NETWORK, "w")) return TRUE; ur = MAKE_UR(ctx, network, invocation); @@ -603,8 +608,9 @@ on_network_get_service_domain (TelephonyNetwork *network, GDBusMethodInvocation struct custom_data *ctx = user_data; UserRequest *ur = NULL; TReturn ret; + cynara *p_cynara = (ctx)?ctx->p_cynara:NULL; - if (!check_access_control (invocation, AC_NETWORK, "r")) + if (!check_access_control (p_cynara, invocation, AC_NETWORK, "r")) return TRUE; ur = MAKE_UR(ctx, network, invocation); @@ -627,8 +633,9 @@ on_network_set_band (TelephonyNetwork *network, GDBusMethodInvocation *invocatio struct custom_data *ctx = user_data; UserRequest *ur = NULL; TReturn ret; + cynara *p_cynara = (ctx)?ctx->p_cynara:NULL; - if (!check_access_control (invocation, AC_NETWORK, "w")) + if (!check_access_control (p_cynara, invocation, AC_NETWORK, "w")) return TRUE; ur = MAKE_UR(ctx, network, invocation); @@ -654,8 +661,9 @@ on_network_get_band (TelephonyNetwork *network, GDBusMethodInvocation *invocatio struct custom_data *ctx = user_data; UserRequest *ur = NULL; TReturn ret; + cynara *p_cynara = (ctx)?ctx->p_cynara:NULL; - if (!check_access_control (invocation, AC_NETWORK, "r")) + if (!check_access_control (p_cynara, invocation, AC_NETWORK, "r")) return TRUE; ur = MAKE_UR(ctx, network, invocation); @@ -678,8 +686,9 @@ on_network_set_mode (TelephonyNetwork *network, GDBusMethodInvocation *invocatio struct custom_data *ctx = user_data; UserRequest *ur = NULL; TReturn ret; + cynara *p_cynara = (ctx)?ctx->p_cynara:NULL; - if (!check_access_control (invocation, AC_NETWORK, "w")) + if (!check_access_control (p_cynara, invocation, AC_NETWORK, "w")) return TRUE; ur = MAKE_UR(ctx, network, invocation); @@ -704,8 +713,9 @@ on_network_get_mode (TelephonyNetwork *network, GDBusMethodInvocation *invocatio struct custom_data *ctx = user_data; UserRequest *ur = NULL; TReturn ret; + cynara *p_cynara = (ctx)?ctx->p_cynara:NULL; - if (!check_access_control (invocation, AC_NETWORK, "r")) + if (!check_access_control (p_cynara, invocation, AC_NETWORK, "r")) return TRUE; ur = MAKE_UR(ctx, network, invocation); @@ -728,8 +738,9 @@ on_network_set_preferred_plmn (TelephonyNetwork *network, GDBusMethodInvocation struct custom_data *ctx = user_data; UserRequest *ur = NULL; TReturn ret; + cynara *p_cynara = (ctx)?ctx->p_cynara:NULL; - if (!check_access_control (invocation, AC_NETWORK, "w")) + if (!check_access_control (p_cynara, invocation, AC_NETWORK, "w")) return TRUE; ur = MAKE_UR(ctx, network, invocation); @@ -762,8 +773,9 @@ on_network_get_preferred_plmn (TelephonyNetwork *network, GDBusMethodInvocation struct custom_data *ctx = user_data; UserRequest *ur = NULL; TReturn ret; + cynara *p_cynara = (ctx)?ctx->p_cynara:NULL; - if (!check_access_control (invocation, AC_NETWORK, "r")) + if (!check_access_control (p_cynara, invocation, AC_NETWORK, "r")) return TRUE; ur = MAKE_UR(ctx, network, invocation); @@ -785,8 +797,9 @@ on_network_get_serving_network (TelephonyNetwork *network, GDBusMethodInvocation struct custom_data *ctx = user_data; UserRequest *ur = NULL; TReturn ret; + cynara *p_cynara = (ctx)?ctx->p_cynara:NULL; - if (!check_access_control (invocation, AC_NETWORK, "r")) + if (!check_access_control (p_cynara, invocation, AC_NETWORK, "r")) return TRUE; ur = MAKE_UR(ctx, network, invocation); @@ -808,8 +821,9 @@ on_network_get_neighboring_cell_info (TelephonyNetwork *network, GDBusMethodInvo struct custom_data *ctx = user_data; UserRequest *ur = NULL; TReturn ret; + cynara *p_cynara = (ctx)?ctx->p_cynara:NULL; - if (!check_access_control (invocation, AC_NETWORK, "r")) + if (!check_access_control (p_cynara, invocation, AC_NETWORK, "r")) return TRUE; ur = MAKE_UR(ctx, network, invocation); @@ -831,8 +845,9 @@ on_network_set_default_data_subscription (TelephonyNetwork *network, GDBusMethod struct custom_data *ctx = user_data; UserRequest *ur = NULL; TReturn ret; + cynara *p_cynara = (ctx)?ctx->p_cynara:NULL; - if (!check_access_control (invocation, AC_NETWORK, "w")) + if (!check_access_control (p_cynara, invocation, AC_NETWORK, "w")) return TRUE; ur = MAKE_UR(ctx, network, invocation); @@ -854,8 +869,9 @@ on_network_get_default_data_subscription (TelephonyNetwork *network, GDBusMethod struct custom_data *ctx = user_data; UserRequest *ur = NULL; TReturn ret; + cynara *p_cynara = (ctx)?ctx->p_cynara:NULL; - if (!check_access_control (invocation, AC_NETWORK, "r")) + if (!check_access_control (p_cynara, invocation, AC_NETWORK, "r")) return TRUE; ur = MAKE_UR(ctx, network, invocation); @@ -876,8 +892,9 @@ static gboolean on_network_set_default_subs(TelephonyNetwork *network, GDBusMeth struct custom_data *ctx = user_data; UserRequest *ur; TReturn ret = 0; + cynara *p_cynara = (ctx)?ctx->p_cynara:NULL; - if (!check_access_control (invocation, AC_NETWORK, "w")) + if (!check_access_control (p_cynara, invocation, AC_NETWORK, "w")) return TRUE; ur = MAKE_UR(ctx, network, invocation); @@ -899,8 +916,9 @@ static gboolean on_network_get_default_subs(TelephonyNetwork *network, GDBusMeth struct custom_data *ctx = user_data; UserRequest *ur; TReturn ret = 0; + cynara *p_cynara = (ctx)?ctx->p_cynara:NULL; - if (!check_access_control (invocation, AC_NETWORK, "r")) + if (!check_access_control (p_cynara, invocation, AC_NETWORK, "r")) return TRUE; ur = MAKE_UR(ctx, network, invocation); @@ -926,8 +944,9 @@ on_network_set_emergency_callback_mode (TelephonyNetwork *network, struct custom_data *ctx = user_data; UserRequest *ur = NULL; TReturn ret; + cynara *p_cynara = (ctx)?ctx->p_cynara:NULL; - if (!check_access_control (invocation, AC_NETWORK, "w")) + if (!check_access_control (p_cynara, invocation, AC_NETWORK, "w")) return TRUE; ur = MAKE_UR(ctx, network, invocation); @@ -955,8 +974,9 @@ on_network_set_roaming_preference (TelephonyNetwork *network, struct custom_data *ctx = user_data; UserRequest *ur = NULL; TReturn ret; + cynara *p_cynara = (ctx)?ctx->p_cynara:NULL; - if (!check_access_control (invocation, AC_NETWORK, "w")) + if (!check_access_control (p_cynara, invocation, AC_NETWORK, "w")) return TRUE; ur = MAKE_UR(ctx, network, invocation); @@ -982,8 +1002,9 @@ on_network_get_roaming_preference (TelephonyNetwork *network, struct custom_data *ctx = user_data; UserRequest *ur = NULL; TReturn ret; + cynara *p_cynara = (ctx)?ctx->p_cynara:NULL; - if (!check_access_control (invocation, AC_NETWORK, "r")) + if (!check_access_control (p_cynara, invocation, AC_NETWORK, "r")) return TRUE; ur = MAKE_UR(ctx, network, invocation); diff --git a/src/oem.c b/src/oem.c index 3b3b20c..a0a6ead 100644 --- a/src/oem.c +++ b/src/oem.c @@ -68,8 +68,9 @@ send_oem_data(TelephonyOEM *oem, gint result = 1; guchar *decoded_data = NULL; gsize length; + cynara *p_cynara = (ctx)?ctx->p_cynara:NULL; - if (!check_access_control (invocation, AC_MODEM, "w")) + if (!check_access_control (p_cynara, invocation, AC_MODEM, "w")) return TRUE; ur = MAKE_UR(ctx, oem, invocation); diff --git a/src/phonebook.c b/src/phonebook.c index 30bd631..f6c45af 100755 --- a/src/phonebook.c +++ b/src/phonebook.c @@ -58,8 +58,9 @@ static gboolean on_phonebook_get_init_status(TelephonyPhonebook *phonebook, GDBu GSList *co_list = NULL; CoreObject *co_pb = NULL; TcorePlugin *plugin = NULL; + cynara *p_cynara = (ctx)?ctx->p_cynara:NULL; - if (!check_access_control (invocation, AC_PHONEBOOK, "r")) + if (!check_access_control (p_cynara, invocation, AC_PHONEBOOK, "r")) return TRUE; plugin = tcore_server_find_plugin(ctx->server, GET_CP_NAME(invocation)); @@ -108,8 +109,9 @@ static gboolean on_phonebook_get_count(TelephonyPhonebook *phonebook, GDBusMetho GSList *co_list = NULL; CoreObject *co_pb = NULL; gboolean pb_status = FALSE; + cynara *p_cynara = (ctx)?ctx->p_cynara:NULL; - if (!check_access_control (invocation, AC_PHONEBOOK, "r")) + if (!check_access_control (p_cynara, invocation, AC_PHONEBOOK, "r")) return TRUE; plugin = tcore_server_find_plugin(ctx->server, GET_CP_NAME(invocation)); @@ -155,8 +157,9 @@ static gboolean on_phonebook_get_info(TelephonyPhonebook *phonebook, GDBusMethod GSList *co_list = NULL; CoreObject *co_pb = NULL; gboolean pb_status = FALSE; + cynara *p_cynara = (ctx)?ctx->p_cynara:NULL; - if (!check_access_control (invocation, AC_PHONEBOOK, "r")) + if (!check_access_control (p_cynara, invocation, AC_PHONEBOOK, "r")) return TRUE; plugin = tcore_server_find_plugin(ctx->server, GET_CP_NAME(invocation)); @@ -203,8 +206,9 @@ static gboolean on_phonebook_get_usim_info(TelephonyPhonebook *phonebook, GDBusM GSList *co_list = NULL; CoreObject *co_pb = NULL; gboolean pb_status = FALSE; + cynara *p_cynara = (ctx)?ctx->p_cynara:NULL; - if (!check_access_control (invocation, AC_PHONEBOOK, "r")) + if (!check_access_control (p_cynara, invocation, AC_PHONEBOOK, "r")) return TRUE; plugin = tcore_server_find_plugin(ctx->server, GET_CP_NAME(invocation)); @@ -252,8 +256,9 @@ static gboolean on_phonebook_read_record(TelephonyPhonebook *phonebook, GDBusMet GSList *co_list = NULL; CoreObject *co_pb = NULL; gboolean pb_status = FALSE; + cynara *p_cynara = (ctx)?ctx->p_cynara:NULL; - if (!check_access_control (invocation, AC_PHONEBOOK, "r")) + if (!check_access_control (p_cynara, invocation, AC_PHONEBOOK, "r")) return TRUE; plugin = tcore_server_find_plugin(ctx->server, GET_CP_NAME(invocation)); @@ -312,8 +317,9 @@ static gboolean on_phonebook_update_record(TelephonyPhonebook *phonebook, GDBusM CoreObject *co_pb = NULL; gboolean pb_status = FALSE; int temp_len = 0; + cynara *p_cynara = (ctx)?ctx->p_cynara:NULL; - if (!check_access_control (invocation, AC_PHONEBOOK, "x")) + if (!check_access_control (p_cynara, invocation, AC_PHONEBOOK, "x")) return TRUE; plugin = tcore_server_find_plugin(ctx->server, GET_CP_NAME(invocation)); @@ -417,8 +423,9 @@ static gboolean on_phonebook_delete_record(TelephonyPhonebook *phonebook, GDBusM GSList *co_list = NULL; CoreObject *co_pb = NULL; gboolean pb_status = FALSE; + cynara *p_cynara = (ctx)?ctx->p_cynara:NULL; - if (!check_access_control (invocation, AC_PHONEBOOK, "x")) + if (!check_access_control (p_cynara, invocation, AC_PHONEBOOK, "x")) return TRUE; plugin = tcore_server_find_plugin(ctx->server, GET_CP_NAME(invocation)); diff --git a/src/sap.c b/src/sap.c index 11a86f6..dd4dba1 100644 --- a/src/sap.c +++ b/src/sap.c @@ -45,8 +45,9 @@ static gboolean on_sap_connect(TelephonySap *sap, GDBusMethodInvocation *invocat UserRequest *ur = NULL; TReturn ret; struct treq_sap_req_connect req_conn; + cynara *p_cynara = (ctx)?ctx->p_cynara:NULL; - if (!check_access_control (invocation, AC_SAP, "x")) + if (!check_access_control (p_cynara, invocation, AC_SAP, "x")) return TRUE; ur = MAKE_UR(ctx, sap, invocation); @@ -71,8 +72,9 @@ static gboolean on_sap_disconnect(TelephonySap *sap, GDBusMethodInvocation *invo struct custom_data *ctx = user_data; UserRequest *ur = NULL; TReturn ret; + cynara *p_cynara = (ctx)?ctx->p_cynara:NULL; - if (!check_access_control (invocation, AC_SAP, "x")) + if (!check_access_control (p_cynara, invocation, AC_SAP, "x")) return TRUE; ur = MAKE_UR(ctx, sap, invocation); @@ -93,8 +95,9 @@ static gboolean on_sap_get_status(TelephonySap *sap, GDBusMethodInvocation *invo struct custom_data *ctx = user_data; UserRequest *ur = NULL; TReturn ret; + cynara *p_cynara = (ctx)?ctx->p_cynara:NULL; - if (!check_access_control (invocation, AC_SAP, "r")) + if (!check_access_control (p_cynara, invocation, AC_SAP, "r")) return TRUE; ur = MAKE_UR(ctx, sap, invocation); @@ -115,8 +118,9 @@ static gboolean on_sap_get_atr(TelephonySap *sap, GDBusMethodInvocation *invocat struct custom_data *ctx = user_data; UserRequest *ur = NULL; TReturn ret; + cynara *p_cynara = (ctx)?ctx->p_cynara:NULL; - if (!check_access_control (invocation, AC_SAP, "r")) + if (!check_access_control (p_cynara, invocation, AC_SAP, "r")) return TRUE; ur = MAKE_UR(ctx, sap, invocation); @@ -143,10 +147,11 @@ static gboolean on_sap_transfer_apdu(TelephonySap *sap, GDBusMethodInvocation *i GVariant *inner_gv = NULL; guchar rt_i; int i =0; + cynara *p_cynara = (ctx)?ctx->p_cynara:NULL; dbg("Func Entrance"); - if (!check_access_control (invocation, AC_SAP, "x")) + if (!check_access_control (p_cynara, invocation, AC_SAP, "x")) return TRUE; memset(&t_apdu, 0, sizeof(struct treq_sap_transfer_apdu)); @@ -186,8 +191,9 @@ static gboolean on_sap_set_protocol(TelephonySap *sap, GDBusMethodInvocation *in UserRequest *ur = NULL; TReturn ret; struct treq_sap_set_protocol set_protocol; + cynara *p_cynara = (ctx)?ctx->p_cynara:NULL; - if (!check_access_control (invocation, AC_SAP, "w")) + if (!check_access_control (p_cynara, invocation, AC_SAP, "w")) return TRUE; ur = MAKE_UR(ctx, sap, invocation); @@ -214,8 +220,9 @@ static gboolean on_sap_set_power(TelephonySap *sap, GDBusMethodInvocation *invoc UserRequest *ur = NULL; TReturn ret; struct treq_sap_set_power set_power; + cynara *p_cynara = (ctx)?ctx->p_cynara:NULL; - if (!check_access_control (invocation, AC_SAP, "w")) + if (!check_access_control (p_cynara, invocation, AC_SAP, "w")) return TRUE; ur = MAKE_UR(ctx, sap, invocation); @@ -240,8 +247,9 @@ static gboolean on_sap_get_card_reader_status(TelephonySap *sap, GDBusMethodInvo struct custom_data *ctx = user_data; UserRequest *ur = NULL; TReturn ret; + cynara *p_cynara = (ctx)?ctx->p_cynara:NULL; - if (!check_access_control (invocation, AC_SAP, "r")) + if (!check_access_control (p_cynara, invocation, AC_SAP, "r")) return TRUE; ur = MAKE_UR(ctx, sap, invocation); diff --git a/src/sat.c b/src/sat.c index d0d51be..4054d5e 100755 --- a/src/sat.c +++ b/src/sat.c @@ -106,7 +106,9 @@ static gboolean on_sat_get_main_menu_info(TelephonySAT *sat, GDBusMethodInvocati GVariant *icon_id = NULL; GVariant *icon_list = NULL; #endif - if (!check_access_control (invocation, AC_SAT, "r")) + cynara *p_cynara = (ctx)?ctx->p_cynara:NULL; + + if (!check_access_control (p_cynara, invocation, AC_SAT, "r")) return TRUE; main_menu = _sat_get_main_menu(ctx, GET_CP_NAME(invocation)); @@ -144,8 +146,9 @@ static gboolean on_sat_send_display_status(TelephonySAT *sat, GDBusMethodInvocat struct custom_data *ctx = user_data; gboolean result = FALSE; gint out_param = 1; + cynara *p_cynara = (ctx)?ctx->p_cynara:NULL; - if (!check_access_control (invocation, AC_SAT, "x")) + if (!check_access_control (p_cynara, invocation, AC_SAT, "x")) return TRUE; cp_name = GET_CP_NAME(invocation); @@ -174,12 +177,13 @@ static gboolean on_sat_send_user_confirm(TelephonySAT *sat, GDBusMethodInvocatio TcorePlugin *plg = NULL; char *cp_name; struct custom_data *ctx = user_data; + cynara *p_cynara = (ctx)?ctx->p_cynara:NULL; gboolean result = FALSE; gint out_param = 1; GVariant *confirm_data = NULL; - if (!check_access_control (invocation, AC_SAT, "x")) + if (!check_access_control (p_cynara, invocation, AC_SAT, "x")) return TRUE; cp_name = GET_CP_NAME(invocation); @@ -211,11 +215,12 @@ static gboolean on_sat_send_app_exec_result(TelephonySAT *sat, GDBusMethodInvoca TcorePlugin *plg = NULL; char *cp_name; struct custom_data *ctx = user_data; + cynara *p_cynara = (ctx)?ctx->p_cynara:NULL; gboolean result = FALSE; gint out_param = 1; - if (!check_access_control (invocation, AC_SAT, "x")) + if (!check_access_control (p_cynara, invocation, AC_SAT, "x")) return TRUE; cp_name = GET_CP_NAME(invocation); @@ -246,8 +251,9 @@ static gboolean on_sat_select_menu(TelephonySAT *sat, GDBusMethodInvocation *inv struct custom_data *ctx = user_data; UserRequest *ur = NULL; struct treq_sat_envelop_cmd_data envelop_data; + cynara *p_cynara = (ctx)?ctx->p_cynara:NULL; - if (!check_access_control (invocation, AC_SAT, "x")) + if (!check_access_control (p_cynara, invocation, AC_SAT, "x")) return TRUE; ur = MAKE_UR(ctx, sat, invocation); @@ -278,10 +284,11 @@ static gboolean on_sat_download_event(TelephonySAT *sat, GDBusMethodInvocation * TReturn rv; struct custom_data *ctx = user_data; UserRequest *ur = NULL; + cynara *p_cynara = (ctx)?ctx->p_cynara:NULL; struct treq_sat_envelop_cmd_data envelop_data; - if (!check_access_control (invocation, AC_SAT, "x")) + if (!check_access_control (p_cynara, invocation, AC_SAT, "x")) return TRUE; ur = MAKE_UR(ctx, sat, invocation); diff --git a/src/sim.c b/src/sim.c index 3eaa6b2..0ce5669 100755 --- a/src/sim.c +++ b/src/sim.c @@ -374,8 +374,9 @@ static gboolean on_sim_get_init_status(TelephonySim *sim, GDBusMethodInvocation enum tel_sim_status sim_status = SIM_STATUS_UNKNOWN; gboolean sim_changed = FALSE; CoreObject *co_sim = NULL; + cynara *p_cynara = (ctx)?ctx->p_cynara:NULL; - if (!check_access_control (invocation, AC_SIM, "r")) + if (!check_access_control (p_cynara, invocation, AC_SIM, "r")) return TRUE; DBUS_SIM_GET_COSIM(invocation, co_sim, ctx->server); @@ -396,8 +397,9 @@ static gboolean on_sim_get_card_type(TelephonySim *sim, GDBusMethodInvocation *i struct custom_data *ctx = user_data; enum tel_sim_type sim_type = SIM_TYPE_UNKNOWN; CoreObject *co_sim = NULL; + cynara *p_cynara = (ctx)?ctx->p_cynara:NULL; - if (!check_access_control (invocation, AC_SIM, "r")) + if (!check_access_control (p_cynara, invocation, AC_SIM, "r")) return TRUE; DBUS_SIM_GET_COSIM(invocation, co_sim, ctx->server); @@ -416,8 +418,9 @@ static gboolean on_sim_get_imsi(TelephonySim *sim, GDBusMethodInvocation *invoca struct custom_data *ctx = user_data; struct tel_sim_imsi *n_imsi; CoreObject *co_sim = NULL; + cynara *p_cynara = (ctx)?ctx->p_cynara:NULL; - if (!check_access_control (invocation, AC_SIM, "r")) + if (!check_access_control (p_cynara, invocation, AC_SIM, "r")) return TRUE; DBUS_SIM_GET_COSIM(invocation, co_sim, ctx->server); @@ -441,8 +444,9 @@ static gboolean on_sim_get_ecc(TelephonySim *sim, GDBusMethodInvocation *invocat struct custom_data *ctx = user_data; CoreObject *co_sim = NULL; struct tel_sim_ecc_list *ecc_list = NULL; + cynara *p_cynara = (ctx)?ctx->p_cynara:NULL; - if (!check_access_control (invocation, AC_SIM, "r")) + if (!check_access_control (p_cynara, invocation, AC_SIM, "r")) return TRUE; DBUS_SIM_GET_COSIM(invocation, co_sim, ctx->server); @@ -497,10 +501,11 @@ static gboolean on_sim_get_iccid(TelephonySim *sim, GDBusMethodInvocation *invoc TReturn ret; CoreObject *co_sim = NULL; struct tel_sim_iccid* iccid = NULL; + cynara *p_cynara = (ctx)?ctx->p_cynara:NULL; dbg("Func Entrance"); - if (!check_access_control (invocation, AC_SIM, "r")) + if (!check_access_control (p_cynara, invocation, AC_SIM, "r")) return TRUE; DBUS_SIM_GET_COSIM(invocation, co_sim, ctx->server); @@ -536,8 +541,9 @@ static gboolean on_sim_get_language(TelephonySim *sim, GDBusMethodInvocation *in UserRequest *ur = NULL; TReturn ret; CoreObject *co_sim = NULL; + cynara *p_cynara = (ctx)?ctx->p_cynara:NULL; - if (!check_access_control (invocation, AC_SIM, "r")) + if (!check_access_control (p_cynara, invocation, AC_SIM, "r")) return TRUE; DBUS_SIM_GET_COSIM(invocation, co_sim, ctx->server); @@ -565,8 +571,9 @@ static gboolean on_sim_set_language(TelephonySim *sim, GDBusMethodInvocation *in TReturn ret; CoreObject *co_sim = NULL; struct treq_sim_set_language set_language; + cynara *p_cynara = (ctx)?ctx->p_cynara:NULL; - if (!check_access_control (invocation, AC_SIM, "w")) + if (!check_access_control (p_cynara, invocation, AC_SIM, "w")) return TRUE; DBUS_SIM_GET_COSIM(invocation, co_sim, ctx->server); @@ -598,8 +605,9 @@ static gboolean on_sim_get_call_forwarding(TelephonySim *sim, GDBusMethodInvocat UserRequest *ur = NULL; TReturn ret; CoreObject *co_sim = NULL; + cynara *p_cynara = (ctx)?ctx->p_cynara:NULL; - if (!check_access_control (invocation, AC_SIM, "r")) + if (!check_access_control (p_cynara, invocation, AC_SIM, "r")) return TRUE; DBUS_SIM_GET_COSIM(invocation, co_sim, ctx->server); @@ -637,8 +645,9 @@ static gboolean on_sim_set_call_forwarding(TelephonySim *sim, GDBusMethodInvocat TReturn ret; CoreObject *co_sim = NULL; struct treq_sim_set_callforwarding req_cf; + cynara *p_cynara = (ctx)?ctx->p_cynara:NULL; - if (!check_access_control (invocation, AC_SIM, "w")) + if (!check_access_control (p_cynara, invocation, AC_SIM, "w")) return TRUE; DBUS_SIM_GET_COSIM(invocation, co_sim, ctx->server); @@ -691,8 +700,9 @@ static gboolean on_sim_get_message_waiting(TelephonySim *sim, GDBusMethodInvocat UserRequest *ur = NULL; TReturn ret; CoreObject *co_sim = NULL; + cynara *p_cynara = (ctx)?ctx->p_cynara:NULL; - if (!check_access_control (invocation, AC_SIM, "r")) + if (!check_access_control (p_cynara, invocation, AC_SIM, "r")) return TRUE; DBUS_SIM_GET_COSIM(invocation, co_sim, ctx->server); @@ -729,8 +739,9 @@ static gboolean on_sim_set_message_waiting(TelephonySim *sim, GDBusMethodInvocat TReturn ret; CoreObject *co_sim = NULL; struct treq_sim_set_messagewaiting req_mw; + cynara *p_cynara = (ctx)?ctx->p_cynara:NULL; - if (!check_access_control (invocation, AC_SIM, "w")) + if (!check_access_control (p_cynara, invocation, AC_SIM, "w")) return TRUE; DBUS_SIM_GET_COSIM(invocation, co_sim, ctx->server); @@ -788,8 +799,9 @@ static gboolean on_sim_get_mailbox(TelephonySim *sim, GDBusMethodInvocation *inv UserRequest *ur = NULL; TReturn ret; CoreObject *co_sim = NULL; + cynara *p_cynara = (ctx)?ctx->p_cynara:NULL; - if (!check_access_control (invocation, AC_SIM, "r")) + if (!check_access_control (p_cynara, invocation, AC_SIM, "r")) return TRUE; DBUS_SIM_GET_COSIM(invocation, co_sim, ctx->server); @@ -825,8 +837,9 @@ static gboolean on_sim_set_mailbox(TelephonySim *sim, GDBusMethodInvocation *inv TReturn ret; CoreObject *co_sim = NULL; struct treq_sim_set_mailbox req_mb; + cynara *p_cynara = (ctx)?ctx->p_cynara:NULL; - if (!check_access_control (invocation, AC_SIM, "w")) + if (!check_access_control (p_cynara, invocation, AC_SIM, "w")) return TRUE; DBUS_SIM_GET_COSIM(invocation, co_sim, ctx->server); @@ -883,8 +896,9 @@ static gboolean on_sim_get_cphsinfo(TelephonySim *sim, GDBusMethodInvocation *in UserRequest *ur = NULL; TReturn ret; CoreObject *co_sim = NULL; + cynara *p_cynara = (ctx)?ctx->p_cynara:NULL; - if (!check_access_control (invocation, AC_SIM, "r")) + if (!check_access_control (p_cynara, invocation, AC_SIM, "r")) return TRUE; DBUS_SIM_GET_COSIM(invocation, co_sim, ctx->server); @@ -910,8 +924,9 @@ static gboolean on_sim_get_service_table(TelephonySim *sim, GDBusMethodInvocatio struct custom_data *ctx = user_data; CoreObject *co_sim = NULL; struct tel_sim_service_table *svct = NULL; + cynara *p_cynara = (ctx)?ctx->p_cynara:NULL; - if (!check_access_control (invocation, AC_SIM, "r")) + if (!check_access_control (p_cynara, invocation, AC_SIM, "r")) return TRUE; DBUS_SIM_GET_COSIM(invocation, co_sim, ctx->server); @@ -987,8 +1002,9 @@ static gboolean on_sim_get_msisdn(TelephonySim *sim, GDBusMethodInvocation *invo CoreObject *co_sim = NULL; struct tel_sim_msisdn_list *msisdn_list = NULL; gboolean read_from_modem = FALSE; + cynara *p_cynara = (ctx)?ctx->p_cynara:NULL; - if (!check_access_control (invocation, AC_SIM, "r")) + if (!check_access_control (p_cynara, invocation, AC_SIM, "r")) return TRUE; DBUS_SIM_GET_COSIM(invocation, co_sim, ctx->server); @@ -1059,8 +1075,9 @@ static gboolean on_sim_get_oplmnwact(TelephonySim *sim, GDBusMethodInvocation *i UserRequest *ur = NULL; TReturn ret; CoreObject *co_sim = NULL; + cynara *p_cynara = (ctx)?ctx->p_cynara:NULL; - if (!check_access_control (invocation, AC_SIM, "r")) + if (!check_access_control (p_cynara, invocation, AC_SIM, "r")) return TRUE; DBUS_SIM_GET_COSIM(invocation, co_sim, ctx->server); @@ -1088,8 +1105,9 @@ static gboolean on_sim_get_spn(TelephonySim *sim, GDBusMethodInvocation *invocat TReturn ret; CoreObject *co_sim = NULL; struct tel_sim_spn* spn = NULL; + cynara *p_cynara = (ctx)?ctx->p_cynara:NULL; - if (!check_access_control (invocation, AC_SIM, "r")) + if (!check_access_control (p_cynara, invocation, AC_SIM, "r")) return TRUE; DBUS_SIM_GET_COSIM(invocation, co_sim, ctx->server); @@ -1125,8 +1143,9 @@ static gboolean on_sim_get_cphs_netname(TelephonySim *sim, GDBusMethodInvocation TReturn ret; CoreObject *co_sim = NULL; struct tel_sim_cphs_netname *cphs_netname = NULL; + cynara *p_cynara = (ctx)?ctx->p_cynara:NULL; - if (!check_access_control (invocation, AC_SIM, "r")) + if (!check_access_control (p_cynara, invocation, AC_SIM, "r")) return TRUE; DBUS_SIM_GET_COSIM(invocation, co_sim, ctx->server); @@ -1162,8 +1181,9 @@ static gboolean on_sim_get_gid(TelephonySim *sim, GDBusMethodInvocation *invocat UserRequest *ur = NULL; TReturn ret; CoreObject *co_sim = NULL; + cynara *p_cynara = (ctx)?ctx->p_cynara:NULL; - if (!check_access_control (invocation, AC_SIM, "r")) + if (!check_access_control (p_cynara, invocation, AC_SIM, "r")) return TRUE; DBUS_SIM_GET_COSIM(invocation, co_sim, ctx->server); @@ -1199,8 +1219,9 @@ static gboolean on_sim_authentication(TelephonySim *sim, GDBusMethodInvocation * TReturn ret; CoreObject *co_sim = NULL; struct treq_sim_req_authentication req_auth; + cynara *p_cynara = (ctx)?ctx->p_cynara:NULL; - if (!check_access_control (invocation, AC_SIM, "x")) + if (!check_access_control (p_cynara, invocation, AC_SIM, "x")) return TRUE; DBUS_SIM_GET_COSIM(invocation, co_sim, ctx->server); @@ -1275,8 +1296,9 @@ static gboolean on_sim_verify_sec(TelephonySim *sim, GDBusMethodInvocation *invo TReturn ret; CoreObject *co_sim = NULL; struct treq_sim_verify_pins verify_pins; + cynara *p_cynara = (ctx)?ctx->p_cynara:NULL; - if (!check_access_control (invocation, AC_SIM, "x")) + if (!check_access_control (p_cynara, invocation, AC_SIM, "x")) return TRUE; DBUS_SIM_GET_COSIM(invocation, co_sim, ctx->server); @@ -1313,8 +1335,9 @@ static gboolean on_sim_verify_puk(TelephonySim *sim, GDBusMethodInvocation *invo TReturn ret; CoreObject *co_sim = NULL; struct treq_sim_verify_puks verify_puks; + cynara *p_cynara = (ctx)?ctx->p_cynara:NULL; - if (!check_access_control (invocation, AC_SIM, "x")) + if (!check_access_control (p_cynara, invocation, AC_SIM, "x")) return TRUE; DBUS_SIM_GET_COSIM(invocation, co_sim, ctx->server); @@ -1353,8 +1376,9 @@ static gboolean on_sim_change_pin(TelephonySim *sim, GDBusMethodInvocation *invo TReturn ret; CoreObject *co_sim = NULL; struct treq_sim_change_pins change_pins; + cynara *p_cynara = (ctx)?ctx->p_cynara:NULL; - if (!check_access_control (invocation, AC_SIM, "x")) + if (!check_access_control (p_cynara, invocation, AC_SIM, "x")) return TRUE; DBUS_SIM_GET_COSIM(invocation, co_sim, ctx->server); @@ -1392,8 +1416,9 @@ static gboolean on_sim_disable_facility(TelephonySim *sim, GDBusMethodInvocation TReturn ret; struct treq_sim_disable_facility dis_facility; CoreObject *co_sim = NULL; + cynara *p_cynara = (ctx)?ctx->p_cynara:NULL; - if (!check_access_control (invocation, AC_SIM, "x")) + if (!check_access_control (p_cynara, invocation, AC_SIM, "x")) return TRUE; DBUS_SIM_GET_COSIM(invocation, co_sim, ctx->server); @@ -1455,8 +1480,9 @@ static gboolean on_sim_enable_facility(TelephonySim *sim, GDBusMethodInvocation TReturn ret; struct treq_sim_enable_facility en_facility; CoreObject *co_sim = NULL; + cynara *p_cynara = (ctx)?ctx->p_cynara:NULL; - if (!check_access_control (invocation, AC_SIM, "x")) + if (!check_access_control (p_cynara, invocation, AC_SIM, "x")) return TRUE; DBUS_SIM_GET_COSIM(invocation, co_sim, ctx->server); @@ -1517,8 +1543,9 @@ static gboolean on_sim_get_facility(TelephonySim *sim, GDBusMethodInvocation *in TReturn ret; struct treq_sim_get_facility_status facility; CoreObject *co_sim = NULL; + cynara *p_cynara = (ctx)?ctx->p_cynara:NULL; - if (!check_access_control (invocation, AC_SIM, "r")) + if (!check_access_control (p_cynara, invocation, AC_SIM, "r")) return TRUE; DBUS_SIM_GET_COSIM(invocation, co_sim, ctx->server); @@ -1578,8 +1605,9 @@ static gboolean on_sim_get_lock_info(TelephonySim *sim, GDBusMethodInvocation *i TReturn ret; CoreObject *co_sim = NULL; struct treq_sim_get_lock_info lock_info; + cynara *p_cynara = (ctx)?ctx->p_cynara:NULL; - if (!check_access_control (invocation, AC_SIM, "r")) + if (!check_access_control (p_cynara, invocation, AC_SIM, "r")) return TRUE; DBUS_SIM_GET_COSIM(invocation, co_sim, ctx->server); @@ -1642,8 +1670,9 @@ static gboolean on_sim_transfer_apdu(TelephonySim *sim, GDBusMethodInvocation *i TReturn ret; CoreObject *co_sim = NULL; int i =0; + cynara *p_cynara = (ctx)?ctx->p_cynara:NULL; - if (!check_access_control (invocation, AC_SIM, "x")) + if (!check_access_control (p_cynara, invocation, AC_SIM, "x")) return TRUE; DBUS_SIM_GET_COSIM(invocation, co_sim, ctx->server); @@ -1686,8 +1715,9 @@ static gboolean on_sim_get_atr(TelephonySim *sim, GDBusMethodInvocation *invocat UserRequest *ur = NULL; TReturn ret; CoreObject *co_sim = NULL; + cynara *p_cynara = (ctx)?ctx->p_cynara:NULL; - if (!check_access_control (invocation, AC_SIM, "r")) + if (!check_access_control (p_cynara, invocation, AC_SIM, "r")) return TRUE; DBUS_SIM_GET_COSIM(invocation, co_sim, ctx->server); @@ -1718,10 +1748,11 @@ static gboolean on_sim_get_fields(TelephonySim *sim, GDBusMethodInvocation *invo CoreObject *co_sim = NULL; GVariantBuilder b; GVariant *gv_fields = NULL; + cynara *p_cynara = (ctx)?ctx->p_cynara:NULL; dbg("Func Entrance"); - if (!check_access_control (invocation, AC_SIM, "r")) + if (!check_access_control(p_cynara, invocation, AC_SIM, "r")) return TRUE; DBUS_SIM_GET_COSIM(invocation, co_sim, ctx->server); @@ -1768,8 +1799,9 @@ static gboolean on_sim_set_power_state(TelephonySim *sim, GDBusMethodInvocation TReturn ret; CoreObject *co_sim = NULL; struct treq_sim_set_powerstate set_powerstate; + cynara *p_cynara = (ctx)?ctx->p_cynara:NULL; - if (!check_access_control (invocation, AC_SIM, "w")) + if (!check_access_control(p_cynara, invocation, AC_SIM, "w")) return TRUE; DBUS_SIM_GET_COSIM(invocation, co_sim, ctx->server); @@ -1800,8 +1832,9 @@ static gboolean on_sim_get_impi(TelephonySim *sim, UserRequest *ur = NULL; TReturn ret; CoreObject *co_sim = NULL; + cynara *p_cynara = (ctx)?ctx->p_cynara:NULL; - if (!check_access_control(invocation, AC_SIM, "r")) + if (!check_access_control(p_cynara, invocation, AC_SIM, "r")) return TRUE; DBUS_SIM_GET_COSIM(invocation, co_sim, ctx->server); @@ -1827,8 +1860,9 @@ static gboolean on_sim_get_impu(TelephonySim *sim, UserRequest *ur = NULL; TReturn ret; CoreObject *co_sim = NULL; + cynara *p_cynara = (ctx)?ctx->p_cynara:NULL; - if (!check_access_control(invocation, AC_SIM, "r")) + if (!check_access_control(p_cynara, invocation, AC_SIM, "r")) return TRUE; DBUS_SIM_GET_COSIM(invocation, co_sim, ctx->server); @@ -1854,8 +1888,9 @@ static gboolean on_sim_get_domain(TelephonySim *sim, UserRequest *ur = NULL; TReturn ret; CoreObject *co_sim = NULL; + cynara *p_cynara = (ctx)?ctx->p_cynara:NULL; - if (!check_access_control(invocation, AC_SIM, "r")) + if (!check_access_control(p_cynara, invocation, AC_SIM, "r")) return TRUE; DBUS_SIM_GET_COSIM(invocation, co_sim, ctx->server); @@ -1881,8 +1916,9 @@ static gboolean on_sim_get_pcscf(TelephonySim *sim, UserRequest *ur = NULL; TReturn ret; CoreObject *co_sim = NULL; + cynara *p_cynara = (ctx)?ctx->p_cynara:NULL; - if (!check_access_control(invocation, AC_SIM, "r")) + if (!check_access_control(p_cynara, invocation, AC_SIM, "r")) return TRUE; DBUS_SIM_GET_COSIM(invocation, co_sim, ctx->server); @@ -1907,10 +1943,11 @@ static gboolean on_sim_get_app_list(TelephonySim *sim, struct custom_data *ctx = user_data; CoreObject *co_sim = NULL; unsigned char app_list = 0; + cynara *p_cynara = (ctx)?ctx->p_cynara:NULL; dbg("Func Entrance"); - if (!check_access_control(invocation, AC_SIM, "r")) + if (!check_access_control(p_cynara, invocation, AC_SIM, "r")) return TRUE; DBUS_SIM_GET_COSIM(invocation, co_sim, ctx->server); @@ -1927,10 +1964,11 @@ static gboolean on_sim_get_isim_service_table(TelephonySim *sim, struct custom_data *ctx = user_data; struct tel_sim_ist *ist = NULL; CoreObject *co_sim = NULL; + cynara *p_cynara = (ctx)?ctx->p_cynara:NULL; dbg("Func Entrance"); - if (!check_access_control(invocation, AC_SIM, "r")) + if (!check_access_control(p_cynara, invocation, AC_SIM, "r")) return TRUE; DBUS_SIM_GET_COSIM(invocation, co_sim, ctx->server); diff --git a/src/sms.c b/src/sms.c index e201d88..b9eee54 100755 --- a/src/sms.c +++ b/src/sms.c @@ -53,12 +53,13 @@ on_sms_send_msg(TelephonySms *sms, GDBusMethodInvocation *invocation, struct custom_data *ctx = user_data; UserRequest *ur = NULL; TReturn ret = TCORE_RETURN_SUCCESS; + cynara *p_cynara = (ctx)?ctx->p_cynara:NULL; int i = 0; GVariantIter *iter = 0; GVariant *inner_gv = 0; - if (!check_access_control (invocation, AC_SMS, "x")) + if (!check_access_control(p_cynara, invocation, AC_SMS, "x")) return TRUE; memset(&sendMsg, 0 , sizeof(struct treq_sms_send_msg)); @@ -119,8 +120,9 @@ on_sms_read_msg(TelephonySms *sms, GDBusMethodInvocation *invocation, struct custom_data *ctx = user_data; UserRequest *ur = NULL; TReturn ret = TCORE_RETURN_SUCCESS; + cynara *p_cynara = (ctx)?ctx->p_cynara:NULL; - if (!check_access_control (invocation, AC_SMS, "r")) + if (!check_access_control(p_cynara, invocation, AC_SMS, "r")) return TRUE; readMsg.index = arg_index; @@ -151,12 +153,13 @@ on_sms_save_msg(TelephonySms *sms, GDBusMethodInvocation *invocation, struct custom_data *ctx = user_data; UserRequest *ur = NULL; TReturn ret = TCORE_RETURN_SUCCESS; + cynara *p_cynara = (ctx)?ctx->p_cynara:NULL; int i = 0; GVariantIter *iter = 0; GVariant *inner_gv = 0; - if (!check_access_control (invocation, AC_SMS, "w")) + if (!check_access_control(p_cynara, invocation, AC_SMS, "w")) return TRUE; if (SMS_NETTYPE_3GPP == format) { @@ -216,8 +219,9 @@ on_sms_delete_msg(TelephonySms *sms, GDBusMethodInvocation *invocation, struct custom_data *ctx = user_data; UserRequest *ur = NULL; TReturn ret = TCORE_RETURN_SUCCESS; + cynara *p_cynara = (ctx)?ctx->p_cynara:NULL; - if (!check_access_control (invocation, AC_SMS, "x")) + if (!check_access_control(p_cynara, invocation, AC_SMS, "x")) return TRUE; deleteMsg.index = arg_index; @@ -242,8 +246,9 @@ on_sms_get_msg_count(TelephonySms *sms, GDBusMethodInvocation *invocation, struct custom_data *ctx = user_data; UserRequest *ur = NULL; TReturn ret = TCORE_RETURN_SUCCESS; + cynara *p_cynara = (ctx)?ctx->p_cynara:NULL; - if (!check_access_control (invocation, AC_SMS, "r")) + if (!check_access_control(p_cynara, invocation, AC_SMS, "r")) return TRUE; ur = MAKE_UR(ctx, sms, invocation); @@ -268,8 +273,9 @@ on_sms_get_sca(TelephonySms *sms, GDBusMethodInvocation *invocation, struct custom_data *ctx = user_data; UserRequest *ur = NULL; TReturn ret = TCORE_RETURN_SUCCESS; + cynara *p_cynara = (ctx)?ctx->p_cynara:NULL; - if (!check_access_control (invocation, AC_SMS, "r")) + if (!check_access_control(p_cynara, invocation, AC_SMS, "r")) return TRUE; getSca.index = arg_index; @@ -300,12 +306,13 @@ on_sms_set_sca(TelephonySms *sms, GDBusMethodInvocation *invocation, struct custom_data *ctx = user_data; UserRequest *ur = NULL; TReturn ret = TCORE_RETURN_SUCCESS; + cynara *p_cynara = (ctx)?ctx->p_cynara:NULL; int i = 0; GVariantIter *iter = 0; GVariant *inner_gv = 0; - if (!check_access_control (invocation, AC_SMS, "w")) + if (!check_access_control(p_cynara, invocation, AC_SMS, "w")) return TRUE; memset(&setSca, 0, sizeof(struct treq_sms_set_sca)); @@ -361,8 +368,9 @@ on_sms_get_cb_config(TelephonySms *sms, GDBusMethodInvocation *invocation, struct custom_data *ctx = user_data; UserRequest *ur = NULL; TReturn ret = TCORE_RETURN_SUCCESS; + cynara *p_cynara = (ctx)?ctx->p_cynara:NULL; - if (!check_access_control (invocation, AC_SMS, "r")) + if (!check_access_control(p_cynara, invocation, AC_SMS, "r")) return TRUE; ur = MAKE_UR(ctx, sms, invocation); @@ -391,6 +399,7 @@ on_sms_set_cb_config(TelephonySms *sms, GDBusMethodInvocation *invocation, struct custom_data *ctx = user_data; UserRequest *ur = NULL; TReturn ret = TCORE_RETURN_SUCCESS; + cynara *p_cynara = (ctx)?ctx->p_cynara:NULL; GVariant *value = NULL; GVariant *inner_gv = 0; @@ -399,7 +408,7 @@ on_sms_set_cb_config(TelephonySms *sms, GDBusMethodInvocation *invocation, const gchar *key = NULL; int i = 0; - if (!check_access_control (invocation, AC_SMS, "w")) + if (!check_access_control(p_cynara, invocation, AC_SMS, "w")) return TRUE; setCbConfig.net3gppType = arg_net3gppType; @@ -457,8 +466,9 @@ on_sms_set_mem_status(TelephonySms *sms, GDBusMethodInvocation *invocation, struct custom_data *ctx = user_data; UserRequest *ur = NULL; TReturn ret = TCORE_RETURN_SUCCESS; + cynara *p_cynara = (ctx)?ctx->p_cynara:NULL; - if (!check_access_control (invocation, AC_SMS, "w")) + if (!check_access_control(p_cynara, invocation, AC_SMS, "w")) return TRUE; memStatus.memory_status = arg_memoryStatus; @@ -484,8 +494,9 @@ on_sms_get_pref_bearer(TelephonySms *sms, GDBusMethodInvocation *invocation, struct custom_data *ctx = user_data; UserRequest *ur = NULL; TReturn ret = TCORE_RETURN_SUCCESS; + cynara *p_cynara = (ctx)?ctx->p_cynara:NULL; - if (!check_access_control (invocation, AC_SMS, "r")) + if (!check_access_control(p_cynara, invocation, AC_SMS, "r")) return TRUE; ur = MAKE_UR(ctx, sms, invocation); @@ -510,8 +521,9 @@ on_sms_set_pref_bearer(TelephonySms *sms, GDBusMethodInvocation *invocation, struct custom_data *ctx = user_data; UserRequest *ur = NULL; TReturn ret = TCORE_RETURN_SUCCESS; + cynara *p_cynara = (ctx)?ctx->p_cynara:NULL; - if (!check_access_control (invocation, AC_SMS, "w")) + if (!check_access_control(p_cynara, invocation, AC_SMS, "w")) return TRUE; setPrefBearer.svc = arg_bearerType; @@ -542,6 +554,7 @@ on_sms_set_delivery_report(TelephonySms *sms, GDBusMethodInvocation *invocation, struct custom_data *ctx = user_data; UserRequest *ur = NULL; TReturn ret = TCORE_RETURN_SUCCESS; + cynara *p_cynara = (ctx)?ctx->p_cynara:NULL; guchar *decoded_sca = NULL; guchar *decoded_tpdu = NULL; @@ -549,7 +562,7 @@ on_sms_set_delivery_report(TelephonySms *sms, GDBusMethodInvocation *invocation, gsize decoded_sca_len = 0; gsize decoded_tpdu_len = 0; - if (!check_access_control (invocation, AC_SMS, "w")) + if (!check_access_control(p_cynara, invocation, AC_SMS, "w")) return TRUE; memset(&deliveryReport, 0, sizeof(struct treq_sms_set_delivery_report)); @@ -628,8 +641,9 @@ on_sms_set_msg_status(TelephonySms *sms, GDBusMethodInvocation *invocation, struct custom_data *ctx = user_data; UserRequest *ur = NULL; TReturn ret = TCORE_RETURN_SUCCESS; + cynara *p_cynara = (ctx)?ctx->p_cynara:NULL; - if (!check_access_control (invocation, AC_SMS, "w")) + if (!check_access_control(p_cynara, invocation, AC_SMS, "w")) return TRUE; msgStatus.index = arg_index; @@ -657,8 +671,9 @@ on_sms_get_sms_params(TelephonySms *sms, GDBusMethodInvocation *invocation, struct custom_data *ctx = user_data; UserRequest *ur = NULL; TReturn ret = TCORE_RETURN_SUCCESS; + cynara *p_cynara = (ctx)?ctx->p_cynara:NULL; - if (!check_access_control (invocation, AC_SMS, "r")) + if (!check_access_control(p_cynara, invocation, AC_SMS, "r")) return TRUE; getParams.index = arg_index; @@ -700,12 +715,13 @@ on_sms_set_sms_params(TelephonySms *sms, GDBusMethodInvocation *invocation, struct custom_data *ctx = user_data; UserRequest *ur = NULL; TReturn ret = TCORE_RETURN_SUCCESS; + cynara *p_cynara = (ctx)?ctx->p_cynara:NULL; int i = 0; GVariantIter *iter = 0; GVariant *inner_gv = 0; - if (!check_access_control (invocation, AC_SMS, "w")) + if (!check_access_control(p_cynara, invocation, AC_SMS, "w")) return TRUE; memset(&setParams, 0, sizeof(struct treq_sms_set_params)); @@ -777,8 +793,9 @@ on_sms_get_sms_param_cnt(TelephonySms *sms, GDBusMethodInvocation *invocation, struct custom_data *ctx = user_data; UserRequest *ur = NULL; TReturn ret = TCORE_RETURN_SUCCESS; + cynara *p_cynara = (ctx)?ctx->p_cynara:NULL; - if (!check_access_control (invocation, AC_SMS, "r")) + if (!check_access_control(p_cynara, invocation, AC_SMS, "r")) return TRUE; ur = MAKE_UR(ctx, sms, invocation); @@ -803,8 +820,9 @@ on_sms_get_sms_ready_status(TelephonySms *sms, GDBusMethodInvocation *invocation CoreObject *co_sms = NULL; TcorePlugin *plugin = NULL; gboolean ready_status = FALSE; + cynara *p_cynara = (ctx)?ctx->p_cynara:NULL; - if (!check_access_control (invocation, AC_SMS, "r")) + if (!check_access_control(p_cynara, invocation, AC_SMS, "r")) return TRUE; plugin = tcore_server_find_plugin(ctx->server, GET_CP_NAME(invocation)); diff --git a/src/ss.c b/src/ss.c index 84bdecf..12f354a 100755 --- a/src/ss.c +++ b/src/ss.c @@ -151,8 +151,9 @@ on_ss_activate_barring (TelephonySs *ss, struct custom_data *ctx = user_data; UserRequest *ur = NULL; int ret = 0; + cynara *p_cynara = (ctx)?ctx->p_cynara:NULL; - if (!check_access_control (invocation, AC_SS, "x")) + if (!check_access_control(p_cynara, invocation, AC_SS, "x")) return TRUE; memset(&req, 0, sizeof(struct treq_ss_barring)); @@ -195,8 +196,9 @@ on_ss_deactivate_barring (TelephonySs *ss, struct custom_data *ctx = user_data; UserRequest *ur = NULL; int ret = 0; + cynara *p_cynara = (ctx)?ctx->p_cynara:NULL; - if (!check_access_control (invocation, AC_SS, "x")) + if (!check_access_control(p_cynara, invocation, AC_SS, "x")) return TRUE; memset(&req, 0, sizeof(struct treq_ss_barring)); @@ -238,8 +240,9 @@ on_ss_change_barring_password (TelephonySs *ss, struct custom_data *ctx = user_data; UserRequest *ur = NULL; int ret = 0; + cynara *p_cynara = (ctx)?ctx->p_cynara:NULL; - if (!check_access_control (invocation, AC_SS, "x")) + if (!check_access_control(p_cynara, invocation, AC_SS, "x")) return TRUE; memset(&req, 0, sizeof(struct treq_ss_barring_change_password)); @@ -280,8 +283,9 @@ on_ss_get_barring_status (TelephonySs *ss, struct custom_data *ctx = user_data; UserRequest *ur = NULL; int ret = 0; + cynara *p_cynara = (ctx)?ctx->p_cynara:NULL; - if (!check_access_control (invocation, AC_SS, "r")) + if (!check_access_control(p_cynara, invocation, AC_SS, "r")) return TRUE; memset(&req, 0, sizeof(struct treq_ss_barring)); @@ -320,8 +324,9 @@ on_ss_register_forwarding (TelephonySs *ss, struct custom_data *ctx = user_data; UserRequest *ur = NULL; int ret = 0; + cynara *p_cynara = (ctx)?ctx->p_cynara:NULL; - if (!check_access_control (invocation, AC_SS, "w")) { + if (!check_access_control(p_cynara, invocation, AC_SS, "w")) { return TRUE; } @@ -366,8 +371,9 @@ on_ss_deregister_forwarding (TelephonySs *ss, struct custom_data *ctx = user_data; UserRequest *ur = NULL; int ret = 0; + cynara *p_cynara = (ctx)?ctx->p_cynara:NULL; - if (!check_access_control (invocation, AC_SS, "w")) { + if (!check_access_control(p_cynara, invocation, AC_SS, "w")) { return TRUE; } @@ -412,8 +418,9 @@ on_ss_activate_forwarding (TelephonySs *ss, struct custom_data *ctx = user_data; UserRequest *ur = NULL; int ret = 0; + cynara *p_cynara = (ctx)?ctx->p_cynara:NULL; - if (!check_access_control (invocation, AC_SS, "w")) { + if (!check_access_control(p_cynara, invocation, AC_SS, "w")) { return TRUE; } @@ -458,8 +465,9 @@ on_ss_deactivate_forwarding (TelephonySs *ss, struct custom_data *ctx = user_data; UserRequest *ur = NULL; int ret = 0; + cynara *p_cynara = (ctx)?ctx->p_cynara:NULL; - if (!check_access_control (invocation, AC_SS, "w")) { + if (!check_access_control(p_cynara, invocation, AC_SS, "w")) { return TRUE; } @@ -500,8 +508,9 @@ on_ss_get_forwarding_status (TelephonySs *ss, struct custom_data *ctx = user_data; UserRequest *ur = NULL; int ret = 0; + cynara *p_cynara = (ctx)?ctx->p_cynara:NULL; - if (!check_access_control (invocation, AC_SS, "r")) { + if (!check_access_control(p_cynara, invocation, AC_SS, "r")) { return TRUE; } @@ -537,8 +546,9 @@ on_ss_activate_waiting (TelephonySs *ss, struct custom_data *ctx = user_data; UserRequest *ur = NULL; int ret = 0; + cynara *p_cynara = (ctx)?ctx->p_cynara:NULL; - if (!check_access_control (invocation, AC_SS, "w")) { + if (!check_access_control(p_cynara, invocation, AC_SS, "w")) { return TRUE; } @@ -572,8 +582,9 @@ on_ss_deactivate_waiting (TelephonySs *ss, struct custom_data *ctx = user_data; UserRequest *ur = NULL; int ret = 0; + cynara *p_cynara = (ctx)?ctx->p_cynara:NULL; - if (!check_access_control (invocation, AC_SS, "w")) { + if (!check_access_control(p_cynara, invocation, AC_SS, "w")) { return TRUE; } memset(&req, 0, sizeof(struct treq_ss_waiting)); @@ -606,8 +617,9 @@ on_ss_get_waiting_status (TelephonySs *ss, struct custom_data *ctx = user_data; UserRequest *ur = NULL; int ret = 0; + cynara *p_cynara = (ctx)?ctx->p_cynara:NULL; - if (!check_access_control (invocation, AC_SS, "r")) { + if (!check_access_control(p_cynara, invocation, AC_SS, "r")) { return TRUE; } @@ -642,8 +654,9 @@ on_ss_set_cli_status (TelephonySs *ss, struct custom_data *ctx = user_data; UserRequest *ur = NULL; int ret = 0; + cynara *p_cynara = (ctx)?ctx->p_cynara:NULL; - if (!check_access_control (invocation, AC_SS, "w")) { + if (!check_access_control(p_cynara, invocation, AC_SS, "w")) { return TRUE; } @@ -679,8 +692,9 @@ on_ss_get_cli_status (TelephonySs *ss, struct custom_data *ctx = user_data; UserRequest *ur = NULL; int ret = 0; + cynara *p_cynara = (ctx)?ctx->p_cynara:NULL; - if (!check_access_control (invocation, AC_SS, "r")) { + if (!check_access_control(p_cynara, invocation, AC_SS, "r")) { return TRUE; } @@ -717,8 +731,9 @@ on_ss_send_ussd (TelephonySs *ss, struct custom_data *ctx = user_data; UserRequest *ur = NULL; int ret = 0; + cynara *p_cynara = (ctx)?ctx->p_cynara:NULL; - if (!check_access_control (invocation, AC_SS, "x")) { + if (!check_access_control(p_cynara, invocation, AC_SS, "x")) { return TRUE; } memset(&req, 0, sizeof(struct treq_ss_ussd));