From a1df423eecb22b13a9b8842c53c69f50a7d6debd Mon Sep 17 00:00:00 2001 From: Matt Ranostay Date: Mon, 29 Jul 2019 18:05:28 -0700 Subject: binding: bluetooth-map: move data transfer results to shared directory Data transfers needs to be stored in /run/user/UID/usrshr to get the User::App-Shared Smack label on creation from obexd Bug-AGL: SPEC-2695 Change-Id: Ia482234fe7356cb0965c1ed7e4065e72543514bd Signed-off-by: Matt Ranostay --- binding/bluetooth-map-api.c | 11 ++++++----- 1 file changed, 6 insertions(+), 5 deletions(-) (limited to 'binding/bluetooth-map-api.c') diff --git a/binding/bluetooth-map-api.c b/binding/bluetooth-map-api.c index 2784243..40acb7f 100644 --- a/binding/bluetooth-map-api.c +++ b/binding/bluetooth-map-api.c @@ -314,9 +314,8 @@ static void compose(afb_req_t request) GError *error = NULL; GString *message = NULL; GVariant *params, *reply; - gchar *name, *session; + gchar *name, *session, *hash; struct call_work *cw; - int fd; call_work_lock(ns); if (!ns || !ns->session_path) { @@ -333,8 +332,10 @@ static void compose(afb_req_t request) goto err_msg_invalid; } - fd = g_file_open_tmp("obex-clientXXXXXX", &name, NULL); - close(fd); + hash = g_compute_checksum_for_string(G_CHECKSUM_MD5, + message->str, sizeof(message->str)); + name = g_strconcat(get_obex_tmpdir(), "/obex-client-", hash, NULL); + g_free(hash); g_file_set_contents(name, message->str, -1, NULL); g_string_free(message, TRUE); @@ -441,7 +442,7 @@ static void message(afb_req_t request) cw->request = request; afb_req_addref(request); - filename = g_strconcat("/tmp/obex-message-", handle, NULL); + filename = g_strconcat(get_obex_tmpdir(), "/obex-message-", handle, NULL); params = g_variant_new("(&sb)", filename, g_variant_new_boolean(FALSE)); cw->cpw = bluez_call_async(ns, BLUEZ_AT_MESSAGE, path, "Get", params, &error, -- cgit 1.2.3-korg