diff options
author | Luiz Augusto von Dentz <luiz.von.dentz@intel.com> | 2013-04-10 14:41:00 +0300 |
---|---|---|
committer | Luiz Augusto von Dentz <luiz.von.dentz@intel.com> | 2013-05-10 14:56:25 +0300 |
commit | b5afba21818acfa7f001966c51e3dca54d6d9f2a (patch) | |
tree | f12cf059df5f4645e342d649f01040f86d7e4810 /obexd/src | |
parent | 071f1e6055b469a156a558ad25c40203cb3eaf62 (diff) | |
download | bluez-b5afba21818acfa7f001966c51e3dca54d6d9f2a.tar.gz |
obexd: Fix using the same prefix for client and server sessions
This avoids using the same path for different sessions which fail since
it cannot register a second time causing an unexpected error.
Diffstat (limited to 'obexd/src')
-rw-r--r-- | obexd/src/manager.c | 9 |
1 files changed, 6 insertions, 3 deletions
diff --git a/obexd/src/manager.c b/obexd/src/manager.c index c0887ca9d..b67567bc2 100644 --- a/obexd/src/manager.c +++ b/obexd/src/manager.c @@ -45,6 +45,7 @@ #include "service.h" #define OBEX_BASE_PATH "/org/bluez/obex" +#define SESSION_BASE_PATH OBEX_BASE_PATH "/server" #define OBEX_MANAGER_INTERFACE OBEXD_SERVICE ".AgentManager1" #define ERROR_INTERFACE OBEXD_SERVICE ".Error" #define TRANSFER_INTERFACE OBEXD_SERVICE ".Transfer1" @@ -354,7 +355,7 @@ static gboolean transfer_get_session(const GDBusPropertyTable *property, if (session == NULL) return FALSE; - path = g_strdup_printf("%s/session%u", OBEX_BASE_PATH, session->id); + path = g_strdup_printf("%s/session%u", SESSION_BASE_PATH, session->id); dbus_message_iter_append_basic(iter, DBUS_TYPE_OBJECT_PATH, &path); @@ -614,7 +615,7 @@ struct obex_transfer *manager_register_transfer(struct obex_session *os) transfer = g_new0(struct obex_transfer, 1); transfer->path = g_strdup_printf("%s/session%u/transfer%u", - OBEX_BASE_PATH, os->id, id++); + SESSION_BASE_PATH, os->id, id++); transfer->session = os; if (!g_dbus_register_interface(connection, transfer->path, @@ -800,7 +801,9 @@ static const GDBusMethodTable session_methods[] = { void manager_register_session(struct obex_session *os) { - char *path = g_strdup_printf("%s/session%u", OBEX_BASE_PATH, os->id); + char *path; + + path = g_strdup_printf("%s/session%u", SESSION_BASE_PATH, os->id); if (!g_dbus_register_interface(connection, path, SESSION_INTERFACE, |