From 9e96e710670de7dc3abb2de7c681908ea823fc53 Mon Sep 17 00:00:00 2001 From: Joshua Duong Date: Fri, 7 Feb 2020 11:04:08 -0800 Subject: [PATCH] [adbwifi] Add adb protos. BUG: b/111434128 Test: make Change-Id: I7eef85c773e219e1873c9fbc30d14c17c110c3bf --- adb/proto/Android.bp | 70 +++++++++++++++++++++++++++++++++ adb/proto/adb_known_hosts.proto | 32 +++++++++++++++ adb/proto/jarjar-rules.txt | 1 + adb/proto/key_type.proto | 26 ++++++++++++ adb/proto/pairing.proto | 30 ++++++++++++++ 5 files changed, 159 insertions(+) create mode 100644 adb/proto/Android.bp create mode 100644 adb/proto/adb_known_hosts.proto create mode 100644 adb/proto/jarjar-rules.txt create mode 100644 adb/proto/key_type.proto create mode 100644 adb/proto/pairing.proto diff --git a/adb/proto/Android.bp b/adb/proto/Android.bp new file mode 100644 index 000000000..a7e5d9ca1 --- /dev/null +++ b/adb/proto/Android.bp @@ -0,0 +1,70 @@ +// Copyright (C) 2020 The Android Open Source Project +// +// 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 +// +// http://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. + +cc_defaults { + name: "libadb_protos_defaults", + cflags: [ + "-Wall", + "-Wextra", + "-Wthread-safety", + "-Werror", + ], + + compile_multilib: "both", + + proto: { + export_proto_headers: true, + type: "lite", + }, + srcs: [ + "adb_known_hosts.proto", + "key_type.proto", + "pairing.proto", + ], + target: { + windows: { + compile_multilib: "first", + enabled: true, + }, + }, + + visibility: [ + "//system/core/adb:__subpackages__", + ], + + stl: "libc++_static", + + host_supported: true, + recovery_available: true, +} + +cc_library { + name: "libadb_protos", + defaults: ["libadb_protos_defaults"], + + apex_available: [ + "com.android.adbd", + "test_com.android.adbd", + ], +} + +// For running atest (b/147158681) +cc_library_static { + name: "libadb_protos_static", + defaults: ["libadb_protos_defaults"], + + apex_available: [ + "//apex_available:platform", + ], +} diff --git a/adb/proto/adb_known_hosts.proto b/adb/proto/adb_known_hosts.proto new file mode 100644 index 000000000..85d1489ff --- /dev/null +++ b/adb/proto/adb_known_hosts.proto @@ -0,0 +1,32 @@ +/* + * Copyright (C) 2020 The Android Open Source Project + * + * 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 + * + * http://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_package = "com.android.server.adb.protos"; +option java_outer_classname = "AdbKnownHostsProto"; + +package adb.proto; + +// Each known host +message HostInfo { + string guid = 1; +} + +// Protobuf definition for the adb_known_hosts. +message AdbKnownHosts { + repeated HostInfo host_infos = 1; +} diff --git a/adb/proto/jarjar-rules.txt b/adb/proto/jarjar-rules.txt new file mode 100644 index 000000000..4e4063706 --- /dev/null +++ b/adb/proto/jarjar-rules.txt @@ -0,0 +1 @@ +rule com.google.protobuf.** com.android.framework.protobuf.@1 diff --git a/adb/proto/key_type.proto b/adb/proto/key_type.proto new file mode 100644 index 000000000..ed451c511 --- /dev/null +++ b/adb/proto/key_type.proto @@ -0,0 +1,26 @@ +/* + * Copyright (C) 2020 The Android Open Source Project + * + * 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 + * + * http://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_package = "com.android.server.adb.protos"; +option java_outer_classname = "KeyTypeProto"; + +package adb.proto; + +enum KeyType { + RSA_2048 = 0; +} diff --git a/adb/proto/pairing.proto b/adb/proto/pairing.proto new file mode 100644 index 000000000..b0be20e53 --- /dev/null +++ b/adb/proto/pairing.proto @@ -0,0 +1,30 @@ +/* + * Copyright (C) 2020 The Android Open Source Project + * + * 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 + * + * http://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_package = "com.android.server.adb.protos"; +option java_outer_classname = "PairingProto"; + +package adb.proto; + +// The type of packets used in the pairing protocol +message PairingPacket { + enum Type { + SPAKE2_MSG = 0; + PEER_INFO = 1; + } +}