• Johan Hedberg's avatar
    Bluetooth: Fix non-SSP auth request for HIGH security level sockets · bdb7524a
    Johan Hedberg authored
    When initiating dedicated bonding a L2CAP raw socket with HIGH security
    level is used. The kernel is supposed to trigger the authentication
    request in this case but this doesn't happen currently for non-SSP
    (pre-2.1) devices. The reason is that the authentication request happens
    in the remote extended features callback which never gets called for
    non-SSP devices. This patch fixes the issue by requesting also
    authentiation in the (normal) remote features callback in the case of
    non-SSP devices.
    
    This rule is applied only for HIGH security level which might at first
    seem unintuitive since on the server socket side MEDIUM is already
    enough for authentication. However, for the clients we really want to
    prefer the server side to decide the authentication requrement in most
    cases, and since most client sockets use MEDIUM it's better to be
    avoided on the kernel side for these sockets. The important socket to
    request it for is the dedicated bonding one and that socket uses HIGH
    security level.
    
    The patch is based on the initial investigation and patch proposal from
    Andrei Emeltchenko <endrei.emeltchenko@nokia.com>.
    Signed-off-by: default avatarJohan Hedberg <johan.hedberg@nokia.com>
    Acked-by: default avatarMarcel Holtmann <marcel@holtmann.org>
    Signed-off-by: default avatarGustavo F. Padovan <padovan@profusion.mobi>
    bdb7524a
hci_event.c 44.3 KB