| 2aab109f |
emulator: Dummy LE set advertising parameters
Implement basic LE set adv parameters command. |
Jefferson Delfes |
12 years ago |
2 files, +22, -0 |
| 8d338645 |
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 |
12 years ago |
1 file, +4, -1 |
| 5616bb96 |
emulator: Store LE scan state of virtual controller
The LE command set scan enable can change the scan state of virtual
controller. |
Jefferson Delfes |
12 years ago |
1 file, +11, -1 |
| ba646090 |
emulator: Implement basic LE set adv enable command
Store advertising state of virtual controller in btdev struct. |
Jefferson Delfes |
12 years ago |
2 files, +16, -0 |
| f1877f83 |
emulator: Store LE advertising data length in btdev
LE advertising data length will be used for emulating reports in other
virtual devices. |
Jefferson Delfes |
12 years ago |
1 file, +2, -0 |
| 831221dc |
obexd: Re-add D-Bus session properties
This got lost when switching to org.freedesktop.DBus.Properties. |
Christian Fetzer |
12 years ago |
1 file, +2, -1 |
| ce04a4c1 |
monitor: Print UUID-32 and UUID-128 strings |
Marcel Holtmann |
12 years ago |
1 file, +8, -0 |
| 18e70719 |
monitor: Add stub for UUID-128 to string conversion |
Marcel Holtmann |
12 years ago |
2 files, +6, -0 |
| 78a6366a |
Release 5.7 |
Marcel Holtmann |
12 years ago |
2 files, +7, -1 |
| 7aca3faa |
build: Update library version |
Marcel Holtmann |
12 years ago |
1 file, +1, -1 |
| 6132e6ee |
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. |
Luiz Augusto von Dentz |
12 years ago |
1 file, +1, -1 |
| c71e098d |
lib: Update company identifiers |
Johan Hedberg |
12 years ago |
1 file, +8, -0 |
| c6b9a502 |
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. |
Luiz Augusto von Dentz |
12 years ago |
1 file, +1, -1 |
| 550dab5c |
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. |
Johan Hedberg |
12 years ago |
1 file, +0, -8 |
| 8dbf8864 |
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 |
12 years ago |
1 file, +1, -1 |
| 455fb131 |
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) |
Luiz Augusto von Dentz |
12 years ago |
1 file, +4, -4 |
| c743b783 |
obexd: Notify registered notification handlers in MNS |
Christian Fetzer |
12 years ago |
1 file, +3, -7 |
| cc68717c |
obexd: Register notification handler in the MAP client |
Christian Fetzer |
12 years ago |
1 file, +25, -0 |
| 24e5a587 |
build: Add support for building MAP notification dispatcher |
Christian Fetzer |
12 years ago |
1 file, +1, -0 |
| 5a8f0192 |
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 |
12 years ago |
3 files, +136, -0 |
| 56de7139 |
obexd: Add function to get the destination from the obc_session |
Christian Fetzer |
12 years ago |
2 files, +6, -0 |
| 1259936b |
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. |
Luiz Augusto von Dentz |
12 years ago |
1 file, +9, -0 |
| b6e8a477 |
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 |
12 years ago |
1 file, +10, -27 |
| 0173540c |
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 |
12 years ago |
1 file, +6, -30 |
| 13093c8a |
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 |
12 years ago |
1 file, +6, -40 |
| bae1167b |
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 |
12 years ago |
1 file, +10, -21 |
| 394a1f9a |
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 |
12 years ago |
1 file, +4, -1 |
| 18bdb123 |
network: Remove duplicated search
Commit 0624791ea6e917d6c9ecb8e7e6e5a1327199448d seems to accidentally
have introduced this duplicated search as part of a non-trivial revert. |
Mikel Astiz |
12 years ago |
1 file, +0, -4 |
| 9d2e019f |
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 |
12 years ago |
1 file, +4, -3 |
| e9150410 |
client: Add description for default-agent command |
Lucas De Marchi |
12 years ago |
1 file, +2, -1 |
| c608aa55 |
adapter: Remove never used parameter
adapter_remove_device() is always called with remove_storage set to
TRUE, so remove it. |
Lucas De Marchi |
12 years ago |
1 file, +7, -8 |
| 782dc8ce |
gitignore: Add missing tools |
Lucas De Marchi |
12 years ago |
1 file, +2, -0 |
| d82a3f67 |
lib: Cleanup SDP logs to not include double new lines
SDPERR and SDPDBG already add new line to prints. |
Szymon Janc |
12 years ago |
1 file, +90, -93 |
| 70f8ef74 |
Release 5.6 |
Marcel Holtmann |
12 years ago |
2 files, +13, -1 |
| 82671d8b |
build: Update library version |
Marcel Holtmann |
12 years ago |
1 file, +1, -1 |
| 7a8aeaf0 |
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 |
12 years ago |
1 file, +4, -3 |
| 2237294c |
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 |
12 years ago |
1 file, +1, -1 |
| b402f992 |
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 |
12 years ago |
1 file, +1, -2 |
| 4e16c256 |
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. |
Christian Fetzer |
12 years ago |
1 file, +1, -1 |
| 8be70369 |
obexd: Fix handling error cases in setpath
This adds a setpath_op_complete callback, that unpacks the user data and
finally calls the user callback. The callback is now used for success and error
cases.
The previous implementation was using setpath_complete which did not
work for error cases, because it was called with incorrect user data.
This was leading to a crash, that can be reproduced by disconnecting PBAP
after trying to select a non existing phone book.
0 setpath_complete (session=0x66bd90, transfer=0x0, err=0x69b370,
user_data=0x69a810) at obexd/client/session.c:912
1 0x000000000042d100 in obc_session_shutdown (session=0x66bd90)
at obexd/client/session.c:537
2 0x000000000040f227 in service_filter (connection=0x664b20,
message=<optimized out>, user_data=0x66bed0) at gdbus/watch.c:486
3 0x000000000040f49b in message_filter (connection=0x664b20,
message=0x66ba30, user_data=<optimized out>) at gdbus/watch.c:554
4 0x00007ffff72f40a6 in dbus_connection_dispatch ()
from /usr/lib/libdbus-1.so.3
5 0x000000000040e148 in message_dispatch (data=0x664b20)
at gdbus/mainloop.c:76
6 0x00007ffff702e9a3 in ?? () from /usr/lib/libglib-2.0.so.0
7 0x00007ffff702de46 in g_main_context_dispatch ()
from /usr/lib/libglib-2.0.so.0
8 0x00007ffff702e198 in ?? () from /usr/lib/libglib-2.0.so.0
9 0x00007ffff702e59a in g_main_loop_run () from
/usr/lib/libglib-2.0.so.0
10 0x000000000040dd72 in main (argc=1, argv=0x7fffffffddc8)
at obexd/src/main.c:319 |
Christian Fetzer |
12 years ago |
1 file, +13, -4 |
| e8f899bc |
audio/media: Fix setting player settings
The value has to be converted to MPRIS setting otherwise the player won't
recognize it and will probably discard the change. |
Luiz Augusto von Dentz |
12 years ago |
2 files, +49, -9 |
| 67a1c2d8 |
audio/AVRCP: Fix invalid response to RegisterNotification
The response to RegisterNotification for event settings changed was
not setting the initial length properly which cause the code to send
malformed/invalid PDUs. |
Luiz Augusto von Dentz |
12 years ago |
1 file, +9, -4 |
| f2e0ae54 |
audio/media: Fix notifying settings changed incorrectly
We should notify only the setting that has changed not all of them. |
Luiz Augusto von Dentz |
12 years ago |
3 files, +16, -24 |
| de63199f |
core: Fix crash when a duplicated record is found
Invalid read of size 8
at 0x470101: update_bredr_services (device.c:2784)
by 0x470591: browse_cb (device.c:2975)
by 0x458B0E: search_completed_cb (sdp-client.c:186)
by 0x47C154: sdp_process (sdp.c:4343)
by 0x458954: search_process_cb (sdp-client.c:205)
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 0x40A265: main (main.c:595)
Address 0x0 is not stack'd, malloc'd or (recently) free'd |
Luiz Augusto von Dentz |
12 years ago |
1 file, +38, -27 |
| b18723a1 |
audio/player: Create item on media_player_set_playlist_item
This makes sure that even if /NowPlaying folder has not been listed the
current item is available and its metadata is updated. |
Luiz Augusto von Dentz |
12 years ago |
3 files, +85, -40 |
| 0a232a43 |
audio/player: Add implementation of MediaFolder.Search |
Luiz Augusto von Dentz |
12 years ago |
3 files, +113, -27 |
| d2e642c7 |
audio/AVRCP: Add support for Search command
This adds support for Search command via player callback. |
Luiz Augusto von Dentz |
12 years ago |
2 files, +58, -1 |
| 85f76065 |
audio/player: Add implementation of MediaItem.AddToNowPlaying |
Luiz Augusto von Dentz |
12 years ago |
1 file, +17, -1 |
| a948de4e |
audio/AVRCP: Add support for AddToNowPlaying command
This adds support for AddToNowPlaying command via player callback. |
Luiz Augusto von Dentz |
12 years ago |
2 files, +50, -0 |
| f6a6f6b2 |
audio/player: Add implementation of MediaItem.Play |
Luiz Augusto von Dentz |
12 years ago |
1 file, +16, -1 |