Donate to e Foundation | Murena handsets with /e/OS | Own a part of Murena! Learn more

Commit 945fc068 authored by Android Build Coastguard Worker's avatar Android Build Coastguard Worker
Browse files

Merge cherrypicks of ['googleplex-android-review.googlesource.com/20933644'] into tm-qpr2-release.

Change-Id: I8a417c3c0c365c02d611b9f03efc1fcb3229464c
parents 9b7145f7 20b03922
Loading
Loading
Loading
Loading
+18 −0
Original line number Diff line number Diff line
@@ -50,6 +50,7 @@
#include "main/shim/dumpsys.h"
#include "main/shim/l2c_api.h"
#include "main/shim/shim.h"
#include "os/parameter_provider.h"
#include "osi/include/allocator.h"
#include "osi/include/log.h"
#include "osi/include/osi.h"  // UNUSED_ATTR
@@ -630,6 +631,23 @@ void btm_acl_encrypt_change(uint16_t handle, uint8_t status,
    return;
  }

  /* Common Criteria mode only: if we are trying to drop encryption on an
   * encrypted connection, drop the connection */
  if (bluetooth::os::ParameterProvider::IsCommonCriteriaMode()) {
    if (p->is_encrypted && !encr_enable) {
      LOG(ERROR)
          << __func__
          << " attempting to decrypt encrypted connection, disconnecting. "
             "handle: "
          << loghex(handle);

      acl_disconnect_from_handle(handle, HCI_ERR_HOST_REJECT_SECURITY,
                                 "stack::btu::btu_hcif::read_drop_encryption "
                                 "Connection Already Encrypted");
      return;
    }
  }

  p->is_encrypted = encr_enable;

  /* Process Role Switch if active */