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; + } +}