Bluetooth: Set authentication requirements if not available
authorMarcel Holtmann <marcel@holtmann.org>
Fri, 6 Feb 2009 18:45:36 +0000 (19:45 +0100)
committerMarcel Holtmann <marcel@holtmann.org>
Fri, 27 Feb 2009 05:14:40 +0000 (06:14 +0100)
When no authentication requirements are selected, but an outgoing or
incoming connection has requested any kind of security enforcement,
then set these authentication requirements.

This ensures that the userspace always gets informed about the
authentication requirements (if available). Only when no security
enforcement has happened, the kernel will signal invalid requirements.

Signed-off-by: Marcel Holtmann <marcel@holtmann.org>
net/bluetooth/hci_conn.c

index 7fc4c04..dcdaa4b 100644 (file)
@@ -416,6 +416,9 @@ int hci_conn_security(struct hci_conn *conn, __u8 sec_level, __u8 auth_type)
 {
        BT_DBG("conn %p", conn);
 
 {
        BT_DBG("conn %p", conn);
 
+       if (conn->auth_type == 0xff)
+               conn->auth_type = auth_type;
+
        if (sec_level == BT_SECURITY_SDP)
                return 1;
 
        if (sec_level == BT_SECURITY_SDP)
                return 1;