linux/net/bluetooth
Marcel Holtmann 3fdca1e137 Bluetooth: Fix connection establishment with low security requirement
The Bluetooth 2.1 specification introduced four different security modes
that can be mapped using Legacy Pairing and Simple Pairing. With the
usage of Simple Pairing it is required that all connections (except
the ones for SDP) are encrypted. So even the low security requirement
mandates an encrypted connection when using Simple Pairing. When using
Legacy Pairing (for Bluetooth 2.0 devices and older) this is not required
since it causes interoperability issues.

To support this properly the low security requirement translates into
different host controller transactions depending if Simple Pairing is
supported or not. However in case of Simple Pairing the command to
switch on encryption after a successful authentication is not triggered
for the low security mode. This patch fixes this and actually makes
the logic to differentiate between Simple Pairing and Legacy Pairing
a lot simpler.

Based on a report by Ville Tervo <ville.tervo@nokia.com>

Signed-off-by: Marcel Holtmann <marcel@holtmann.org>
2009-04-28 09:31:39 -07:00
..
bnep bluetooth: driver API update 2009-01-07 17:23:17 -08:00
cmtp Bluetooth: Remove some pointless conditionals before kfree_skb() 2009-02-27 06:14:49 +01:00
hidp Bluetooth: Enable per-module dynamic debug messages 2008-11-30 12:17:28 +01:00
rfcomm Bluetooth: Fix removing of RFCOMM DLC timer with DEFER_SETUP 2009-04-19 18:56:45 +02:00
af_bluetooth.c Bluetooth: Fix poll() misbehavior when using BT_DEFER_SETUP 2009-02-27 06:14:46 +01:00
hci_conn.c Bluetooth: Fix connection establishment with low security requirement 2009-04-28 09:31:39 -07:00
hci_core.c Bluetooth: Remove some pointless conditionals before kfree_skb() 2009-02-27 06:14:49 +01:00
hci_event.c Bluetooth: Add different pairing timeout for Legacy Pairing 2009-04-28 09:31:38 -07:00
hci_sock.c Bluetooth: Enable per-module dynamic debug messages 2008-11-30 12:17:28 +01:00
hci_sysfs.c Bluetooth: Ensure that HCI sysfs add/del is preempt safe 2009-04-28 09:31:38 -07:00
Kconfig [S390] Kconfig: unwanted menus for s390. 2007-05-10 15:46:07 +02:00
l2cap.c Bluetooth: Remove some pointless conditionals before kfree_skb() 2009-02-27 06:14:49 +01:00
lib.c [NET] BLUETOOTH: Fix whitespace errors. 2007-02-10 23:19:20 -08:00
Makefile Linux-2.6.12-rc2 2005-04-16 15:20:36 -07:00
sco.c Bluetooth: Ask upper layers for HCI disconnect reason 2009-02-27 06:14:43 +01:00