diff options
author | Johan Hedberg <johan.hedberg@nokia.com> | 2011-01-19 12:06:51 +0530 |
---|---|---|
committer | Gustavo F. Padovan <padovan@profusion.mobi> | 2011-01-19 14:40:43 -0200 |
commit | d00ef24fc2923b65fdd440dc6445903e965841ac (patch) | |
tree | 679ed038188e94ddde990e3ec1d31fc56055f9bf | |
parent | 8556edd32f01c50a3c99e44dc2c3b1252ea59605 (diff) | |
download | kernel-common-d00ef24fc2923b65fdd440dc6445903e965841ac.tar.gz kernel-common-d00ef24fc2923b65fdd440dc6445903e965841ac.tar.bz2 kernel-common-d00ef24fc2923b65fdd440dc6445903e965841ac.zip |
Bluetooth: Fix authentication request for L2CAP raw sockets
When there is an existing connection l2cap_check_security needs to be
called to ensure that the security level of the new socket is fulfilled.
Normally l2cap_do_start takes care of this, but that function doesn't
get called for SOCK_RAW type sockets. This patch adds the necessary
l2cap_check_security call to the appropriate branch in l2cap_do_connect.
Signed-off-by: Johan Hedberg <johan.hedberg@nokia.com>
Acked-by: Marcel Holtmann <marcel@holtmann.org>
Signed-off-by: Gustavo F. Padovan <padovan@profusion.mobi>
-rw-r--r-- | net/bluetooth/l2cap.c | 3 |
1 files changed, 2 insertions, 1 deletions
diff --git a/net/bluetooth/l2cap.c b/net/bluetooth/l2cap.c index ae227bf25563..7550abb0c96a 100644 --- a/net/bluetooth/l2cap.c +++ b/net/bluetooth/l2cap.c @@ -1106,7 +1106,8 @@ static int l2cap_do_connect(struct sock *sk) if (sk->sk_type != SOCK_SEQPACKET && sk->sk_type != SOCK_STREAM) { l2cap_sock_clear_timer(sk); - sk->sk_state = BT_CONNECTED; + if (l2cap_check_security(sk)) + sk->sk_state = BT_CONNECTED; } else l2cap_do_start(sk); } |