| aacd8453 |
Add capability option to simple-agent
A new option is added to simple-agent facilitating use of "DisplayOnly",
"DisplayYesNo", "KeyboardOnly" and "NoInputNoOutput" agent capabilities. |
Dmitriy Paliy |
14 years ago |
1 file, +17, -7 |
| 6ae60165 |
Fix remove device alias when bonding deleted
Device alias is removed together with bonding information, such that
new pairing does not reuse old name. This is useful in cases when
name of paired device was changed after it was ones deleted. |
Dmitriy Paliy |
14 years ago |
1 file, +5, -0 |
| b70fae38 |
Fix invalid memory access issues in AVDTP module
Changing stream state from STREAMING to IDLE can be associated with side
effects under some circumstances (such as terminating bluetoothd during
music is streamed). In this case, after connection is lost, stream state
changes from STREAMING to IDLE - "avdtp_sep_set_state" is triggered which
invokes callback called "stream_state_changed" which internally invokes
"avdtp_sep_set_state" (state of stream doesn't change and stays as IDLE)
second time and then stream object is freed by "stream_free"
at the end of "avdtp_sep_set_state". After returning from callback,
first triggered "avdtp_sep_set_state" attempts to free stream object
again ("if (state == AVDTP_STATE_IDLE)" condition is still satisfied)
and it leads to invalid read/write/free issues (reported by valgrind)
in "stream free" body, since "stream" is "alias" pointer to stream object
which is already out of date (memory for stream object has been already
freed).
This patch prevents from this special case by freeing stream object only
when it is present on streams list and removing from this list when
stream object would be freed. |
Rafal Michalski |
14 years ago |
1 file, +4, -2 |
| d9b27da3 |
Fix invalid read from memory issue in AVDTP module
Changing stream state from STREAMING to IDLE can be associated with side
effects under some circumstances (such as terminating bluetoothd during
music is streamed). In this case, after connection is lost, stream state
changes from STREAMING to IDLE - "avdtp_sep_set_state" is triggered which
invokes callback called "stream_state_changed" which internally invokes
"avdtp_sep_set_state" (state of stream doesn't change and stays as IDLE)
second time and then stream callbacks list is discarded by "stream_free"
("g_slist_free(stream->callbacks)"). After returning from callback,
"stream->callbacks" list (and "l" pointer as well) is already out of date,
so attempting to fetch "l->next" pointer (returned by "g_slist_next(l)"
to be prepared to next iteration of "for" loop) from node on discarded
list leads to invalid read issue (reported by valgrind).
This patch prevents from this issue by moving "l = g_slist_next(l)"
instruction just before invoking callback - loop has been modified and
"while" used instead of "for" loop variant. |
Rafal Michalski |
14 years ago |
1 file, +3, -1 |
| a2d3f2d5 |
Fix invalid write to memory issue in media module
Under some circumstances (such as terminating bluetoothd during music is
streamed) endpoint object may be destroyed (memory for endpoint object is
internally freed, directly by "media_endpoint_remove") after invoking
"media_transport_destroy" (in "media_endpoint_clear_configuration") to
destroy transport object (memory for transport object is directly freed by
"media_transport_free"). It leads to invalid write issue (reported by
valgrind) after assignment "endpoint->transport = NULL", since "endpoint"
is "alias" pointer to endpoint object which is already out of date
(memory for endpoint object has been already freed).
This patch prevents from this issue by ensuring that assignment
"endpoint->transport = NULL" would be executed when endpoint object
certainly exists. |
Rafal Michalski |
14 years ago |
1 file, +2, -1 |
| 94a49c70 |
Fix invalid write to memory issue in A2DP module
Under some circumstances (such as terminating bluetoothd during music is
streamed) sep object may be destroyed (memory for sep object is internally
freed, directly by "a2dp_unregister_sep") after invoking
"media_endpoint_clear_configuration" (in "stream_state_changed").
It leads to invalid write issue (reported by valgrind) after assignment
"sep->stream = NULL", since "sep" is "alias" pointer to sep object which
is already out of date (memory for sep object has been already freed)
This patch prevents from this issue by ensuring that assignment
"sep->stream = NULL" would be executed when sep object certainly exists. |
Rafal Michalski |
14 years ago |
1 file, +2, -3 |
| 3a916a00 |
Fix AVCTP reply for message with invalid PID
Reply for control message with invalid (not registered for reception
of messages) PID should not have message information field present.
This was affecting AVCTP 1.3 qualification test case TP/NFR/BI-01-C. |
Szymon Janc |
14 years ago |
1 file, +1, -1 |
| d3750509 |
Remove SAP_BUF_SIZE define from sap/server.c
It is already defined in sap/sap.h which is included by sap/server.c. |
Szymon Janc |
14 years ago |
1 file, +0, -1 |
| 4866561a |
Remove unused enum from sap.h
This is a leftover from sap code upstreaming process. |
Szymon Janc |
14 years ago |
1 file, +0, -11 |
| 8ab32a35 |
Fix typo error in the attribute API documentation |
Santiago Carot-Nemesio |
14 years ago |
1 file, +1, -1 |
| 63c3e056 |
Fix udev rule for Logitech devices
The *real* history of this file is a nightmare. Now that it's
back in the bluez project, fix the problems that were added
while it was in udev.
1) Only hiddev* devices provide the ioctl interface hid2hci uses
to switch from HID->HCI for --method=logitech-hid. (inquiring
minds can look in the kernel git tree at drivers/hid/usbhid/hiddev.c)
2) hidraw* devices don't belong to subsystem=usb (they are
subsystem=hidraw). This means that the udev rule that matched based on
hidraw* would never have been run anyway because of the early-out
subsystem!=usb on line 4.
This fix is going to cause major regressions in distros because there
is currently no way provided by bluez to *NOT* run hid2hci.
Many, many users (and maintainers) mistakenly believe that because
the keyboard and mouse works when the vid/pid of their device is matched
by the hidraw* rule, that "bluetooth" must be working. Of course, what's
really happening is the keyboard and mouse are working as HID input
devices instead. |
Peter Hurley |
14 years ago |
1 file, +1, -3 |
| 90ec2930 |
Add support of secure pin code in mgmt code
Use secure pin code parameter received from the kernel in
MGMT_EV_PIN_CODE_REQUEST event and propagate this to agent
code.
Secure flag is specific for the pin code request only. |
Waldemar Rymarkiewicz |
14 years ago |
8 files, +22, -19 |
| 4b609b81 |
Add "quit" to gatttool supported commands |
Johan Hedberg |
14 years ago |
1 file, +2, -0 |
| 7fec07d6 |
Fix type in conditional expression
Function media_endpoint_create returns pointer to structure. In
conditional expression it is safer to compare returned value with NULL
and not with gboolean as it is done in register_endpoint function. |
Lukasz Pawlik |
14 years ago |
1 file, +1, -1 |
| f182cf86 |
Fix disconnect devices after enabling offline mode
Previously paired and connected devices were disconnected automatically
after turning bluetooth off directly via bluetooth UI. This patch makes
that also other ways of turning bluetooth off (which should lead to
disconnecting paired and connected devices), such as enabling offline
mode (which turns bluetooth off as well), can be handled properly. |
Rafal Michalski |
14 years ago |
1 file, +40, -1 |
| 571d97d3 |
telephony-ofono: fix features initialization
Features should be ready before telephony_init return, otherwise the
record might contain invalid features. |
Luiz Augusto von Dentz |
14 years ago |
1 file, +10, -10 |
| 05e51adf |
Simplify return value in disconnect_req |
Waldemar Rymarkiewicz |
14 years ago |
1 file, +7, -14 |
| d77b3e02 |
Coding style cleanup in sap server |
Waldemar Rymarkiewicz |
14 years ago |
1 file, +8, -8 |
| 6890d512 |
Fix return value in send_message
send_message returns the number of sent bytes and -EIO in case of
IO error now |
Waldemar Rymarkiewicz |
14 years ago |
1 file, +7, -5 |
| b90dd115 |
Clean SAP server error printouts |
Waldemar Rymarkiewicz |
14 years ago |
1 file, +31, -44 |
| f8e0916e |
Remove unnecessary jumps |
Slawomir Bochenski |
14 years ago |
5 files, +12, -18 |
| 3b7e90d9 |
Init telephony before adding the HFP SDP record
By patch b9d85c00108977b24ae91ea8ecedb9ceffe6f648 the initialization
of the telephony subsystem is delayed in the bluetoothd startup
procedure. As a result the SupportedFeatures bitmap has not been set
when creating the HFP SDP record. This patch changes the order of
the telephony initialization (via the state_changed function) and
the registration of the record, so that it gets the right value.
Although the corresponding bit in +BRSF is correctly set, the
missing bit for the "Three-way calling" feature in the SDP record
causes some headsets not to send AT+CHLD=? in certain situations.
This results in failed connections since BlueZ does not enter the
"connected" state on the headset interface before that command is
received, if the feature is supported by both sides. |
Daniel Orstadius |
14 years ago |
1 file, +3, -3 |
| bf14614c |
Release 4.94 |
Marcel Holtmann |
14 years ago |
2 files, +10, -1 |
| c78787f6 |
Update library version |
Marcel Holtmann |
14 years ago |
1 file, +1, -1 |
| 595abb22 |
Fix the broken change for udevdir and PCMCIA |
Marcel Holtmann |
14 years ago |
1 file, +2, -0 |
| 5dd8b9aa |
Fix install path for udevdir
If PCMCIA enabled, udevdir value override from /lib/udev to
$(libexecdir)/udev. |
Nobuhiro Iwamatsu |
14 years ago |
1 file, +0, -2 |
| bb91e5ed |
Fix response for vendor dependent AVRCP commands
AVRCP TG now returns a REJECTED response with the "Invalid command"
error code for VENDOR DEPENDENT commands. This fixes test case
AVRCP/TG/INV/TC_TG_INV_BI_01_C with recent PTS version. |
Ilia Kolomisnky |
14 years ago |
1 file, +38, -0 |
| d552baf1 |
Revert "Parse pin codes starting with '$' as hexadecimal encoded strings" |
Marcel Holtmann |
14 years ago |
1 file, +3, -32 |
| 11338bdb |
Revert "Remove 16 byte limit for PIN codes returned by agents" |
Marcel Holtmann |
14 years ago |
1 file, +1, -1 |
| 9d67b7ed |
Revert "Document new hex-encoded pins feature" |
Marcel Holtmann |
14 years ago |
1 file, +1, -7 |
| a740e859 |
Fix invalid read and possible memory leaks
Fixed incorrect update of transport->owners GSlist in
media_transport_free. Removal of list entries within 'for' loop leads to
invalid read of memory (l = l->next) and memory leaks. |
Dmitriy Paliy |
14 years ago |
1 file, +6, -3 |
| 09b6fbef |
Fix invalid read of memory in avdtp module
Fixed incorrect update of server->sessions GSlist in avdtp_exit.
Previosly it was leading to invalid read of memory (l = l->next)
(and possible memory leaks) since after invoking avdtp_unref in
connection_lost, l pointer was not valid anymore (previously assignment
l = l->next was used after invoking connection_lost in for loop). |
Rafal Michalski |
14 years ago |
1 file, +7, -1 |
| 27a52a9c |
Fix possible buffer overflow when sending avdtp commands
Buffer size should be as big as the maximum of imtu and omtu, otherwise
it may overflow when sending messages which are bigger then imtu. |
Luiz Augusto von Dentz |
14 years ago |
1 file, +5, -1 |
| 1b6f41be |
Remove obsolete Sixaxis enablement in hidd
Seeing as this is now handled in the kernel. |
Bastien Nocera |
14 years ago |
1 file, +0, -12 |
| 29a46bf7 |
btio: Add workaround for not defined BT_FLUSHABLE |
Marcel Holtmann |
14 years ago |
1 file, +4, -0 |
| 51ab3c97 |
doc: Add mention of the 6-digit padding problem
Passkeys used for Secure Simple pairing should always appear
zero-padded in the end-user display, as per specification
(5.4 ASSOCIATION MODELS in BLUETOOTH SPECIFICATION Version 2.1 + EDR
[vol 1]) |
Bastien Nocera |
14 years ago |
1 file, +8, -0 |
| 1f921e01 |
Cleanup of device class update signal
Adds a new device function to address the PropertyChanged
signal when the device's class changes. event.c file should
avoid sending signals that belongs to device objects. |
Sheldon Demario |
14 years ago |
3 files, +11, -7 |
| a0cbbd2b |
Removed unused variable "secmode3" in btd_device |
Claudio Takahasi |
14 years ago |
1 file, +0, -3 |
| f169bea7 |
Drop variable EIR length
The functions eir_parse() and adapter_update_found_devices() now
assume that the EIR buffer has always 240 octets. For advertising
reports, the advertising data is stored on a buffer with 240 bytes,
padded with zeroes. |
Bruna Moreira |
14 years ago |
6 files, +20, -16 |
| 9d172c96 |
Replace EIR_DATA_LENGTH with HCI_MAX_EIR_LENGTH
Both defines have the same value (240) and meaning. |
Bruna Moreira |
14 years ago |
4 files, +7, -8 |
| 04205c06 |
Cleanup inserting new device found entry |
Claudio Takahasi |
14 years ago |
1 file, +47, -50 |
| 5de0ab35 |
Change the order to write/read the remote's name
When discovering, write the EIR "complete" name first before to read
the name. Only names retrieved from EIR "complete" name and HCI Remote
Name Request Complete event are stored. This patch doesn't change the
final result: the value of the name sent in the signal. |
Claudio Takahasi |
14 years ago |
1 file, +5, -14 |
| 5b1f949a |
Remove btd_event_advertising_report
Advertises should be notified using btd_event_device_found function
to keep the compatibility with mgmtops plugin. |
Bruna Moreira |
14 years ago |
3 files, +10, -21 |
| 8b353b60 |
Fix memory leak of EIR data |
Claudio Takahasi |
14 years ago |
3 files, +9, -0 |
| f97603c9 |
Unify inquiry results and advertises
Adapter needs to have only one method to allow discovery results
integration for both interfaces: hciops and mgmtops. This patch
moves the code related to advertises parsing to the same function
that handles inquiry results. |
Claudio Takahasi |
14 years ago |
3 files, +29, -72 |
| 45709a7d |
Don't resolve name if the name is in the storage |
Claudio Takahasi |
14 years ago |
1 file, +6, -6 |
| c8004010 |
Cleanup read name and alias from storage |
Claudio Takahasi |
14 years ago |
1 file, +23, -12 |
| 35667eb0 |
Move legacy verification to a new function |
Claudio Takahasi |
14 years ago |
1 file, +21, -13 |
| 95f0dafe |
sbc: Fix empty parameter list in usage() declaration |
Szymon Janc |
14 years ago |
1 file, +1, -1 |
| 8af5f43a |
Fix empty parameter list in functions declarations |
Szymon Janc |
14 years ago |
6 files, +6, -6 |