// Copyright 2024 Google LLC // // Licensed under the Apache License, Version 2.0 (the "License"); // you may not use this file except in compliance with the License. // You may obtain a copy of the License at // // https://www.apache.org/licenses/LICENSE-2.0 // // Unless required by applicable law or agreed to in writing, software // distributed under the License is distributed on an "AS IS" BASIS, // WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. // See the License for the specific language governing permissions and // limitations under the License. syntax = "proto3"; option java_outer_classname = "BumbleConfigProto"; package pandora; import "google/protobuf/empty.proto"; import "pandora/host.proto"; // This service provides runtime configuration for the Bumble Bluetooth stack. // It allows overriding the initial configuration provided by the JSON file and // the Security Service. This service should only be used by BumbleBluetoothTests. service BumbleConfig { // Override the initial Bumble configuration. This will erase any // previous configuration set via JSON file or Security Service. rpc Override(OverrideRequest) returns (google.protobuf.Empty); } message PairingConfig { bool sc = 1; bool mitm = 2; bool bonding = 3; OwnAddressType identity_address_type = 4; } enum IoCapability { DISPLAY_ONLY = 0x00; DISPLAY_YES_NO = 0x01; KEYBOARD_ONLY = 0x02; NO_OUTPUT_NO_INPUT = 0x03; KEYBOARD_DISPLAY = 0x04; } enum KeyDistribution { ENCRYPTION_KEY = 0x00; IDENTITY_KEY = 0x01; SIGNING_KEY = 0x02; LINK_KEY = 0x03; } message OverrideRequest { IoCapability io_capability = 1; PairingConfig pairing_config = 2; KeyDistribution initiator_key_distribution = 3; KeyDistribution responder_key_distribution = 4; }