platform_system_core/adb
Joshua Duong 5cf7868b7e [adbwifi] Add A_STLS command.
This command will be sent by adbd to notify the client that the
connection will be over TLS.

When client connects, it will send the CNXN packet, as usual. If the
server connection has TLS enabled, it will send the A_STLS packet
(regardless of whether auth is required). At this point, the client's
only valid response is to send a A_STLS packet. Once both sides have
exchanged the A_STLS packet, both will start the TLS handshake.

If auth is required, then the client will receive a CertificateRequest
with a list of known public keys (SHA256 hash) that it can use in its
certificate. Otherwise, the list will be empty and the client can assume
that either any key will work, or none will work.

If the handshake was successful, the server will send the CNXN packet
and the usual adb protocol is resumed over TLS. If the handshake failed,
both sides will disconnect, as there's no point to retry because the
server's known keys have already been communicated.

Bug: 111434128

Test: WIP; will add to adb_test.py/adb_device.py.

Enable wireless debugging in the Settings, then 'adb connect
<ip>:<port>'. Connection should succeed if key is in keystore. Used
wireshark to check for packet encryption.

Change-Id: I3d60647491c6c6b92297e4f628707a6457fa9420
2020-02-21 21:07:13 +00:00
..
adbconnection Move jdwp connection abstraction from ART apex to adbd apex. 2020-01-24 12:31:59 -08:00
apex [adbd-apex] Export adbd libraries used by system_server. 2020-02-21 21:06:28 +00:00
client [adbwifi] Add A_STLS command. 2020-02-21 21:07:13 +00:00
crypto [adbwifi] Add adbwifi_libs, TLS connection, and MDNS implementation. 2020-02-21 21:06:40 +00:00
daemon [adbwifi] Add A_STLS command. 2020-02-21 21:07:13 +00:00
fastdeploy Fix SEGV in libziparchive with malformed zip file. 2019-12-17 08:39:09 -08:00
fdevent [adbwifi] Add adbwifi_libs, TLS connection, and MDNS implementation. 2020-02-21 21:06:40 +00:00
pairing_auth [adbwifi] Add pairing_auth library. 2020-02-21 21:04:39 +00:00
pairing_connection [adbwifi] Add pairing_connection library. 2020-02-21 21:06:12 +00:00
proto [adbwifi] Add adb protos. 2020-02-11 20:49:15 -08:00
sysdeps Allow the adb server to bind on ::1 2019-11-07 08:32:01 -08:00
tls Some minor fixes to libadb_tls_connection. 2020-02-18 22:14:48 +00:00
tools Add stub code to read MS OS 2.0 descriptors. 2019-09-06 14:45:11 -07:00
.clang-format
adb.bash Adb and fastboot completion supports zsh users. 2018-07-17 14:19:35 +08:00
adb.cpp [adbwifi] Add A_STLS command. 2020-02-21 21:07:13 +00:00
adb.h [adbwifi] Add A_STLS command. 2020-02-21 21:07:13 +00:00
adb_auth.h [adbwifi] Add A_STLS command. 2020-02-21 21:07:13 +00:00
adb_integration_test_adb.xml Add adb integration test to general-tests 2018-08-08 12:08:50 -07:00
adb_integration_test_device.xml Add adb_integration_test_device to general-tests 2018-10-12 13:48:14 -07:00
adb_io.cpp Revert "Revert "Add a way to turn off unique_fd's operator int."" 2019-05-06 16:18:02 -07:00
adb_io.h Revert "Revert "Add a way to turn off unique_fd's operator int."" 2019-05-06 16:18:02 -07:00
adb_io_test.cpp switch to using android-base/file.h instead of android-base/test_utils.h 2018-11-14 09:35:34 -08:00
adb_listeners.cpp adb: convert more stuff to unique_fd. 2019-01-23 17:11:13 -08:00
adb_listeners.h adb: move all cleanup to a function with defined ordering. 2017-05-09 14:32:47 -07:00
adb_listeners_test.cpp adb: move fdevent to its own folder. 2019-07-08 14:37:27 -07:00
adb_mdns.h add a version TXT record to adb secure mdns services 2020-02-18 05:13:06 +00:00
adb_trace.cpp Incremental installations in adb, client/host side. 2020-02-19 08:01:06 -08:00
adb_trace.h Incremental installations in adb, client/host side. 2020-02-19 08:01:06 -08:00
adb_unique_fd.cpp adb: actually enable fdsan. 2018-08-06 18:50:10 -07:00
adb_unique_fd.h Revert "Revert "Add a way to turn off unique_fd's operator int."" 2019-05-06 16:18:02 -07:00
adb_utils.cpp Allow overriding the log path. 2019-07-30 12:26:31 -07:00
adb_utils.h [adb] Use STL for ParseUInt() implementation 2019-08-02 11:33:41 -07:00
adb_utils_test.cpp Revert "Revert "Add a way to turn off unique_fd's operator int."" 2019-05-06 16:18:02 -07:00
adb_wifi.h [adbwifi] Add adbwifi_libs, TLS connection, and MDNS implementation. 2020-02-21 21:06:40 +00:00
Android.bp [adbwifi] Add adbwifi_libs, TLS connection, and MDNS implementation. 2020-02-21 21:06:40 +00:00
benchmark_device.py adb: add benchmarks for sink/source. 2019-02-28 15:53:48 -08:00
bugreport_test.cpp adb: Avoid extra std::string copies 2019-03-26 12:00:19 -07:00
file_sync_protocol.h adb: add ls_v2. 2019-08-12 13:46:34 -07:00
MODULE_LICENSE_APACHE2
NOTICE Revert "Revert "Revert "adb: append the libwinpthread COPYING to adb's NOTICE.""" 2018-11-29 23:14:02 +00:00
OVERVIEW.TXT adb: fix obsolete documentation. 2018-06-22 13:12:19 -07:00
OWNERS Add OWNERS. 2017-12-07 13:30:03 -08:00
protocol.txt [adbwifi] Add A_STLS command. 2020-02-21 21:07:13 +00:00
security_log_tags.h
services.cpp [adbwifi] Add adbwifi_libs, TLS connection, and MDNS implementation. 2020-02-21 21:06:40 +00:00
services.h Support adb rescue wipe command 2019-04-29 15:21:50 -07:00
SERVICES.TXT adb: fix obsolete documentation. 2018-06-22 13:12:19 -07:00
shell_protocol.h Revert "Revert "Add a way to turn off unique_fd's operator int."" 2019-05-06 16:18:02 -07:00
shell_service_protocol.cpp Revert "Revert "Add a way to turn off unique_fd's operator int."" 2019-05-06 16:18:02 -07:00
shell_service_protocol_test.cpp adb: split shell_service.h into client/daemon/protocol parts. 2018-07-25 18:08:44 -07:00
SOCKET-ACTIVATION.txt Revert "Revert "Support socket activation of adb server"" 2019-12-11 08:20:20 +00:00
socket.h adb: move fdevent to its own folder. 2019-07-08 14:37:27 -07:00
socket_spec.cpp Merge "Enable "localfilesystem" UNIX domain socket for ADB." 2019-12-18 05:34:30 +00:00
socket_spec.h Enable "localfilesystem" UNIX domain socket for ADB. 2019-12-04 10:05:05 +09:00
socket_spec_test.cpp Enable "localfilesystem" UNIX domain socket for ADB. 2019-12-04 10:05:05 +09:00
socket_test.cpp adb: move fdevent to its own folder. 2019-07-08 14:37:27 -07:00
sockets.cpp Enable "localfilesystem" UNIX domain socket for ADB. 2019-12-04 10:05:05 +09:00
sockets.dia
SYNC.TXT Fix typos in ADB documentation 2017-11-30 10:57:51 -08:00
sysdeps.h [adbwifi] Add adbwifi_libs, TLS connection, and MDNS implementation. 2020-02-21 21:06:40 +00:00
sysdeps_test.cpp adb: win32: silence wine test failure. 2019-07-16 15:22:51 -07:00
sysdeps_unix.cpp Incremental installations in adb, client/host side. 2020-02-19 08:01:06 -08:00
sysdeps_win32.cpp [adbwifi] Add adbwifi_libs, TLS connection, and MDNS implementation. 2020-02-21 21:06:40 +00:00
sysdeps_win32_test.cpp switch to using android-base/file.h instead of android-base/test_utils.h 2018-11-14 09:35:34 -08:00
test_adb.py Allow the adb server to bind on ::1 2019-11-07 08:32:01 -08:00
test_device.py adbd: add a perfunctory abb test. 2020-02-07 15:59:49 -08:00
trace.sh
transport.cpp [adbwifi] Add A_STLS command. 2020-02-21 21:07:13 +00:00
transport.h [adbwifi] Add A_STLS command. 2020-02-21 21:07:13 +00:00
transport_benchmark.cpp Revert "adb: make benchmarks build on the host." 2018-11-13 11:28:29 -08:00
transport_fd.cpp [adbwifi] Add A_STLS command. 2020-02-21 21:07:13 +00:00
transport_local.cpp [adbwifi] Add A_STLS command. 2020-02-21 21:07:13 +00:00
transport_test.cpp adb: move fdevent to its own folder. 2019-07-08 14:37:27 -07:00
transport_usb.cpp [adbwifi] Add A_STLS command. 2020-02-21 21:07:13 +00:00
types.cpp [adb] Optimize adbd's usb reading 2019-11-28 18:24:01 -08:00
types.h adb: fix use after free of atransport. 2019-12-13 13:28:21 -08:00
types_test.cpp [adb] Optimize adbd's usb reading 2019-11-28 18:24:01 -08:00
usb.h adb: make adb reconnect perform a USB reset. 2019-03-28 15:47:44 -07:00