mirror of
https://github.com/Fishwaldo/Star64_linux.git
synced 2025-07-23 15:27:29 +00:00
Bluetooth: Handle security level 4 for RFCOMM connections
With the introduction of security level 4, the RFCOMM sockets need to be made aware of this new level. This change ensures that the pairing requirements are set correctly for these connections. Signed-off-by: Marcel Holtmann <marcel@holtmann.org> Signed-off-by: Johan Hedberg <johan.hedberg@intel.com>
This commit is contained in:
parent
7d513e9243
commit
2c068e0b92
3 changed files with 15 additions and 2 deletions
|
@ -648,6 +648,11 @@ static int rfcomm_sock_setsockopt_old(struct socket *sock, int optname, char __u
|
|||
break;
|
||||
}
|
||||
|
||||
if (opt & RFCOMM_LM_FIPS) {
|
||||
err = -EINVAL;
|
||||
break;
|
||||
}
|
||||
|
||||
if (opt & RFCOMM_LM_AUTH)
|
||||
rfcomm_pi(sk)->sec_level = BT_SECURITY_LOW;
|
||||
if (opt & RFCOMM_LM_ENCRYPT)
|
||||
|
@ -762,7 +767,11 @@ static int rfcomm_sock_getsockopt_old(struct socket *sock, int optname, char __u
|
|||
break;
|
||||
case BT_SECURITY_HIGH:
|
||||
opt = RFCOMM_LM_AUTH | RFCOMM_LM_ENCRYPT |
|
||||
RFCOMM_LM_SECURE;
|
||||
RFCOMM_LM_SECURE;
|
||||
break;
|
||||
case BT_SECURITY_FIPS:
|
||||
opt = RFCOMM_LM_AUTH | RFCOMM_LM_ENCRYPT |
|
||||
RFCOMM_LM_SECURE | RFCOMM_LM_FIPS;
|
||||
break;
|
||||
default:
|
||||
opt = 0;
|
||||
|
@ -774,6 +783,7 @@ static int rfcomm_sock_getsockopt_old(struct socket *sock, int optname, char __u
|
|||
|
||||
if (put_user(opt, (u32 __user *) optval))
|
||||
err = -EFAULT;
|
||||
|
||||
break;
|
||||
|
||||
case RFCOMM_CONNINFO:
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue