OSDN Git Service
Anderson Lizardo [Thu, 18 Jul 2013 02:20:09 +0000 (22:20 -0400)]
lib: Remove duplicated HSP_HS_UUID definition
There is an identical definition on the same header file (next to
HSP_AG_UUID).
Luiz Augusto von Dentz [Wed, 17 Jul 2013 11:27:53 +0000 (14:27 +0300)]
tools/bluetooth-player: Make show-item command print Player property
This makes show-item command to print Player property that indicates
which player the item belongs to.
Luiz Augusto von Dentz [Wed, 17 Jul 2013 11:18:26 +0000 (14:18 +0300)]
doc/media-api: Update documentation of MediaItem1
This adds documentation of property Player
Luiz Augusto von Dentz [Wed, 17 Jul 2013 11:17:11 +0000 (14:17 +0300)]
audio/player: Add Player property to MediaItem1
This proper refer to the player object path which the item belongs to
Luiz Augusto von Dentz [Wed, 17 Jul 2013 10:51:36 +0000 (13:51 +0300)]
doc/media-api: Update documentation of MediaFolder1
This adds missing access types to properties NumberOfItems and Name
Martin Xu [Wed, 17 Jul 2013 02:37:25 +0000 (10:37 +0800)]
core: Fix default authorize value for external profiles
Previously the value of "authorize" was essentially ignored in the
settings table. This wasn't very noticeable since almost all profiles
use the default true value. Since the default value of "authorize" is
true it cannot be left out from the default settings table entries
(leaving it out would set it implicitly to false).
Luiz Augusto von Dentz [Tue, 16 Jul 2013 11:51:36 +0000 (14:51 +0300)]
doc/media-api: Update documentation of MediaPlayer1
This adds documentation of properties Type and Subtype
Johan Hedberg [Tue, 16 Jul 2013 10:59:17 +0000 (13:59 +0300)]
input: Add debug logs for attio connection status in HoG code
Johan Hedberg [Tue, 16 Jul 2013 10:58:37 +0000 (13:58 +0300)]
input: Fix minor coding style issue in HoG code
Johan Hedberg [Tue, 16 Jul 2013 10:53:59 +0000 (13:53 +0300)]
core: Add debug log for attrib disconnection reason
Johan Hedberg [Mon, 15 Jul 2013 11:29:54 +0000 (14:29 +0300)]
core: Remove unnecessary btd_device reference count in browse_req
The browse request is "owned" by the btd_device structure so it doesn't
make sense to have browse_req keeping an extra reference for the
btd_device.
Szymon Janc [Tue, 9 Jul 2013 07:40:00 +0000 (09:40 +0200)]
core: Use proper header for S_IRUSR/S_IWUSR
According to open() manual one should include <sys/stat.h>.
This fix build with bionic library:
target thumb C: libbluetoothd <= external/bluetooth/bluez/src/attrib-server.c
external/bluetooth/bluez/src/attrib-server.c: In function 'write_value':
external/bluetooth/bluez/src/attrib-server.c:922:26: error: 'S_IRUSR'
undeclared (first use in this function)
external/bluetooth/bluez/src/attrib-server.c:922:26: note: each undeclared
identifier is reported only once for each function it appears in
external/bluetooth/bluez/src/attrib-server.c:922:36: error: 'S_IWUSR'
undeclared (first use in this function)
Luiz Augusto von Dentz [Thu, 11 Jul 2013 09:48:19 +0000 (12:48 +0300)]
plugins/policy: Limit the number of retries to sink profile
The policy should only retry a limit number of times.
Luiz Augusto von Dentz [Thu, 11 Jul 2013 09:40:54 +0000 (12:40 +0300)]
plugins/policy: Limit the number of retries to source profile
The policy should only retry a limit number of times.
Luiz Augusto von Dentz [Tue, 9 Jul 2013 11:46:03 +0000 (14:46 +0300)]
audio/control: Enable initiate connection to CT role
Since the policy uses service API to initiate the connections this needs
to be enabled for both CT and TG roles.
Luiz Augusto von Dentz [Fri, 5 Jul 2013 10:38:42 +0000 (13:38 +0300)]
audio/sink: Move stream retry logic to policy plugin
policy plugin is a better place to have such a logic as it is already
handling other connection policies related to such profiles.
Luiz Augusto von Dentz [Fri, 5 Jul 2013 10:29:28 +0000 (13:29 +0300)]
audio/source: Move stream retry logic to policy plugin
policy plugin is a better place to have such a logic as it is already
handling other connection policies related to such profiles.
Luiz Augusto von Dentz [Tue, 2 Jul 2013 15:31:59 +0000 (18:31 +0300)]
plugins/policy: Reword audio policy code in a simple plugin
This moves audio device policy to a plugin and removes any dependency of
audio plugin to it.
Luiz Augusto von Dentz [Tue, 2 Jul 2013 13:47:34 +0000 (16:47 +0300)]
audio/main: Remove dependency on struct audio_device
This is part of the work necessary to completely remove
struct audio_device
Luiz Augusto von Dentz [Tue, 2 Jul 2013 13:45:23 +0000 (16:45 +0300)]
audio/manager: Remove dependency on struct audio_device
This is part of the work necessary to completely remove
struct audio_device
Luiz Augusto von Dentz [Tue, 2 Jul 2013 13:14:54 +0000 (16:14 +0300)]
audio/transport: Remove dependency on struct audio_device
This is part of the work necessary to completely remove
struct audio_device
Luiz Augusto von Dentz [Tue, 2 Jul 2013 13:14:10 +0000 (16:14 +0300)]
audio/media: Remove dependency on struct audio_device
This is part of the work necessary to completely remove
struct audio_device
Luiz Augusto von Dentz [Tue, 2 Jul 2013 13:02:45 +0000 (16:02 +0300)]
audio/source: Remove dependency on struct audio_device
This is part of the work necessary to completely remove
struct audio_device
Luiz Augusto von Dentz [Tue, 2 Jul 2013 11:33:37 +0000 (14:33 +0300)]
audio/sink: Remove dependency on struct audio_device
This is part of the work necessary to completely remove
struct audio_device
Luiz Augusto von Dentz [Tue, 2 Jul 2013 11:16:51 +0000 (14:16 +0300)]
audio/A2DP: Remove dependency on struct audio_device
This is part of the work necessary to completely remove
struct audio_device
Luiz Augusto von Dentz [Mon, 1 Jul 2013 13:36:07 +0000 (16:36 +0300)]
audio/control: Remove dependency on struct audio_device
This is part of the work necessary to completely remove
struct audio_device
Luiz Augusto von Dentz [Mon, 1 Jul 2013 13:20:46 +0000 (16:20 +0300)]
audio/AVRCP: Remove dependency on struct audio_device
This is part of the work necessary to completely remove
struct audio_device
Luiz Augusto von Dentz [Fri, 28 Jun 2013 13:03:14 +0000 (16:03 +0300)]
audio/AVDTP: Remove dependency on struct audio_device
This is part of the work necessary to completely remove
struct audio_device
Luiz Augusto von Dentz [Fri, 28 Jun 2013 08:01:00 +0000 (11:01 +0300)]
audio/AVCTP: Remove dependency on struct audio_device
This is part of the work necessary to completely remove
struct audio_device
Luiz Augusto von Dentz [Thu, 27 Jun 2013 12:03:13 +0000 (15:03 +0300)]
audio/control: Reduce dependency on struct audio_device
This is part of the work necessary to completely remove
struct audio_device
Luiz Augusto von Dentz [Thu, 27 Jun 2013 09:32:41 +0000 (12:32 +0300)]
audio/source: Reduce dependency on struct audio_device
This is part of the work necessary to completely remove
struct audio_device
Luiz Augusto von Dentz [Wed, 26 Jun 2013 12:52:27 +0000 (15:52 +0300)]
audio/sink: Reduce dependency on struct audio_device
This is part of the work necessary to completely remove
struct audio_device
Luiz Augusto von Dentz [Tue, 25 Jun 2013 11:47:10 +0000 (14:47 +0300)]
audio/control: Use service user_data for private data
This remove the need of forward declaration of struct control and prepare
for a complete removal of struct audio_device.
Luiz Augusto von Dentz [Tue, 25 Jun 2013 11:21:02 +0000 (14:21 +0300)]
audio/source: Use service user_data for private data
This remove the need of forward declaration of struct source and prepare
for a complete removal of struct audio_device.
Luiz Augusto von Dentz [Tue, 25 Jun 2013 11:02:02 +0000 (14:02 +0300)]
audio/sink: Use service user_data for private data
This remove the need of forward declaration of struct sink and prepare
for a complete removal of struct audio_device.
Johan Hedberg [Fri, 12 Jul 2013 11:04:58 +0000 (14:04 +0300)]
core: Clear temporary flag only when a real profile is connected
Johan Hedberg [Fri, 12 Jul 2013 11:04:05 +0000 (14:04 +0300)]
input: Fix rejecting connections from unknown devices
Johan Hedberg [Fri, 12 Jul 2013 10:18:14 +0000 (13:18 +0300)]
core: Fix incorrect update of dev->svc_refreshed
Johan Hedberg [Fri, 12 Jul 2013 09:50:45 +0000 (12:50 +0300)]
input: Fix service disconnected state transition
Without this patch the input service would remain in connected state
whenever a remotely initiated disconnection happens.
Johan Hedberg [Fri, 12 Jul 2013 09:28:57 +0000 (12:28 +0300)]
core: Remove unnecessary device_resolve_svc function
Johan Hedberg [Fri, 12 Jul 2013 09:25:32 +0000 (12:25 +0300)]
input: Add some extra debug statements to clarify connection flow
Johan Hedberg [Fri, 12 Jul 2013 08:14:44 +0000 (11:14 +0300)]
core: Fix returning correct D-Bus reply when refreshing services
Johan Hedberg [Fri, 12 Jul 2013 07:43:25 +0000 (10:43 +0300)]
core: Clear device->attrib pointer before calling g_attrib_cancel_all
The g_attrib_cancel_all function may call functions such as
find_included_cb that should at this point no longer have access to the
GAttrib instance and try to do operations with it. Therefore it is
safest to ensure that device->attrib is no longer available in these
functions.
Frederic Danis [Thu, 11 Jul 2013 12:37:28 +0000 (14:37 +0200)]
core: Remove redundant includes from sdpd-*.c
Johan Hedberg [Thu, 11 Jul 2013 11:17:27 +0000 (14:17 +0300)]
core: Refresh SDP services if no matching profiles were found
Johan Hedberg [Thu, 11 Jul 2013 08:39:06 +0000 (11:39 +0300)]
core: Simplify code flow in search_cb
Johan Hedberg [Thu, 11 Jul 2013 08:38:44 +0000 (11:38 +0300)]
core: Implement passive SDP discovery after connecting known services
Johan Hedberg [Thu, 11 Jul 2013 08:30:55 +0000 (11:30 +0300)]
core: Remove unnecessary secure paramter from device_browse_primary
Johan Hedberg [Thu, 11 Jul 2013 08:29:03 +0000 (11:29 +0300)]
core: Remove unused reverse parameter from device_browse_sdp
Johan Hedberg [Thu, 11 Jul 2013 08:26:23 +0000 (11:26 +0300)]
core: Set low priority for SDP data
In the case that there are other channels over the same ACL we want SDP
transactions to interfere as little as possible.
Johan Hedberg [Wed, 10 Jul 2013 11:45:34 +0000 (14:45 +0300)]
core: Use g_dbus_send_reply over dbus_message_new_method_return
Johan Hedberg [Wed, 10 Jul 2013 11:37:08 +0000 (14:37 +0300)]
core: Remove profile removal detection
This code has been nonfunctional since 5.0 and it seems no-one cares for
it, so just remove it.
Johan Hedberg [Wed, 10 Jul 2013 10:55:04 +0000 (13:55 +0300)]
core: Fix incorrectly restarting service discovery after pairing
If services are already discovered through a Device1.Connect() call we
should not retry discovering them when Device1.Pair() is called.
Luiz Augusto von Dentz [Tue, 9 Jul 2013 09:54:50 +0000 (12:54 +0300)]
core/device: Don't call btd_service_disconnect on device_remove
device_remove is called to cleanup/free the device objects so the
services should be disconnected before hand.
Luiz Augusto von Dentz [Fri, 5 Jul 2013 12:55:47 +0000 (15:55 +0300)]
core/device: Fix crash while freeing services list
btd_service do alter its state on service_remove which can cause
plugins to attempt to access services list which may have freed some
services already.
To fix this the code now updates the list in place so the services are
first removed from services list before calling service_remove.
Luiz Augusto von Dentz [Fri, 5 Jul 2013 12:47:51 +0000 (15:47 +0300)]
core/service: Rename service_shutdown to service_remove
This rename service_shutdown to service_remove to make it more similar to
other internal APIs such as device_remove which only do object
cleanup/free and do not have any disconnect logic.
Szymon Janc [Wed, 26 Jun 2013 20:26:35 +0000 (22:26 +0200)]
lib: Add range check for SDP_SVC_ATTR_RSP/SDP_SVC_SEARCH_ATTR_RSP
This is an improved version of recently reverted commit
1796f00e8465.
Response size is verified against minimal allowed value only if it is
complete response. If response is partial it is allowed by spec that
it will be split in arbitrary manner.
Verified against Nokia BH217 on which original commit caused
regression.
Martin [Fri, 5 Jul 2013 09:38:26 +0000 (17:38 +0800)]
obexd/client: Add Target property to Session interface
Target property is already documented property but it was not
implemented.
Luiz Augusto von Dentz [Thu, 4 Jul 2013 12:00:45 +0000 (15:00 +0300)]
audio/source: Fix not notifying service about connection state
btd_service_connecting_complete should be called whenever the service
is connected otherwise the service state will not be consistent.
Luiz Augusto von Dentz [Thu, 4 Jul 2013 12:00:44 +0000 (15:00 +0300)]
audio/sink: Fix not notifying service about connection state
btd_service_connecting_complete should be called whenever the service
is connected otherwise the service state will not be consistent.
Jefferson Delfes [Wed, 3 Jul 2013 20:54:56 +0000 (16:54 -0400)]
emulator: Implement LE advertising report
When a virtual device starts a LE advertising, emulator searches for
other virtual devices that are in scan mode, in order to send adv data
to these devices.
Inverse goes when LE scan is enabled. Emulator searches virtual devices
that are in advertising mode and copy adv data to them.
Jefferson Delfes [Wed, 3 Jul 2013 20:54:55 +0000 (16:54 -0400)]
emulator: Dummy LE set advertising parameters
Implement basic LE set adv parameters command.
Jefferson Delfes [Wed, 3 Jul 2013 20:54:54 +0000 (16:54 -0400)]
emulator: Disallow LE set scan params command when scan is enabled
When LE scan is enabled, the command LE set scan parameters should
return a command disallowed in status of command complete event.
Jefferson Delfes [Wed, 3 Jul 2013 20:54:53 +0000 (16:54 -0400)]
emulator: Store LE scan state of virtual controller
The LE command set scan enable can change the scan state of virtual
controller.
Jefferson Delfes [Wed, 3 Jul 2013 20:54:52 +0000 (16:54 -0400)]
emulator: Implement basic LE set adv enable command
Store advertising state of virtual controller in btdev struct.
Jefferson Delfes [Wed, 3 Jul 2013 20:54:51 +0000 (16:54 -0400)]
emulator: Store LE advertising data length in btdev
LE advertising data length will be used for emulating reports in other
virtual devices.
Christian Fetzer [Fri, 28 Jun 2013 10:16:07 +0000 (12:16 +0200)]
obexd: Re-add D-Bus session properties
This got lost when switching to org.freedesktop.DBus.Properties.
Marcel Holtmann [Fri, 28 Jun 2013 19:07:20 +0000 (12:07 -0700)]
monitor: Print UUID-32 and UUID-128 strings
Marcel Holtmann [Fri, 28 Jun 2013 19:06:06 +0000 (12:06 -0700)]
monitor: Add stub for UUID-128 to string conversion
Marcel Holtmann [Wed, 26 Jun 2013 17:10:50 +0000 (10:10 -0700)]
Release 5.7
Marcel Holtmann [Wed, 26 Jun 2013 17:03:17 +0000 (10:03 -0700)]
build: Update library version
Luiz Augusto von Dentz [Wed, 26 Jun 2013 13:08:35 +0000 (16:08 +0300)]
obexd/MAP: Fix assigning pointer not value to 0
The fix introduced by
455fb131f08cddc9759c877e38ebff3b4bd975b2 would
leave err value uninitialized and set the pointer to 0 which doesn't
make any sense.
Johan Hedberg [Wed, 26 Jun 2013 11:30:11 +0000 (14:30 +0300)]
lib: Update company identifiers
Luiz Augusto von Dentz [Wed, 26 Jun 2013 10:36:57 +0000 (13:36 +0300)]
audio/player: Fix crash when current item UID is set to 0
Apparently some stacks set the current UID to 0 when paused/stopped
which causes the following:
bluetoothd[23185]: profiles/audio/player.c:media_player_set_playlist_item() 0
bluetoothd[23185]: profiles/audio/player.c:media_folder_create_item() (null) type audio uid 0
process 23185: arguments to dbus_message_iter_append_basic() were incorrect, assertion "_dbus_check_is_valid_path (*string_p)" failed in file dbus-message.c line 2531.
This is normally a bug in some application using the D-Bus library.
D-Bus not built with -rdynamic so unable to print a backtrace
UID 0 is not a valid UID according to the spec so the code should not
attempt to create any object to represent it.
Johan Hedberg [Tue, 25 Jun 2013 18:44:17 +0000 (21:44 +0300)]
Revert "lib: Add range check for SDP_SVC_ATTR_RSP/SDP_SVC_SEARCH_ATTR_RSP"
This reverts commit
1796f00e846561af80679efba4d7c36c78710fb6.
This patch causes a regression with the Nokia BH217 headset. A correct
patch must take into account fragmented responses.
Luiz Augusto von Dentz [Tue, 25 Jun 2013 16:36:00 +0000 (19:36 +0300)]
core: Fix not adding UUID found during pairing
This is a regression introduce by
de63199f0c89fce76180edd40359fde4b13c54c1
where the list of UUID found is always empty thus causing no driver to be
probed.
Luiz Augusto von Dentz [Tue, 25 Jun 2013 13:44:57 +0000 (16:44 +0300)]
obexd/MAP: Fix crash when receiving an event report
Conditional jump or move depends on uninitialised value(s)
at 0x42C1AF: obex_put_stream_start (obex.c:869)
by 0x428D1A: mns_put (mns.c:148)
by 0x42B521: cmd_put (obex.c:982)
by 0x419FB5: incoming_data (gobex.c:1022)
by 0x3F31A47A54: g_main_context_dispatch (in /usr/lib64/libglib-2.0.so.0.3400.2)
by 0x3F31A47D87: ??? (in /usr/lib64/libglib-2.0.so.0.3400.2)
by 0x3F31A48181: g_main_loop_run (in /usr/lib64/libglib-2.0.so.0.3400.2)
by 0x40DEE2: main (main.c:319)
Uninitialised value was created by a stack allocation
at 0x42C160: obex_put_stream_start (obex.c:862)
Christian Fetzer [Mon, 17 Jun 2013 08:35:30 +0000 (10:35 +0200)]
obexd: Notify registered notification handlers in MNS
Christian Fetzer [Mon, 17 Jun 2013 08:35:29 +0000 (10:35 +0200)]
obexd: Register notification handler in the MAP client
Christian Fetzer [Mon, 17 Jun 2013 08:35:28 +0000 (10:35 +0200)]
build: Add support for building MAP notification dispatcher
Christian Fetzer [Mon, 17 Jun 2013 08:35:27 +0000 (10:35 +0200)]
obexd: Add MAP notification dispatching
The MAP specification allows to reuse one MNS server instance for all
local MAS client instances. This dispatching of event reports to the
correct MAS client instance is done by the MAS instance id and the
device address.
The dispatcher component allows MAS client instances to register a
notification handler. Events reports are forwarded by the MNS server using
map_dispatch_event.
Christian Fetzer [Mon, 17 Jun 2013 08:35:26 +0000 (10:35 +0200)]
obexd: Add function to get the destination from the obc_session
Luiz Augusto von Dentz [Thu, 20 Jun 2013 10:32:05 +0000 (13:32 +0300)]
core: Add mode option to external profile default configuration
Some external profiles, FTP and OPP, require a different L2CAP mode such
as ERTM to interoperate properly.
Mikel Astiz [Mon, 27 May 2013 12:04:09 +0000 (14:04 +0200)]
input: Use btd_service userdata pointer
Avoid maintaining an internal list of probed input_device instances by
making use of btd_service's userdata pointer.
Mikel Astiz [Mon, 27 May 2013 12:04:08 +0000 (14:04 +0200)]
scanparam: Use btd_service userdata pointer
Avoid maintaining an internal list of probed struct scan instances by
making use of btd_service's userdata pointer.
Mikel Astiz [Mon, 27 May 2013 12:04:07 +0000 (14:04 +0200)]
deviceinfo: Use btd_service userdata pointer
Avoid maintaining an internal list of probed deviceinfo instances by
making use of btd_service's userdata pointer.
Mikel Astiz [Mon, 27 May 2013 12:04:06 +0000 (14:04 +0200)]
network: Remove find_connection()
The userdata pointer in btd_service provides the necessary information
to find which service should be connected. This makes possible to remove
the restriction of having one single UUID instance per profile.
Mikel Astiz [Mon, 27 May 2013 12:04:05 +0000 (14:04 +0200)]
network: Fix missing NULL check for given UUID
The code dereferences a NULL pointer if find_connection() doesn't find
an existing connection, which will be the case if the input UUID is
invalid or not supported.
Mikel Astiz [Mon, 27 May 2013 12:04:04 +0000 (14:04 +0200)]
network: Remove duplicated search
Commit
0624791ea6e917d6c9ecb8e7e6e5a1327199448d seems to accidentally
have introduced this duplicated search as part of a non-trivial revert.
Lucas De Marchi [Fri, 21 Jun 2013 14:17:35 +0000 (11:17 -0300)]
client: prettify help table
cmd + options have a maximum length of 25. Align the description
after this value. In order not to reach 80 chars so easily change the
first \t to 2 spaces, like is done in udev, kmod, systemd, etc.
Lucas De Marchi [Fri, 21 Jun 2013 14:17:34 +0000 (11:17 -0300)]
client: Add description for default-agent command
Lucas De Marchi [Fri, 21 Jun 2013 14:17:33 +0000 (11:17 -0300)]
adapter: Remove never used parameter
adapter_remove_device() is always called with remove_storage set to
TRUE, so remove it.
Lucas De Marchi [Fri, 21 Jun 2013 14:17:32 +0000 (11:17 -0300)]
gitignore: Add missing tools
Szymon Janc [Fri, 21 Jun 2013 20:48:20 +0000 (22:48 +0200)]
lib: Cleanup SDP logs to not include double new lines
SDPERR and SDPDBG already add new line to prints.
Marcel Holtmann [Wed, 19 Jun 2013 06:22:52 +0000 (08:22 +0200)]
Release 5.6
Marcel Holtmann [Wed, 19 Jun 2013 06:04:14 +0000 (08:04 +0200)]
build: Update library version
Christian Fetzer [Mon, 17 Jun 2013 08:35:31 +0000 (10:35 +0200)]
obexd: Fix crash when retrieving multiple MAP event reports
The remote address used for dispatching the MAP notifications is
initialized when the MNS is connected. Therefore it needs to be freed
when the session is destroyed and not after receiving an event report.
Trace:
0 0x00007ffff6a6a1c9 in raise () from /usr/lib/libc.so.6
1 0x00007ffff6a6b5c8 in abort () from /usr/lib/libc.so.6
2 0x00007ffff6aa8037 in __libc_message () from /usr/lib/libc.so.6
3 0x00007ffff6aad8ae in malloc_printerr () from /usr/lib/libc.so.6
4 0x00007ffff6aae587 in _int_free () from /usr/lib/libc.so.6
5 0x00000000004273b0 in event_report_close (obj=0x69a5b0)
at obexd/client/mns.c:295
6 0x0000000000429549 in os_reset_session (os=0x69c210)
at obexd/src/obex.c:199
7 0x000000000041bec6 in transfer_complete (transfer=0x69a9d0, err=0x0)
at gobex/gobex-transfer.c:103
8 0x000000000041c20c in transfer_put_req (obex=0x69b470,
req=<optimized out>, user_data=0x69a9d0) at
gobex/gobex-transfer.c:407
9 0x000000000041988d in handle_request (req=0x69f3d0, obex=0x69b470)
at gobex/gobex.c:1022
10 incoming_data (io=<optimized out>, cond=<optimized out>,
user_data=0x69b470) at gobex/gobex.c:1194
11 0x00007ffff702de46 in g_main_context_dispatch ()
from /usr/lib/libglib-2.0.so.0
12 0x00007ffff702e198 in ?? () from /usr/lib/libglib-2.0.so.0
13 0x00007ffff702e59a in g_main_loop_run () from
/usr/lib/libglib-2.0.so.0
14 0x000000000040dead in main (argc=1, argv=0x7fffffffddc8)
at obexd/src/main.c:319
Christian Fetzer [Mon, 17 Jun 2013 12:10:55 +0000 (14:10 +0200)]
obexd: Use correct callback in obc_session_mkdir
The function obc_session_mkdir needs to use file_op_complete as
callback.
0 0x00007ffff72f7553 in ?? () from /usr/lib/libdbus-1.so.3
1 0x00007ffff72f7dff in ?? () from /usr/lib/libdbus-1.so.3
2 0x00007ffff72fef9a in dbus_message_get_sender ()
from /usr/lib/libdbus-1.so.3
3 0x00007ffff72feff9 in dbus_message_new_method_return ()
from /usr/lib/libdbus-1.so.3
4 0x000000000043c93f in async_cb (session=0x6a9d30, transfer=0x0,
err=0x0,
user_data=0x675660) at obexd/client/ftp.c:65
5 0x0000000000438c7c in async_cb (obex=0x6aa980, err=0x0,
rsp=0x67a690,
user_data=0x67ced0) at obexd/client/session.c:1035
6 0x000000000041cbcc in handle_response (obex=0x6aa980, err=0x0,
rsp=0x67a690) at gobex/gobex.c:949
7 0x000000000041d49f in incoming_data (io=0x67d0f0, cond=G_IO_IN,
user_data=0x6aa980) at gobex/gobex.c:1192
8 0x00007ffff702de46 in g_main_context_dispatch ()
from /usr/lib/libglib-2.0.so.0
9 0x00007ffff702e198 in ?? () from /usr/lib/libglib-2.0.so.0
10 0x00007ffff702e59a in g_main_loop_run () from
/usr/lib/libglib-2.0.so.0
11 0x0000000000430a09 in main (argc=1, argv=0x7fffffffddc8)
at obexd/src/main.c:319
Christian Fetzer [Mon, 17 Jun 2013 12:10:54 +0000 (14:10 +0200)]
obexd: Fix file_op_complete callback
The file_op_complete callback added for the OBEX session command queuing
is called with a file_data parameter and not with a pending_request.
This fixes a crash when calling one of the file commands (like delete).
0 0x0000000000438cd6 in file_op_complete (session=0x6a9d30,
transfer=0x0,
err=0x0, user_data=0x6762e0) at obexd/client/session.c:1054
1 0x0000000000438c64 in async_cb (obex=0x6aa980, err=0x0,
rsp=0x67a710,
user_data=0x6ac2c0) at obexd/client/session.c:1035
2 0x000000000041cbcc in handle_response (obex=0x6aa980, err=0x0,
rsp=0x67a710) at gobex/gobex.c:949
3 0x000000000041d49f in incoming_data (io=0x67d0f0, cond=G_IO_IN,
user_data=0x6aa980) at gobex/gobex.c:1192
4 0x00007ffff702de46 in g_main_context_dispatch ()
from /usr/lib/libglib-2.0.so.0
5 0x00007ffff702e198 in ?? () from /usr/lib/libglib-2.0.so.0
6 0x00007ffff702e59a in g_main_loop_run () from
/usr/lib/libglib-2.0.so.0
7 0x00000000004309f0 in main (argc=1, argv=0x7fffffffddc8)
at obexd/src/main.c:319
Christian Fetzer [Mon, 17 Jun 2013 12:10:53 +0000 (14:10 +0200)]
obexd: Call setpath_complete with the correct parameter
The function setpath_complete has to be called with a pending_request as
user_data. In one possible error case, the current code calls it
incorrectly with setpath_data.