Commit Graph

2216 Commits

Author SHA1 Message Date
Treehugger Robot 4159568548 Merge "Fix bug: Doesn't respect ANDROID_ADB_SERVER_PORT" 2016-09-19 20:35:11 +00:00
Josh Gao 5d1b1a8b91 base: rename unique_fd::clear() to unique_fd::reset().
unique_fd is modeled on unique_ptr, so make this consistent.

Test: m checkbuild
Change-Id: Ia6a77095dc18746fbb432e96bb8dccfc049c57f6
2016-09-19 11:24:58 -07:00
Tao Wu 135f4ab3dd Fix bug: Doesn't respect ANDROID_ADB_SERVER_PORT
BUG: 31549442
Test: export ANDROID_ADB_SERVER_PORT=12345;killall adb;adb devices

Change-Id: If2bfaf44c6567af16cae0d4def2f11be39c2d437
Signed-off-by: Tao Wu <lepton@google.com>
2016-09-16 17:13:48 -07:00
Pirama Arumuga Nainar 48b0a6b471 Merge "Use <condition_variable> and <mutex.h> from MinGW" am: a3d7b240f1 am: 331ec060ca
am: 11836956bc

Change-Id: I9317665b9cf3f415b3c3e64e95a5ee4f2e3c2798
2016-09-16 22:24:27 +00:00
Pirama Arumuga Nainar 11836956bc Merge "Use <condition_variable> and <mutex.h> from MinGW" am: a3d7b240f1
am: 331ec060ca

Change-Id: I8205259a82445aa6ff50509c58c58bb1429f3c49
2016-09-16 22:21:24 +00:00
Pirama Arumuga Nainar 331ec060ca Merge "Use <condition_variable> and <mutex.h> from MinGW"
am: a3d7b240f1

Change-Id: I319a164694fe67a008915249811dc39567184d08
2016-09-16 22:15:21 +00:00
Pirama Arumuga Nainar a3d7b240f1 Merge "Use <condition_variable> and <mutex.h> from MinGW" 2016-09-16 21:59:35 +00:00
Josh Gao 264b3465dd adb: let `adb push` follow symlinks. am: 94dc19ff57 am: 30ecda227c
am: 3e64efbced

Change-Id: Ifbedcf881b2724f6203059037b37032b7a2d3ddd
2016-09-15 02:32:35 +00:00
Josh Gao 3e64efbced adb: let `adb push` follow symlinks. am: 94dc19ff57
am: 30ecda227c

Change-Id: I10dfdd0265403628c2ef163771cdb576c90419c6
2016-09-15 02:29:35 +00:00
Josh Gao 30ecda227c adb: let `adb push` follow symlinks.
am: 94dc19ff57

Change-Id: I408ebb7b3091e67bd7025b3a6404f57c7f3af377
2016-09-15 02:27:33 +00:00
Josh Gao 94dc19ff57 adb: let `adb push` follow symlinks.
Bug: http://b/31491920
Test: touch foo; ln -s foo bar; adb push bar /data/local/tmp
Test: python test_device.py
Change-Id: I0a00b3d49fdf7206e27d66ac110b56e22449a1ad
2016-09-14 17:08:22 -07:00
Pirama Arumuga Nainar 7eaef8a494 Use <condition_variable> and <mutex.h> from MinGW
New MinGW prebuilts update includes pthreads and C++11 threads support.
Use mutex.h and condition_variable provided by MinGW.

Test: Build AOSP with new MinGW prebuilts
Change-Id: Ia8f890f86652612df3fc2618c2bfbb450a5a2f52
2016-09-06 13:49:07 -07:00
Eyal Lezmy cdf8fba6a1 Merge "Precise command constants on adb/protoxol.txt" am: 85a78f19b1 am: f8188895a1
am: 7bcc5bd0d0

Change-Id: Ic9d0fd2fc6336ac0c2883e32983c855e10dc4a95
2016-09-06 05:19:15 +00:00
Eyal Lezmy 7bcc5bd0d0 Merge "Precise command constants on adb/protoxol.txt" am: 85a78f19b1
am: f8188895a1

Change-Id: Iaf6f8f2b7a13f733d8a9612ada75876031938a9d
2016-09-06 05:15:45 +00:00
Eyal Lezmy f8188895a1 Merge "Precise command constants on adb/protoxol.txt"
am: 85a78f19b1

Change-Id: Ied63c7e5fe798a646d5428aba4fdfa94cf1c53f1
2016-09-06 05:12:47 +00:00
Treehugger Robot 85a78f19b1 Merge "Precise command constants on adb/protoxol.txt" 2016-09-06 05:04:13 +00:00
Josh Gao 5195499e97 Merge "Fix adb." am: 50d606528d am: ff6d1a9656
am: e95214c467

Change-Id: Ibd72432b3572eab1559faed63ab60f69c22fbea4
2016-09-02 08:52:05 +00:00
Josh Gao e95214c467 Merge "Fix adb." am: 50d606528d
am: ff6d1a9656

Change-Id: I270efbd5555b7ef8088225f5ea8cdc6ea0cd343d
2016-09-02 08:49:04 +00:00
Josh Gao ff6d1a9656 Merge "Fix adb."
am: 50d606528d

Change-Id: I55b6c174b4e57086b370e44ff7c0de053f2b4ad6
2016-09-02 08:46:07 +00:00
Elliott Hughes 7f4ab76240 Fix adb.
9460de1ce80a41cd6171a7e03d9fa7aef2db9dce had a backwards test that means
all adb commands abort. Fix the sense of the test.

Bug: http://b/30445394
Change-Id: I4b8ee697f7d305b57f9cd1a70ae919869dee994d
2016-09-01 20:48:45 -07:00
Josh Gao b6e4f08cb7 adb: allow use of arbitrary socket specs for command socket. am: 9c869b58a8 am: 15f75ef520
am: df3b28c002

Change-Id: Id4e66150fa1591edfcd51ebed86ce30d66b7fb6e
2016-09-02 01:15:15 +00:00
Josh Gao 8e6cbca28d adb: extract the adb-specific unique_fd out into its own header. am: 924d35a8d5 am: 2c6ff3d2b5
am: d70699ef75

Change-Id: I68baa3ce5c91882fe5edc43a4fc2ff287e334af7
2016-09-02 01:15:12 +00:00
Josh Gao 0c17ae6217 adb: add helper to get the ~/.android directory. am: e0b7502c7f am: 36796df275
am: 74693b9ea6

Change-Id: Ie69aae9d28fadab70753c26418bd9753f71a0a8a
2016-09-02 01:15:08 +00:00
Josh Gao df3b28c002 adb: allow use of arbitrary socket specs for command socket. am: 9c869b58a8
am: 15f75ef520

Change-Id: Iab390aeb784541535da85cc8d6f734339f0c1ed7
2016-09-02 01:11:44 +00:00
Josh Gao d70699ef75 adb: extract the adb-specific unique_fd out into its own header. am: 924d35a8d5
am: 2c6ff3d2b5

Change-Id: I921ef808d09872901454a6ed92e2c164df435c0c
2016-09-02 01:11:41 +00:00
Josh Gao 74693b9ea6 adb: add helper to get the ~/.android directory. am: e0b7502c7f
am: 36796df275

Change-Id: I1a070b831ec9e749d5a8dd4f7481f13068b20685
2016-09-02 01:11:37 +00:00
Josh Gao 15f75ef520 adb: allow use of arbitrary socket specs for command socket.
am: 9c869b58a8

Change-Id: Ide2b50bf204657de7d93908970c4e7ab85f7eed5
2016-09-02 01:08:45 +00:00
Josh Gao 2c6ff3d2b5 adb: extract the adb-specific unique_fd out into its own header.
am: 924d35a8d5

Change-Id: Ib557fbafefe6c281230fdeaaea4db03f6cbd7df0
2016-09-02 01:08:41 +00:00
Josh Gao 36796df275 adb: add helper to get the ~/.android directory.
am: e0b7502c7f

Change-Id: I2859a6b3022a97d2b01d6850bcefe77307726904
2016-09-02 01:08:38 +00:00
Treehugger Robot 1f5a49f77a Merge changes from topic 'adb_cmd_socket'
* changes:
  adb: allow use of arbitrary socket specs for command socket.
  adb: extract the adb-specific unique_fd out into its own header.
  adb: add helper to get the ~/.android directory.
2016-09-02 01:03:12 +00:00
Josh Gao ccccbeca43 Merge "libcutils: try all addresses in socket_network_client_timeout." am: f3d43032d2 am: b7011e0410
am: 03da262702

Change-Id: I59153454f926ce0bcb68b2c5774f275cbc7db3bd
2016-09-02 00:59:06 +00:00
Josh Gao 03da262702 Merge "libcutils: try all addresses in socket_network_client_timeout." am: f3d43032d2
am: b7011e0410

Change-Id: Iabdfba4a3546e7a6f335d3d8b7ad2bb75f47d972
2016-09-02 00:56:06 +00:00
Josh Gao b7011e0410 Merge "libcutils: try all addresses in socket_network_client_timeout."
am: f3d43032d2

Change-Id: I373ce6f43a7164754930c62c7fe249ed6530cfd0
2016-09-02 00:52:38 +00:00
Josh Gao 78cc20f007 libcutils: try all addresses in socket_network_client_timeout.
If a connection fails to an address that resolves to multiple
sockaddrs, attempt connecting to subsequent addresses if the initial
connection fails to a reason other than timeout. This is primarily
useful for localhost, which can resolve to both an IPv4 and and IPv6
address.

Also, add an adb test to verify that this behavior.

Bug: http://b/30313466
Change-Id: Ib2df706a66cf6ef8c1097fdfd7aedb69b8df2d6e
Test: python test_adb.py (+ the test fails before this patch)
2016-09-01 15:56:58 -07:00
Josh Gao 9c869b58a8 adb: allow use of arbitrary socket specs for command socket.
Bug: http://b/30445394
Change-Id: I474ede35ec3c56ad86da503c9703f83ef5e80862
2016-09-01 15:49:06 -07:00
Josh Gao 924d35a8d5 adb: extract the adb-specific unique_fd out into its own header.
Some POSIX-only files would like to use functions declared in
adb_utils.h without being forced to use the sysdeps stuff for open,
close, etc. Extract the adb-specific unique_fd into its own header so
those files can use adb_utils.h alongside the real unique_fd.

Change-Id: I10344ef26b7e72fce46bf7e3033f89aa54bd6118
Test: mm
2016-09-01 15:49:06 -07:00
Josh Gao e0b7502c7f adb: add helper to get the ~/.android directory.
Extract the logic for creating ~/.android out of get_user_key_path into
its own function. Also, fall back to getpwuid_r when $HOME isn't
defined.

Change-Id: I676a7c750cb364f89b544818ffda07903d14fb97
Test: ran adb with ~/.android missing
2016-09-01 15:43:22 -07:00
Josh Gao c5adf7774b Merge "Add android::base::GetExecutablePath, switch adb and fastboot over." am: 945d1aaa32 am: 289240f0bf
am: feb044f575

Change-Id: Id634d43107687664bb8afbc51190d35c51d0cb7b
2016-09-01 18:55:54 +00:00
Josh Gao feb044f575 Merge "Add android::base::GetExecutablePath, switch adb and fastboot over." am: 945d1aaa32
am: 289240f0bf

Change-Id: I5a8ccc66a82b75db495c8461550339c2ec7e639e
2016-09-01 18:52:55 +00:00
Josh Gao 289240f0bf Merge "Add android::base::GetExecutablePath, switch adb and fastboot over."
am: 945d1aaa32

Change-Id: I978edcc27401c174a771ab22be1a8b9abcb55d5f
2016-09-01 18:50:01 +00:00
Elliott Hughes 82ff315bb0 Add android::base::GetExecutablePath, switch adb and fastboot over.
We'd long had two copies of this stuff, so rather than rewrite both
Linux versions to use android::base::Readlink, let's kill the duplication
too...

Bug: http://b/30988271
Change-Id: I4de58a94a22a4b1faf969a6fc70ca1560a4d5121
2016-09-01 09:24:24 -07:00
Felipe Leme 680f4a4888 DO NOT MERGE: Split 'generating' and 'pulling' in 2 messages.
BUG: 30799929
Change-Id: I0af0ad2478c57ffc5b2c953118e01677f788d14a
(cherry picked from commit 9c0be90528)
(cherry picked from commit 321c21e2df)
2016-08-30 13:06:37 -07:00
Felipe Leme f33fcb6418 DO NOT MERGE: Ignore bugreportz output when it's not supported.
On devices running M or below, calling 'bugreportz -v' writes
'/system/bin/sh: bugreportz: not found' in the stdout output, which must
be redirected to stderr so it's not shown in the flat-file bugreport,
above the bugreport header.

BUG: 30451114

Change-Id: I942c92fdf6ae85e0cde7b9f94b9eb0b1fecad77a
(cherry picked from commit 9a882a3ef3)
(cherry picked from commit b0022b036e)
2016-08-30 13:06:35 -07:00
Felipe Leme b3239728bb DO NOT MERGE: Deprecated 'adb bugreport' with flat files.
Starting on Android N, zipped bugreports contain more information than
flat-file, text bugreports. On N, calls to 'adb bugreport' would still
generate a flat-file bugreport, but with a warning.

With this change, 'adb bugreport' will generate a zipped bugreport in
the current directory, using the bugreport name provided by the
device. Similarly, calling 'adb bugreport dir' will generate a bugreport
with a device-provided name, but in such directory.

BUG: 30451114
BUG: 29448020

Change-Id: Ibc8920dd44a5f62feb15bf3fefdcb0bdbf389a90
(cherry picked from commit 307951e124)
(cherry picked from commit f8d9e4eb00)
2016-08-30 13:06:33 -07:00
Felipe Leme 6e2869680c DO NOT MERGE: Minor improvements on bugreport generation.
- Skipped artificial 100/100 message, since pulling will take care of
  the final 100% progress.
- Consolidated unsupported lines in just one message.
- Let user know the bugreport can still be recovered when it could not
  be copied to the destination directory.

BUG: 30451114

Change-Id: Icfce9c1e8e7ed407719728b9874679ac40b21eab
(cherry picked from commit 80a65d03c9)
(cherry picked from commit 5f6eacaeda)
2016-08-30 13:06:32 -07:00
Felipe Leme daf4628f36 DO NOT MERGE: Removed extra 'pulling file' message.
Taking a zip bugreport has 2 phases: generating the bugreport and
pulling the file.

Initially adb was printing 2 messages, but since the latter is almost
instantaneously, it could be confusing to have 2 lines...

Fixes: 30451250
Change-Id: I1c6cc6163492c1fb6064667dfdb7aaf6ed4c4c6f
(cherry picked from commit f7c38b4c03)
(cherry picked from commit 33ae849fef)
2016-08-30 13:06:30 -07:00
Felipe Leme 6f5080faa5 DO NOT MERGE: Show bugreport progress.
adb calls bugreportz to generate a bugreport; initially, bugreportz
would only report the final status of the operation (OK or FAIL), but
now it sends intermediate PROGRESS lines reporting its progress (in the
form of current/max).

Similarly, the initial implementation of 'adb bugreport <zip_file>'
would print an initial 'please wait' message and wait for the full
stdout before parsing the result, but now it uses a new callback class
to handle the stdout as it is generated by bugreportz.

BUG: 28609499

Change-Id: I6644fc39a686279e1635f946a47f3847b547d1c1
(cherry picked from commit cd42d658b2)
(cherry picked from commit 97b73a0daf)
2016-08-30 13:06:28 -07:00
Felipe Leme 0d4f0508c0 DO NOT MERGE: Refactored functions that copy sdout and stderr to strings to use a callback.
BUG: 28609499

Change-Id: I04aea346e18678ea00797f7f659480edba4436c2
(cherry picked from commit 07ac8554b4)
(cherry picked from commit d18854218e)
2016-08-30 13:06:26 -07:00
Felipe Leme 698e065e14 DO NOT MERGE: Split bugreport() into its own file and added unit tests.
bugreport() will be soon refactored to track progress, which will
require more comprehensive unit tests.

As such, it's better to move it to its own files, which in turn also
requires moving send_shell_command() and usage() to commandline.h.

Fixes: 30100363
Bug: 30268737

Change-Id: I3cdf114a0b5547293320042ff0749a60886440b0
(cherry picked from commit 78e0963e4b)
(cherry picked from commit 218e1ff759)
2016-08-30 13:06:23 -07:00
Todd Kennedy 248722e7eb DO NOT MERGE: use 'cmd' command for install-multiple
adb install-multiple makes a minimum of 3 calls to the 'pm' command. This
causes at least 3 separate "pm" processes to be spun up. Instead, use the
'cmd' command which runs in the existing system_server process.

Bug: 27483932
Change-Id: Ia1bed405c3d7e675a1a56ff82c692aaa94388a5c
(cherry picked from commit 4838ae1ab5)
2016-08-30 13:06:12 -07:00
Christopher Tate c42f1bb3e9 DO NOT MERGE: Ensure the target sees a proper EOD marker during restore
Malformed or corrupt archives may be missing their in-band EOD
content, so make sure that the target sees one regardless rather
than continuing to block on read, expecting in-band signaling.

Bug 28056941

Change-Id: Ic39966d3448787a8c511783d39172032ed9589c3
(cherry picked from commit 2bcdda8e5d)
2016-08-30 13:06:05 -07:00
Eyal Lezmy 39e999e991 Precise command constants on adb/protoxol.txt
Try to improve the documentation by adding, for each commands explained
on the adb/protocol.txt file (CONNECT, WRITE, AUTH, ...), the
corresponding constant used by the protocol (A_CNXN, A_WRTE,
A_AUTH, ...).

I've seen a few engineers having problems matching these both
information by simply reading the doc and they loose time before
getting it. Most of the time they understand it by finally reading the
source code.

By adding this simple information at the end of each command
description I'm sure it will help onboarding developers to
understand more quickly the way the ADB protocol works.

Change-Id: Ibb949fd6a6d34a2bc7f47f0e7af2f57138c9a369
Signed-off-by: Eyal Lezmy <eyal.lezmy@gmail.com>
2016-08-30 01:30:12 +02:00
Josh Gao b1cadcfc5b Merge "adb: factor out socket specification." am: bd7d2e2ec0 am: f95e728431
am: 4c58c8a892

Change-Id: Idcb03acf63ba3e64f81f55c6b7708eb2cf945d8d
2016-08-27 03:05:48 +00:00
Josh Gao 4c58c8a892 Merge "adb: factor out socket specification." am: bd7d2e2ec0
am: f95e728431

Change-Id: Ibbed2dea019538491650eab41bd75e4f7546a909
2016-08-27 03:02:17 +00:00
Josh Gao cfb21412e5 adb: factor out socket specification.
Move the logic for string socket specification out to separate
functions to facilitate using arbitrary sockets for the adb command
socket.

Bug: http://b/30445394
Change-Id: Icd8fdb853272edc029fb3a0f5b18e941dc8ef52c
Test: adb_test, adbd_test, test_device.py
2016-08-25 17:12:26 -07:00
Josh Gao 7424dfa361 Merge changes I0ee130db,I33d356fd am: e461b37965 am: 59561a64b7
am: 87ff463d6e

Change-Id: I72ac706e6866b6f391cc950a677a598df79fa9a0
2016-08-25 02:09:55 +00:00
Josh Gao 87ff463d6e Merge changes I0ee130db,I33d356fd am: e461b37965
am: 59561a64b7

Change-Id: If05615e9e5e69bb496fa9eb3c49ba7f9f5a41c45
2016-08-25 02:06:55 +00:00
Josh Gao e461b37965 Merge changes I0ee130db,I33d356fd
* changes:
  adb: remove unnecessary addr arguments to accept.
  adb: check our socketpair ends in our win32 emulation.
2016-08-25 01:59:23 +00:00
Josh Gao 78e1eb1949 adb: remove unnecessary addr arguments to accept.
Follow up to https://android-review.googlesource.com/#/c/261412/

Change-Id: I0ee130db302940f3224cc823a26b02fc45da0fca
Test: mma
2016-08-24 13:06:06 -07:00
Josh Gao 5990191c4e adb: check our socketpair ends in our win32 emulation.
In our Win32 socketpair emulation, check that the ends are properly
connected before returning.

Change-Id: I33d356fd9ebcac89fc6a89a5200e926032220383
Test: no additional failing tests in adb_test.exe
2016-08-24 13:06:06 -07:00
Elliott Hughes 0426ecaf82 Merge "Most accept/accept4 calls in system/core don't actually want the remote address." am: 299d64144b am: 8615d79d85
am: 66e5e2432a

Change-Id: I5d7b98fa3e9c2d8c16a1aa73e3d5a197dc150c2b
2016-08-23 23:14:44 +00:00
Elliott Hughes 66e5e2432a Merge "Most accept/accept4 calls in system/core don't actually want the remote address." am: 299d64144b
am: 8615d79d85

Change-Id: I89aeabf6efa8217c9acd3f8a766bbd18f7e994fa
2016-08-23 23:05:59 +00:00
Elliott Hughes 8615d79d85 Merge "Most accept/accept4 calls in system/core don't actually want the remote address."
am: 299d64144b

Change-Id: I3fb9678dfed08f0b1d6e90e547ecae6cdcabc9a1
2016-08-23 23:03:20 +00:00
Elliott Hughes 3dcfa3fb1c Most accept/accept4 calls in system/core don't actually want the remote address.
So don't write the extra code for it or waste the kernel's time
copying it around.

Change-Id: I93de64064c2d4fe58ba5b5322cfa69bf31a76dad
2016-08-23 12:50:00 -07:00
Josh Gao 5bb5dd0eb6 Merge "adb: increase the authentication throttling limit." am: 393e5258f6 am: e4d79532de
am: a2408aaf2f

Change-Id: Ibc53b45c09cc4462175d52daa532ff305ce19145
2016-08-23 01:24:23 +00:00
Josh Gao a2408aaf2f Merge "adb: increase the authentication throttling limit." am: 393e5258f6
am: e4d79532de

Change-Id: I4a0b0700cdee5f3b0e1577132080860402318851
2016-08-23 01:18:03 +00:00
Josh Gao e4d79532de Merge "adb: increase the authentication throttling limit."
am: 393e5258f6

Change-Id: I483cf75ced8d9fb896c2f5e417d258970d7cabb1
2016-08-23 01:11:28 +00:00
Josh Gao 536c5ad0f3 Merge changes I9761298a,I8d3312b2 am: 0b4fcb75d4 am: 8270912ed0
am: 7f3a776ac4

Change-Id: Ia348ecf331e2e10365a5b23e257888f4794a06ea
2016-08-22 21:46:41 +00:00
Josh Gao 7f3a776ac4 Merge changes I9761298a,I8d3312b2 am: 0b4fcb75d4
am: 8270912ed0

Change-Id: I4eafebc37f15f817ac2fa035a03e0aae90aa6fb0
2016-08-22 21:42:33 +00:00
Josh Gao 8270912ed0 Merge changes I9761298a,I8d3312b2
am: 0b4fcb75d4

Change-Id: I330c467e408bc10ebdab0f5708d24d2297cf39a2
2016-08-22 21:38:53 +00:00
Josh Gao c8cb38803a adb: increase the authentication throttling limit.
Previously, after 10 failed authentications, we'd sleep for a second,
and we're up to 11 vendor keys in internal now...

Bug: http://b/30927527
Change-Id: I094e830521f6a2768a880c6684f32ff1ce2a3c2e
2016-08-22 13:12:32 -07:00
Josh Gao 8a0d0773bd adb: fix public key authorization.
This was broken by commit e8b663fe, which removed the null-terminator
from the message sent. For some reason, adbd requires the key to be
null terminated, despite an explicit length being part of the message.

Bug: http://b/30971808
Change-Id: I9761298a57ed76ca2bc02b05490f98cdffbaa0c3
Test: manually tested, adb authorization dialog box shows up
2016-08-22 12:58:38 -07:00
Josh Gao 2e671202c3 adb: add support for vendor key directories.
Allow directories to be specified in ADB_VENDOR_KEYS. On Linux, monitor
this directory for new keys to be added.

Additionally, deduplicate keys by hashing their public key.

Bug: http://b/29273531
Bug: http://b/30927527
Change-Id: I8d3312b216b7f2c11900f2235f1f1b1d1c7aa767
Test: manually tested by adding a key to a directory, and verifying
      that devices became authorized after replugging.
2016-08-19 17:32:50 -07:00
Felipe Leme e965ddd835 Split 'generating' and 'pulling' in 2 messages.
am: 321c21e2df

Change-Id: I0099c4da6f88a9b6804365c81cd28b6b5a9bbdcc
2016-08-17 21:44:01 +00:00
Felipe Leme 321c21e2df Split 'generating' and 'pulling' in 2 messages.
BUG: 30799929
Change-Id: I0af0ad2478c57ffc5b2c953118e01677f788d14a
(cherry picked from commit 9c0be90528)
2016-08-17 10:52:15 -07:00
Felipe Leme b0022b036e Ignore bugreportz output when it's not supported.
On devices running M or below, calling 'bugreportz -v' writes
'/system/bin/sh: bugreportz: not found' in the stdout output, which must
be redirected to stderr so it's not shown in the flat-file bugreport,
above the bugreport header.

BUG: 30451114

Change-Id: I942c92fdf6ae85e0cde7b9f94b9eb0b1fecad77a
(cherry picked from commit 9a882a3ef3)
2016-08-17 10:52:14 -07:00
Felipe Leme f8d9e4eb00 Deprecated 'adb bugreport' with flat files.
Starting on Android N, zipped bugreports contain more information than
flat-file, text bugreports. On N, calls to 'adb bugreport' would still
generate a flat-file bugreport, but with a warning.

With this change, 'adb bugreport' will generate a zipped bugreport in
the current directory, using the bugreport name provided by the
device. Similarly, calling 'adb bugreport dir' will generate a bugreport
with a device-provided name, but in such directory.

BUG: 30451114
BUG: 29448020

Change-Id: Ibc8920dd44a5f62feb15bf3fefdcb0bdbf389a90
(cherry picked from commit 307951e124)
2016-08-17 10:52:12 -07:00
Felipe Leme 5f6eacaeda Minor improvements on bugreport generation.
- Skipped artificial 100/100 message, since pulling will take care of
  the final 100% progress.
- Consolidated unsupported lines in just one message.
- Let user know the bugreport can still be recovered when it could not
  be copied to the destination directory.

BUG: 30451114

Change-Id: Icfce9c1e8e7ed407719728b9874679ac40b21eab
(cherry picked from commit 80a65d03c9)
2016-08-17 10:52:10 -07:00
Felipe Leme 33ae849fef Removed extra 'pulling file' message.
Taking a zip bugreport has 2 phases: generating the bugreport and
pulling the file.

Initially adb was printing 2 messages, but since the latter is almost
instantaneously, it could be confusing to have 2 lines...

Fixes: 30451250
Change-Id: I1c6cc6163492c1fb6064667dfdb7aaf6ed4c4c6f
(cherry picked from commit f7c38b4c03)
2016-08-17 10:52:09 -07:00
Felipe Leme 97b73a0daf Show bugreport progress.
adb calls bugreportz to generate a bugreport; initially, bugreportz
would only report the final status of the operation (OK or FAIL), but
now it sends intermediate PROGRESS lines reporting its progress (in the
form of current/max).

Similarly, the initial implementation of 'adb bugreport <zip_file>'
would print an initial 'please wait' message and wait for the full
stdout before parsing the result, but now it uses a new callback class
to handle the stdout as it is generated by bugreportz.

BUG: 28609499

Change-Id: I6644fc39a686279e1635f946a47f3847b547d1c1
(cherry picked from commit cd42d658b2)
2016-08-17 10:52:07 -07:00
Felipe Leme d18854218e Refactored functions that copy sdout and stderr to strings to use a callback.
BUG: 28609499

Change-Id: I04aea346e18678ea00797f7f659480edba4436c2
(cherry picked from commit 07ac8554b4)
2016-08-17 10:52:06 -07:00
Felipe Leme 218e1ff759 Split bugreport() into its own file and added unit tests.
bugreport() will be soon refactored to track progress, which will
require more comprehensive unit tests.

As such, it's better to move it to its own files, which in turn also
requires moving send_shell_command() and usage() to commandline.h.

Fixes: 30100363
Bug: 30268737

Change-Id: I3cdf114a0b5547293320042ff0749a60886440b0
(cherry picked from commit 78e0963e4b)
2016-08-17 10:51:38 -07:00
Josh Gao 98fb12188f Merge "Clean up key handling in adb." am: b859830450 am: 81a3f71e45
am: f648fb4539

Change-Id: I66e49d47f732677e234cd6dfa85d722fc0dae0f4
2016-08-12 21:28:53 +00:00
Josh Gao f648fb4539 Merge "Clean up key handling in adb." am: b859830450
am: 81a3f71e45

Change-Id: I7013113e72eefd68a9329d0da72a45946d860e14
2016-08-12 21:25:22 +00:00
Josh Gao 81a3f71e45 Merge "Clean up key handling in adb."
am: b859830450

Change-Id: I8d8ff82167a97e89eacbfcc97f3b704466927aa3
2016-08-12 21:21:57 +00:00
Elliott Hughes 0aeb50500c Clean up key handling in adb.
This includes the locking we need to be able to re-load the keys at runtime.

We should rename "adb_auth_client.cpp" to "adb_auth_adbd.cpp" or
"adbd_auth.cpp" in a later change.

Change-Id: I9e1d5b6b7d0497d6f6e5d9c4fb660118cdff05a8
Test: "adb devices" works against a non-AOSP device with $ADB_VENDOR_KEYS set, says "unauthorized" without.
Bug: http://b/29273531
2016-08-11 13:53:18 -07:00
Elliott Hughes 0ce32b03e4 Merge "std::unqiue_ptr<..., decltype(&fn)> seems to be the preferred idiom." am: 2f21b7cecd am: f2f4e784a4
am: 236a9903fe

Change-Id: I298f2cd8013d2a6fffe7dde212c28198eea044bb
2016-08-08 21:23:23 +00:00
Elliott Hughes 236a9903fe Merge "std::unqiue_ptr<..., decltype(&fn)> seems to be the preferred idiom." am: 2f21b7cecd
am: f2f4e784a4

Change-Id: I6ca3c3471189b2c15f25ac44ee7985f2e121e441
2016-08-08 21:20:24 +00:00
Elliott Hughes f2f4e784a4 Merge "std::unqiue_ptr<..., decltype(&fn)> seems to be the preferred idiom."
am: 2f21b7cecd

Change-Id: I9fa6d99a61053dae4ad60c0b73ddac755b29cf61
2016-08-08 21:17:54 +00:00
Elliott Hughes aea1683c12 std::unqiue_ptr<..., decltype(&fn)> seems to be the preferred idiom.
This is the only decltype(fn)* outside aapt2 in the whole tree.

Change-Id: I2e19d2031b56fdb808c62c2c07ca6080c9ec6fe3
2016-08-08 12:52:37 -07:00
Josh Gao 7480771909 Merge "libcrypto_utils: convert to Soong." am: c1a9a21ffe am: 87ef590bc1
am: a1da027a3c

Change-Id: Ie693d3de13b0df24ea83e70af3fa385a77ed8b33
2016-08-08 18:39:23 +00:00
Josh Gao a1da027a3c Merge "libcrypto_utils: convert to Soong." am: c1a9a21ffe
am: 87ef590bc1

Change-Id: I3cdf2f27f953f40a5d5b9257cf588b093d22233d
2016-08-08 18:36:19 +00:00
Josh Gao 87ef590bc1 Merge "libcrypto_utils: convert to Soong."
am: c1a9a21ffe

Change-Id: I9cf76646d4537750c4d4080234d3384fb307e610
2016-08-08 18:33:49 +00:00
Josh Gao c1a9a21ffe Merge "libcrypto_utils: convert to Soong." 2016-08-08 18:29:10 +00:00
Josh Gao 47763c3a09 libcrypto_utils: convert to Soong.
Bug: http://b/30708454
Change-Id: Iaad64272ced766f87e67f2877e990afccc558065
2016-08-05 18:07:36 -07:00
Josh Gao 52dd7ae138 adb: correctly fix merge conflict. am: 1286c1f878
am: d067dcdaa3

Change-Id: Ib6a4f905e878b2681c44a5075647925b8d5f61e1
2016-08-05 16:03:21 +00:00
Josh Gao d067dcdaa3 adb: correctly fix merge conflict.
am: 1286c1f878

Change-Id: I865cc05bef06ec33941766993e6aef2171be3e67
2016-08-05 16:00:50 +00:00
Josh Gao 1286c1f878 adb: correctly fix merge conflict.
Change-Id: Ic637c0ef5499e2893cd0adfcc41dd5d3481524c2
2016-08-05 00:39:16 -07:00
Josh Gao c59b46d0c4 resolve merge conflicts of e012de5 to stage-aosp-master am: 4ff7f9f62a
am: aef02526b5

Change-Id: I6c07ac4d130aba1056f9cbd28d41c0b299832eeb
2016-08-05 05:48:17 +00:00
Josh Gao aef02526b5 resolve merge conflicts of e012de5 to stage-aosp-master
am: 4ff7f9f62a

Change-Id: I91b285de08f184efa8bdada92ff9aac9b73f7a8f
2016-08-05 05:45:47 +00:00
Josh Gao 4ff7f9f62a resolve merge conflicts of e012de5 to stage-aosp-master
Change-Id: I3d9f8b4421fa6122261dbd821561a2236f810a47
2016-08-04 22:04:05 -07:00
Josh Gao fb0c5cb28c adb: improve display of transfer rate.
Show transfer rate for individual files, and for the overall transfer.

Bug: http://b/30411535
Change-Id: If2f3008f1287b1d1add4a23c3430b39885b6c904
Test: inspected output manually
2016-08-04 18:03:09 -07:00
Felipe Leme 9844ebe81e Ignore bugreportz output when it's not supported. am: 9a882a3ef3
am: 62d4ead5f4

Change-Id: I9110a6c31cc3a2d935967312185ffbdc1f03ccd2
2016-08-05 00:17:14 +00:00
Josh Gao 1a9979ec1e adb: add missing newline when printing transfer rate.
Previously, we weren't printing a newline when reporting transfer
rates, so only the last transfer rate printed would be visible.

Bug: http://b/30667841
Change-Id: Id341147912d057673de4ad26a8f618f04a8c02f3
Test: inspected output manually
2016-08-04 14:56:53 -07:00
Josh Gao baa215ea59 adb: fix output of `sync -l`
sync with list-only was using SyncConnection::Error to print its output
persistently, which would prepend "adb: error: " to messages.

Change-Id: I90df5fc1123b8c613c811cf66c37aef05663b1e4
2016-08-04 14:56:53 -07:00
Felipe Leme 9a882a3ef3 Ignore bugreportz output when it's not supported.
On devices running M or below, calling 'bugreportz -v' writes
'/system/bin/sh: bugreportz: not found' in the stdout output, which must
be redirected to stderr so it's not shown in the flat-file bugreport,
above the bugreport header.

BUG: 30451114

Change-Id: I942c92fdf6ae85e0cde7b9f94b9eb0b1fecad77a
2016-08-04 13:12:39 -07:00
Felipe Leme 9cc9d18a51 Deprecated 'adb bugreport' with flat files. am: 307951e124
am: 617cedac2f

Change-Id: I041654671242f2607f9de0eff2ab4bc21dcc7a0b
2016-08-04 14:55:40 +00:00
Felipe Leme f89226dae6 Minor improvements on bugreport generation. am: 80a65d03c9
am: 7939117c98

Change-Id: I67bdbda273cbf8240bbd1517760c156652e7cfaa
2016-08-04 14:55:37 +00:00
Felipe Leme 617cedac2f Deprecated 'adb bugreport' with flat files.
am: 307951e124

Change-Id: I909ae170479cba54338b03426bcee123abececc1
2016-08-04 14:51:17 +00:00
Felipe Leme 7939117c98 Minor improvements on bugreport generation.
am: 80a65d03c9

Change-Id: I5b6036489d1d5094a6e1632a4580b23578d85983
2016-08-04 14:50:53 +00:00
TreeHugger Robot aed7048ce0 Merge changes from topic 'bug_30451114' into nyc-mr1-dev
* changes:
  Deprecated 'adb bugreport' with flat files.
  Minor improvements on bugreport generation.
2016-08-04 14:44:35 +00:00
Josh Gao 29e7e3edb1 adb: fix stat on Windows.
stat on Windows fails with ENOENT when passed a path with a trailing
slash or backslash, regardless of whether the target is actually a
directory. Emulate the correct POSIX behavior by stripping trailing
path separators and then checking if the target is a directory if
successful.

Bug: http://b/30481559
Bug: https://code.google.com/p/android/issues/detail?id=214633
Change-Id: I1d398d19a9bce1ecb3fdc4aabc31aa98c82c3f93
Test: Relevant adb_tests pass on Linux and Windows 10.
(cherry picked from commit f551ea0f63)
2016-08-03 15:14:59 -07:00
Josh Gao 89b9767776 adb: extract Windows bits out of directory_exists test.
Bug: http://b/30481559
Bug: https://code.google.com/p/android/issues/detail?id=214633
Change-Id: I8f20b3cd5aef6a77c2b4f194b914b4295397d73f
(cherry picked from commit 3bdc76025b)
2016-08-03 15:14:59 -07:00
Felipe Leme 307951e124 Deprecated 'adb bugreport' with flat files.
Starting on Android N, zipped bugreports contain more information than
flat-file, text bugreports. On N, calls to 'adb bugreport' would still
generate a flat-file bugreport, but with a warning.

With this change, 'adb bugreport' will generate a zipped bugreport in
the current directory, using the bugreport name provided by the
device. Similarly, calling 'adb bugreport dir' will generate a bugreport
with a device-provided name, but in such directory.

BUG: 30451114
BUG: 29448020

Change-Id: Ibc8920dd44a5f62feb15bf3fefdcb0bdbf389a90
2016-08-01 15:28:12 -07:00
Josh Gao 0538bcd4ed Merge changes I1d398d19,I8f20b3cd am: c97b73aa83 am: 0889353fa5
am: 6c41b5efb1

Change-Id: I6d24400da63131d42083a9885200386d0bf8bccb
2016-08-01 22:05:49 +00:00
Josh Gao 6c41b5efb1 Merge changes I1d398d19,I8f20b3cd am: c97b73aa83
am: 0889353fa5

Change-Id: I7f9f866d38f18206dff5738050d31ed27400294a
2016-08-01 22:02:51 +00:00
Josh Gao 0889353fa5 Merge changes I1d398d19,I8f20b3cd
am: c97b73aa83

Change-Id: I9a22ba63f4306c17933624f4c99380702f6e701e
2016-08-01 22:00:22 +00:00
Treehugger Robot c97b73aa83 Merge changes I1d398d19,I8f20b3cd
* changes:
  adb: fix stat on Windows.
  adb: extract Windows bits out of directory_exists test.
2016-08-01 21:54:00 +00:00
Chih-Hung Hsieh b143c9708c resolve merge conflicts of d072ed3 to nyc-mr1-dev-plus-aosp
Change-Id: Ifdd67548e252fcd73833a9d017aa8205bf749f70
2016-08-01 13:44:54 -07:00
Felipe Leme 80a65d03c9 Minor improvements on bugreport generation.
- Skipped artificial 100/100 message, since pulling will take care of
  the final 100% progress.
- Consolidated unsupported lines in just one message.
- Let user know the bugreport can still be recovered when it could not
  be copied to the destination directory.

BUG: 30451114

Change-Id: Icfce9c1e8e7ed407719728b9874679ac40b21eab
2016-08-01 13:31:57 -07:00
Chih-Hung Hsieh d072ed3634 Merge \\"Fix clang-tidy performance warnings in syste/core.\\" am: 4efbce14b5
am: 4c4fa90462

Change-Id: I66bacc66df316cca09afba3ae043bd0a3035da22
2016-08-01 20:25:37 +00:00
Chih-Hung Hsieh 4c4fa90462 Merge \"Fix clang-tidy performance warnings in syste/core.\"
am: 4efbce14b5

Change-Id: I84f6b0134fae6e9f40710f243f4825e3f31fa15f
2016-08-01 20:23:10 +00:00
Josh Gao f551ea0f63 adb: fix stat on Windows.
stat on Windows fails with ENOENT when passed a path with a trailing
slash or backslash, regardless of whether the target is actually a
directory. Emulate the correct POSIX behavior by stripping trailing
path separators and then checking if the target is a directory if
successful.

Bug: http://b/30481559
Bug: https://code.google.com/p/android/issues/detail?id=214633
Change-Id: I1d398d19a9bce1ecb3fdc4aabc31aa98c82c3f93
Test: Relevant adb_tests pass on Linux and Windows 10.
2016-08-01 12:36:04 -07:00
Chih-Hung Hsieh 8f7b9e3d39 Fix clang-tidy performance warnings in syste/core.
* Use const reference type for parameters to avoid unnecessary copy.
* Suppress warning of not using faster overloaded string find function.

Bug: 30407689
Bug: 30411878
Change-Id: I6cfdbbd50cf5e8f3db6e5263076d3a17a9a791ee
Test: build with WITH_TIDY=1
Merged-In: Ie79dbe21899867bc62031f8618bb1322b8071525
2016-08-01 11:55:42 -07:00
Josh Gao 3bdc76025b adb: extract Windows bits out of directory_exists test.
Bug: http://b/30481559
Bug: https://code.google.com/p/android/issues/detail?id=214633
Change-Id: I8f20b3cd5aef6a77c2b4f194b914b4295397d73f
2016-07-28 18:36:01 -07:00
Felipe Leme fb2df9be53 Removed extra \\'pulling file\\' message. am: f7c38b4c03
am: c25802879d

Change-Id: I4f6fd72916a55ce13fdd042cd59a52510a14d9ce
2016-07-28 20:56:46 +00:00
Felipe Leme f7c38b4c03 Removed extra 'pulling file' message.
Taking a zip bugreport has 2 phases: generating the bugreport and
pulling the file.

Initially adb was printing 2 messages, but since the latter is almost
instantaneously, it could be confusing to have 2 lines...

Fixes: 30451250
Change-Id: I1c6cc6163492c1fb6064667dfdb7aaf6ed4c4c6f
2016-07-28 12:13:57 -07:00
Felipe Leme c3519d1d99 Show bugreport progress.
am: cd42d658b2

Change-Id: Ia413cfcb9cf2cfb55c606ce92492027cc5191988
2016-07-27 21:33:14 +00:00
Felipe Leme 8123240126 Refactored functions that copy sdout and stderr to strings to use a callback.
am: 07ac8554b4

Change-Id: Ia98cd1f03e6d5fdf88297211f263835243790068
2016-07-27 21:33:09 +00:00
Felipe Leme 5c01124f37 Split bugreport() into its own file and added unit tests.
am: 78e0963e4b

Change-Id: I0ae6ba38b62f714895e8d9abb5b36c5d8a82c6f2
2016-07-27 21:33:08 +00:00
Felipe Leme cd42d658b2 Show bugreport progress.
adb calls bugreportz to generate a bugreport; initially, bugreportz
would only report the final status of the operation (OK or FAIL), but
now it sends intermediate PROGRESS lines reporting its progress (in the
form of current/max).

Similarly, the initial implementation of 'adb bugreport <zip_file>'
would print an initial 'please wait' message and wait for the full
stdout before parsing the result, but now it uses a new callback class
to handle the stdout as it is generated by bugreportz.

BUG: 28609499

Change-Id: I6644fc39a686279e1635f946a47f3847b547d1c1
2016-07-26 16:15:16 -07:00
Felipe Leme 07ac8554b4 Refactored functions that copy sdout and stderr to strings to use a callback.
BUG: 28609499

Change-Id: I04aea346e18678ea00797f7f659480edba4436c2
2016-07-26 16:14:46 -07:00
Felipe Leme 78e0963e4b Split bugreport() into its own file and added unit tests.
bugreport() will be soon refactored to track progress, which will
require more comprehensive unit tests.

As such, it's better to move it to its own files, which in turn also
requires moving send_shell_command() and usage() to commandline.h.

Fixes: 30100363
Bug: 30268737

Change-Id: I3cdf114a0b5547293320042ff0749a60886440b0
2016-07-26 16:14:20 -07:00
Todd Kennedy 4af32c615a use \'cmd\' command for install-multiple
am: 7549a460b1

Change-Id: Ie156783ef10ca96652febc262c137ba25d7a4838
2016-07-22 20:55:44 +00:00
Todd Kennedy 7549a460b1 use 'cmd' command for install-multiple
adb install-multiple makes a minimum of 3 calls to the 'pm' command. This
causes at least 3 separate "pm" processes to be spun up. Instead, use the
'cmd' command which runs in the existing system_server process.

Bug: 27483932
Change-Id: Ia1bed405c3d7e675a1a56ff82c692aaa94388a5c
(cherry picked from commit 4838ae1ab5)
2016-07-22 20:24:53 +00:00
Jorge Lucangeli Obes dae8d54073 Merge \\\"Use arraysize() for supplementary groups.\\\" am: ddbcecec3a am: 3ab30ecf4c
am: c2999fb33b

Change-Id: I604790f5634628df7168985d14f6e8f03aefac61
2016-07-18 20:12:46 +00:00
Jorge Lucangeli Obes 3ab30ecf4c Merge \"Use arraysize() for supplementary groups.\"
am: ddbcecec3a

Change-Id: Ia8405d8bc181b1cdbf1f0812c0dbe8f7701747ef
2016-07-18 20:06:19 +00:00
Jorge Lucangeli Obes bae15b4f46 Use arraysize() for supplementary groups.
Also make adbd use ScopedMinijail.

Bug: 30191189
Change-Id: I5e259aa466817b51037912aba043ba75bd35f9e1
2016-07-18 13:46:42 -04:00
Christopher Tate 2d54ec0f31 Merge \"Ensure the target sees a proper EOD marker during restore\" into nyc-mr1-dev
am: 3fed75d404

Change-Id: I9433bd557be8913939a1441fef1357e34e2b98ed
2016-07-15 01:58:12 +00:00
Christopher Tate 2bcdda8e5d Ensure the target sees a proper EOD marker during restore
Malformed or corrupt archives may be missing their in-band EOD
content, so make sure that the target sees one regardless rather
than continuing to block on read, expecting in-band signaling.

Bug 28056941

Change-Id: Ic39966d3448787a8c511783d39172032ed9589c3
2016-07-13 17:58:27 -07:00
Elliott Hughes 7191a56e96 Merge \"Remove unnecessary ARRAY_SIZE macros.\"
am: c37d8ea22a

Change-Id: Id3443d7247e893ee549ae5b799a8f0bf42088d35
2016-06-29 00:16:44 +00:00
Elliott Hughes 749ae2d32f Remove unnecessary ARRAY_SIZE macros.
Use the canonical one instead.

Change-Id: Id80f19455f37fd2a29d9ec4191c1a0af80c5c0e7
2016-06-28 14:48:45 -07:00
Josh Gao a4e35be4a4 Merge \"adb: refactor jdwp_service.cpp.\"
am: 71d11ade9d

Change-Id: If7940e3a0b3a457d9be29dfb6c0707dbe8961397
2016-06-23 23:31:38 +00:00
Treehugger Robot 71d11ade9d Merge "adb: refactor jdwp_service.cpp." 2016-06-23 23:28:25 +00:00
Josh Gao 05f889dd4e Merge \"adb: add test for SIGHUP behavior.\"
am: a355dd6110

Change-Id: Ib786fefd55a2a4533bf66dc1e47f88e398beb8e1
2016-06-23 23:12:05 +00:00
Josh Gao fe50bb713b adb: add test for SIGHUP behavior.
This keeps regressing, so add a test to keep this from happening.

Bug: http://b/23603716
Bug: http://b/25965770
Bug: http://b/29565233
Test: Ran test with/without commit cd5d737, fails before, passes after
Change-Id: I8c431e10fc76da5a9fd404dd70f17bb8a8df24e6
2016-06-23 15:01:50 -07:00
Josh Gao 79a69f0bd7 Merge changes Ia59c6dbe,I13b17bcd
am: 0b47d08303

Change-Id: Ica4c5de30e12f6950f0a9f3a2dc94213ef2fe70a
2016-06-23 21:25:10 +00:00
Josh Gao e31a7a4ce4 adb: fix fd leak when shell fails to create a thread.
Bug: http://b/29565233
Change-Id: Ia59c6dbe5ac033425c11739579e85cbcad1170d1
2016-06-23 13:14:49 -07:00
Josh Gao cd5d7376dc adb: don't dup local socket fd.
SIGHUP handling depends on the local socket fd being fully closed in
order to trigger an event on its counterpart. Release the local socket
fd inside of Subprocess when returning it to ensure this.

Functionally, a cherry-pick of internal commit 42afe20.

Bug: http://b/29565233
Change-Id: I13b17bcddf0b396a5f4880f9e410fbbf24d9370d
2016-06-22 19:09:42 -07:00
Josh Gao 42afe2033f adb: don't dup local socket fd.
SIGHUP handling depends on the local socket fd being fully closed in
order to trigger an event on its counterpart. Release the local socket
fd inside of Subprocess when returning it to ensure this.

Bug: http://b/29565233
Change-Id: I13b17bcddf0b396a5f4880f9e410fbbf24d9370d
2016-06-22 15:57:12 -07:00
Elliott Hughes a81117b8f9 Merge \"Address old review comments in adb_auth_host.cpp.\"
am: 57bbedc036

Change-Id: I0ab20c9258d42e6b0b847e8eb69382005f086706
2016-06-22 17:17:51 +00:00
Treehugger Robot 57bbedc036 Merge "Address old review comments in adb_auth_host.cpp." 2016-06-22 17:09:26 +00:00
Elliott Hughes 625faf0196 Address old review comments in adb_auth_host.cpp.
Comments from:
https://android-review.googlesource.com/#/c/212781/4/adb/adb_auth_host.cpp@107

Bug: http://b/28152031
Change-Id: I27d062f3eeb8db90f94b1b4f5d7204000a7ac73d
Test: manually removed ~/.android/adb* and checked they were recreated correctly.
2016-06-22 08:38:47 -07:00
David 'Digit' Turner 1c01bae82a Merge \"[qemu]: Move qemu_pipe.h from include/system/ directory.\"
am: 44b7339aa2

Change-Id: I59b9a896058dea76f69b9ba757890d4a42952a66
2016-06-21 08:05:18 +00:00
David Turner 44b7339aa2 Merge "[qemu]: Move qemu_pipe.h from include/system/ directory." 2016-06-21 07:38:02 +00:00
Josh Gao 69d2f98197 adb: fix fd double close, Subprocess lifetime issue.
This commit fixes two somewhat related issues in shell_service.

  - The fd returned by StartSubprocess is owned by a unique_fd
    contained in the Subprocess object, but also gets closed by the
    caller. Resolve this by duping the returned file descriptor.

  - A Subprocess object can be destroyed immediately after its initial
    construction in StartSubprocess if we're sufficiently unlucky.
    Split up the fork/exec and "start management thread" steps, so that
    we can safely do everything we need to do on the Subprocess before
    handing it over to the thread that'll eventually destroy it.

Also includes squashed patches from AOSP master that allow for use of
unique_fd inside adb.

Bug: http://b/29254462
Change-Id: Id9cf0b7e7a7293bee7176919edc758597691c636
(cherry picked from commit c0e6e40cc9)
(cherry picked from commit 54c72aaccc)
(cherry picked from commit 2c5d1d7cd9)
(cherry picked from commit 2a7b86337f)
(cherry picked from commit 13ea01db45)
(cherry picked from commit 344778da41)
2016-06-20 14:51:05 -07:00
Josh Gao 88347e1430 Merge changes from topic \'debuggerd_client\'
am: abf88685e3

Change-Id: I2a61e4e8b5ec5a4ab6566ab4f8eb31653255fbc5
2016-06-20 20:47:18 +00:00
Josh Gao 34c6ca01ff Merge \"adb: fix fd double close, Subprocess lifetime issue.\"
am: b23e5729a8

Change-Id: I96db140e4316b767fb632307a435bc3e22cbfb36
2016-06-20 20:47:17 +00:00
Treehugger Robot abf88685e3 Merge changes from topic 'debuggerd_client'
* changes:
  adb: use libdebuggerd_client.
  debuggerd: add libdebuggerd_client.
2016-06-20 20:22:18 +00:00
Josh Gao 344778da41 adb: fix fd double close, Subprocess lifetime issue.
This commit fixes two somewhat related issues in shell_service.

  - The fd returned by StartSubprocess is owned by a unique_fd
    contained in the Subprocess object, but also gets closed by the
    caller. Resolve this by duping the returned file descriptor.

  - A Subprocess object can be destroyed immediately after its initial
    construction in StartSubprocess if we're sufficiently unlucky.
    Split up the fork/exec and "start management thread" steps, so that
    we can safely do everything we need to do on the Subprocess before
    handing it over to the thread that'll eventually destroy it.

Bug: http://b/29254462
Change-Id: Id9cf0b7e7a7293bee7176919edc758597691c636
2016-06-20 11:40:16 -07:00
Josh Gao 809607ae28 adb: use libdebuggerd_client.
Bug: http://b/24414818
Change-Id: I177708877488e5c4f99c453498485a2daa9b79b0
2016-06-17 13:11:29 -07:00
David 'Digit' Turner c7b098ceb5 [qemu]: Move qemu_pipe.h from include/system/ directory.
The <hardware/qemu_pipe.h> header isn't related to any loadable
hardware module, this patch thus relocates it to <system/qemu_pipe.h>
which is a much more logical location.

Note the following changes:

  - The pipe name must begin with the 'pipe:' prefix to avoid an
    un-necessary snprintf() and buffer copy.

  - Does not probe for the obsolete /dev/goldfish_pipe device, i.e.
    only use /dev/qemu_pipe instead.

  - Use QEMU_PIPE_DEBUG() instead of D() as the debugging macro.

+ Update ADB to use the newest <system/qemu_pipe.h>

+ Add qemu_pipe_frame_send() and qemu_pipe_frame_recv() utility
  functions which replace the obsolete qemud_channel_send() and
  qemud_channel_recv() from the defunct <hardware/qemud.h>
  header.

BUG=25875346

Change-Id: Ic290a5b79d466c2af64b49bd9134643277c11bfd
2016-06-17 09:21:59 +02:00
Josh Gao ba7aea829b Merge \"adb: make adb root not wait-for-device.\"
am: 81e59ca5a7

Change-Id: I231ad44c7b6293256f33eb3fd617b4e5da728ca1
2016-06-16 22:41:08 +00:00
Treehugger Robot 81e59ca5a7 Merge "adb: make adb root not wait-for-device." 2016-06-16 22:26:41 +00:00
Josh Gao 05824734ac adb: make adb root not wait-for-device.
`adb root` would hang for devices connected over TCP/IP, because they
never come back. Unfortunately, there doesn't seem to be an easy way to
find out what we're talking to, so replace it with a long sleep for now.

Bug: http://b/27836058
Change-Id: Icd6e6bf817ca9e2124c2961665c37b2f31f7ef29
2016-06-16 14:02:01 -07:00
Elliott Hughes c63439ae7f Merge \"Better diagnostics from \"adb sideload\".\"
am: edd401e24e

Change-Id: I36b23f7533bbd4d6d9d9e171c297155846734a63
2016-06-15 23:29:30 +00:00
Treehugger Robot edd401e24e Merge "Better diagnostics from "adb sideload"." 2016-06-15 23:18:52 +00:00
Elliott Hughes b94f3c597c Merge \"Minor adb style fixes.\"
am: 35151f49ca

Change-Id: I84187cdafe76026ac58d90f4510979cff4e2afe5
2016-06-15 22:48:43 +00:00
Elliott Hughes 14415142c9 Better diagnostics from "adb sideload".
Well, slightly less bad diagnostics, anyway.

Change-Id: Idf5612f7dcb9bdbd7252163889e2612ba197426d
2016-06-15 15:09:47 -07:00
Elliott Hughes ffc73a39fd Minor adb style fixes.
Change-Id: Ic4b45828dfdf88ef6c0fc468f66df3e62d2fbe51
2016-06-15 14:46:56 -07:00
Elliott Hughes e691def5df Merge \\"Fix the sense of a test in \\"adb sideload\\".\\" am: 62cc17de8c
am: e9dfa4f753

Change-Id: If5dbbcaa7452b17b3e383daf7bbfc037108c10a3
2016-06-13 23:41:24 +00:00
Elliott Hughes 356fd364ad Fix the sense of a test in "adb sideload".
Change-Id: I516a2ad2d74d9322ff9eb2e4cd3c3829e5cbda99
2016-06-13 15:01:13 -07:00
Felipe Leme e1d64b4eaf Merge \"Redirect bugreport stderr to host\'s stderr.\" into nyc-dev
am: 6d349051ce

Change-Id: I7ed56de80ff6ac698fb62820f24fca940d7c0905
2016-06-08 23:41:22 +00:00
TreeHugger Robot 6d349051ce Merge "Redirect bugreport stderr to host's stderr." into nyc-dev 2016-06-08 23:35:12 +00:00
Felipe Leme d1dd125bc2 Redirect bugreport stderr to host's stderr.
Change-Id: I46f474f0b0d5cacdc4b129eab1bb0a7f52ccece0
Fixes: 29161586
2016-06-08 11:09:34 -07:00
Elliott Hughes e4e6864e72 Merge \\"Set file capabilities on adb sync/push.\\" am: a500cf9cdf
am: 4e4a274e96

Change-Id: Ife5e12dcbf019d740ac642adf25aec75c006b2c8
2016-06-08 17:26:17 +00:00
Treehugger Robot a500cf9cdf Merge "Set file capabilities on adb sync/push." 2016-06-08 17:19:41 +00:00
Elliott Hughes 32c60b4ced Set file capabilities on adb sync/push.
Bug: http://b/29180022
Change-Id: Ia21ebf0972af41b0a3becc1189ed836fd74ae5c8
2016-06-08 09:16:28 -07:00
Elliott Hughes 75f42d7ea7 Allow multiple (sequential) adb users on Linux.
Before this, adb will fail to start for the second user who tries because
/tmp/adb.log already exists and isn't writable by the second user.

Also allow $TMPDIR to override the use of /tmp.

Bug: http://b/29201686
Bug: https://code.google.com/p/android/issues/detail?id=211420

(cherry picked from commit d89a6c2285)

Change-Id: Ibb1369e8043feb9774593e317dcd7bb93323fd89
2016-06-08 08:36:19 -07:00
Elliott Hughes fff3e52617 Merge \\"Allow multiple (sequential) adb users on Linux.\\" am: 6bf8d26c82
am: b227e61c41

Change-Id: Ibed97f2d5ac4ae9c307871cc516a81c2eb761bcd
2016-06-08 14:36:36 +00:00
Elliott Hughes d89a6c2285 Allow multiple (sequential) adb users on Linux.
Before this, adb will fail to start for the second user who tries because
/tmp/adb.log already exists and isn't writable by the second user.

Also allow $TMPDIR to override the use of /tmp.

Bug: https://code.google.com/p/android/issues/detail?id=211420
Change-Id: Ic53da981ac0fa45bfed62e7b351d75dca0540235
2016-06-07 14:53:21 -07:00
David Pursell 27a68ef007 Merge "adbd: properly close subprocess pipes on Ctrl+C." am: 605628d325
am: 5701c58296

* commit '5701c58296b7ae84e8b9e67b6103ffdf63550fc7':
  adbd: properly close subprocess pipes on Ctrl+C.

Change-Id: I361b9ed8ce1d12487d88850635bf1b60c1b675c4
2016-06-06 21:25:03 +00:00
David Pursell a6d5661140 adbd: properly close subprocess pipes on Ctrl+C.
When non-interactive sessions exit via Ctrl+C, adbd sends SIGHUP
to the child process to let it know to exit. However, adbd was not
closing the pipes to the child process, so if the subprocess ignored
SIGHUP and continued writing it could fill up the pipe and block
forever while adbd waits for it to exit.

This CL adds the necessary calls to close the subprocess pipe after
sending SIGHUP.

Bug: 28981563
Change-Id: I318e322e563241052648361172f4859c297837fb
(cherry picked from commit f2aa186c7b)
2016-06-06 12:56:52 -07:00
David Pursell f2aa186c7b adbd: properly close subprocess pipes on Ctrl+C.
When non-interactive sessions exit via Ctrl+C, adbd sends SIGHUP
to the child process to let it know to exit. However, adbd was not
closing the pipes to the child process, so if the subprocess ignored
SIGHUP and continued writing it could fill up the pipe and block
forever while adbd waits for it to exit.

This CL adds the necessary calls to close the subprocess pipe after
sending SIGHUP.

Bug: 28981563
Change-Id: I318e322e563241052648361172f4859c297837fb
2016-06-06 09:59:34 -07:00
Siqi Lin 8edfe2040b Revert "adb: close ep0 on disconnection."
am: 8c4076295e

* commit '8c4076295ebd867d276636d673b9f8e6a8df01a6':
  Revert "adb: close ep0 on disconnection."

Change-Id: I74112ef3f508016238a3eb1224292aa4d77334d5
2016-06-03 04:46:25 +00:00
Siqi Lin 8c4076295e Revert "adb: close ep0 on disconnection."
This reverts commit 69e97e4bee.

Bug: 28932120
Change-Id: I5e2569abed316c089886556c432bfe59bca08549
(cherry picked from commit 57de0514f0)
2016-06-02 17:30:43 -07:00
Josh Gao 52338a3f93 adb: refactor jdwp_service.cpp.
Refactor jdwp_service.cpp to be more idiomatic C++.

Bug: http://b/28347842
Change-Id: I8c463069fe489819cb7c248f4aff2689877bfe45
2016-06-02 15:38:16 -07:00
Elliott Hughes 8d96370fb2 Merge "Kill adb\'s ScopedFd for unique_fd." am: 0f3fde210d
am: b8901de2ad

* commit 'b8901de2adca421ad10d91cdfd35851f0473464a':
  Kill adb's ScopedFd for unique_fd.

Change-Id: Idb0559a08423b9985058866ba906580353e5a7e5
2016-05-28 02:17:19 +00:00
Elliott Hughes 2ce86e527b Kill adb's ScopedFd for unique_fd.
It's the adb unique_fd, but at least it's the same API...

Change-Id: If5d6642457e145c450374fde6f1358e5ac386a96
2016-05-27 17:51:24 -07:00
Elliott Hughes 500c7e5bc7 Merge "Kill load_file." am: b42e4a6b63
am: 198a727891

* commit '198a727891aef33469d82b263fc222e4f4335b1b':
  Kill load_file.

Change-Id: I81d715153b8b882ace9deb073abfc4dde5535811
2016-05-28 00:30:31 +00:00
Elliott Hughes e8b663fec3 Kill load_file.
Change-Id: I6c332f7d8e94d513605295b3d4d32c4e1cf878dc
2016-05-27 16:14:02 -07:00
Yurii Zubrytskyi dace015269 [adb] Followup CL to clean up adb_auth_host.cpp
Get rid of unused includes + replace a fixed-size buffer with an
std::string

(cherry-pick of 049ebb810f466d916ec9e73cdf28624b57a8c25d.)

Change-Id: I4f9927b900a79a012b5d52908b9d22ac3d2a401c
2016-05-27 14:43:26 -07:00
Yurii Zubrytskyi 376b27532c [adb] Issue the "auth" emulator command before any other one
Emulator console now requires authentication; this means
'adb emu ...' commands silently fail because of it.
This CL adds an 'auth <token>' command to each user command,
making sure it won't be silently ignored.

(cherry-pick of a9e2b99a7fdd31bcd6d852c6db26fe592236a24f.)

Bug: https://code.google.com/p/android/issues/detail?id=211233
Change-Id: Id9ca4999fd2e6393cc88278eaf444243e13c0ec0
2016-05-27 13:34:40 -07:00
Yurii Zubrytskyi 1098c529d1 [adb] Followup CL to clean up adb_auth_host.cpp
am: 049ebb810f

* commit '049ebb810f466d916ec9e73cdf28624b57a8c25d':
  [adb] Followup CL to clean up adb_auth_host.cpp

Change-Id: I6e7d1a1e0fe58648f3a3bf12aef6507f990de123
2016-05-27 19:36:31 +00:00
Yurii Zubrytskyi f48adf6351 resolve merge conflicts of a9e2b99 to nyc-dev-plus-aosp
Change-Id: Ic77afb008f68ebc455d3a788119b669a52a254dc
2016-05-27 11:07:40 -07:00
Yurii Zubrytskyi 049ebb810f [adb] Followup CL to clean up adb_auth_host.cpp
Get rid of unused includes + replace a fixed-size buffer with an
std::string

Change-Id: I4f9927b900a79a012b5d52908b9d22ac3d2a401c
2016-05-26 18:12:15 -07:00
Yurii Zubrytskyi a9e2b99a7f [adb] Issue the "auth" emulator command before any other one
Emulator console now requires authentication; this means
'adb emu ...' commands silently fail because of it.
This CL adds an 'auth <token>' command to each user command,
making sure it won't be silently ignored.

Bug: https://code.google.com/p/android/issues/detail?id=211233
Change-Id: Id9ca4999fd2e6393cc88278eaf444243e13c0ec0
2016-05-26 18:11:59 -07:00
Yabin Cui 16dad488b3 Merge "adb: retry connecting disconnected emulators instead of always looping." am: 50e91fec0e
am: cfb0c5cd91

* commit 'cfb0c5cd913b689c8f9d0d930c92c6a0804e2995':
  adb: retry connecting disconnected emulators instead of always looping.

Change-Id: I4b7f30bd3738ce53eb343e5d0e20f3d20faf7e2a
2016-05-26 02:10:10 +00:00
Yabin Cui 50e91fec0e Merge "adb: retry connecting disconnected emulators instead of always looping." 2016-05-26 01:32:53 +00:00
Yabin Cui b74c6498aa adb: retry connecting disconnected emulators instead of always looping.
Previously we loop through local ports every second, this patch improves
the strategy by retrying only just disconnected emulators.

Bug: 26468076
Bug: 19974213
Bug: 22920867

Change-Id: I43ccb746922d104202b0f81a3d163d850bbc890e
2016-05-24 16:38:47 -07:00