OSDN Git Service
Johan Hedberg [Mon, 18 Feb 2013 10:58:38 +0000 (12:58 +0200)]
tools: btmgmt: Convert authentication request event monitoring to new API
Johan Hedberg [Mon, 18 Feb 2013 10:51:51 +0000 (12:51 +0200)]
tools: btmgmt: Convert device found event monitoring to new API
Johan Hedberg [Mon, 18 Feb 2013 10:48:58 +0000 (12:48 +0200)]
tools: btmgmt: Convert local name changed event monitoring to new API
Johan Hedberg [Mon, 18 Feb 2013 10:47:00 +0000 (12:47 +0200)]
tools: btmgmt: Convert auth failed event monitoring to new API
Johan Hedberg [Mon, 18 Feb 2013 10:41:37 +0000 (12:41 +0200)]
tools: btmgmt: Convert connection event monitoring to new API
Johan Hedberg [Mon, 18 Feb 2013 10:37:45 +0000 (12:37 +0200)]
tools: btmgmt: Convert new link key event monitoring to new API
Johan Hedberg [Mon, 18 Feb 2013 10:35:47 +0000 (12:35 +0200)]
tools: btmgmt: Prefer quitting mainloop over calling exit() directly
Johan Hedberg [Mon, 18 Feb 2013 09:56:22 +0000 (11:56 +0200)]
tools: btmgmt: Convert discovering event monitoring to new API
Johan Hedberg [Mon, 18 Feb 2013 09:53:56 +0000 (11:53 +0200)]
tools: btmgmt: Convert new settings event monitoring to new API
Johan Hedberg [Mon, 18 Feb 2013 09:50:39 +0000 (11:50 +0200)]
tools: btmgmt: Convert to using GLib main loop
Johan Hedberg [Mon, 18 Feb 2013 09:42:41 +0000 (11:42 +0200)]
tools: btmgmt: Convert index added/removed events monitoring to new API
Johan Hedberg [Mon, 18 Feb 2013 09:38:51 +0000 (11:38 +0200)]
tools: btmgmt: Convert controller error event monitoring to new API
Johan Hedberg [Mon, 18 Feb 2013 09:32:50 +0000 (11:32 +0200)]
tools: btmgmt: Add initial stubs for converting to new mgmt API
Johan Hedberg [Mon, 18 Feb 2013 08:32:25 +0000 (10:32 +0200)]
doc: Add short explanation for how to create mgmt sockets
Anderson Lizardo [Fri, 15 Feb 2013 15:07:56 +0000 (11:07 -0400)]
unit: Add tests for sdp_get_server_ver()
Anderson Lizardo [Fri, 15 Feb 2013 15:07:55 +0000 (11:07 -0400)]
unit: Add tests for sdp_get_profile_descs()
Anderson Lizardo [Fri, 15 Feb 2013 15:07:54 +0000 (11:07 -0400)]
lib: Validate DTDs when parsing VersionNumberList
Anderson Lizardo [Fri, 15 Feb 2013 15:07:53 +0000 (11:07 -0400)]
lib: Add comment to BluetoothProfileDescriptorList parsing workaround
Commits
0f5a5a9580084a3c4e0644ef5cd75689aeb5ff40 and
46b3a3d2d00bf70bc57ef0c9ad5542a2271e3350 introduced this workaround.
Anderson Lizardo [Fri, 15 Feb 2013 15:07:52 +0000 (11:07 -0400)]
lib: Validate DTDs when parsing BluetoothProfileDescriptorList
The "seq->val.dataseq != NULL" check is also removed from the for()
statement because it should be done after verifying that the data
element is a sequence (inside the "if (SDP_IS_SEQ(...))" block.)
Anderson Lizardo [Fri, 15 Feb 2013 15:07:51 +0000 (11:07 -0400)]
lib: Validate DTDs when parsing LanguageBaseAttributeIDList
Also check if the required number of entries is present.
Anderson Lizardo [Fri, 15 Feb 2013 15:07:50 +0000 (11:07 -0400)]
lib: Add missing DTD validation in sdp_record_print()
Anderson Lizardo [Fri, 15 Feb 2013 15:07:49 +0000 (11:07 -0400)]
unit: Add tests for sdp_get_lang_attr()
Anderson Lizardo [Fri, 15 Feb 2013 15:07:48 +0000 (11:07 -0400)]
lib: Fix missing DTD validation while accessing SDP data elements
It is necessary to validate the sdp_data_t "dtd" field before accessing
the "val" union members, specially when handling SDP_SEQ*, SDP_ALT* and
SDP_STR* elements, otherwise remote devices can trigger memory
corruption by passing invalid data elements where others are expected.
Anderson Lizardo [Fri, 15 Feb 2013 15:07:45 +0000 (11:07 -0400)]
lib: Add SDP_IS_ALT() macro
This macro will simplify internal SDP library code, and is similar to
the existing SDP_IS_SEQ() macro.
Anderson Lizardo [Fri, 15 Feb 2013 15:07:47 +0000 (11:07 -0400)]
lib: Cleanup coding style in sdp_get_proto_descs()
Anderson Lizardo [Fri, 15 Feb 2013 15:07:46 +0000 (11:07 -0400)]
lib: Reuse identical code in sdp_get_{add,}_access_protos()
sdp_get_access_protos() and sdp_get_add_access_protos() do almost
exactly the same thing, except for an additional statement for the
latter.
Anderson Lizardo [Fri, 15 Feb 2013 15:07:44 +0000 (11:07 -0400)]
unit: Add initial SDP library unit tests
These tests will cover all public SDP library API not covered yet by the
tests in test-sdp.c (which focus on the SDP server).
Luiz Augusto von Dentz [Fri, 15 Feb 2013 14:02:52 +0000 (16:02 +0200)]
AVRCP: Fix parsing of SetBrowsedPlayer response
Folder depth is actually the byte 13 not 14 of the response.
Luiz Augusto von Dentz [Fri, 15 Feb 2013 14:02:51 +0000 (16:02 +0200)]
AVRCP: Add support for GetItemAttributes
GetItemAttributes should be used instead of GetElementAttributes if
browsing is supported.
Luiz Augusto von Dentz [Fri, 15 Feb 2013 14:02:50 +0000 (16:02 +0200)]
AVRCP: Create folders for /Filesystem and /NowPlaying
If browsing is supported create objects representing /Filesystem and
/NowPlaying, these object implement MediaItem interface and can be
passed to ChangeFolder to change the scope.
Luiz Augusto von Dentz [Fri, 15 Feb 2013 14:02:49 +0000 (16:02 +0200)]
AVRCP: Move features to avrcp.c
avrcp.c should be responsible for specifics of AVRCP not player.c which
is more high level abstraction.
Luiz Augusto von Dentz [Fri, 15 Feb 2013 14:02:48 +0000 (16:02 +0200)]
media-api: Fix referencing to MediaLibrary instead of MediaFolder
MediaLibrary was replaced by MediaFolder so doesn't exist anymore.
Luiz Augusto von Dentz [Fri, 15 Feb 2013 14:02:47 +0000 (16:02 +0200)]
AVRCP: Parse browsing and searching features bits
This parses browsing and searching features bits and set the respective
property.
Luiz Augusto von Dentz [Fri, 15 Feb 2013 14:02:46 +0000 (16:02 +0200)]
AVRCP: Prefix folder name with /Filesystem
This separate the scopes of the folder as documented in doc/media-api.txt
Johan Hedberg [Fri, 15 Feb 2013 14:32:38 +0000 (16:32 +0200)]
neard: Use more appropriate log levels than info()
Szymon Janc [Fri, 15 Feb 2013 12:09:19 +0000 (13:09 +0100)]
neard: Add fallback to legacy register if register failed
This will allow to work with neard 0.9 which doesn't support handover
agent register with carrier type.
Ravi kumar Veeramally [Fri, 15 Feb 2013 12:09:18 +0000 (13:09 +0100)]
neard: Updated neard handover registration agent API calls
neard RegisterHandoverAgent and UnregisterHandoverAgent APIs need an
extra parameter of carrier type(e.g. bluetooth).
Szymon Janc [Fri, 15 Feb 2013 12:09:17 +0000 (13:09 +0100)]
neard: Update copyright information
Szymon Janc [Fri, 15 Feb 2013 12:09:16 +0000 (13:09 +0100)]
neard: Use bool instead of gboolean for agent_register_postpone
There is no need to use gboolean as this flag is not used with any
glib function.
Szymon Janc [Fri, 15 Feb 2013 12:09:15 +0000 (13:09 +0100)]
neard: Restrict method calls only to neard process
Disallow methods calls from processes other than registered to as
agent.
Szymon Janc [Fri, 15 Feb 2013 12:09:14 +0000 (13:09 +0100)]
neard: Use service name and not boolean to track if registered to neard
Johan Hedberg [Fri, 15 Feb 2013 14:25:24 +0000 (16:25 +0200)]
gobex: Fix GPL version reference
These files (like everything else in the tree) should be GPL 2 or later
instead of GPL 2 only.
Johan Hedberg [Fri, 15 Feb 2013 14:19:51 +0000 (16:19 +0200)]
unit: Fix gobex GPL version reference
These files (like everything else in the tree) should be GPL 2 or later
instead of GPL 2 only.
Szymon Janc [Fri, 8 Feb 2013 10:03:13 +0000 (11:03 +0100)]
adapter: Fix registering adapter with no address
adapter->bdaddr is set later in read_info_complete and current check
always returns false. Check against bdaddr received in command response
instead and fail if it is all zeros.
Luiz Augusto von Dentz [Fri, 8 Feb 2013 14:12:08 +0000 (16:12 +0200)]
A2DP: Fix invalid write
Invalid write of size 8
at 0x41F297: setconf_cfm (a2dp.c:567)
by 0x42526B: session_cb (avdtp.c:3176)
by 0x39B0847A54: g_main_context_dispatch (in /usr/lib64/libglib-2.0.so.0.3400.2)
by 0x39B0847D87: ??? (in /usr/lib64/libglib-2.0.so.0.3400.2)
by 0x39B0848181: g_main_loop_run (in /usr/lib64/libglib-2.0.so.0.3400.2)
by 0x409C3E: main (main.c:583)
Address 0x555fda8 is 40 bytes inside a block of size 88 free'd
at 0x4A077A6: free (vg_replace_malloc.c:446)
by 0x39B084D79E: g_free (in /usr/lib64/libglib-2.0.so.0.3400.2)
by 0x41E217: setup_cb_free (a2dp.c:191)
by 0x41E410: finalize_config (a2dp.c:234)
by 0x41F296: setconf_cfm (a2dp.c:566)
by 0x42526B: session_cb (avdtp.c:3176)
by 0x39B0847A54: g_main_context_dispatch (in /usr/lib64/libglib-2.0.so.0.3400.2)
by 0x39B0847D87: ??? (in /usr/lib64/libglib-2.0.so.0.3400.2)
by 0x39B0848181: g_main_loop_run (in /usr/lib64/libglib-2.0.so.0.3400.2)
by 0x409C3E: main (main.c:583)
Luiz Augusto von Dentz [Fri, 8 Feb 2013 09:51:28 +0000 (11:51 +0200)]
core: Fix calling profile .connect multiple times
Sometimes profiles may complete the connection in different order
than expected so the code has to check if it was actually the
current pending profile to proceed to the next.
Szymon Janc [Wed, 6 Feb 2013 21:40:38 +0000 (22:40 +0100)]
hostname: Fallback to static hostname if pretty hostname is not set
If pretty hostname is not set fallback to static hostname (if it is
set). If static or pretty hostname is not set appropriate properties
are empty strings not NULLs. This behaviour is recomended by hostnamed.
Szymon Janc [Wed, 6 Feb 2013 21:40:37 +0000 (22:40 +0100)]
hostname: Fix setting adapter name to empty string
If pretty hostname is not set empty string is received. Don't update
adapters' names is such case.
Szymon Janc [Wed, 6 Feb 2013 21:40:36 +0000 (22:40 +0100)]
adapter: Always set new default adapter if current one is removed
In case hci_get_route() failed mark first adapter on list as default.
This make sure default adapter is always set and that
btd_adapter_get_default will not return NULL if at least one adapter
is registered.
Szymon Janc [Wed, 6 Feb 2013 21:40:35 +0000 (22:40 +0100)]
adapter: Mark adapter as default before probing drivers
Drivers may depends on adapter being default or not. This fix hostname
plugin setting default adapter name to 'foo #1' instead of 'foo' if
pretty hostname was received before probing adapter drivers.
Szymon Janc [Wed, 6 Feb 2013 21:40:34 +0000 (22:40 +0100)]
adapter: Add is_default field to struct btd_adapter
Instead of global default_adapter_id variable use is_default field
to indicate if adapter is default one.
Anderson Lizardo [Tue, 5 Feb 2013 00:32:36 +0000 (20:32 -0400)]
core: Remove unused code from device_browse_sdp()
The "search" parameter was always NULL, and therefore code depending on
it being non-NULL will never be reached.
Anderson Lizardo [Mon, 4 Feb 2013 01:20:45 +0000 (21:20 -0400)]
lib: Check if SDP buffer has enough data on partial responses
Before manipulating data from previous partial responses, make sure the
buffer has enough data.
Anderson Lizardo [Mon, 4 Feb 2013 01:20:44 +0000 (21:20 -0400)]
lib: Add range check for SDP_SVC_ATTR_RSP/SDP_SVC_SEARCH_ATTR_RSP
According to SDP spec, the byte count fields for these PDUs have a valid
range of 0x0002-0xFFFF.
Anderson Lizardo [Mon, 4 Feb 2013 01:20:43 +0000 (21:20 -0400)]
lib: Fix buffer overflow when processing SDP response
rsp_count is either read or calculated from untrusted input, and
therefore needs to be checked before being used as offset. The "plen"
variable is appropriate because it is calculated as the sum of fixed and
variable length fields, excluding the continuation state field, which
has at least 1 byte for its own length field.
Antonio Ospite [Sun, 3 Feb 2013 16:14:31 +0000 (17:14 +0100)]
core: Use device_set_trusted() in set_trust()
Antonio Ospite [Sun, 3 Feb 2013 16:14:30 +0000 (17:14 +0100)]
core: Add a device_set_trusted() function
This will be useful for plugins that do their own device setup (e.g.
USB-based pairing).
Szymon Janc [Thu, 7 Feb 2013 08:13:58 +0000 (09:13 +0100)]
neard: Add support for setting power state in RequestOOB reply
This allows neard to properly set Bluetooth carrier power state in
handover message.
Szymon Janc [Thu, 7 Feb 2013 08:13:57 +0000 (09:13 +0100)]
adapter: Add btd_adapter_get_connectable function
Szymon Janc [Thu, 7 Feb 2013 08:13:56 +0000 (09:13 +0100)]
neard: Check if adapter is powered in PushOOB
For PushOOB adapter needs to be powered as bluetoothd daemon is
expected to perform action on success.
Szymon Janc [Thu, 7 Feb 2013 08:13:55 +0000 (09:13 +0100)]
adapter: Add btd_adapter_get_powered function
Szymon Janc [Thu, 7 Feb 2013 08:13:54 +0000 (09:13 +0100)]
neard: Move pairable check from check_adapter
If device is already paired there is no need to fail with handover
if adapter is not pairable.
Szymon Janc [Thu, 7 Feb 2013 08:13:53 +0000 (09:13 +0100)]
neard: Add ability to parse 'State' field
This contains hint for power state of remote device Bluetooth adapter.
Szymon Janc [Thu, 7 Feb 2013 08:13:52 +0000 (09:13 +0100)]
neard: Refactor message processing
This refactor code for message processing for future feature addition.
nokia.com:bt and EIR processing is now separated from performing
actions based on received data.
Szymon Janc [Thu, 7 Feb 2013 08:13:51 +0000 (09:13 +0100)]
neard: Adjust errors to latest API changes
neard Handover API was stripped of not really usefull error codes.
Denis Kenzior [Thu, 7 Feb 2013 16:22:57 +0000 (10:22 -0600)]
gdbus: Add g_dbus_proxy_set_removed_watch
Luiz Augusto von Dentz [Thu, 14 Feb 2013 12:29:54 +0000 (14:29 +0200)]
tools: Fix hcidump parser of AVRCP GetItemAttributes command
Luiz Augusto von Dentz [Thu, 14 Feb 2013 12:28:20 +0000 (14:28 +0200)]
tools: Fix hcidump parser of AVRCP media attributes
Luiz Augusto von Dentz [Thu, 14 Feb 2013 12:25:07 +0000 (14:25 +0200)]
tools: Print UID of track changed event
Before 1.4 this was considered reserved but now it is being used for
UID of the current track.
Vinicius Costa Gomes [Thu, 7 Feb 2013 17:40:31 +0000 (14:40 -0300)]
gdbus: Fix missing PropertiesChanged signal
If D-Bus ObjectManager is not supported, InterfacesAdded signal
checking needs to be ignored otherwise PropertiesChanged signal
will never be sent.
Luiz Augusto von Dentz [Wed, 13 Feb 2013 12:01:44 +0000 (14:01 +0200)]
tools: Track transport state if player status is not supported
This makes PlayPause method to work properly even if remote device
supports only AVRCP 1.0.
Szymon Janc [Wed, 13 Feb 2013 22:24:38 +0000 (23:24 +0100)]
doc: Add missing device RSSI property
RSSI property was not documented in device API.
Szymon Janc [Wed, 13 Feb 2013 21:45:39 +0000 (22:45 +0100)]
doc: Remove CancelConnect function from device API
This method is not implemented and Disconnect can be used instead.
Szymon Janc [Wed, 13 Feb 2013 21:45:38 +0000 (22:45 +0100)]
doc: Fix device disconnect description
Document what Disconnect() function actually does.
Szymon Janc [Wed, 13 Feb 2013 21:02:14 +0000 (22:02 +0100)]
doc: Clarify device connect description
Describe behaviour when some profiles are already connected. Clarify
that it returns success if at least one profile was connected.
Mikel Astiz [Tue, 12 Feb 2013 08:23:35 +0000 (09:23 +0100)]
transport: Fix inconsistent transport state
If a2dp_resume() fails, the transport state should not be modified. It
would otherwise enter an incosistent state where the transport will be
impossible to resume, since acquire() will see the transport in
TRANSPORT_STATE_REQUESTING state and will thus return
btd_error_not_authorized().
Marcel Holtmann [Tue, 12 Feb 2013 20:23:32 +0000 (21:23 +0100)]
monitor: Add commands, events and features from CSA4
Johan Hedberg [Mon, 11 Feb 2013 19:27:29 +0000 (21:27 +0200)]
man: Remove misleading reference to main.conf man page
Marcel Holtmann [Mon, 11 Feb 2013 19:19:10 +0000 (20:19 +0100)]
gdbus: Don't call property changed callback during client init
When the client uses ObjectManager to init properties, do not call
property changed callbacks. They should only be called once the proxy
added has been successfully signaled since the proxy itself provides
a full copy of available properties.
Johan Hedberg [Mon, 11 Feb 2013 12:00:43 +0000 (14:00 +0200)]
tools: Add mgmt-tester command line option to control power on wait
Luiz Augusto von Dentz [Thu, 7 Feb 2013 11:30:17 +0000 (13:30 +0200)]
test: Add -p/--push option to map-client
This option can be used to push messages, it takes as a parameter a
file location which should contain the message in bmsg format.
Christian Fetzer [Fri, 25 Jan 2013 16:44:47 +0000 (17:44 +0100)]
obexd: Add PushMessage
Push message has been implemented similar to send file (OPP),
the message to send (in bMessage format) is read from a file.
Johan Hedberg [Mon, 4 Feb 2013 12:29:15 +0000 (14:29 +0200)]
test: Fix missing call to parser.parse_args() in test-proximity
Szymon Janc [Sat, 2 Feb 2013 18:39:58 +0000 (19:39 +0100)]
shared: Fix use after free in read_watch_destroy
read_watch_destroy is called when received_data returns FALSE.
free mgmt in read_watch_destroy instead of received_data to avoid
use after free.
Invalid write of size 4
at 0x8051604: read_watch_destroy (mgmt.c:271)
by 0x48C7468E: g_source_callback_unref (gmain.c:1457)
by 0x48C77287: g_main_context_dispatch (gmain.c:2723)
by 0x48C774FF: g_main_context_iterate.isra.22 (gmain.c:3290)
by 0x48C77962: g_main_loop_run (gmain.c:3484)
by 0x805393E: tester_run (tester.c:784)
by 0x804D1C7: main (mgmt-tester.c:2558)
Address 0x4039b80 is 16 bytes inside a block of size 76 free'd
at 0x4007F0F: free (vg_replace_malloc.c:446)
by 0x48C7D44B: standard_free (gmem.c:98)
by 0x48C7D607: g_free (gmem.c:252)
by 0x8051BB6: received_data (mgmt.c:337)
by 0x48CBA72E: g_io_unix_dispatch (giounix.c:167)
by 0x48C7715A: g_main_context_dispatch (gmain.c:2715)
by 0x48C774FF: g_main_context_iterate.isra.22 (gmain.c:3290)
by 0x48C77962: g_main_loop_run (gmain.c:3484)
by 0x805393E: tester_run (tester.c:784)
by 0x804D1C7: main (mgmt-tester.c:2558)
Marcel Holtmann [Sat, 2 Feb 2013 10:19:09 +0000 (11:19 +0100)]
monitor: Decode supported commands result
Marcel Holtmann [Sat, 2 Feb 2013 10:18:39 +0000 (11:18 +0100)]
monitor: Fix wrong supported commands bit value
Johan Hedberg [Sat, 2 Feb 2013 02:47:20 +0000 (04:47 +0200)]
tools: Fix mgmt-tester LE expected supported settings
Johan Hedberg [Sat, 2 Feb 2013 02:16:35 +0000 (02:16 +0000)]
tools: Add basic mgmt_set_local_name EIR test case
Johan Hedberg [Sat, 2 Feb 2013 02:06:48 +0000 (02:06 +0000)]
core: Use more compact definitions for zero-tail byte arrays
Johan Hedberg [Sat, 2 Feb 2013 01:49:36 +0000 (19:49 -0600)]
tools: Add basic mgmt_set_local_name success test cases
Johan Hedberg [Sat, 2 Feb 2013 01:45:53 +0000 (19:45 -0600)]
tools: Generalize alternate mgmt event handling for mgmt-tester
Johan Hedberg [Sat, 2 Feb 2013 02:40:21 +0000 (02:40 +0000)]
audio: Fix uint64_t format specifier
Marcel Holtmann [Sat, 2 Feb 2013 00:41:17 +0000 (01:41 +0100)]
Release 5.2
Marcel Holtmann [Sat, 2 Feb 2013 00:19:29 +0000 (01:19 +0100)]
lib: Update list of company identifiers
Luiz Augusto von Dentz [Fri, 1 Feb 2013 21:28:25 +0000 (15:28 -0600)]
AVRCP: Set addressed player as browsed player
This send SetBrowsedPlayer after getting the player details.
Luiz Augusto von Dentz [Fri, 1 Feb 2013 21:28:24 +0000 (15:28 -0600)]
AVRCP: Split event handing to its own functions
Luiz Augusto von Dentz [Fri, 1 Feb 2013 21:28:23 +0000 (15:28 -0600)]
AVRCP: Get player list if supported
If addressed player changed is supported get the list of players
Luiz Augusto von Dentz [Fri, 1 Feb 2013 21:28:22 +0000 (15:28 -0600)]
AVRCP: Register to addressed player changed event if supported
This enables registering for addressed player changed event and handle
the interim response setting the player id and uid counter to the current
player.
Luiz Augusto von Dentz [Fri, 1 Feb 2013 21:28:21 +0000 (15:28 -0600)]
AVRCP: Avoid repeating command due to changed event
Currently we are repeating the same command twice for notification, first
for changed and then latter for interim response.
To avoid this the code now just do it for interim responses, changed
responses just trigger another registration.
Luiz Augusto von Dentz [Fri, 1 Feb 2013 21:28:20 +0000 (15:28 -0600)]
media-api: Add org.bluez.MediaFolder1
This interface adds support for browsing and searching in the player's
storage using AVRCP 1.4/1.5.
Some remarks about the design:
- Exposing UIDCounter and UIDs was considered, but the spec seems to have
missed to define the player's id persistency. There are also the fact that
UIDCounter alone does not guarantee persistency across sessions and do not
provide what exact items have changed, so in the end exposing these
details will bring almost no value.
- Indexing or caching the whole media library is not recommended, Bluetooth
is too slow for that and even vendors such as Apple do not recommend doing
it, so the only items keep in cache are the current listed ones.
- Addressed vs Browsed player is done implicitly when accessed, this was done
to simplify the API and avoid confusions between applications and players.