summaryrefslogtreecommitdiffstats
path: root/binding/bluetooth-map-api.c
diff options
context:
space:
mode:
authorMatt Ranostay <matt.ranostay@konsulko.com>2019-07-29 18:05:28 -0700
committerMatt Ranostay <matt.ranostay@konsulko.com>2019-07-30 10:53:51 -0700
commita1df423eecb22b13a9b8842c53c69f50a7d6debd (patch)
tree62fe6b29b3e717e67da955cb5d84618d387db65e /binding/bluetooth-map-api.c
parent0eeed9da0a8cd47f3ba5ee84f166103f8dd4c9a0 (diff)
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 <matt.ranostay@konsulko.com>
Diffstat (limited to 'binding/bluetooth-map-api.c')
-rw-r--r--binding/bluetooth-map-api.c11
1 files changed, 6 insertions, 5 deletions
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,