<feed xmlns='http://www.w3.org/2005/Atom'>
<title>kernel.git/net/bluetooth/l2cap.c, branch linux-2.6.28.y</title>
<subtitle>Hosts the 0x221E linux distro kernel.
</subtitle>
<id>https://git.0xinfinity.dev/distro/kernel.git/atom?h=linux-2.6.28.y</id>
<link rel='self' href='https://git.0xinfinity.dev/distro/kernel.git/atom?h=linux-2.6.28.y'/>
<link rel='alternate' type='text/html' href='https://git.0xinfinity.dev/distro/kernel.git/'/>
<updated>2008-09-09T05:19:20Z</updated>
<entry>
<title>[Bluetooth] Reject L2CAP connections on an insecure ACL link</title>
<updated>2008-09-09T05:19:20Z</updated>
<author>
<name>Marcel Holtmann</name>
</author>
<published>2008-09-09T05:19:20Z</published>
<link rel='alternate' type='text/html' href='https://git.0xinfinity.dev/distro/kernel.git/commit/?id=e7c29cb16c833441fd2160642bb13025f4e7ac70'/>
<id>urn:sha1:e7c29cb16c833441fd2160642bb13025f4e7ac70</id>
<content type='text'>
The Security Mode 4 of the Bluetooth 2.1 specification has strict
authentication and encryption requirements. It is the initiators job
to create a secure ACL link. However in case of malicious devices, the
acceptor has to make sure that the ACL is encrypted before allowing
any kind of L2CAP connection. The only exception here is the PSM 1 for
the service discovery protocol, because that is allowed to run on an
insecure ACL link.

Previously it was enough to reject a L2CAP connection during the
connection setup phase, but with Bluetooth 2.1 it is forbidden to
do any L2CAP protocol exchange on an insecure link (except SDP).

The new hci_conn_check_link_mode() function can be used to check the
integrity of an ACL link. This functions also takes care of the cases
where Security Mode 4 is disabled or one of the devices is based on
an older specification.

Signed-off-by: Marcel Holtmann &lt;marcel@holtmann.org&gt;
</content>
</entry>
<entry>
<title>[Bluetooth] Enforce correct authentication requirements</title>
<updated>2008-09-09T05:19:20Z</updated>
<author>
<name>Marcel Holtmann</name>
</author>
<published>2008-09-09T05:19:20Z</published>
<link rel='alternate' type='text/html' href='https://git.0xinfinity.dev/distro/kernel.git/commit/?id=09ab6f4c2376a0fc31abde1e2991513f900ea825'/>
<id>urn:sha1:09ab6f4c2376a0fc31abde1e2991513f900ea825</id>
<content type='text'>
With the introduction of Security Mode 4 and Simple Pairing from the
Bluetooth 2.1 specification it became mandatory that the initiator
requires authentication and encryption before any L2CAP channel can
be established. The only exception here is PSM 1 for the service
discovery protocol (SDP). It is meant to be used without any encryption
since it contains only public information. This is how Bluetooth 2.0
and before handle connections on PSM 1.

For Bluetooth 2.1 devices the pairing procedure differentiates between
no bonding, general bonding and dedicated bonding. The L2CAP layer
wrongly uses always general bonding when creating new connections, but it
should not do this for SDP connections. In this case the authentication
requirement should be no bonding and the just-works model should be used,
but in case of non-SDP connection it is required to use general bonding.

If the new connection requires man-in-the-middle (MITM) protection, it
also first wrongly creates an unauthenticated link key and then later on
requests an upgrade to an authenticated link key to provide full MITM
protection. With Simple Pairing the link key generation is an expensive
operation (compared to Bluetooth 2.0 and before) and doing this twice
during a connection setup causes a noticeable delay when establishing
a new connection. This should be avoided to not regress from the expected
Bluetooth 2.0 connection times. The authentication requirements are known
up-front and so enforce them.

To fulfill these requirements the hci_connect() function has been extended
with an authentication requirement parameter that will be stored inside
the connection information and can be retrieved by userspace at any
time. This allows the correct IO capabilities exchange and results in
the expected behavior.

Signed-off-by: Marcel Holtmann &lt;marcel@holtmann.org&gt;
</content>
</entry>
<entry>
<title>[Bluetooth] Consolidate maintainers information</title>
<updated>2008-08-18T11:23:53Z</updated>
<author>
<name>Marcel Holtmann</name>
</author>
<published>2008-08-18T11:23:53Z</published>
<link rel='alternate' type='text/html' href='https://git.0xinfinity.dev/distro/kernel.git/commit/?id=63fbd24e5102eecfc9d049ed7f4be7f9a25f814f'/>
<id>urn:sha1:63fbd24e5102eecfc9d049ed7f4be7f9a25f814f</id>
<content type='text'>
The Bluetooth entries for the MAINTAINERS file are a little bit too
much. Consolidate them into two entries. One for Bluetooth drivers and
another one for the Bluetooth subsystem.

Also the MODULE_AUTHOR should indicate the current maintainer of the
module and actually not the original author. Fix all Bluetooth modules
to provide current maintainer information.

Signed-off-by: Marcel Holtmann &lt;marcel@holtmann.org&gt;
</content>
</entry>
<entry>
<title>[Bluetooth] Allow security for outgoing L2CAP connections</title>
<updated>2008-07-14T18:13:54Z</updated>
<author>
<name>Marcel Holtmann</name>
</author>
<published>2008-07-14T18:13:54Z</published>
<link rel='alternate' type='text/html' href='https://git.0xinfinity.dev/distro/kernel.git/commit/?id=b1235d79611e78a07629b4cbe53291c9cffd1834'/>
<id>urn:sha1:b1235d79611e78a07629b4cbe53291c9cffd1834</id>
<content type='text'>
When requested the L2CAP layer will now enforce authentication and
encryption on outgoing connections. The usefulness of this feature
is kinda limited since it will not allow proper connection ownership
tracking until the authentication procedure has been finished. This
is a limitation of Bluetooth 2.0 and before and can only be fixed by
using Simple Pairing.

Signed-off-by: Marcel Holtmann &lt;marcel@holtmann.org&gt;
</content>
</entry>
<entry>
<title>[Bluetooth] Add timestamp support to L2CAP, RFCOMM and SCO</title>
<updated>2008-07-14T18:13:50Z</updated>
<author>
<name>Marcel Holtmann</name>
</author>
<published>2008-07-14T18:13:50Z</published>
<link rel='alternate' type='text/html' href='https://git.0xinfinity.dev/distro/kernel.git/commit/?id=3241ad820dbb172021e0268b5611031991431626'/>
<id>urn:sha1:3241ad820dbb172021e0268b5611031991431626</id>
<content type='text'>
Enable the common timestamp functionality that the network subsystem
provides for L2CAP, RFCOMM and SCO sockets. It is possible to either
use SO_TIMESTAMP or the IOCTLs to retrieve the timestamp of the
current packet.

Signed-off-by: Marcel Holtmann &lt;marcel@holtmann.org&gt;
</content>
</entry>
<entry>
<title>[Bluetooth] Export details about authentication requirements</title>
<updated>2008-07-14T18:13:50Z</updated>
<author>
<name>Marcel Holtmann</name>
</author>
<published>2008-07-14T18:13:50Z</published>
<link rel='alternate' type='text/html' href='https://git.0xinfinity.dev/distro/kernel.git/commit/?id=40be492fe4fab829951681860c2bb26fa1d5fe4a'/>
<id>urn:sha1:40be492fe4fab829951681860c2bb26fa1d5fe4a</id>
<content type='text'>
With the Simple Pairing support, the authentication requirements are
an explicit setting during the bonding process. Track and enforce the
requirements and allow higher layers like L2CAP and RFCOMM to increase
them if needed.

This patch introduces a new IOCTL that allows to query the current
authentication requirements. It is also possible to detect Simple
Pairing support in the kernel this way.

Signed-off-by: Marcel Holtmann &lt;marcel@holtmann.org&gt;
</content>
</entry>
<entry>
<title>[Bluetooth] Disconnect when encryption gets disabled</title>
<updated>2008-07-14T18:13:45Z</updated>
<author>
<name>Marcel Holtmann</name>
</author>
<published>2008-07-14T18:13:45Z</published>
<link rel='alternate' type='text/html' href='https://git.0xinfinity.dev/distro/kernel.git/commit/?id=9719f8afce34d3d04e884873a8a5e3483e30974c'/>
<id>urn:sha1:9719f8afce34d3d04e884873a8a5e3483e30974c</id>
<content type='text'>
The Bluetooth specification allows to enable or disable the encryption
of an ACL link at any time by either the peer or the remote device. If
a L2CAP or RFCOMM connection requested an encrypted link, they will now
disconnect that link if the encryption gets disabled. Higher protocols
that don't care about encryption (like SDP) are not affected.

Signed-off-by: Marcel Holtmann &lt;marcel@holtmann.org&gt;
</content>
</entry>
<entry>
<title>[Bluetooth] Change retrieval of L2CAP features mask</title>
<updated>2008-07-14T18:13:44Z</updated>
<author>
<name>Marcel Holtmann</name>
</author>
<published>2008-07-14T18:13:44Z</published>
<link rel='alternate' type='text/html' href='https://git.0xinfinity.dev/distro/kernel.git/commit/?id=79d554a6976a295aa9212172b218f29ca71c3b3d'/>
<id>urn:sha1:79d554a6976a295aa9212172b218f29ca71c3b3d</id>
<content type='text'>
Getting the remote L2CAP features mask is really important, but doing
this as less intrusive as possible is tricky. To play nice with older
systems and Bluetooth qualification testing, the features mask is now
only retrieved in two specific cases and only once per lifetime of an
ACL link.

When trying to establish a L2CAP connection and the remote features mask
is unknown, the L2CAP information request is sent when the ACL link goes
into connected state. This applies only to outgoing connections and also
only for the connection oriented channels.

The second case is when a connection request has been received. In this
case a connection response with the result pending and the information
request will be send. After receiving an information response or if the
timeout gets triggered, the normal connection setup process with security
setup will be initiated.

Signed-off-by: Marcel Holtmann &lt;marcel@holtmann.org&gt;
</content>
</entry>
<entry>
<title>bluetooth: use get/put_unaligned_* helpers</title>
<updated>2008-05-02T23:25:46Z</updated>
<author>
<name>Harvey Harrison</name>
</author>
<published>2008-05-02T23:25:46Z</published>
<link rel='alternate' type='text/html' href='https://git.0xinfinity.dev/distro/kernel.git/commit/?id=83985319393973f280ca2a797047780a7955cf19'/>
<id>urn:sha1:83985319393973f280ca2a797047780a7955cf19</id>
<content type='text'>
Signed-off-by: Harvey Harrison &lt;harvey.harrison@gmail.com&gt;
Acked-by: Marcel Holtmann &lt;marcel@holtmann.org&gt;
Signed-off-by: David S. Miller &lt;davem@davemloft.net&gt;
</content>
</entry>
<entry>
<title>Merge branch 'master' of git://git.kernel.org/pub/scm/linux/kernel/git/davem/net-2.6</title>
<updated>2008-04-03T05:35:23Z</updated>
<author>
<name>David S. Miller</name>
</author>
<published>2008-04-03T05:35:23Z</published>
<link rel='alternate' type='text/html' href='https://git.0xinfinity.dev/distro/kernel.git/commit/?id=e1ec1b8ccdf0df6000faa8c2d985ca5f94157e5a'/>
<id>urn:sha1:e1ec1b8ccdf0df6000faa8c2d985ca5f94157e5a</id>
<content type='text'>
Conflicts:

	drivers/net/s2io.c
</content>
</entry>
</feed>
