OSDN Git Service
Andre Guedes [Wed, 8 Feb 2012 20:35:46 +0000 (17:35 -0300)]
device: Use att_io in device_browse_primary
In order to have the same approach as att_connect function,
device_browse_primary function should save the reference to GIOChannel
at device->att_io. This way, we can properly shut it down if the browse
request is canceled during the connection attempt.
Anderson Lizardo [Wed, 8 Feb 2012 20:04:17 +0000 (16:04 -0400)]
mgmtops: Fix memory leak when parsing EIR
Andre Guedes [Wed, 8 Feb 2012 19:05:10 +0000 (16:05 -0300)]
device: Shutdown connection if ATTIO list is empty
Shutdown the ongoing connection attempt if the last ATTIO callback is
removed from the list.
Andre Guedes [Wed, 8 Feb 2012 17:55:08 +0000 (14:55 -0300)]
device: Reply ATT requests during bonding
Unlike BR/EDR which has a dynamically allocated L2CAP data channel, LE
has a fixed L2CAP channel where data are transmitted (CID 4). This means
that once the LE link is established the remote device is able to send
data (ATT messages) to the local device.
Due to the ATT sequential request-response protocol, once a client sends
a request to a server, that client shall send no other request to the
same server until a response PDU has been received. If the response PDU
arrives in 30 secs the remote device disconnects.
This way, in order to be able to reply ATT requests which may come
through channel ID 4 during the pairing, we first establish an ATT
connection and then we start the pairing process.
That issue was discovered during test sessions in UPF. We found some LE
devices sending ATT Requests in CID 4 while pairing was still in
progress
Andre Guedes [Wed, 8 Feb 2012 17:55:07 +0000 (14:55 -0300)]
device: Fix invalid read in att_connect_cb
We should keep a reference to GIOChannel created in att_connect so we
can properly shut it down if the device is removed during a connection
attempt. After establishing the connection, we drop the GIOChannel
reference because GAttrib will take the responsability of disconnect the
link based on the registered ATTIO connection callbacks.
This patch fixes the following invalid read reported by valgrind when
the device is removed and we have a ongoing connection attempt:
Invalid read of size 4
at 0x1A90D8: att_connect_cb (device.c:1712)
by 0x17EDB9: connect_cb (btio.c:169)
by 0x4E6E29C: g_main_context_dispatch (in /usr/lib/libglib-2.0.so.0.2800.8)
by 0x4E6EA77: ??? (in /usr/lib/libglib-2.0.so.0.2800.8)
by 0x4E6F0B9: g_main_loop_run (in /usr/lib/libglib-2.0.so.0.2800.8)
by 0x18ACB3: main (main.c:485)
Address 0x68aacb8 is 456 bytes inside a block of size 472 free'd
at 0x4C2556E: free (in /usr/lib/valgrind/vgpreload_memcheck-amd64-linux.so)
by 0x1A596B: device_free (device.c:248)
by 0x121EB5: remove_interface (object.c:563)
by 0x122288: g_dbus_unregister_interface (object.c:715)
by 0x1AAFD8: btd_device_unref (device.c:2636)
by 0x1A7912: device_remove (device.c:1058)
by 0x19F371: adapter_remove_device (adapter.c:1122)
by 0x1A0AD4: remove_device (adapter.c:1720)
by 0x1214C4: process_message (object.c:224)
by 0x121B60: generic_message (object.c:447)
by 0x51348C0: ??? (in /usr/lib/libdbus-1.so.3.5.7)
by 0x512679F: dbus_connection_dispatch (in /usr/lib/libdbus-1.so.3.5.7)
Andre Guedes [Wed, 8 Feb 2012 17:55:06 +0000 (14:55 -0300)]
device: Split att_connect_cb
In order to reduce code complexity, all code related to
device_browse_primary was moved to a new function called
browse_primary_connect_cb. This way att_connect_cb has only code related
to att_connect.
Anderson Lizardo [Wed, 8 Feb 2012 16:12:50 +0000 (12:12 -0400)]
proximity: Remove unused variable
Santiago Carot-Nemesio [Tue, 7 Feb 2012 13:37:58 +0000 (14:37 +0100)]
attrib-server: Fix bad error message
Santiago Carot-Nemesio [Tue, 7 Feb 2012 13:26:44 +0000 (14:26 +0100)]
attrib-server: Fix memory leak attaching attribute channels
Channel is not being released when the channel is attached over
an uninitialized GATT server.
Ilia Kolomisnky [Sun, 5 Feb 2012 14:58:58 +0000 (16:58 +0200)]
network: Add retries for BNEP connection setup
According to BNEP spec. v1.0, section 2.6.3, the
BNEP_SETUP_CONNECTION_REQUEST_MSG should be retransmitted if the response
is not received for a period between 1 to 30 sec. Current implementation
uses SO_RCVTIMEO socket option to sense reply time-out, which is
incorrect because it does not have effect on g_io_add_watch monitored
descriptors. This patch allows passing of TP/BNEP/CTRL/BV-02-C
certification test.
Luiz Augusto von Dentz [Mon, 6 Feb 2012 13:19:01 +0000 (15:19 +0200)]
sdptool: Add GoepL2capPsm decoding support
Johan Hedberg [Mon, 6 Feb 2012 20:54:14 +0000 (22:54 +0200)]
mgmt-api: Remove bogus Key_Type field from LTK messages
Johan Hedberg [Mon, 6 Feb 2012 10:03:11 +0000 (12:03 +0200)]
mgmt-api: Update to latest plans
- "Remove Keys" renamed to "Unpair Device" and moved to a more
appropriate location (after the other pairing commands)
- "Device Unpaired" event added
- Address_Type parameters added the relevant commands and events
- Address_Type vs Key_Type distinction made clearer
- Bogus '0' removed from opcodes
Vinicius Costa Gomes [Fri, 3 Feb 2012 23:06:45 +0000 (20:06 -0300)]
device: Fix doing SDP discovery for LE devices
If ReverseServiceDiscovery is enabled and we are connected to a LE
device, we should do a Primary Service Discovery, not a SDP discovery
(which doesn't even make sense).
Johan Hedberg [Fri, 3 Feb 2012 22:28:08 +0000 (00:28 +0200)]
btmgmt: Add support for BR/EDR-only and LE-only discovery
Arik Nemtsov [Fri, 3 Feb 2012 21:34:04 +0000 (23:34 +0200)]
proximity: make reporter work per-adapter
Register an adapter driver for reporter and add the adapter argument in
appropriate places.
Santiago Carot-Nemesio [Wed, 25 Jan 2012 13:12:41 +0000 (14:12 +0100)]
gatt-example: Fix g_assert checks when an uint16_t value overflows
g_assert statements are buggy when the last handler available
overflows the uint16_t range. This check is currently used to
evaluate if the number of requested attributes for a sevice
match with the number of attributes added in the data base.
Santiago Carot-Nemesio [Wed, 25 Jan 2012 13:12:40 +0000 (14:12 +0100)]
attrib-server: Allocate 128-bits UUIDs using highest available handlers
128-uuids services are grouped at the end of the handlers database list.
This group grows from the highest handlers toward lowers handlers
until the whole range is used or the last 16 bit-uuid service is reached.
Santiago Carot-Nemesio [Wed, 25 Jan 2012 13:12:39 +0000 (14:12 +0100)]
glib-compat: Add g_list_free_full to deal with issues in old GLib versions
Santiago Carot-Nemesio [Wed, 25 Jan 2012 13:12:38 +0000 (14:12 +0100)]
attrib-server: Set database uuids as a double linked list
16-bit UUIDs are allocated at the begining of the database list and
128-bit ones are grouped at the end. Replacing the list type with a double
linked one enables us to look for available handles in the 128-bit group
efficiently.
Santiago Carot-Nemesio [Wed, 25 Jan 2012 13:12:37 +0000 (14:12 +0100)]
attrib-server: Allocate 16-bits UUIDS at the begining of the list
Santiago Carot-Nemesio [Wed, 25 Jan 2012 13:12:36 +0000 (14:12 +0100)]
gatt-service: Provide service uuid in attrib_db_find_avail function
We need to provide the service uuid because of GATT server should group
16-bit uuid services together and 128-bit uuid services together,
(Bluetooth 4.0, Vol 3, Part G, 3.1).
Santiago Carot-Nemesio [Wed, 25 Jan 2012 13:12:35 +0000 (14:12 +0100)]
gatt-service: Move va_end just after processing the argument list
Santiago Carot-Nemesio [Wed, 25 Jan 2012 13:12:34 +0000 (14:12 +0100)]
gatt-service: Add support for 128-bit Bluetooth UUIDs
UUID services in GATT should be either 16-bit or 128-bit. Current
GATT interface does not allow to provide 128-bit ones. This patch
enables plugins to register services using 128-bit UUIDs.
Szymon Janc [Thu, 2 Feb 2012 22:21:19 +0000 (23:21 +0100)]
Fix GLib assertion failure in media.c get_setting()
If get_setting is called before set_setting, mp->settings would be
NULL resulting in GLib assertion. Hashmap is now allocated in
media_player_create instead of on-demand allocation in set_setting.
external/bluetooth/bluez/audio/media.c:get_setting() Equalizer
CRITICAL **: g_hash_table_lookup: assertion `hash_table != NULL' failed
Luiz Augusto von Dentz [Thu, 2 Feb 2012 21:57:05 +0000 (13:57 -0800)]
btio: Add BtIOMode enum to be used with BT_IO_OPT_MODE
Smriti Gupta [Fri, 20 Jan 2012 11:54:26 +0000 (17:24 +0530)]
core: Add provision for terminating an ATT connection
In order to terminate any existing ATT connection from the client side
existing function device_request_disconnect has been updated.
Santiago Carot-Nemesio [Tue, 31 Jan 2012 15:59:05 +0000 (16:59 +0100)]
device: Fix segmentation fault removing devices
There is an unbalanced control regarding to the GATT channel and its
attachid, we have to to update the attach id value by setting it to
zero whenever we detach a GATT channel.
Johan Hedberg [Thu, 2 Feb 2012 17:48:55 +0000 (09:48 -0800)]
lib: Add stub for A2MP
Johan Hedberg [Thu, 2 Feb 2012 17:14:41 +0000 (19:14 +0200)]
simple-agent: Ensure passkeys are padded to 6 digits
Johan Hedberg [Thu, 2 Feb 2012 17:11:38 +0000 (19:11 +0200)]
simple-agent: Update default capability to KeyboardDisplay
Now that both user space and kernel mgmt code supports this new
capability it makes sense to set it as the default for simple-agent.
Johan Hedberg [Thu, 2 Feb 2012 01:58:11 +0000 (03:58 +0200)]
mgmtops: Implement mgmt_cancel_bonding
Johan Hedberg [Wed, 1 Feb 2012 22:33:49 +0000 (14:33 -0800)]
mgmt: Update event opcodes to latest API spec
Johan Hedberg [Wed, 1 Feb 2012 22:31:59 +0000 (14:31 -0800)]
mgmt-api: Move New Long Term Key Event to a more logical place
Johan Hedberg [Wed, 1 Feb 2012 22:26:16 +0000 (14:26 -0800)]
mgmt: Update commands to latest API
Johan Hedberg [Wed, 1 Feb 2012 21:15:26 +0000 (23:15 +0200)]
mgmt-api: Remove unused/implemented commands
Johan Hedberg [Wed, 1 Feb 2012 21:14:28 +0000 (23:14 +0200)]
mgmt-api: Move Load Long Term Keys Command to a more logical place
Johan Hedberg [Wed, 1 Feb 2012 21:12:22 +0000 (23:12 +0200)]
mgmt-api: Add missing cancel pairing command
Luiz Augusto von Dentz [Wed, 1 Feb 2012 01:25:34 +0000 (17:25 -0800)]
btio: Add L2ERTM type
L2ERTM type uses L2CAP socket in SOCK_STREAM instead of SOCK_SEQPACKET
Vinicius Costa Gomes [Tue, 31 Jan 2012 17:10:53 +0000 (14:10 -0300)]
adapter_ops: Add address type information to the pair_device command
Now that we have address type information we have to inform it
when pairing with an device.
Vinicius Costa Gomes [Tue, 31 Jan 2012 17:10:52 +0000 (14:10 -0300)]
device: Fix not using the "bonded" property for new bondings
When checking if a device was already bonded, we should
use the paired property instead of reading the link key
from storage. This method will work for LE links, also.
Vinicius Costa Gomes [Tue, 31 Jan 2012 17:10:51 +0000 (14:10 -0300)]
device: Fix not using the same way for pairing LE devices
Now that both backends (hciops and mgmtops) are capable
of pairing LE devices, we don't have to force the procedure.
Vinicius Costa Gomes [Tue, 31 Jan 2012 17:10:50 +0000 (14:10 -0300)]
device: Fix doing SDP discovery for LE devices after bonding is complete
Vinicius Costa Gomes [Tue, 31 Jan 2012 17:10:49 +0000 (14:10 -0300)]
device: Fix setting the device as bonded when restoring from the LTK
Vinicius Costa Gomes [Tue, 31 Jan 2012 17:10:48 +0000 (14:10 -0300)]
event: Add type information to the mgmt "Device Connected" event
In the case of incomming connections we have to know the type of
the device that connected to us.
Through hciops we have the LE Connection Complete event, that
information was lost when Management interface was being used.
Johan Hedberg [Fri, 27 Jan 2012 18:16:29 +0000 (20:16 +0200)]
TODO: Remove already implemented mgmt features
Johan Hedberg [Tue, 31 Jan 2012 01:43:04 +0000 (03:43 +0200)]
attrib-server: Fix missing NULL check for adapter_find_device
Luiz Augusto von Dentz [Thu, 26 Jan 2012 21:39:02 +0000 (23:39 +0200)]
audio: Fix disabling local A2DP endpoints when UNIX socket is disabled
Local endpoints can only be used when UNIX socket API is available.
Vinicius Costa Gomes [Tue, 24 Jan 2012 13:57:23 +0000 (10:57 -0300)]
btio: Fix users to not expect a default security level
The users of btio should not expect that btio will set the security
level to medium if it wasn't specified. Now, all the users specfify
the security level needed.
Vinicius Costa Gomes [Tue, 24 Jan 2012 13:57:22 +0000 (10:57 -0300)]
btio: Remove the default security level from btio
The default value of sec_level when setting *any* option
using bt_io_set() was BT_SECURITY_MEDIUM. This was causing
the security procedure being started in some situations that
it should not.
Vinicius Costa Gomes [Tue, 24 Jan 2012 13:57:21 +0000 (10:57 -0300)]
test: Add support for btiotest to returning the key size
Vinicius Costa Gomes [Tue, 24 Jan 2012 13:57:20 +0000 (10:57 -0300)]
test: Add support for passing the CID to btiotest
If we want to test LE connections using btiotest we need to be
able to inform btio the Channel ID that we want to connect to, so
the kernel is able to learn that we want to establish a LE connection.
Vinicius Costa Gomes [Tue, 24 Jan 2012 13:57:19 +0000 (10:57 -0300)]
btio: Add support for getting the Encryption Key Size via btio
Some profiles specify some restriction depending on the length
of the key used to encrypt the link, this adds an way to retrieve
that value from the kernel.
Vinicius Costa Gomes [Tue, 24 Jan 2012 13:57:18 +0000 (10:57 -0300)]
lib: Add Key Size information to the security information
Since some time the kernel has the capability to return the length of
the key that was used to encrypt the link.
This patch exposes that field to userspace so more applications can take
decisions based on this information.
Vinicius Costa Gomes [Tue, 24 Jan 2012 00:21:51 +0000 (21:21 -0300)]
hciops: Fix memory leak when loading keys
If we need a copy of those keys we should copy them.
Vinicius Costa Gomes [Wed, 18 Jan 2012 23:13:32 +0000 (20:13 -0300)]
Remove the SMP Long Term Key when the device is removed
Vinicius Costa Gomes [Wed, 18 Jan 2012 23:13:30 +0000 (20:13 -0300)]
Use the helper function to convert a string to a binary buffer
When loading Link Keys from storage we are able to re-use the function
that was introduced earlier for the LTK case.
Vinicius Costa Gomes [Wed, 18 Jan 2012 23:13:29 +0000 (20:13 -0300)]
Add support for creating devices from the stored LTK's
Claudio Takahasi [Thu, 19 Jan 2012 18:38:22 +0000 (15:38 -0300)]
proximity-api: Add Link Loss Alert for Proximity Reporter API
PropertyChanged signal for LinkLossAlertLevel property is emitted when a
given remote device writes a new value for the Alert Level
characteristic in the local Link Loss service. Each platform is free to
define the actions for the detected signal.
Claudio Takahasi [Thu, 19 Jan 2012 18:36:59 +0000 (15:36 -0300)]
proximity-api: Add Proximity Reporter API
Adds API for Immediate Alert Service(IAS) abstraction. IAS is used
by Proximity Monitors and Find Me Locators to notify the user that
reporter/target has been found. This new interface combines Proximity
Reporter and Find Me Target in the same API providing the flexibility
to implement external applications to control alerts(including per
device alerts).
This abstraction allows the development of platform specific
applications to control Immediate Alert coming from Proximity Monitor
and Find Me Locator. This provides flexibility to define different level
and tone for each device. Use case: watch finding a mobile phone.
Szymon Janc [Fri, 20 Jan 2012 15:26:27 +0000 (16:26 +0100)]
Remove dead code from device_create_bonding
bonding_request_new always return valid pointer so there is not need
to check for NULL as this will never happen.
Szymon Janc [Fri, 20 Jan 2012 15:26:26 +0000 (16:26 +0100)]
Remove dead code from bonding_request_new
agent_create always return valid pointer so there is not need to check
for NULL as this will never happen.
Szymon Janc [Thu, 19 Jan 2012 09:52:30 +0000 (10:52 +0100)]
mgmt-api: Add information about endianness
Management interface use little-endian byte order and this should be
clearly stated in documentation.
Vinicius Costa Gomes [Tue, 17 Jan 2012 23:28:47 +0000 (20:28 -0300)]
Add support for sending the Load Long Term Keys commands
Also this adds another method to the adapter_ops method table,
this method allows LTKs to be loaded to the kernel.
Vinicius Costa Gomes [Tue, 17 Jan 2012 23:28:46 +0000 (20:28 -0300)]
Add support for handling the New LTK mgmt event
This event would cause this key to be permanently stored.
Vinicius Costa Gomes [Tue, 17 Jan 2012 23:28:45 +0000 (20:28 -0300)]
Add support for storing a LTK when it enters bluetoothd
Vinicius Costa Gomes [Tue, 17 Jan 2012 23:28:44 +0000 (20:28 -0300)]
Fix using "magic" values for the key types
Vinicius Costa Gomes [Tue, 17 Jan 2012 23:28:43 +0000 (20:28 -0300)]
Add macros for the possible link key types
Vinicius Costa Gomes [Tue, 17 Jan 2012 23:28:42 +0000 (20:28 -0300)]
Add storage functions to handle SMP keys
For now, only the Long Term Key (LTK) is stored.
Vinicius Costa Gomes [Wed, 18 Jan 2012 17:12:31 +0000 (14:12 -0300)]
Add messages to the mgmt interface to handle SMP key storage
The SMP keys are to be communicated to/from userspace using these
messages.
Johan Hedberg [Wed, 18 Jan 2012 12:21:46 +0000 (14:21 +0200)]
btmgmt: Fix format string specifier
Hemant Gupta [Mon, 16 Jan 2012 08:06:42 +0000 (13:36 +0530)]
Add KeyboardDisplay IO Capability
This patch adds suppport for KeyboardDisplay IO capability in BlueZ.
It is ensured that the new capability is set only if management
interface is being used. For hciops Keyboarddisplay capability is
mapped to DisplayYesNo.
Vinicius Costa Gomes [Tue, 17 Jan 2012 23:28:40 +0000 (20:28 -0300)]
mgmt-api: Update the commands for exchanging LTK's
For restoring the device from storage we need to have the Address type
of the device, the LTK is a good place for this.
In some cases, we may be notified of keys that were generated in the
Host, that key key would be used when the Host is the slave role in
a later connection, we should be able to differentiate this type of
key because it doesn't mean that we have a bonding with the Remote
Device.
Johan Hedberg [Wed, 18 Jan 2012 11:27:44 +0000 (13:27 +0200)]
mgmt: Update mgmt_ev_device_found to match latest API
Johan Hedberg [Wed, 18 Jan 2012 11:27:16 +0000 (13:27 +0200)]
storage: Add variable-length EIR support to write_remote_eir
Johan Hedberg [Tue, 17 Jan 2012 23:27:20 +0000 (01:27 +0200)]
hciops: Encode class of device data into EIR
Johan Hedberg [Tue, 17 Jan 2012 23:18:16 +0000 (01:18 +0200)]
eir: Add eir_length() function
Johan Hedberg [Tue, 17 Jan 2012 20:06:27 +0000 (22:06 +0200)]
eir: Add eir_append_data function
Johan Hedberg [Tue, 17 Jan 2012 20:04:02 +0000 (22:04 +0200)]
eir: Rename eir_has_complete_name to eir_has_data_type
Johan Hedberg [Tue, 17 Jan 2012 20:02:03 +0000 (22:02 +0200)]
eir: Move EIR data type defines to eir.h
Anderson Lizardo [Tue, 17 Jan 2012 16:18:02 +0000 (12:18 -0400)]
Fix not showing name if first EIR has no name info
Some devices may not advertise their name right on the first EIR data
sent (e.g. LE devices where name is set on either advertises or scan
responses, but not both). Given that the "found devices" cache does not
refresh the name on each EIR received, the UI may never show the name
during a discovery session.
This fix improves the Discovery UI by showing names immediately as they
are received. This works by emitting DeviceFound signals when the name
is received, even if RSSI stays the same.
Further discovery sessions will use the stored complete name, as usual.
Johan Hedberg [Tue, 17 Jan 2012 19:39:55 +0000 (21:39 +0200)]
mgmt: Remove ev_remote name and update event codes
Johan Hedberg [Tue, 17 Jan 2012 19:39:10 +0000 (21:39 +0200)]
mgmtops: Add eir_len to device_connected debug message
Johan Hedberg [Tue, 17 Jan 2012 19:37:55 +0000 (21:37 +0200)]
btmgmt: Fix connected event length check
Johan Hedberg [Tue, 17 Jan 2012 19:37:23 +0000 (21:37 +0200)]
btmgmt: Update event table
Johan Hedberg [Tue, 17 Jan 2012 15:18:41 +0000 (17:18 +0200)]
mgmt: Update ev_device_connected implementation to match API
Johan Hedberg [Tue, 17 Jan 2012 15:17:30 +0000 (17:17 +0200)]
eir: Simplify parsing with clear helper variables
Johan Hedberg [Tue, 17 Jan 2012 15:09:15 +0000 (17:09 +0200)]
eir: Add Class Of Device parsing
Marcel Holtmann [Tue, 17 Jan 2012 10:47:59 +0000 (11:47 +0100)]
btio: Remove support for hciX source addresses
Johan Hedberg [Mon, 16 Jan 2012 09:48:28 +0000 (11:48 +0200)]
mgmt-api: Use 2 octets instead of 1 for EIR data length
This allows for future extensibility.
Johan Hedberg [Sun, 15 Jan 2012 21:36:18 +0000 (23:36 +0200)]
mgmt-api: Use EIR encoding wherever possible
We can encode the remotee name and class to the EIR data format both in
device_found and device_connected events.
Johan Hedberg [Fri, 13 Jan 2012 11:59:49 +0000 (13:59 +0200)]
mgmt-api: Update to latest plans
- Remove the remote_name event and add the name to the device_connected
event (since we always refresh the name at that point anyway).
- Add Class of Device to device_connected since that's the only point
where we get it when a previously unknown device connects to us for the
first time.
- Add a Flags field to device_found to accommodate for legacy pairing
information (which we get from the remote host features HCI event) and
merge the only other existing boolean parameter (confirm_name) into this
Flags field.
Marcel Holtmann [Fri, 13 Jan 2012 03:03:08 +0000 (04:03 +0100)]
Release 4.98
Johan Hedberg [Fri, 13 Jan 2012 00:03:48 +0000 (02:03 +0200)]
eir: Fix modifying field_len when parsing
The field_len variable shouldn't be touched for the over-all parsing
state to remain consistent and so a helper variable (name_len) is needed
after all.
Johan Hedberg [Thu, 12 Jan 2012 23:19:29 +0000 (01:19 +0200)]
eir: Fix minor whitespace issue
Johan Hedberg [Thu, 12 Jan 2012 23:16:08 +0000 (01:16 +0200)]
eir: Remove unnecessary name_len variable
Johan Hedberg [Thu, 12 Jan 2012 23:08:18 +0000 (01:08 +0200)]
eir: Pass explicit length to g_utf8_validate
This way we avoid g_utf8_validate having to do it's own strlen work.
Anderson Lizardo [Thu, 12 Jan 2012 20:56:53 +0000 (16:56 -0400)]
proximity: Fix Alert Level characteristic
According to PXP IAS specification (Table 3.2), the Alert Level
characteristic property has only "Write without response" as mandatory
and the rest is excluded.
Anderson Lizardo [Thu, 12 Jan 2012 18:59:41 +0000 (14:59 -0400)]
Add missing "Legacy" property for LE devices
Some UIs may assume that a device lacking the Legacy property is
pre 2.1. To be more consistent with BR/EDR devices, always set Legacy
property explicitly to False. This makes these UIs not ask for a PIN
code when doing Just Works pairing for LE devices.
Bruna Moreira [Thu, 12 Jan 2012 18:33:37 +0000 (14:33 -0400)]
Fix EIR name parsing
Some vendors put a NUL byte terminator on EIR name field. If that is the
case, use -1 as string length so g_utf8_validade() can parse it
properly.