Fix the memset size errors
[platform/core/connectivity/bluetooth-frwk.git] / bt-service / bt-service-obex-server.c
index 3c0003d..af30019 100644 (file)
@@ -20,7 +20,7 @@
 #include <dlog.h>
 #include <string.h>
 #include <dirent.h>
-#ifdef TIZEN_DPM_ENABLE
+#ifdef TIZEN_FEATURE_BT_DPM
 #include "bt-service-dpm.h"
 #endif
 
@@ -259,7 +259,7 @@ static char *__bt_get_remote_device_name(const char *bdaddress)
        device_path = _bt_get_device_object_path((char *)bdaddress);
        retv_if(device_path == NULL, NULL);
 
-       conn = _bt_get_system_gconn();
+       conn = _bt_gdbus_get_system_gconn();
        retv_if(conn == NULL, NULL);
        BT_INFO("Device_path %s", device_path);
        device_proxy = g_dbus_proxy_new_sync(conn, G_DBUS_PROXY_FLAGS_NONE,
@@ -326,7 +326,7 @@ static void __bt_get_remote_device_name_authinfo(const char *bdaddress,
        device_path = _bt_get_device_object_path((char *)bdaddress);
        ret_if(device_path == NULL);
 
-       conn = _bt_get_system_gconn();
+       conn = _bt_gdbus_get_system_gconn();
        ret_if(conn == NULL);
        BT_INFO("Device_path %s", device_path);
        device_proxy = g_dbus_proxy_new_sync(conn, G_DBUS_PROXY_FLAGS_NONE,
@@ -370,7 +370,7 @@ static void __bt_get_remote_device_name_authinfo(const char *bdaddress,
                                g_variant_unref(temp_value);
                        DBG_SECURE("Name = %s", name);
                }
-               temp_value = g_variant_lookup_value (value, "IsAliasSet", G_VARIANT_TYPE_BOOLEAN);
+               temp_value = g_variant_lookup_value(value, "IsAliasSet", G_VARIANT_TYPE_BOOLEAN);
                if (temp_value) {
                        is_alias_set = g_variant_get_boolean(temp_value);
                        g_variant_unref(temp_value);
@@ -407,7 +407,7 @@ static GDBusProxy *__bt_get_transfer_proxy(const char *transfer_path)
        GDBusProxy *proxy;
        GError *err = NULL;
 
-       conn = _bt_get_session_gconn();
+       conn = _bt_gdbus_get_system_gconn();
        retv_if(conn == NULL, NULL);
 
        proxy = g_dbus_proxy_new_sync(conn, G_DBUS_PROXY_FLAGS_NONE,
@@ -430,7 +430,7 @@ static GDBusProxy *__bt_get_transfer_properties_proxy(const char *transfer_path)
        GDBusConnection *conn;
        GDBusProxy *proxy;
        GError *err = NULL;
-       conn = _bt_get_session_gconn();
+       conn = _bt_gdbus_get_system_gconn();
        retv_if(conn == NULL, NULL);
 
        proxy = g_dbus_proxy_new_sync(conn, G_DBUS_PROXY_FLAGS_NONE,
@@ -535,6 +535,9 @@ static gboolean __bt_authorize_cb(GDBusMethodInvocation *context,
        GVariant *param = NULL;
        GError *err = NULL;
        bt_session_info_t *session_info = NULL;
+#ifdef TIZEN_FEATURE_BT_DPM
+       int value = DPM_BT_ERROR;
+#endif
 
        BT_DBG(" path [%s] \n", path);
 
@@ -573,8 +576,9 @@ static gboolean __bt_authorize_cb(GDBusMethodInvocation *context,
 
        agent_info.auth_info->transfer_path = g_strdup(path);
 
-#ifdef TIZEN_DPM_ENABLE
-       if (_bt_dpm_get_allow_bluetooth_mode() == DPM_BT_HANDSFREE_ONLY) {
+#ifdef TIZEN_FEATURE_BT_DPM
+       _bt_dpm_get_allow_bluetooth_mode(&value);
+       if (value == DPM_BT_HANDSFREE_ONLY) {
                /* Free auth info in next function */
                _bt_obex_server_reject_authorize();
                return FALSE;
@@ -585,13 +589,12 @@ static gboolean __bt_authorize_cb(GDBusMethodInvocation *context,
                GVariant *val;
                gsize len = 0;
                while (g_variant_iter_loop(iter, "{sv}", &key, &val)) {
-                       if (g_strcmp0(key, "Name") == 0) {
+                       if (g_strcmp0(key, "Name") == 0)
                                agent_info.auth_info->filename = g_variant_dup_string(val, &len);
-                       } else if (g_strcmp0(key, "Address") == 0) {
+                       else if (g_strcmp0(key, "Address") == 0)
                                bdaddress = g_variant_dup_string(val, &len);
-                       } else if (g_strcmp0(key, "Size") == 0) {
+                       else if (g_strcmp0(key, "Size") == 0)
                                agent_info.auth_info->file_size = g_variant_get_uint64(val);
-                       }
                }
                g_variant_iter_free(iter);
        }
@@ -606,7 +609,7 @@ static gboolean __bt_authorize_cb(GDBusMethodInvocation *context,
        memcpy(agent_info.auth_info->contact_auth_info, auth_info, 5);
 
        session_info = __bt_find_session_by_path((char *)path);
-       if(NULL == session_info) {
+       if (NULL == session_info) {
                session_info = g_malloc0(sizeof(bt_session_info_t));
                session_info->path = g_strdup(path);
                session_info->address = g_strdup(bdaddress);
@@ -623,17 +626,18 @@ static gboolean __bt_authorize_cb(GDBusMethodInvocation *context,
                return TRUE;
        }
 
-       if(session_info->authorized == FALSE) {
-               _bt_launch_system_popup(BT_AGENT_EVENT_EXCHANGE_REQUEST, device_name,
+       if (session_info->authorized == FALSE) {
+               if (headed_plugin_info->plugin_headed_enabled)
+                       headed_plugin_info->headed_plugin->bt_launch_system_popup(BT_AGENT_EVENT_EXCHANGE_REQUEST, device_name,
                                        auth_info, NULL, NULL, BT_OBEX_SERVER_AGENT_PATH);
        } else {
                param = g_variant_new("(istss)", result,
-                       agent_info.auth_info->filename,
-                       agent_info.auth_info->file_size,
-                       agent_info.auth_info->address,
-                       agent_info.auth_info->device_name);
+                               agent_info.auth_info->filename,
+                               agent_info.auth_info->file_size,
+                               agent_info.auth_info->address,
+                               agent_info.auth_info->device_name);
                _bt_send_event(BT_OPP_SERVER_EVENT,
-                       BLUETOOTH_EVENT_OBEX_SERVER_TRANSFER_AUTHORIZE, param);
+                               BLUETOOTH_EVENT_OBEX_SERVER_TRANSFER_AUTHORIZE, param);
        }
 
        return TRUE;
@@ -726,7 +730,7 @@ done:
        __bt_free_auth_info(agent_info.auth_info);
        agent_info.auth_info = NULL;
 
-       g_variant_builder_unref (builder);
+       g_variant_builder_unref(builder);
 
        _bt_send_event(BT_OPP_SERVER_EVENT,
                BLUETOOTH_EVENT_OBEX_SERVER_TRANSFER_STARTED,
@@ -812,9 +816,9 @@ void _bt_obex_transfer_completed(const char *transfer_path, gboolean success)
                        g_variant_builder_add(builder, "y", agent_info.auth_info->contact_auth_info[i]);
 
                param = g_variant_new("(isssstii(ay))", result,
+                                       transfer_info->device_name,
                                        transfer_info->filename,
                                        transfer_info->type,
-                                       transfer_info->device_name,
                                        transfer_info->address,
                                        transfer_info->file_size,
                                        transfer_info->transfer_id,
@@ -823,7 +827,7 @@ void _bt_obex_transfer_completed(const char *transfer_path, gboolean success)
                _bt_send_event(BT_OPP_SERVER_EVENT,
                        BLUETOOTH_EVENT_OBEX_SERVER_TRANSFER_STARTED,
                        param);
-               g_variant_builder_unref (builder);
+               g_variant_builder_unref(builder);
        }
        param = g_variant_new("(issssstii)", result,
                                transfer_info->filename,
@@ -900,7 +904,7 @@ int _bt_register_obex_server(void)
        GError *g_error = NULL;
 
        /* Get the session bus. */
-       g_conn = _bt_get_session_gconn();
+       g_conn = _bt_gdbus_get_system_gconn();
        retv_if(g_conn == NULL, BLUETOOTH_ERROR_INTERNAL);
 
        _bt_obex_agent_new(BT_OBEX_SERVER_AGENT_PATH);
@@ -916,9 +920,8 @@ int _bt_register_obex_server(void)
                                                BT_OBEX_MANAGER,
                                                NULL, &g_error);
 
-       if (manager_proxy == NULL) {
+       if (manager_proxy == NULL)
                return BLUETOOTH_ERROR_INTERNAL;
-       }
 
        result = g_dbus_proxy_call_sync(manager_proxy, "RegisterAgent",
                                g_variant_new("(o)", BT_OBEX_SERVER_AGENT_PATH),
@@ -987,14 +990,13 @@ gboolean __bt_check_folder_path(const char *dest_path)
        return TRUE;
 }
 
-const char *__bt_transfer_folder_path(const char *dest_path)
+char *__bt_transfer_folder_path(char *dest_path)
 {
-       const char *dst_path = (const char *)g_malloc0(BT_OBEX_PATH_MAX_LENGTH);
-       if (g_str_has_prefix(dest_path, BT_OBEX_PATH_PREFIX)) {
-               snprintf((const char *)dst_path, BT_OBEX_PATH_MAX_LENGTH, BT_OBEX_DEFAULT_PATH"%s", dest_path + strlen(BT_OBEX_PATH_PREFIX));
-       } else {
-               snprintf((const char *)dst_path, BT_OBEX_PATH_MAX_LENGTH, "%s", dest_path);
-       }
+       char *dst_path = (char *)g_malloc0(BT_OBEX_PATH_MAX_LENGTH);
+       if (g_str_has_prefix(dest_path, BT_OBEX_PATH_PREFIX))
+               snprintf(dst_path, BT_OBEX_PATH_MAX_LENGTH, BT_OBEX_DEFAULT_PATH"%s", dest_path + strlen(BT_OBEX_PATH_PREFIX));
+       else
+               snprintf(dst_path, BT_OBEX_PATH_MAX_LENGTH, "%s", dest_path);
 
        BT_INFO("obex transfed path : %s", dst_path);
        return dst_path;
@@ -1004,8 +1006,8 @@ int _bt_obex_server_allocate(char *sender, const char *dest_path, int app_pid, g
 {
        BT_DBG("+");
 
-       const char *dst_path;
-       dst_path = __bt_transfer_folder_path(dest_path);
+       char *dst_path;
+       dst_path = __bt_transfer_folder_path((char *)dest_path);
 
        if (__bt_check_folder_path(dst_path) == FALSE) {
                g_free(dst_path);
@@ -1134,11 +1136,11 @@ void _bt_obex_server_reply_accept(void)
        _bt_send_event(BT_OPP_SERVER_EVENT, BLUETOOTH_EVENT_OBEX_SERVER_TRANSFER_AUTHORIZE, param);
 
        session_info = __bt_find_session_by_path(agent_info.auth_info->transfer_path);
-       if(NULL == session_info) {
+
+       if (NULL == session_info)
                BT_ERR("Couldn't get the session info from the list");
-       } else {
+       else
                session_info->authorized = TRUE;
-       }
 }
 
 int _bt_obex_server_reject_authorize(void)
@@ -1168,8 +1170,8 @@ int _bt_obex_server_set_destination_path(const char *dest_path,
        bt_server_info_t *server_info;
        BT_CHECK_PARAMETER(dest_path, return);
 
-       const char *dst_path;
-       dst_path = __bt_transfer_folder_path(dest_path);
+       char *dst_path;
+       dst_path = __bt_transfer_folder_path((char *)dest_path);
 
        DIR *dp = NULL;
 
@@ -1188,8 +1190,11 @@ int _bt_obex_server_set_destination_path(const char *dest_path,
        else
                server_info = agent_info.custom_server;
 
-       retv_if(server_info == NULL,
-                       BLUETOOTH_ERROR_AGENT_DOES_NOT_EXIST);
+       if (!server_info) {
+               BT_ERR("obex server info is NULL");
+               g_free(dst_path);
+               return BLUETOOTH_ERROR_AGENT_DOES_NOT_EXIST;
+       }
 
        g_free(server_info->dest_path);
        server_info->dest_path = g_strdup(dst_path);
@@ -1208,8 +1213,8 @@ int _bt_obex_server_set_root(const char *root)
 
        BT_CHECK_PARAMETER(root, return);
 
-       const char *dst_root;
-       dst_root = __bt_transfer_folder_path(root);
+       char *dst_root;
+       dst_root = __bt_transfer_folder_path((char *)root);
 
        if (!agent_info.proxy) {
                BT_ERR("obex agent_info proxy error");
@@ -1299,11 +1304,10 @@ int _bt_obex_server_is_activated(gboolean *activated)
 {
        BT_CHECK_PARAMETER(activated, return);
 
-       if (agent_info.custom_server) {
+       if (agent_info.custom_server)
                *activated = TRUE;
-       } else {
+       else
                *activated = FALSE;
-       }
 
        return BLUETOOTH_ERROR_NONE;
 }
@@ -1312,11 +1316,10 @@ int _bt_obex_server_check_allocation(gboolean *allocation)
 {
        BT_CHECK_PARAMETER(allocation, return);
 
-       if (agent_info.native_server || agent_info.custom_server) {
+       if (agent_info.native_server || agent_info.custom_server)
                *allocation = TRUE;
-       } else {
+       else
                *allocation = FALSE;
-       }
 
        return BLUETOOTH_ERROR_NONE;
 }
@@ -1346,11 +1349,10 @@ int _bt_obex_server_is_receiving(gboolean *receiving)
 {
        BT_CHECK_PARAMETER(receiving, return);
 
-       if (transfers == NULL || g_slist_length(transfers) == 0) {
+       if (transfers == NULL || g_slist_length(transfers) == 0)
                *receiving = FALSE;
-       } else {
+       else
                *receiving = TRUE;
-       }
 
        return BLUETOOTH_ERROR_NONE;
 }